EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE fonction de rappel (wdfwmi.h)
[S’applique à KMDF uniquement]
La fonction de rappel EvtWmiInstanceQueryInstance d’un pilote copie les données instance d’un fournisseur WMI dans une mémoire tampon à remettre à 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 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 retournée
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 d’envoyer les données instance fournies par le pilote au client WMI, l’infrastructure ajoute toutes les informations d’en-tête WMI nécessaires aux données.
Si votre pilote définit le membre UseContextForQuery de la structure WDF_WMI_INSTANCE_CONFIG de l’objet WMI instance sur TRUE pour un bloc de données en lecture seule, le pilote ne fournit pas de fonction de rappel EvtWmiInstanceQueryInstance.
Si votre pilote doit fournir des données de chaîne à un client WMI, il 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énement WMI d’un pilote entre elles ou avec les autres fonctions de rappel d’événements du pilote. Si les données d’une fonction de rappel EvtWmiInstanceQueryInstance sont dynamiques et partagées avec d’autres fonctions de rappel, votre pilote peut utiliser les verrous d’attente ou les verrous de rotation de l’infrastructure pour synchroniser l’accès aux données.
Pour plus d’informations sur WMI, consultez Prise en charge de WMI dans les pilotes Framework-Based.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfwmi.h (inclure Wdf.h) |
IRQL | PASSIVE_LEVEL |