Fonction IoWMIOpenBlock (wdm.h)

La routine IoWMIOpenBlock ouvre l’objet de bloc de données WMI pour la classe WMI spécifiée.

Syntaxe

NTSTATUS IoWMIOpenBlock(
  [in]  LPCGUID Guid,
  [in]  ULONG   DesiredAccess,
  [out] PVOID   *DataBlockObject
);

Paramètres

[in] Guid

Spécifie le GUID de la classe WMI.

[in] DesiredAccess

Spécifie les droits d’accès souhaités à l’objet de bloc de données. L’appelant doit disposer de droits d’accès particuliers pour effectuer certaines opérations.

Voici une description de chaque bit droit d’accès et des opérations qu’il autorise :

WMIGUID_EXECUTE

L’objet de bloc de données peut être utilisé pour exécuter des méthodes de classe WMI. Cet indicateur doit être défini pour utiliser IoWMIExecuteMethod sur l’objet de bloc de données.

WMIGUID_NOTIFICATION

L’objet de bloc de données peut être utilisé pour inscrire des rappels de notification d’événement. Cet indicateur doit être défini pour utiliser IoWMISetNotificationCallback et ne peut être utilisé que pour les blocs d’événements WMI. Les appelants qui spécifient cet indicateur doivent également spécifier l’indicateur SYNCHRONIZE.

WMIGUID_QUERY

L’objet de bloc de données peut être utilisé pour interroger les propriétés de la classe WMI. Cet indicateur doit être défini pour utiliser l’une des routines IoWMIQueryXxx sur l’objet de bloc de données.

WMIGUID_SET

L’objet de bloc de données peut être utilisé pour définir les propriétés de la classe WMI. Cet indicateur doit être défini pour utiliser l’une des routines IoWMISetXxx sur l’objet de bloc de données.

[out] DataBlockObject

Pointeur vers un emplacement de mémoire où la routine retourne un pointeur vers l’objet de bloc de données.

Valeur retournée

Retourne STATUS_SUCCESS en cas de réussite ou le code d’erreur NTSTATUS approprié en cas d’échec.

Remarques

L’appelant utilise IoWMIOpenBlock pour créer un objet de bloc de données pour le GUID de classe WMI spécifié. Par la suite, l’appelant peut utiliser l’objet de bloc de données pour lire ou écrire des propriétés de classe WMI, exécuter des méthodes de classe WMI et inscrire des rappels pour les événements WMI.

Utilisez les routines IoWMIQueryXxx et IoWMISetXxx pour lire et écrire des propriétés de classe WMI. Utilisez IoWMIExecuteMethod pour exécuter des méthodes de classe WMI et utilisez IoWMISetNotificationCallback pour inscrire un rappel de notification d’événement WMI.

Utilisez ObDereferenceObject pour fermer l’objet de bloc de données une fois qu’il n’est plus nécessaire.

Configuration requise

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

Voir aussi

IoWMIExecuteMethod

IoWMIQueryAllData

IoWMIQueryAllDataMultiple

IoWMIQuerySingleInstance

IoWMIQuerySingleInstanceMultiple

IoWMISetNotificationCallback

IoWMISetSingleInstance

IoWMISetSingleItem

ZwClose