1

Devnode のプロパティ キー (DEVPROPKEY) を取得できます。しかし、それらのキーの名前や説明を取得する方法が見つかりませんでした。これらのプロパティ キーの値は、CM_Get_DevNode_PropertyW を使用して取得することもできます。

LOOP を使用してキーと値を取得すると、キーの名前以外のすべての情報を取得できますか?

編集キーはdevpkey.hで事前定義されています。

DEFINE_DEVPROPKEY(DEVPKEY_Device_DeviceDesc,             0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2);     // DEVPROP_TYPE_STRING
DEFINE_DEVPROPKEY(DEVPKEY_Device_HardwareIds,            0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 3);     // DEVPROP_TYPE_STRING_LIST

現時点では、関数から取得したキーを事前定義されたキーと比較することが唯一の方法だと思います。Delphi を使用して、これらすべてのキーを C++ コードから Delphi コードに変換する必要がありました。それでも、 cfgmgr.dll または setupapi.dll から関数呼び出しを介して名前を取得する方法があるはずだと思いますか?

4

2 に答える 2

0

これは、MSDN フォーラムから得た回答です。名前はクエリ可能な方法でシステムに保存されていません。タイプ定義を調べて、それらが何であるかを知る必要があります

これは、関数から取得したキーを定義済みのキーと比較する必要があることを意味します。

システム言語に従って命名を翻訳する必要がないように、命名および/または説明がどこかに保存されることを望みました。これは、キー値がシステム言語で返されるためです。

于 2016-01-10T17:52:27.077 に答える