Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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 |