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。 (此功能允许从其槽中弹出设备,而不是从设备弹出媒体。

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)

另请参阅

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice