Hi anyone!
I'm trying to convert a Microchip example code from WinForm to WPF, the example is about an HID that automatically detects, identifies and makes a connection with it (Plug and Play) but I don't know how to solve the "does not contain a definition for 'handle'" error.
//Register for WM_DEVICECHANGE notifications. This code uses these messages to detect plug and play connection/disconnection events for USB devices DEV_BROADCAST_DEVICEINTERFACE DeviceBroadcastHeader = new DEV_BROADCAST_DEVICEINTERFACE(); DeviceBroadcastHeader.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE; DeviceBroadcastHeader.dbcc_size = (uint)Marshal.SizeOf(DeviceBroadcastHeader); DeviceBroadcastHeader.dbcc_reserved = 0; //Reserved says not to use... DeviceBroadcastHeader.dbcc_classguid = InterfaceClassGuid; //Need to get the address of the DeviceBroadcastHeader to call RegisterDeviceNotification(), but //can't use "&DeviceBroadcastHeader". Instead, using a roundabout means to get the address by //making a duplicate copy using Marshal.StructureToPtr(). IntPtr pDeviceBroadcastHeader = IntPtr.Zero; //Make a pointer. pDeviceBroadcastHeader = Marshal.AllocHGlobal(Marshal.SizeOf(DeviceBroadcastHeader)); //allocate memory for a new DEV_BROADCAST_DEVICEINTERFACE structure, and return the address Marshal.StructureToPtr(DeviceBroadcastHeader, pDeviceBroadcastHeader, false); //Copies the DeviceBroadcastHeader structure into the memory already allocated at DeviceBroadcastHeaderWithPointer RegisterDeviceNotification(this.Handle, pDeviceBroadcastHeader, DEVICE_NOTIFY_WINDOW_HANDLE);
I left the original notes from the Microchip example. The Error happens in the last line.