fonction de rappel EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD (wdfwmi.h)
[S’applique uniquement à KMDF]
La fonction de rappel EvtWmiInstanceExecuteMethod exécute une méthode spécifiée que le pilote fournit pour l’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 vers un objet d’instance WMI.
[in] MethodId
Valeur qui identifie une méthode dans une 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 qui tampon points à 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 avec les données de sortie.
[out] BufferUsed
Pointeur vers un emplacement qui reçoit le nombre d’octets écrits par le pilote 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 EvtWmiInstanceExecuteMethod doit retourner STATUS_SUCCESS si l’opération réussit. Dans le cas contraire, cette fonction doit retourner une valeur d’état pour laquelle NT_SUCCESS(état) est égal à 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 WDF_WMI_INSTANCE_CONFIG avant d’appeler WdfWmiInstanceCreate.
Une fois qu’un pilote a exécuté la méthode d’instance spécifiée par le paramètre methodId , le pilote doit utiliser le paramètre BufferUsed pour stocker le nombre d’octets é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 l’une des autres fonctions de rappel d’événements du pilote. Si une EvtWmiInstanceExecuteMethod les 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 la fonction de rappel EvtWmiInstanceExecuteMethod, consultez Prise en charge de WMI dans Framework-Based Drivers.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
d’en-tête | wdfwmi.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |