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)
Wdf01000.sys(请参阅框架库版本控制。
IRQL PASSIVE_LEVEL
DDI 符合性规则 ChildDeviceInitAPI(kmdf)ControlDeviceInitAPI(kmdf)DeviceInitAPI(kmdf)DriverCreate (kmdf)InitFreeDeviceCallback(kmdf)InitFreeDeviceCreate(kmdf)InitFreenull(kmdf) kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf),PdoDeviceInitAPI(kmdf)PdoInitFreeDeviceCallback(kmdf)PdoInitFreeDeviceCreate(kmdf)

另请参阅

WdfDeviceRetrieveDeviceName