[适用于 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。 (此功能允许从其槽中弹出设备,而不是从设备弹出媒体。
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 通道,地址为零或 1(0 = 主通道,1 = 辅助通道)。 |
| ISApnp | 不提供地址。 默认为0xFFFFFFFF。 |
| 电脑卡 (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) |