Freigeben über


EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD Rückruffunktion (wdfwmi.h)

[Gilt nur für KMDF]

Die EvtWmiInstanceExecuteMethod Rückruffunktion eines Treibers führt eine angegebene Methode aus, die der Treiber für die Instanz eines WMI-Datenanbieters bereitstellt.

Syntax

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
)
{...}

Parameter

[in] WmiInstance

Ein Handle für ein WMI-Instanzobjekt.

[in] MethodId

Ein Wert, der eine Methode in einer Anbieterinstanz identifiziert. Dieser Wert entspricht dem WmiMethodId Wert, der in der MOF-Datei des Anbieters angegeben ist.

[in] InBufferSize

Die Anzahl der Byte von Eingabedaten.

[in] OutBufferSize

Die Anzahl der Bytes von Ausgabedaten, die der Puffer Puffer Punkt enthalten kann.

[in, out] Buffer

Ein Zeiger auf einen Puffer, der für Eingabe, Ausgabe oder beides verwendet wird, wie durch die angegebene Methode bestimmt. Wenn sowohl Eingabe- als auch Ausgabedaten bereitgestellt werden, überschreibt der Treiber die Eingabedaten mit den Ausgabedaten.

[out] BufferUsed

Ein Zeiger auf eine Position, die die Anzahl der Bytes empfängt, die der Treiber in den Ausgabepuffer geschrieben hat. Wenn die Ausgabepuffergröße, die der OutBufferSize Parameter angibt, zu klein ist, legt der Treiber diesen Speicherort auf die erforderliche Puffergröße fest.

Rückgabewert

Die EvtWmiInstanceExecuteMethod Rückruffunktion muss STATUS_SUCCESS zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls muss diese Funktion einen Statuswert zurückgeben, für den NT_SUCCESS(Status) FALSE-entspricht. Der Treiber muss STATUS_BUFFER_TOO_SMALL zurückgeben, wenn der Wert des OutBufferSize Parameter angibt, dass der Ausgabepuffer zu klein ist, um die Daten zu empfangen.

Bemerkungen

Um eine EvtWmiInstanceExecuteMethod Rückruffunktion zu registrieren, muss der Treiber die Adresse der Funktion in einer WDF_WMI_INSTANCE_CONFIG Struktur platzieren, bevor WdfWmiInstanceCreateaufgerufen wird.

Nachdem ein Treiber die Instanzmethode ausgeführt hat, die der MethodId Parameter angibt, muss der Treiber den parameter BufferUsed verwenden, um die Anzahl der Bytes zu speichern, die in den Puffer geschrieben wurden.

Das Framework synchronisiert keine Aufrufe der WMI-Ereignisrückruffunktionen eines Treibers miteinander oder mit einer der anderen Ereignisrückruffunktionen des Treibers. Wenn ein EvtWmiInstanceExecuteMethod Daten der Rückruffunktion dynamisch ist und für andere Rückruffunktionen freigegeben wird, kann Ihr Treiber die wartenden Sperren oder Drehsperren des Frameworks verwenden,, um den Zugriff auf die Daten zu synchronisieren.

Weitere Informationen zur EvtWmiInstanceExecuteMethod Rückruffunktion finden Sie unter Unterstützen von WMI in Framework-Based Drivers.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.0
Header- wdfwmi.h (einschließen Wdf.h)
IRQL- PASSIVE_LEVEL

Siehe auch

EvtWmiInstanceQueryInstance

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate