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 instance 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-instance-Objekt.

[in] MethodId

Ein Wert, der eine Methode in einem Anbieter instance identifiziert. Dieser Wert entspricht dem WmiMethodId-Wert , der in der MOF-Datei des Anbieters angegeben wird.

[in] InBufferSize

Die Anzahl der Bytes der Eingabedaten.

[in] OutBufferSize

Die Anzahl der Bytes von Ausgabedaten, die der Puffer enthalten kann, auf den Buffer verweist.

[in, out] Buffer

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

[out] BufferUsed

Ein Zeiger auf einen Speicherort, der 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 Rückruffunktion EvtWmiInstanceExecuteMethod muss STATUS_SUCCESS zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls muss diese Funktion einen status Wert zurückgeben, für den NT_SUCCESS(status) false entspricht. Der Treiber muss STATUS_BUFFER_TOO_SMALL zurückgeben, wenn der Wert des OutBufferSize-Parameters angibt, dass der Ausgabepuffer zu klein ist, um die Daten zu empfangen.

Hinweise

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

Nachdem ein Treiber die instance-Methode ausführt, die der MethodId-Parameter angibt, muss der Treiber den BufferUsed-Parameter verwenden, um die Anzahl von Bytes zu speichern, die in den Puffer geschrieben wurden.

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

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

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfwmi.h (einschließen von Wdf.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

EvtWmiInstanceQueryInstance

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate