Partager via


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

Voir aussi

EvtWmiInstanceQueryInstance

EvtWmiInstanceSetInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate