WdfDeviceInitAssignName 函数 (wdfdevice.h)
[仅适用于 KMDF]
WdfDeviceInitAssignName 方法将设备名称分配给设备的设备对象。
语法
NTSTATUS WdfDeviceInitAssignName(
[in] PWDFDEVICE_INIT DeviceInit,
[in, optional] PCUNICODE_STRING DeviceName
);
参数
[in] DeviceInit
指向 WDFDEVICE_INIT 结构的指针。
[in, optional] DeviceName
指向表示设备名称 的 UNICODE_STRING 结构的指针。
返回值
如果 WdfDeviceInitAssignName 未遇到任何错误,它将返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
系统无法分配空间来存储设备名称。 |
注解
如果驱动程序调用 WdfDeviceInitAssignName,则必须在调用 WdfDeviceCreate 之前执行此操作。
如果驱动程序调用 WdfDeviceInitAssignName 来分配名称,则驱动程序随后可以使用 NULLDeviceName 参数调用 WdfDeviceInitAssignName 以清除设备名称。 如果设备名称为 NULL ,并且设备对象需要名称 (,因为它表示 PDO 或 控制设备) ,则操作系统将创建一个名称。
有关命名设备对象的详细信息,请参阅 控制 Framework-Based 驱动程序中的设备访问。
有关调用 WdfDeviceCreate 的详细信息,请参阅 创建框架设备对象。
示例
下面的代码示例将 NT 设备名称 分配给设备。
DECLARE_CONST_UNICODE_STRING(MyDeviceName, L"\\Device\\Ramdisk") ;
status = WdfDeviceInitAssignName(
DeviceInit,
&MyDeviceName
);
if (!NT_SUCCESS(status)) {
return status;
}
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库 Versioning.) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | ChildDeviceInitAPI (kmdf) 、 ControlDeviceInitAPI (kmdf) 、 DeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 InitFreeDeviceCallback (kmdf) 、 InitFreeDeviceCreate (kmdf) 、 InitFreeNull (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) , PdoDeviceInitAPI (kmdf) , PdoInitFreeDeviceCallback (kmdf) , PdoInitFreeDeviceCreate (kmdf) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈