-2

この関数SetupDiGetDeviceRegistryPropertyを C# で使用して、ハードウェア ID を照会し、データに割り当てるバッファーの大きさを把握しています。しかし、「SPDRP_HARDWAREID. エラーメッセージは

「名前「SPDRP_HARDWAREID」は現在のコンテキストには存在しません。

SPDRP_HARDWAREIDとして宣言しようとしましenumたが、うまくいきませんでした。

誰にもアイデアはありますか?

4

1 に答える 1

1

hardwareid 関数のみを使用する場合は、0x00000001 を入力し、変数名を忘れてください。他のパラメーターの型も同様に有効にすることを忘れないでください。宣言が間違っています。これを使用する必要があります。

[DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool SetupDiGetDeviceRegistryProperty(
    IntPtr DeviceInfoSet,
    ref SP_DEVINFO_DATA DeviceInfoData,
    uint Property,
    out UInt32 PropertyRegDataType,
    byte[] PropertyBuffer,
    uint PropertyBufferSize,
    out UInt32 RequiredSize
    );
于 2012-09-13T17:37:28.687 に答える