public UsbDeviceManager(D_USER_ATTACH_CALLBACK dAttachCb, D_USER_DETACH_CALLBACK dDetachCb, D_USER_POWER_CHANGE_CALLBCAK dPowerCb, WORD wVendorId, WORD wProductId, string sDriverName, string lic) { DWORD dwStatus = 0; windrvr_decl.WD_DriverName(sDriverName); pDevicesList = new ArrayList(); dUserAttachCb = dAttachCb; dUserDetachCb = dDetachCb; dUserPowerCb = dPowerCb; matchTableArr[0].wVendorId = (WORD)wVendorId; matchTableArr[0].wProductId = (WORD)wProductId; eventTable = new WDU_EVENT_TABLE(new D_WDU_ATTACH_CALLBACK(DeviceAttach), new D_WDU_DETACH_CALLBACK(DeviceDetach)); hMutex = new Mutex(); dwStatus = wdu_lib_decl.WDU_Init(ref hDriver, matchTableArr, (DWORD)matchTableArr.Length, ref eventTable, lic, (DWORD)windrvr_consts.WD_ACKNOWLEDGE); if (WD_ERROR_CODES.WD_STATUS_SUCCESS != (WD_ERROR_CODES)dwStatus) hMutex.Close(); }
public UsbDeviceManager(D_USER_ATTACH_CALLBACK dAttachCb, D_USER_DETACH_CALLBACK dDetachCb, WORD wVendorId, WORD wProductId, string sDriverName, string lic) : this(dAttachCb, dDetachCb, null, wVendorId, wProductId, sDriverName, lic) { }