Exemple #1
0
        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();
        }
Exemple #2
0
 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)
 {
 }