usb.h) (_URB_CONTROL_GET_STATUS_REQUEST 结构
USB 客户端驱动程序使用_URB_CONTROL_GET_STATUS_REQUEST结构从设备、接口、终结点或其他设备定义的目标检索状态。
语法
struct _URB_CONTROL_GET_STATUS_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved0;
ULONG TransferBufferLength;
PVOID TransferBuffer;
PMDL TransferBufferMDL;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
UCHAR Reserved1[4];
USHORT Index;
USHORT Reserved2;
};
成员
Hdr
指向指定 URB 标头信息的 _URB_HEADER 结构的指针。 Hdr.Length 必须为 sizeof(_URB_CONTROL_GET_STATUS_REQUEST)
, Hdr.Function 必须是以下值之一:
- URB_FUNCTION_GET_STATUS_FROM_DEVICE
- URB_FUNCTION_GET_STATUS_FROM_INTERFACE
- URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
- URB_FUNCTION_GET_STATUS_FROM_OTHER
Reserved
保留。 请勿使用。
Reserved0
保留。 请勿使用。
TransferBufferLength
必须为 2。 此成员指定 TransferBuffer 中指定的或 TransferBufferMDL 中所述的缓冲区的长度(以字节 为单位)。 主控制器驱动程序返回在此成员的管道中发送到管道或从管道读取的字节数。
TransferBuffer
指向传输的常驻缓冲区的指针;如果在 TransferBufferMDL 中提供了 MDL,则为 NULL。 总线驱动程序返回一个字节,指定目标的状态。
TransferBufferMDL
指向描述常驻缓冲区的 MDL 的指针;如果 TransferBuffer 中提供了缓冲区,则为 NULL。 总线驱动程序返回一个字节,指定目标的状态。 必须从非分页池中分配此 MDL。
UrbLink
保留。 请勿使用。
hca
保留。 请勿使用。
Reserved1[4]
保留。 请勿使用。
Index
指定设备定义的索引,如果请求针对终结点或接口,则由成功的配置请求返回。 否则, Index 必须为零。
Reserved2
保留。 请勿使用。
注解
驱动程序可以使用 UsbBuildGetStatusRequest 服务例程来格式化此 URB。
此结构的保留成员必须被视为不透明成员,并保留供系统使用。
要求
要求 | 值 |
---|---|
Header | usb.h (包括 Usb.h) |