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。 其他返回值包括:

返回代码 说明
STATUS_INSUFFICIENT_RESOURCES
系统无法分配空间来存储设备名称。

注解

如果驱动程序调用 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)

另请参阅

WdfDeviceRetrieveDeviceName