Partager via


Fonction IoWMISetSingleInstance (wdm.h)

La routine IoWMISetSingleInstance définit les valeurs des propriétés du bloc de données instance correspondant à la classe WMI et au nom de instance spécifiés.

Syntaxe

NTSTATUS IoWMISetSingleInstance(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [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] 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 les nouvelles valeurs des propriétés dans le bloc de données.

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. Les valeurs du bloc de données WMI instance propriétés sont mises à 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 de la classe WMI avec la propriété InstanceName égale à la valeur spécifiée dans le paramètre InstanceName.
STATUS_WMI_READ_ONLY
Toutes les propriétés de la classe WMI sont en lecture seule.
STATUS_WMI_SET_FAILURE
Le pilote qui implémente le bloc de données WMI instance ne peut pas mettre à jour le instance.

Remarques

IoWMISetSingleInstance détermine quels pilotes peuvent prendre en charge la classe WMI et le nom instance spécifiés, et émet une requête IRP_MN_CHANGE_SINGLE_INSTANCE à chacun de ces pilotes. Le pilote qui exporte le bloc de données instance avec la propriété InstanceName correspondante met à jour son bloc de données instance. Notez qu’un bloc de données peut avoir à la fois des propriétés en lecture seule et en lecture/écriture. Dans ce cas, seules les propriétés en lecture/écriture sont mises à jour et STATUS_SUCCESS est retournée.

Les pilotes peuvent également utiliser la routine IoWMISetSingleItem pour mettre à jour une propriété unique dans la classe 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_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem