_URB_CONTROL_GET_STATUS_REQUEST结构(usb.h)

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

指向传输的常驻缓冲区的指针;如果 MDL 在 transferBufferMDL中提供,则为 NULL null。 总线驱动程序返回一个字节,指定目标的状态。

TransferBufferMDL

指向描述常驻缓冲区的 MDL 的指针;如果缓冲区 在 transferBuffer中提供缓冲区,则为 NULL NULL。 总线驱动程序返回一个字节,指定目标的状态。 必须从非分页池分配此 MDL。

UrbLink

保留。 请勿使用。

hca

保留。 请勿使用。

Reserved1[4]

保留。 请勿使用。

Index

如果请求用于终结点或接口,则指定由成功的配置请求返回的设备定义索引。 否则,索引 必须为零。

Reserved2

保留。 请勿使用。

言论

驱动程序可以使用 UsbBuildGetStatusRequest 服务例程来设置此 URB 的格式。

此结构的保留成员必须被视为不透明,并保留供系统使用。

要求

要求 价值
标头 usb.h (包括 Usb.h)

另请参阅

URB

USB 结构

_URB_HEADER