WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 函数 (wdfusb.h)

[适用于 KMDF 和 UMDF]

WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 函数为设置或清除设备功能的 USB 控制传输初始化WDF_USB_CONTROL_SETUP_PACKET结构。

语法

void WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE(
  [out] PWDF_USB_CONTROL_SETUP_PACKET Packet,
  [in]  WDF_USB_BMREQUEST_RECIPIENT   BmRequestRecipient,
  [in]  USHORT                        FeatureSelector,
  [in]  USHORT                        Index,
  [in]  BOOLEAN                       SetFeature
);

参数

[out] Packet

指向 WDF_USB_CONTROL_SETUP_PACKET 结构的指针。

[in] BmRequestRecipient

存储在 WDF_USB_CONTROL_SETUP_PACKET 结构的 Packet.bm.Request.Recipient 成员中的WDF_USB_BMREQUEST_RECIPIENT类型值。

[in] FeatureSelector

存储在 WDF_USB_CONTROL_SETUP_PACKET 结构的 Packet.wValue.Value 成员中的特定于特征的值。

[in] Index

存储在 WDF_USB_CONTROL_SETUP_PACKET 结构的 Packet.wIndex.Value 成员中的特定于功能的索引值。

[in] SetFeature

一个布尔值,如果 为 TRUE,则指示将设置指定的功能。 如果 为 FALSE,则将清除指定的功能。

返回值

备注

WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 函数执行以下操作:

  1. WDF_USB_CONTROL_SETUP_PACKET 结构归零。
  2. Packet.bm.Request.Type 成员设置为 BmRequestStandard
  3. Packet.bm.Request.Dir 成员设置为 BmRequestDeviceToDevice
  4. 根据 SetFeature 参数,将 Packet.bRequest 成员设置为“set feature”或“clear feature”请求值。
  5. 使用 WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 函数的输入参数设置其他结构成员。
若要初始化 WDF_USB_CONTROL_SETUP_PACKET 结构,驱动程序应调用以下函数之一:

示例

下面的代码示例初始化 WDF_USB_CONTROL_SETUP_PACKET 结构。

WDF_USB_CONTROL_SETUP_PACKET packet;

WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE(
                                          &packet,
                                          BMREQUEST_TO_DEVICE,
                                          USB_DEVICE_DESCRIPTOR_TYPE,
                                          0,
                                          FALSE
                                          );

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfusb.h (包括 Wdfusb.h)

另请参阅

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_CONTROL_SETUP_PACKET

WDF_USB_CONTROL_SETUP_PACKET_INIT

WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS

WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS

WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR