WdfDeviceAssignMofResourceName function (wdfdevice.h)
[Applies to KMDF only]
The WdfDeviceAssignMofResourceName method registers a MOF resource name for a specified device.
NTSTATUS WdfDeviceAssignMofResourceName(
[in] WDFDEVICE Device,
[in] PCUNICODE_STRING MofResourceName
);
[in] Device
A handle to a framework device object.
[in] MofResourceName
A pointer to a UNICODE_STRING structure that specifies the name of a MOF resource.
If the operation succeeds, WdfDeviceAssignMofResourceName returns STATUS_SUCCESS. Additional return values include:
Return code | Description |
---|---|
|
The driver has already called WdfDeviceAssignMofResourceName. |
|
Insufficient memory is available. |
The method might return other NTSTATUS values.
A bug check occurs if the driver supplies an invalid object handle.
A driver that provides a MOF file to support WMI must call WdfDeviceAssignMofResourceName, typically from within its EvtDriverDeviceAdd or EvtDevicePrepareHardware callback function. The MOF resource name is the file name that the driver specifies in a MofResource statement in its resource script (RC) file. For more information about specifying a MOF resource name, see Compiling a Driver's MOF File.
A driver that enumerates the devices on a bus can call WdfDeviceAssignMofResourceName for the parent device, and the framework will use the parent's MOF resource name for child devices.
For more information about WMI, see Supporting WMI in Framework-Based Drivers.
The following code example declares a Unicode string that represents a MOF resource name and then registers the name.
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(mofRsrcName, MOFRESOURCENAME);
status = WdfDeviceAssignMofResourceName(
Device,
&mofRsrcName
);
if (!NT_SUCCESS(status)) {
return status;
}
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Header | wdfdevice.h (include Wdf.h) |
Library | Wdf01000.sys (see Framework Library Versioning.) |
IRQL | PASSIVE_LEVEL |
DDI compliance rules | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |