1

複数のPCIアダプターを使用できるWindowsアプリケーションがあります。これらのアダプタはすべて、他のハードウェアまたはケーブルへの外部物理接続を備えています。当社のソフトウェアは、各カードの物理的な接続が何に接続されているかを認識するように構成されています。複数のサウンド入力と出力をサポートするオーディオソフトウェアを想像してみてください。オーディオソフトウェアは、アダプター1のマイクがリードシンガーであり、アダプター2のマイクがギターであることを認識するように構成されています。

たまたま、このソフトウェアは、ExpressCardやPCカードアダプタを搭載したラップトップで実行されることがよくあります。そのため、ユーザーは定期的にアダプターを取り外すことができます。さらに、お客様は1台のラップトップに収まるよりもはるかに多くのアダプターを持っている可能性があります。したがって、誰かがアダプタA(PCカード)とB(ExpressCard)をラップトップにインストールし、ソフトウェアを構成していると想像できます。彼らは現在、歌手のマイクがPCカードアダプターに接続され、ギターのマイクがExpressCardアダプターに接続されていることを期待しています。その後、オフィスに戻り、アダプターを取り出して、他のすべてのアダプターと一緒に山に置きます。翌日、ソフトウェアを使用するときに、アダプターC(PCカード)とD(ExpressCard)を入手します。彼らがこれらのカードをシステムに接続すると、

この機能がないと、ユーザーはカードを変更するたびにソフトウェアを再構成する必要がありますが、これは特にユーザーフレンドリーではありません。

WindowsのハードウェアアダプタのPCIチェーン内の場所を特定する方法はありますか?この目標を達成する他の方法はありますか?

これをWindowsXP以降で動作させたいのですが。ハードウェアドライバを制御するため、必要に応じてそこで変更を加えることができます。

4

2 に答える 2

2

実は、PCIロケーション情報は以下で入手できます。

HKLM\SYSTEM\CurrentControlSet\Enum\<PnP ID>\LocationInformation

PCIデバイスの場所はPCI\\のようなものです

Windows XPでは、バス番号、デバイス番号、機能番号が表示されます。これは、Steveが言及したhttp://support.microsoft.com/kb/253232からの情報と同じである可能性があります。このレジストリの場所を使用する利点は、ドライバーの変更(APIの変更を含む)が不要なことです。

于 2010-10-04T19:29:58.297 に答える
1

このKB記事はあなたが必要としているものだと思います。

この記事では、ターゲットデバイスのドライバースタックの一部であるドライバー内のPeripheral Component Interconnect(PCI)デバイスの構成および位置情報(BusNumber、DeviceNumber、Function Numberなど)を関数またはフィルターとして取得する方法について説明します。運転者。

于 2010-09-24T13:56:26.943 に答える