Freigeben über


EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE Rückruffunktion (wdfwmi.h)

[Gilt nur für KMDF]

Die EvtWmiInstanceQueryInstance-Rückruffunktion eines Treibers kopiert die instance Daten eines WMI-Anbieters zur Übermittlung an einen WMI-Client in einen Puffer.

Syntax

EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;

NTSTATUS EvtWdfWmiInstanceQueryInstance(
  [in]  WDFWMIINSTANCE WmiInstance,
  [in]  ULONG OutBufferSize,
  [in]  PVOID OutBuffer,
  [out] PULONG BufferUsed
)
{...}

Parameter

[in] WmiInstance

Ein Handle für ein WMI-instance-Objekt.

[in] OutBufferSize

Die Größe des Ausgabepuffers in Bytes, auf den OutBuffer zeigt.

[in] OutBuffer

Ein Zeiger auf den Ausgabepuffer.

[out] BufferUsed

Ein Zeiger auf einen Speicherort, der die Anzahl der Bytes empfängt, die der Treiber im Ausgabepuffer platziert. Wenn die Ausgabepuffergröße, die der Parameter OutBufferSize angibt, zu klein ist, legt der Treiber diesen Speicherort auf die erforderliche Puffergröße fest.

Rückgabewert

Die Rückruffunktion EvtWmiInstanceQueryInstance 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. Andernfalls muss die Rückruffunktion Daten in den Puffer kopieren und STATUS_SUCCESS zurückgeben.

Hinweise

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

Bevor das Framework die vom Treiber bereitgestellten instance Daten an den WMI-Client sendet, fügt es den Daten alle erforderlichen WMI-Headerinformationen hinzu.

Wenn Der Treiber den UseContextForQuery-Member der WDF_WMI_INSTANCE_CONFIG-Struktur des WMI-instance-Objekts für einen schreibgeschützten Datenblock auf TRUE festlegt, stellt der Treiber keine EvtWmiInstanceQueryInstance-Rückruffunktion bereit.

Wenn Ihr Treiber Zeichenfolgendaten für einen WMI-Client bereitstellen muss, sollte der Treiber die funktion WDF_WMI_BUFFER_APPEND_STRING aufrufen, um die Zeichenfolge zu formatieren.

Weitere Informationen zur Rückruffunktion EvtWmiInstanceQueryInstance finden Sie unter Unterstützen von WMI-Datenblöcken mit Lese-/Schreibzugriff und Unterstützen von Read-Only WMI-Datenblöcken.

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

Weitere Informationen zu WMI 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

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate