usb.h) (_URB_CONTROL_GET_INTERFACE_REQUEST 结构

USB 客户端驱动程序使用 _URB_CONTROL_GET_INTERFACE_REQUEST 结构检索当前配置中接口的当前备用接口设置。

语法

struct _URB_CONTROL_GET_INTERFACE_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               Interface;
  USHORT               Reserved2;
};

成员

Hdr

指向指定 URB 标头信息的 _URB_HEADER 结构的指针。 Hdr.Function 必须 URB_FUNCTION_GET_INTERFACE,Hdr.Length 必须等于 sizeof(_URB_CONTROL_GET_INTERFACE_REQUEST)

Reserved

保留。 请勿使用。

Reserved0

保留。 请勿使用。

TransferBufferLength

必须为 1。 此成员指定 TransferBuffer 中指定的或 TransferBufferMDL 中所述的缓冲区的长度(以字节 为单位)。 主机控制器驱动程序返回此成员中发送到管道或从管道中读取的字节数。

TransferBuffer

指向传输的驻留缓冲区的指针;如果在 TransferBufferMDL 中提供了 MDL,则为 NULL。 总线驱动程序返回一个字节,指定接口的当前备用设置的索引。

TransferBufferMDL

指向描述驻留缓冲区的 MDL 的指针;如果在 TransferBuffer 中提供了缓冲区,则为 NULL。 总线驱动程序返回一个字节,指定接口的当前备用设置的索引。 必须从非分页池分配此 MDL。

UrbLink

保留。 请勿使用。

hca

保留。 请勿使用。

Reserved1[4]

保留。 请勿使用。

Interface

指定要检索的接口描述符的设备定义索引。

Reserved2

保留。 请勿使用。

注解

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

要求

要求
Header usb.h (包括 Usb.h)

另请参阅

URB

USB 结构

_URB_HEADER