c#中如何调用 SetupDiEnumDeviceInterfaces 函数?
我这样引用的:
[DllImport("setupapi.dll", CallingConvention=CallingConvention.StdCall)]
public static extern int SetupDiEnumDeviceInterfaces(int hDeviceInfoSet, int ptrDeviceInfoData,
ref int ptrInterfaceClassGuid, int MemberIndex, ref SP_DEVICE_INTERFACE_DATA ptrDeviceInterfaceData);
这样使用:
int lRet;
int lIndex = 0;
SP_DEVICE_INTERFACE_DATA uDeviceInterfaceData = new SP_DEVICE_INTERFACE_DATA();
uDeviceInterfaceData.InterfaceClassGuid = guGuid;
uDeviceInterfaceData.cbsize = System.Runtime.InteropServices.Marshal.SizeOf(uDeviceInterfaceData);
lRet = SetupDiEnumDeviceInterfaces(hDevInfo, 0, ref uGuid.Data1, lIndex, ref uDeviceInterfaceData);
其中 guGuid 我已经赋值.
但返回都不对.
请各位高手指点一下!
附VB的引用:
Public Declare Function SetupDiEnumDeviceInterfaces Lib "setupapi.dll" ( _
ByVal hDeviceInfoSet As Long, _
ByVal ptrDeviceInfoData As Long, _
ByRef ptrInterfaceClassGuid As Long, _
ByVal MemberIndex As Long, _
ByRef ptrDeviceInterfaceData As Long) As Long