WdfPdoInitAssignDeviceID 函数 (wdfpdo.h)
[仅适用于 KMDF]
WdfPdoInitAssignDeviceID 方法更新子设备的设备 ID。
语法
NTSTATUS WdfPdoInitAssignDeviceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING DeviceID
);
参数
[in] DeviceInit
指向 WDFDEVICE_INIT 结构的指针。
[in] DeviceID
指向包含设备 ID 字符串 的UNICODE_STRING 结构的指针。 驱动程序可以从分页池中分配字符串的缓冲区。
返回值
如果操作成功,该方法将返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
驱动程序正在初始化 FDO 而不是 PDO。 |
|
驱动程序无法分配空间来存储设备 ID 字符串。 |
方法还可能返回其他 NTSTATUS 值。
注解
设备 ID 通常是设备报告的硬件 ID 列表中的第一项。 有关设备 ID 和硬件 ID 的详细信息,请参阅 设备标识字符串 和 安装程序如何选择驱动程序。
驱动程序必须在调用 WdfDeviceCreate 之前调用 WdfPdoInitAssignDeviceID。 有关调用 WdfDeviceCreate 的详细信息,请参阅 创建框架设备对象。
示例
下面的代码示例报告 KbFiltr 示例驱动程序使用的设备 ID。
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);
status = WdfPdoInitAssignDeviceID(
pDeviceInit,
&deviceId
);
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfpdo.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库版本控制.) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | ChildDeviceInitAPI (kmdf) 、DriverCreate (kmdf) 、InitFreeDeviceCallback (kmdf) 、InitFreeDeviceCreate (kmdf) InitFreeNull (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) , PdoDeviceInitAPI (kmdf) 、PdoInitFreeDeviceCallback (kmdf) 、PdoInitFreeDeviceCreate (kmdf) |