Partager via


Fonction IoWMISetSingleItem (wdm.h)

La routine IoWMISetSingleItem définit une propriété unique dans le bloc de données instance qui correspond à la classe WMI et au nom instance spécifiés.

Syntaxe

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

Paramètres

[in] DataBlockObject

Pointeur vers un objet de bloc de données WMI. L’appelant ouvre l’objet de bloc de données pour la classe WMI avec la routine IoWMIOpenBlock . L’objet doit être ouvert avec le droit d’accès WMIGUID_SET.

[in] InstanceName

Spécifie le nom du instance du bloc de données. Cette valeur correspond à la valeur de la propriété InstanceName pour le bloc.

[in] DataItemId

Spécifie l’ID d’élément de données pour la propriété à définir. La valeur de ce paramètre correspond à la valeur déclarée dans le qualificateur WmiDataId pour la propriété .

[in] Version

Réservé pour un usage futur. Les appelants doivent définir ce paramètre sur zéro.

[in] ValueBufferSize

Spécifie la taille, en octets, de la mémoire tampon passée dans le paramètre ValueBuffer .

[in] ValueBuffer

Pointeur vers la mémoire tampon qui contient la nouvelle valeur de la propriété spécifiée par le paramètre DataItemId .

Valeur retournée

La routine retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :

Code de retour Description
STATUS_SUCCESS
L’opération a réussi. La valeur de la propriété dans le bloc de données WMI instance est mise à jour vers le contenu de la mémoire tampon pointée vers le paramètre ValueBuffer.
STATUS_WMI_GUID_NOT_FOUND
Aucun pilote n’implémente la classe WMI.
STATUS_WMI_INSTANCE_NOT_FOUND
Aucun pilote n’implémente une instance du bloc de données WMI avec la propriété InstanceName égale à la valeur spécifiée dans le paramètre InstanceName.
STATUS_WMI_ITEMID_NOT_FOUND
La classe WMI ne contient pas de propriété dont l’ID d’élément de données est égal à la valeur de DataItemId.
STATUS_WMI_READ_ONLY
L’ID d’élément de données dans le bloc de données est en lecture seule.
STATUS_WMI_SET_FAILURE
Le pilote qui implémente le bloc de données WMI instance ne peut pas mettre à jour la propriété spécifiée par DataItemId.

Remarques

IoWMISetSingleItem détermine quels pilotes peuvent prendre en charge la classe WMI et le nom instance spécifiés. Il émet une demande de IRP_MN_CHANGE_SINGLE_ITEM à chacun de ces pilotes. Le pilote qui exporte le bloc de données instance avec la propriété InstanceName correspondante met à jour la propriété spécifiée dans le bloc de données instance.

Les pilotes peuvent également utiliser IoWMISetSingleInstance pour mettre à jour simultanément chaque propriété de la classe WMI instance.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et les versions ultérieures du système d’exploitation Windows.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

IRP_MN_CHANGE_SINGLE_ITEM

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleInstance