/// <summary>
 /// Initializes a new instance of the <see cref="DeviceInterfaceDetail"/> class.
 /// </summary>
 /// <param name="deviceInformationSetHandle">
 /// The device Information Set Handle.
 /// </param>
 /// <param name="size">
 /// The size.
 /// </param>
 /// <param name="marshalWrapper">
 /// The marshal Wrapper.
 /// </param>
 /// <param name="deviceInfoDataFactory">
 /// The device Info Data Factory.
 /// </param>
 /// <param name="unsafeNativeMethodsWrapper">
 /// The unsafe Native Methods Wrapper.
 /// </param>
 public DeviceInterfaceDetail(
     IntPtr deviceInformationSetHandle, 
     int size, 
     IMarshalWrapper marshalWrapper, 
     IDeviceInfoDataFactory deviceInfoDataFactory, 
     IUnsafeNativeMethodsWrapper unsafeNativeMethodsWrapper)
 {
     _deviceInformationSetHandle = deviceInformationSetHandle;
     DeviceInfoData = deviceInfoDataFactory.Create();
     _marshalWrapper = marshalWrapper;
     _unsafeNativeMethodsWrapper = unsafeNativeMethodsWrapper;
     DeviceInterfaceDetailBuffer = Marshal.AllocHGlobal(size);
     _marshalWrapper.WriteInteger32(DeviceInterfaceDetailBuffer, (IntPtr.Size == 4) ? (4 + Marshal.SystemDefaultCharSize) : 8);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeviceInterfaceDetail"/> class.
 /// </summary>
 /// <param name="deviceInformationSetHandle">
 /// The device Information Set Handle.
 /// </param>
 /// <param name="size">
 /// The size.
 /// </param>
 /// <param name="marshalWrapper">
 /// The marshal Wrapper.
 /// </param>
 /// <param name="deviceInfoDataFactory">
 /// The device Info Data Factory.
 /// </param>
 /// <param name="unsafeNativeMethodsWrapper">
 /// The unsafe Native Methods Wrapper.
 /// </param>
 public DeviceInterfaceDetail(
     IntPtr deviceInformationSetHandle,
     int size,
     IMarshalWrapper marshalWrapper,
     IDeviceInfoDataFactory deviceInfoDataFactory,
     IUnsafeNativeMethodsWrapper unsafeNativeMethodsWrapper)
 {
     _deviceInformationSetHandle = deviceInformationSetHandle;
     DeviceInfoData              = deviceInfoDataFactory.Create();
     _marshalWrapper             = marshalWrapper;
     _unsafeNativeMethodsWrapper = unsafeNativeMethodsWrapper;
     DeviceInterfaceDetailBuffer = Marshal.AllocHGlobal(size);
     _marshalWrapper.WriteInteger32(DeviceInterfaceDetailBuffer, (IntPtr.Size == 4) ? (4 + Marshal.SystemDefaultCharSize) : 8);
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UnsafeNativeMethodsWrapper"/> class.
 /// </summary>
 /// <param name="marshalWrapper">
 /// The marshal wrapper.
 /// </param>
 /// <param name="deviceInformationElementFactory">
 /// The device Information Element Factory.
 /// </param>
 /// <param name="deviceInfoDataFactory">
 /// The device Info Data Factory.
 /// </param>
 /// <param name="deviceInterfaceDataFactory">
 /// The device Interface Data Factory.
 /// </param>
 /// <param name="deviceInterfaceFactory">
 /// The device Interface Factory.
 /// </param>
 /// <param name="deviceInterfaceDetailFactory">
 /// The device Interface Detail Factory.
 /// </param>
 /// <param name="devicePropertyFactory">
 /// The device Property Factory.
 /// </param>
 public UnsafeNativeMethodsWrapper(
     IMarshalWrapper marshalWrapper,
     IDeviceInformationElementFactory deviceInformationElementFactory,
     IDeviceInfoDataFactory deviceInfoDataFactory,
     IDeviceInterfaceDataFactory deviceInterfaceDataFactory,
     IDeviceInterfaceFactory deviceInterfaceFactory,
     IDeviceInterfaceDetailFactory deviceInterfaceDetailFactory,
     IDevicePropertyFactory devicePropertyFactory)
 {
     _marshalWrapper = marshalWrapper;
     _deviceInformationElementFactory = deviceInformationElementFactory;
     _deviceInfoDataFactory           = deviceInfoDataFactory;
     _deviceInterfaceDataFactory      = deviceInterfaceDataFactory;
     _deviceInterfaceFactory          = deviceInterfaceFactory;
     _deviceInterfaceDetailFactory    = deviceInterfaceDetailFactory;
     _devicePropertyFactory           = devicePropertyFactory;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UnsafeNativeMethodsWrapper"/> class.
 /// </summary>
 /// <param name="marshalWrapper">
 /// The marshal wrapper.
 /// </param>
 /// <param name="deviceInformationElementFactory">
 /// The device Information Element Factory.
 /// </param>
 /// <param name="deviceInfoDataFactory">
 /// The device Info Data Factory.
 /// </param>
 /// <param name="deviceInterfaceDataFactory">
 /// The device Interface Data Factory.
 /// </param>
 /// <param name="deviceInterfaceFactory">
 /// The device Interface Factory.
 /// </param>
 /// <param name="deviceInterfaceDetailFactory">
 /// The device Interface Detail Factory.
 /// </param>
 /// <param name="devicePropertyFactory">
 /// The device Property Factory.
 /// </param>
 public UnsafeNativeMethodsWrapper(
     IMarshalWrapper marshalWrapper,
     IDeviceInformationElementFactory deviceInformationElementFactory, 
     IDeviceInfoDataFactory deviceInfoDataFactory, 
     IDeviceInterfaceDataFactory deviceInterfaceDataFactory,
     IDeviceInterfaceFactory deviceInterfaceFactory,
     IDeviceInterfaceDetailFactory deviceInterfaceDetailFactory,
     IDevicePropertyFactory devicePropertyFactory)
 {
     _marshalWrapper = marshalWrapper;
     _deviceInformationElementFactory = deviceInformationElementFactory;
     _deviceInfoDataFactory = deviceInfoDataFactory;
     _deviceInterfaceDataFactory = deviceInterfaceDataFactory;
     _deviceInterfaceFactory = deviceInterfaceFactory;
     _deviceInterfaceDetailFactory = deviceInterfaceDetailFactory;
     _devicePropertyFactory = devicePropertyFactory;
 }