IoWMISetSingleItem function (wdm.h)

The IoWMISetSingleItem routine sets a single property in the data block instance that matches the specified WMI class and instance name.

Syntax

NTSTATUS IoWMISetSingleItem(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           DataItemId,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

Parameters

[in] DataBlockObject

Pointer to a WMI data block object. The caller opens the data block object for the WMI class with the IoWMIOpenBlock routine. The object must be opened with the WMIGUID_SET access right.

[in] InstanceName

Specifies the name of the instance of the data block. This value corresponds to the value of the InstanceName property for the block.

[in] DataItemId

Specifies the data item ID for the property to be set. The value of this parameter corresponds to the value declared in the WmiDataId qualifier for the property.

[in] Version

Reserved for future use. Callers must set this parameter to zero.

[in] ValueBufferSize

Specifies the size, in bytes, of the buffer passed in the ValueBuffer parameter.

[in] ValueBuffer

Pointer to the buffer that contains the new value for the property specified by the DataItemId parameter.

Return value

The routine returns an NTSTATUS code. Possible return values include:

Return code Description
STATUS_SUCCESS
The operation succeeded. The value of the property within WMI data block instance is updated to the contents of the buffer pointed to by the ValueBuffer parameter.
STATUS_WMI_GUID_NOT_FOUND
No drivers implement the WMI class.
STATUS_WMI_INSTANCE_NOT_FOUND
No driver implements an instance of the WMI data block with InstanceName property equal to the value specified in the InstanceName parameter.
STATUS_WMI_ITEMID_NOT_FOUND
The WMI class does not contain a property with data item ID equal to the value of DataItemId.
STATUS_WMI_READ_ONLY
The data item ID in the data block is read-only.
STATUS_WMI_SET_FAILURE
The driver that implements the WMI data block instance is unable to update the property specified by DataItemId.

Remarks

IoWMISetSingleItem determines which drivers might support the specified WMI class and instance name. It issues an IRP_MN_CHANGE_SINGLE_ITEM request to each such driver. The driver that exports the data block instance with matching InstanceName property updates the specified property in the data block instance.

Drivers can also use IoWMISetSingleInstance to update every property of the WMI class instance simultaneously.

Requirements

Requirement Value
Minimum supported client Available in Windows XP and later versions of the Windows operating system.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

See also

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance