我SetupDiGetDeviceRegistryProperty
在 C# 中使用这个函数来查询硬件 ID 并知道要为数据分配多大的缓冲区。但是我在`SPDRP_HARDWAREID. 错误信息是
“当前上下文中不存在名称“SPDRP_HARDWAREID”。
我试过声明SPDRP_HARDWAREID
为enum
,但没有奏效。
有人知道吗?
我SetupDiGetDeviceRegistryProperty
在 C# 中使用这个函数来查询硬件 ID 并知道要为数据分配多大的缓冲区。但是我在`SPDRP_HARDWAREID. 错误信息是
“当前上下文中不存在名称“SPDRP_HARDWAREID”。
我试过声明SPDRP_HARDWAREID
为enum
,但没有奏效。
有人知道吗?
如果您只想使用 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
);