Nous avons une application Windows qui peut utiliser plusieurs cartes PCI. Ces adaptateurs ont tous des connexions physiques externes à d'autres matériels ou câbles. Notre logiciel est configuré pour savoir à quoi la connexion physique de chaque carte est connectée. Imaginez un logiciel audio qui prend en charge plusieurs entrées et sorties audio. Le logiciel audio est configuré pour savoir que le microphone sur l'adaptateur 1 est le chanteur principal, tandis que le microphone sur l'adaptateur 2 est la guitare.Déterminer l'emplacement physique d'une carte PCI
En fait, ce logiciel est souvent exécuté sur des ordinateurs portables avec des cartes ExpressCard et/ou cartes PC. En tant que tel, l'utilisateur peut régulièrement supprimer les adaptateurs. De plus, nos clients peuvent avoir beaucoup plus d'adaptateurs que ne le ferait un ordinateur portable. Ainsi, vous pouvez imaginer que quelqu'un installe les adaptateurs A (PC Card) et B (ExpressCard) dans l'ordinateur portable et configure notre logiciel. Ils s'attendent maintenant à ce que le micro du chanteur soit attaché à l'adaptateur de carte PC et le micro de la guitare est attaché à l'adaptateur ExpressCard. Ils retournent ensuite au bureau, sortent les adaptateurs et les mettent dans la pile avec tous les autres adaptateurs. Le lendemain, lorsqu'ils utilisent le logiciel, ils prennent les adaptateurs C (PC Card) et D (ExpressCard). Quand ils branchent ces cartes au système, nous aimerions savoir que l'adaptateur C est au même endroit que l'adaptateur A et qu'il est donc relié au micro du chanteur et que D se trouve au même endroit que B et est donc branché à la guitare.
Sans cette fonctionnalité, l'utilisateur devra reconfigurer son logiciel chaque fois qu'il change de carte, ce qui n'est pas particulièrement facile à utiliser.
Est-il possible de déterminer l'emplacement dans la chaîne PCI d'une carte matérielle dans Windows? Y a-t-il un autre moyen d'atteindre cet objectif?
Je voudrais que cela fonctionne sur Windows XP et plus tard. Notez que nous contrôlons les pilotes matériels, nous pouvons donc y apporter des modifications si nécessaire.