1

カスタム ハードウェアと通信する必要があるアプリケーションがあります。ドライバーがシンボリック名を登録する形式を大まかに知っていますが、カード上のいくつかの物理スイッチに基づいて、カードにはやや動的な名前が付けられます。私の質問は、登録されたシンボリック名を見つける方法、またはドライバーを見つけてシンボリック名を作成する方法があるということです。

私のアプリケーションでは、CreateFile()、WriteFile() などの操作にシンボリック名を使用しています。

アップデート

ドライバーは PNP であるため、実際には の下HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\V70QT\に 1 つのサブキーしか作成されず、複数のカードを持つ可能性があります。私は一瞬、このレジストリ キーを使用できると考えました。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\V70QT\Enum]
"Count"=dword:00000001
"NextInstance"=dword:00000001
"0"="PCI\\VEN_10B5&DEV_2021&SUBSYS_202110B5&REV_03\\4&33c89357&0&08F0"

シンボリック キー名は V70QTX_Y と同様の形式で作成されるため、X はカード ID (ハードウェアのスイッチ)、Y はチャネル (ここでは関係ありません) です。「NextInstance」値を使用して名前を作成できると思っていましたが、カードが 4 のようなスイッチ ID を持つ可能性があり、最初のインスタンスになる可能性があるため、機能しません。

4

1 に答える 1

1

ドライバーが の下[HKLM\System\CurrentControlSet\Services]に表示される場合は、そこにあるサブキーを列挙するだけです。

于 2014-05-16T13:53:38.387 に答える