SetupDiGetDeviceInterfaceDetailBuffer() приватный Метод

private SetupDiGetDeviceInterfaceDetailBuffer ( IntPtr deviceInfoSet, SP_DEVICE_INTERFACE_DATA &deviceInterfaceData, IntPtr deviceInterfaceDetailData, int deviceInterfaceDetailDataSize, int &requiredSize, IntPtr deviceInfoData ) : bool
deviceInfoSet System.IntPtr
deviceInterfaceData SP_DEVICE_INTERFACE_DATA
deviceInterfaceDetailData System.IntPtr
deviceInterfaceDetailDataSize int
requiredSize int
deviceInfoData System.IntPtr
Результат bool
Пример #1
0
        private static string GetDevicePath(IntPtr deviceInfoSet, NativeMethods.SP_DEVICE_INTERFACE_DATA deviceInterfaceData)
        {
            int requiredSize = 0;

            NativeMethods.SP_DEVICE_INTERFACE_DETAIL_DATA sP_DEVICE_INTERFACE_DETAIL_DATA = default(NativeMethods.SP_DEVICE_INTERFACE_DETAIL_DATA);
            sP_DEVICE_INTERFACE_DETAIL_DATA.Size = ((IntPtr.Size == 4) ? (4 + Marshal.SystemDefaultCharSize) : 8);
            NativeMethods.SP_DEVICE_INTERFACE_DETAIL_DATA deviceInterfaceDetailData = sP_DEVICE_INTERFACE_DETAIL_DATA;
            NativeMethods.SetupDiGetDeviceInterfaceDetailBuffer(deviceInfoSet, ref deviceInterfaceData, IntPtr.Zero, 0, ref requiredSize, IntPtr.Zero);
            return(NativeMethods.SetupDiGetDeviceInterfaceDetail(deviceInfoSet, ref deviceInterfaceData, ref deviceInterfaceDetailData, requiredSize, ref requiredSize, IntPtr.Zero) ? deviceInterfaceDetailData.DevicePath : null);
        }
Пример #2
0
        private static string GetDevicePath(IntPtr deviceInfoSet, NativeMethods.SpDeviceInterfaceData deviceInterfaceData)
        {
            var bufferSize      = 0;
            var interfaceDetail = new NativeMethods.SpDeviceInterfaceDetailData {
                Size = IntPtr.Size == 4 ? 4 + Marshal.SystemDefaultCharSize : 8
            };

            NativeMethods.SetupDiGetDeviceInterfaceDetailBuffer(deviceInfoSet, ref deviceInterfaceData, IntPtr.Zero, 0, ref bufferSize, IntPtr.Zero);

            return(NativeMethods.SetupDiGetDeviceInterfaceDetail(deviceInfoSet, ref deviceInterfaceData, ref interfaceDetail, bufferSize, ref bufferSize, IntPtr.Zero) ? interfaceDetail.DevicePath : null);
        }