ISO_ADV_PARAMS |
Header cyioctl.h
Description
ISO_ADV_PARAMS is part of the a SINGLE_TRANSFER structure. It contains advanced parameters for Isochronous endpoint transfers when sending the IOCTL_ADAPT_SEND_NON_EP0_TRANSFER and IOCTL_ADAPT_SEND_NON_EP0_DIRECT commands.
The structure is defined as: typedef struct _ISO_ADV_PARAMS{ USHORT isoId; USHORT isoCmd; ULONG ulParam1; ULONG ulParam2; } ISO_ADV_PARAMS, *PISO_ADV_PARAMS;
Defines
#define USB_ISO_ID 0x4945 #define USB_ISO_CMD_ASAP 0x8000 #define USB_ISO_CMD_CURRENT_FRAME 0x8001 #define USB_ISO_CMD_SET_FRAME 0x8002
Members
isoId ISO_ADV_PARAMS structure identifier must be set to USB_ISO_ID. isoCmd Specifies one of the following types of Isoch transfers:
USB_ISO_CMD_ASAP If no transfers have been submitted to the pipe since the pipe was opened or last reset, the transfer to begin on the next frame. Otherwise, the transfer will begin on the first frame following all currently queued requests for the pipe.
USB_ISO_CMD_CURRENT_FRAME Causes the transfer to begin on the current frame number obtained from the host controller driver, plus an optional offset specified in the ulParam1 field.
USB_ISO_CMD_SET_FRAME Causes the transfer to begin on the frame number specified in the ulParam1 field.
ulParam1 If isoCMD is set to USB_ISO_CMD_ASAP, when the request is returned by the driver this field will contain the frame number that the transfer began on.
If isoCMD is set to USB_ISO_CMD_CURRENT_FRAME, this field contains the offset from the current frame number that this transfer will begin on.
If isoCMD is set to USB_ISO_CMD_SET_FRAME, this field contains the frame number that this transfer will begin on.
ulParam2 Reserved. Must be set to 0.
|