LibUsbDotNet 2.2.8
InterruptTransfer Method (deviceHandle, endpoint, pData, length, actualLength, timeout)
Library ReferenceMonoLibUsbMonoUsbApiInterruptTransfer(MonoUsbDeviceHandle, Byte, IntPtr, Int32, Int32%, Int32)
LibUsbDotNet on SourceForge
Perform a USB interrupt transfer.
Declaration Syntax
C#Visual BasicVisual C++
public static int InterruptTransfer(
	MonoUsbDeviceHandle deviceHandle,
	byte endpoint,
	IntPtr pData,
	int length,
	out int actualLength,
	int timeout
Public Shared Function InterruptTransfer ( _
	deviceHandle As MonoUsbDeviceHandle, _
	endpoint As Byte, _
	pData As IntPtr, _
	length As Integer, _
	<OutAttribute> ByRef actualLength As Integer, _
	timeout As Integer _
) As Integer
static int InterruptTransfer(
	[InAttribute] MonoUsbDeviceHandle^ deviceHandle, 
	unsigned char endpoint, 
	IntPtr pData, 
	int length, 
	[OutAttribute] int% actualLength, 
	int timeout
deviceHandle (MonoUsbDeviceHandle)
A handle for the device to communicate with.
endpoint (Byte)
The address of a valid endpoint to communicate with.
pData (IntPtr)
A suitably-sized data buffer for either input or output (depending on endpoint).
length (Int32)
For interrupt writes, the number of bytes from data to be sent. for interrupt reads, the maximum number of bytes to receive into the data buffer.
actualLength (Int32%)
Output location for the number of bytes actually transferred.
timeout (Int32)
Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.
Return Value

The direction of the transfer is inferred from the direction bits of the endpoint address.

For interrupt reads, the length field indicates the maximum length of data you are expecting to receive. If less data arrives than expected, this function will return that data, so be sure to check the transferred output parameter.

You should also check the transferred parameter for interrupt writes. Not all of the data may have been written. Also check transferred when dealing with a timeout error code. libusb may have to split your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the timeout may expire after the first few chunks have completed. libusb is careful not to lose any data that may have been transferred; do not assume that timeout conditions indicate a complete lack of I/O.

Note: Member documentation was originally generated using the Libusb-1.0 API documentation: Synchronous device I/O

Assembly: LibUsbDotNet (Module: LibUsbDotNet) Version: (