Partager via


EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE fonction de rappel (wdfwmi.h)

[S’applique uniquement à KMDF]

EvtWmiInstanceQueryInstance fonction de rappel d’un pilote copie les données d’instance d’un fournisseur WMI dans une mémoire tampon pour la remise à un client WMI.

Syntaxe

EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;

NTSTATUS EvtWdfWmiInstanceQueryInstance(
  [in]  WDFWMIINSTANCE WmiInstance,
  [in]  ULONG OutBufferSize,
  [in]  PVOID OutBuffer,
  [out] PULONG BufferUsed
)
{...}

Paramètres

[in] WmiInstance

Handle vers un objet d’instance WMI.

[in] OutBufferSize

Taille, en octets, de la mémoire tampon de sortie vers laquelle OutBuffer pointe.

[in] OutBuffer

Pointeur vers la mémoire tampon de sortie.

[out] BufferUsed

Pointeur vers un emplacement qui reçoit le nombre d’octets que le pilote place dans la mémoire tampon de sortie. Si la taille de la mémoire tampon de sortie spécifiée par le paramètre OutBufferSize est trop petite, le pilote définit cet emplacement sur la taille de mémoire tampon requise.

Valeur de retour

La fonction de rappel EvtWmiInstanceQueryInstance doit retourner STATUS_BUFFER_TOO_SMALL, si la valeur du paramètre OutBufferSize indique que la mémoire tampon de sortie est trop petite pour recevoir les données. Sinon, la fonction de rappel doit copier des données dans la mémoire tampon et retourner STATUS_SUCCESS.

Remarques

Pour inscrire une fonction de rappel EvtWmiInstanceQueryInstance, votre pilote doit placer l’adresse de la fonction dans une structure WDF_WMI_INSTANCE_CONFIG avant d’appeler WdfWmiInstanceCreate.

Avant que l’infrastructure envoie les données d’instance fournies par le pilote au client WMI, elle ajoute toutes les informations d’en-tête WMI nécessaires aux données.

Si votre pilote définit l'UseContextForQuery membre de la structure WDF_WMI_INSTANCE_CONFIG de l’objet d’instance WMI sur TRUE pour un bloc de données en lecture seule, le pilote ne fournit pas de fonction de rappel EvtWmiInstanceQueryInstance fonction de rappel.

Si votre pilote doit fournir des données de chaîne à un client WMI, le pilote doit appeler la fonction WDF_WMI_BUFFER_APPEND_STRING pour mettre en forme la chaîne.

Pour plus d’informations sur la fonction de rappel EvtWmiInstanceQueryInstance, consultez prise en charge des blocs de données WMI en lecture/écriture et prise en charge des blocs de données WMI Read-Only.

L’infrastructure ne synchronise pas les appels aux fonctions de rappel d’événements WMI d’un pilote entre elles ou avec l’une des autres fonctions de rappel d’événements du pilote. Si une EvtWmiInstanceQueryInstance données de la fonction de rappel est dynamique et partagée avec d’autres fonctions de rappel, votre pilote peut utiliser les verrous d’attente du framework ou les verrous de rotation pour synchroniser l’accès aux données.

Pour plus d’informations sur WMI, consultez Prise en charge de WMI dans Framework-Based Pilotes.

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfwmi.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate