WDF_DEVICE_PNP_CAPABILITIES 结构 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WDF_DEVICE_PNP_CAPABILITIES结构描述了设备的即插即用功能。

语法

typedef struct _WDF_DEVICE_PNP_CAPABILITIES {
  ULONG         Size;
  WDF_TRI_STATE LockSupported;
  WDF_TRI_STATE EjectSupported;
  WDF_TRI_STATE Removable;
  WDF_TRI_STATE DockDevice;
  WDF_TRI_STATE UniqueID;
  WDF_TRI_STATE SilentInstall;
  WDF_TRI_STATE SurpriseRemovalOK;
  WDF_TRI_STATE HardwareDisabled;
  WDF_TRI_STATE NoDisplayInUI;
  ULONG         Address;
  ULONG         UINumber;
} WDF_DEVICE_PNP_CAPABILITIES, *PWDF_DEVICE_PNP_CAPABILITIES;

成员

Size

此结构的大小(以字节为单位)。

LockSupported

一个WDF_TRI_STATE类型的值,指示如果设置为 WdfTrue,设备可以锁定在其槽中以防止弹出。 (此功能禁止从其插槽中弹出设备,而不是从设备中弹出媒体。) 有关WDF_TRI_STATE类型值的详细信息,请参阅以下“备注”部分。

EjectSupported

一个WDF_TRI_STATE类型的值,指示设备可从其插槽中弹出(如果设置为 WdfTrue)。 (此功能允许从设备插槽中弹出设备,而不是从 device 弹出媒体。)

Removable

一个WDF_TRI_STATE类型的值,指示如果设置为 WdfTrue,则可以在系统运行时删除设备。 如果 可移动 设置为 WdfTrue而 SurpriseRemovalOK 设置为 WdfFalse,则用户应使用系统的“拔出或弹出硬件”程序。

DockDevice

一个WDF_TRI_STATE类型的值,指示设备是扩展坞(如果设置为 WdfTrue)。

UniqueID

一个WDF_TRI_STATE类型的值,指示如果设置为 WdfTrue,则设备的实例 ID 对整个系统是唯一的。 如果 UniqueID 设置为 WdfFalse,则实例 ID 仅对设备的总线是唯一的。 有关实例 ID 的详细信息,请参阅 设备标识字符串

SilentInstall

一个WDF_TRI_STATE类型的值,指示设备管理器在安装设备期间不应显示对话框(如果设置为 WdfTrue)。

SurpriseRemovalOK

一个WDF_TRI_STATE类型的值,该值指示如果设置为 WdfTrue (并且 可移动 也设置为 WdfTrue) ,则用户可以删除设备,而无需使用系统的“拔出硬件”或“弹出硬件”程序。

HardwareDisabled

一个WDF_TRI_STATE类型的值,指示设备已禁用(如果设置为 WdfTrue)。

NoDisplayInUI

一个WDF_TRI_STATE类型的值,指示该设备管理器不应显示设备(如果设置为 WdfTrue)。

Address

指示设备在其总线上的位置的地址。

此数字的解释特定于总线。 如果地址未知或总线驱动程序不支持地址,则总线驱动程序将 地址 成员保留其默认值0xFFFFFFFF (-1) 。

以下列表描述了某些总线驱动程序在其子设备的 “地址” 成员中存储的信息:

公共汽车 说明
1394 不提供地址,因为地址是可变的。 默认为 0xFFFFFFFF。
EISA 槽编号 (0-F) 。
IDE 对于 IDE 设备,地址包含目标 ID 和 LUN。 对于 IDE 通道,地址为零或一 (0 = 主通道,1 = 辅助通道) 。
ISApnp 不提供地址。 默认为 0xFFFFFFFF。
PC 卡 (PCMCIA) 套接字编号通常 (0x00或0x40) 。
PCI 高字中的设备编号和低字中的函数编号。
SCSI 目标 ID。
USB 端口号。

UINumber

一个与设备关联的数字,可在用户界面中显示。 此数字通常是用户感知到的槽号,例如在开发板上的插槽旁边打印的数字或可帮助用户找到设备的其他一些数字。 如果 UINumber 未知,或者提供数字无法帮助用户识别设备的位置,则驱动程序会将此值设置为 -1。

注解

多个成员使用 WDF_TRI_STATE 类型。 对于这些成员, 值 WdfTrue 表示设备支持该功能,而 WdfFalse 的值则表示不支持该功能。 WdfUseDefault 的值表示框架将使用驱动程序在提供的堆栈中较低的值。 例如,如果总线驱动程序为 LockSupported 指定 WdfTrue,而设备的函数驱动程序指定 WdfUseDefault,则框架将存储 WdfTrue 作为该功能。

WDF_DEVICE_PNP_CAPABILITIES 结构用作 WdfDeviceSetPnpCapabilities 的输入。

若要初始化WDF_DEVICE_PNP_CAPABILITIES结构,驱动程序应调用 WDF_DEVICE_PNP_CAPABILITIES_INIT

要求

要求
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfdevice.h (包括 Wdf.h)

另请参阅

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice