Beispiel #1
0
        private int beginTransaction()
        {
            // Claim Interface
            int ret = WinUSBController.claimInterface(mDeviceHandle, 0);

            if (ret < 0)
            {
                Console.WriteLine(String.Format("WinUSBController.beginTransaction() : Failed claimInterface({0})", ret));
                return(ret);
            }

            ret = WinUSBController.controlTransfer(mDeviceHandle, USBXPRESS, USBXPRESS_REQUEST, USBXPRESS_FLUSH_BUFFERS, 0, null, 0, 0);
            if (ret < 0)
            {
                Console.WriteLine(String.Format("WinUSBController.beginTransaction() : Failed controlTransfer({0})", ret));
                WinUSBController.releaseInterface(mDeviceHandle, 0);
                return(ret);
            }
            return(ret);
        }
Beispiel #2
0
        private int endTransactionRead(byte[] recvArray)
        {
            int ret = WinUSBController.bulkTransfer(mDeviceHandle,
                                                    mEndPointIn,
                                                    recvArray,
                                                    recvArray.Length,
                                                    500);

            if (ret < 0)
            {
                Console.WriteLine(String.Format("WinUSBController.endTransactionRead() : Failed bulkTransfer({0})", ret));
            }

            int ret2 = WinUSBController.releaseInterface(mDeviceHandle, 0);

            if (ret2 < 0)
            {
                Console.WriteLine(String.Format("WinUSBController.endTransactionRead() : Failed releaseInterface({0})", ret2));
            }
            return(ret);
        }