EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD fonction de rappel (wdfwmi.h)
[S’applique uniquement à KMDF]
La fonction de rappel EvtWmiInstanceExecuteMethod d’un pilote exécute une méthode spécifiée que le pilote fournit pour les instance d’un fournisseur de données WMI.
Syntaxe
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWdfWmiInstanceExecuteMethod;
NTSTATUS EvtWdfWmiInstanceExecuteMethod(
[in] WDFWMIINSTANCE WmiInstance,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in] ULONG OutBufferSize,
[in, out] PVOID Buffer,
[out] PULONG BufferUsed
)
{...}
Paramètres
[in] WmiInstance
Handle d’un objet WMI instance.
[in] MethodId
Valeur qui identifie une méthode dans un instance de fournisseur. Cette valeur correspond à la valeur WmiMethodId spécifiée dans le fichier MOF du fournisseur.
[in] InBufferSize
Nombre d’octets de données d’entrée.
[in] OutBufferSize
Nombre d’octets de données de sortie que la mémoire tampon vers laquelle la mémoire tampon pointe peut contenir.
[in, out] Buffer
Pointeur vers une mémoire tampon utilisée pour l’entrée, la sortie ou les deux, comme déterminé par la méthode spécifiée. Si les données d’entrée et de sortie sont fournies, le pilote remplace les données d’entrée par les données de sortie.
[out] BufferUsed
Pointeur vers un emplacement qui reçoit le nombre d’octets que le pilote a écrit dans la mémoire tampon de sortie. Si la taille de 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 EvtWmiInstanceExecuteMethod doit retourner STATUS_SUCCESS si l’opération réussit. Sinon, cette fonction doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false. Le pilote 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.
Remarques
Pour inscrire une fonction de rappel EvtWmiInstanceExecuteMethod , votre pilote doit placer l’adresse de la fonction dans une structure de WDF_WMI_INSTANCE_CONFIG avant d’appeler WdfWmiInstanceCreate.
Une fois qu’un pilote a exécuté la méthode instance que le paramètre MethodId spécifie, le pilote doit utiliser le paramètre BufferUsed pour stocker le nombre d’octets qui ont été écrits dans la mémoire tampon.
L’infrastructure ne synchronise pas les appels aux fonctions de rappel d’événements 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 EvtWmiInstanceExecuteMethod 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 la fonction de rappel EvtWmiInstanceExecuteMethod , 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 |