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 |