Partager via


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

Voir aussi

EvtWmiInstanceQueryInstance

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate