WdfDeviceAssignMofResourceName 函数 (wdfdevice.h)

[仅适用于 KMDF]

WdfDeviceAssignMofResourceName 方法为指定设备注册 MOF 资源名称。

语法

NTSTATUS WdfDeviceAssignMofResourceName(
  [in] WDFDEVICE        Device,
  [in] PCUNICODE_STRING MofResourceName
);

参数

[in] Device

框架设备对象的句柄。

[in] MofResourceName

指向 UNICODE_STRING 结构的指针,该结构指定 MOF 资源的名称。

返回值

如果操作成功, WdfDeviceAssignMofResourceName 将返回STATUS_SUCCESS。 其他返回值包括:

返回代码 说明
STATUS_INVALID_DEVICE_REQUEST
驱动程序已调用 WdfDeviceAssignMofResourceName
STATUS_INSUFFICIENT_RESOURCES
可用内存不足。
 

该方法可能会返回其他 NTSTATUS 值

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

注解

提供 MOF 文件以支持 WMI 的驱动程序必须调用 WdfDeviceAssignMofResourceName,通常来自其 EvtDriverDeviceAddEvtDevicePrepareHardware 回调函数。 MOF 资源名称是驱动程序在其资源脚本中的 MofResource 语句中指定的文件名, (RC) 文件。 有关指定 MOF 资源名称的详细信息,请参阅 编译驱动程序的 MOF 文件

枚举总线上的设备的驱动程序可以为父设备调用 WdfDeviceAssignMofResourceName,框架将为子设备使用父设备的 MOF 资源名称。

有关 WMI 的详细信息,请参阅 在 Framework-Based 驱动程序中支持 WMI

示例

下面的代码示例声明一个 Unicode 字符串,该字符串表示 MOF 资源名称,然后注册该名称。

NTSTATUS  status;
DECLARE_CONST_UNICODE_STRING(mofRsrcName, MOFRESOURCENAME);

status = WdfDeviceAssignMofResourceName(
                                        Device,
                                        &mofRsrcName
                                        );
if (!NT_SUCCESS(status)) {
    return status;
}

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
标头 wdfdevice.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库 Versioning.)
IRQL PASSIVE_LEVEL
DDI 符合性规则 DriverCreate (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf)