0

DIDEVICEINSTANCE の guidInstance について

マイクロソフトは次のように述べています。

デバイスのインスタンスの一意の識別子。アプリケーションは、インスタンスのグローバル一意識別子 (GUID) を構成ファイルに保存し、後で使用できます。インスタンス GUID は、特定のコンピューターに固有です。あるコンピューターから取得したインスタンス GUID は、別のコンピューターのインスタンス GUID とは無関係です。

デバイスをコンピューターに接続し、プログラムが列挙を実行して GUID を見つけた場合、再度列挙する必要はありますか? ユーザーがデバイスを抜き差しした場合でも。同じタイプの別のデバイスが接続されている場合、2 番目のデバイスが最初のデバイスと同じではないため、別の GUID が必要であることを引き続き認識しますか? プログラムがデバイスを見つけるために実行するたびにすべてのインターフェイスを再列挙する必要がありますか、それとも特定の PC に対して 1 回で十分ですか?

ありがとう。

4

2 に答える 2

0

InstanceGuid は、プラグインされたすべてのデバイスの一意の識別子になりますが、インストール情報を削除すると (USB デバイスのアンインストールなど)、その InstanceGuid も失われます。デバイスは、再度接続されると、予測できない新しい Guid を取得します。

ProductGuid は、デバイスの USB HID チップに格納されているため、1 つのデバイスに対して常に同じになります。ただし、まったく同じタイプの 2 つのデバイスが同じ ProductGuid を持つ場合があります。その場合、InstanceGuid によってのみ識別できます (上記のように、場合によっては無効になる可能性があります...)。

于 2010-08-20T10:44:21.283 に答える