1

レジストリからタイプ REG_RESOURCE_LIST の値を読み取ろうとしていますが、成功しません。
私が読み取ろうとしている特定の値はHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\{YourNetworkInterface}\{GUID}\Control\AllocConfig.
この値を見つけるには、 に移動しHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI、そのサブキー (パスの {GUID} 部分) の値が という名前Classの値を持つキーを検索しますNet。または、単に検索することもできます。

奇妙なことに、Controlコードを介してキーを開いて呼び出すGetValueNames()と、AllocConfig値の名前が取得されますが、呼び出すGetValue("AllocConfig")とnullになります(実際にはnullではありません)。
また、ProcessMonitor では、呼び出すGetValue("AllocConfig")と結果がBuffer Overflow.
どんな助けでも感謝します、ありがとう。

4

2 に答える 2

3

REG_RESOURCE_LIST を取得するには、RegQueryValueEx() を使用する必要があります。lpType の out パラメータに期待する値は 8 です (こちらを参照)。lpData out パラメータで返されるデータはCM_RESOURCE_LIST です

最初に RegQueryValueEx を呼び出してリストのサイズを取得し、そのサイズのバッファーを割り当て、ReqQueryValueEx を呼び出してバッファーを埋め、バッファー ポインターを PCM_RESOURCE_LIST にキャストします。上記の CM_RESOURCE_LIST ドキュメントには、リストを反復処理して内容を抽出する方法が記載されています。

于 2013-12-13T07:22:56.630 に答える
0

http://blogs.microsoft.co.il/ischen/2007/12/04/querying-device-hardware-resources-from-the-windows-registry-using-c/

C# プロジェクトは、多くの CM_FULL_RESOURCE_DESCRIPTOR を含むリストである CM_RESOURCE_LIST 構造に基づくレジストリから REG_RESOURCE_LIST データ構造を適切にデコードします。

于 2019-08-18T15:38:41.440 に答える