Поделиться через


IssueInterruptTransfer (Compact 2013)

3/26/2014

This function initiates an interrupt transfer with a universal serial bus (USB) device on the specified endpoint.

Syntax

DWORD IssueInterruptTransfer( 
  LPCUSB_FUNCS UsbFuncs,
  USB_PIPE hPipe,
  LPTRANSFER_NOTIFY_ROUTINE NotifyRoutine,
  PVOID NotifyContext,
  DWORD Flags,
  LPVOID pBuffer,
  ULONG PhysAddr,
  DWORD BufferLength,
  LPDWORD pBytesTransferred,
  DWORD dwTimeout,
  PUSB_ERROR pUsbRc
);

Parameters

  • UsbFuncs
    [in] Pointer to a USB_FUNCS structure.
  • hPipe
    [in] Handle to an open USB pipe.
  • NotifyRoutine
    [in] Pointer to a transfer completion routine of type LPTRANSFER_NOTIFY_ROUTINE, or NULL if no callback routine is necessary.
  • NotifyContext
    [in] Parameter to pass to LPTRANSFER_NOTIFY_ROUTINE.
  • Flags
    [in] Flags for the transfer. These flags shown in the following list are declared in the Usbtypes.h header file.

    • USB_IN_TRANSFER
    • USB_OUT_TRANSFER
    • USB_NO_WAIT
    • USB_SHORT_TRANSFER_OK
    • USB_START_ISOCH_ASAP
    • USB_COMPRESS_ISOCH
    • USB_SEND_TO_DEVICE
    • USB_SEND_TO_INTERFACE
    • USB_SEND_TO_ENDPOINT
    • USB_DONT_BLOCK_FOR_MEM
  • pBuffer
    [in] Pointer to the transfer buffer.
  • PhysAddr
    [in] Physical address, which might be NULL, of the data buffer.
  • BufferLength
    [in] Length of the transfer buffer, pBuffer.
  • pBytesTransferred
    [out] Number of bytes transferred.
  • dwTimeout
    [in] Timeout in milliseconds (ms).
  • pUsbRc
    [out] Returns USB_ERROR or USB_TRANSFER.

Return Value

A USB_TRANSFER handle indicates success. NULL indicates failure. IssueControlTransfer behaves either synchronously or asynchronously, depending on the value you provide for lpStartAddress and whether dwFlags contains the USB_NO_WAIT flag.

The following table shows the possible flags.

lpStartAddress

dwFlags & USB_NO_WAIT

Behavior

NULL

0

Synchronous

NULL

USB_NO_WAIT

Asynchronous

Non-NULL

0

Asynchronous

Non-NULL

USB_NO_WAIT

Asynchronous

When behaving asynchronously, this function invokes the callback function optionally specified by lpStartAddress when the transfer is complete.

Requirements

Header

usbclient.h

See Also

Reference

USB Host Client Driver Functions
AbortTransfer
GetTransferStatus
LPIS_TRANSFER_COMPLETE
LPTRANSFER_NOTIFY_ROUTINE
USB_FUNCS