Exemplo n.º 1
0
        /// <summary>
        /// Convert (WM_DEVICECHANGE)WM_MESSAGE pointer to data structure
        /// </summary>
        /// <param name="lParam"></param>
        /// <returns></returns>
        protected string PointerToDevicePath(IntPtr lParam)
        {
            Native.DEV_BROADCAST_DEVICEINTERFACE devBroadcastDeviceInterface =
                new Native.DEV_BROADCAST_DEVICEINTERFACE();
            Native.DEV_BROADCAST_HDR devBroadcastHeader = new Native.DEV_BROADCAST_HDR();
            Marshal.PtrToStructure(lParam, devBroadcastHeader);

            Int32 stringSize = Convert.ToInt32((devBroadcastHeader.dbch_size - 32) / 2);

            Array.Resize(ref devBroadcastDeviceInterface.dbcc_name, stringSize);
            Marshal.PtrToStructure(lParam, devBroadcastDeviceInterface);
            return(new String(devBroadcastDeviceInterface.dbcc_name, 0, stringSize));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Convert (WM_DEVICECHANGE)WM_MESSAGE pointer to data structure
        /// </summary>
        /// <param name="lParam"></param>
        /// <returns></returns>
        protected string PointerToDevicePath(IntPtr lParam)
        {
            Native.DEV_BROADCAST_DEVICEINTERFACE devBroadcastDeviceInterface =
                               new Native.DEV_BROADCAST_DEVICEINTERFACE();
            Native.DEV_BROADCAST_HDR devBroadcastHeader = new Native.DEV_BROADCAST_HDR();
            Marshal.PtrToStructure(lParam, devBroadcastHeader);

            Int32 stringSize = Convert.ToInt32((devBroadcastHeader.dbch_size - 32) / 2);
            Array.Resize(ref devBroadcastDeviceInterface.dbcc_name, stringSize);
            Marshal.PtrToStructure(lParam, devBroadcastDeviceInterface);
            return new String(devBroadcastDeviceInterface.dbcc_name, 0, stringSize);
        }