我这样引用的:
        [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