Share via


LPISSUE_VENDOR_TRANSFER (Compact 2013)

3/26/2014

This function sends a vendor-specific control transfer to a universal serial bus (USB) device.

Syntax

typedef USB_TRANSFER (* LPISSUE_VENDOR_TRANSFER)(
  USB_HANDLE hDevice,
  LPTRANSFER_NOTIFY_ROUTINE lpStartAddress,
  LPVOID lpvNotifyParameter, 
  DWORD dwFlags,
  LPCUSB_DEVICE_REQUEST lpControlHeader,
  LPVOID lpvBuffer,
  ULONG uBufferPhysicalAddress
);

Parameters

  • hDevice
    [in] Handle to a USB device.
  • lpvNotifyParameter
    [in] Pointer to the parameter to pass to a callback routine.
  • dwFlags
    [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
  • lpControlHeader
    [in] Pointer to a device request header.
  • lpvBuffer
    [in] Data buffer. If a physical buffer address is specified, this must contain the virtual address of the buffer.
  • uBufferPhysicalAddress
    [in] Physical address, which might be NULL, of the data buffer.

Return Value

A USB_TRANSFER handle indicates success. NULL indicates failure.

Remarks

This function initiates a control transfer to a USB device on the default endpoint, zero (0). This function is intended for vendor-specific transfers. For standard transfers, use a corresponding function, such as LPGET_INTERFACE or LPSET_INTERFACE.

Requirements

Header

usbdi.h

See Also

Reference

USB Driver Functions
LPABORT_TRANSFER
LPGET_INTERFACE
LPGET_TRANSFER_STATUS
LPIS_TRANSFER_COMPLETE
LPSET_INTERFACE
LPTRANSFER_NOTIFY_ROUTINE