Freigeben über


WmiCompleteRequest-Funktion (wmilib.h)

Die WmiCompleteRequest-Routine gibt an, dass ein Treiber die Verarbeitung einer WMI-Anforderung in einer DpWmiXxx-Routine abgeschlossen hat.

Syntax

NTSTATUS WmiCompleteRequest(
  [in]      PDEVICE_OBJECT DeviceObject,
  [in, out] PIRP           Irp,
  [in]      NTSTATUS       Status,
  [in]      ULONG          BufferUsed,
  [in]      CCHAR          PriorityBoost
);

Parameter

[in] DeviceObject

Ein Zeiger auf die DEVICE_OBJECT des Treibers.

[in, out] Irp

Ein Zeiger auf den IRP.

[in] Status

Gibt die status an, die für die IRP zurückgegeben werden sollen.

[in] BufferUsed

Gibt die Anzahl von Bytes an, die im Puffer benötigt werden, der an die DpWmiXxx-Routine des Treibers übergeben wird. Wenn der Puffer zu klein ist, legt der Treiber Status auf STATUS_BUFFER_TOO_SMALL fest und legt BufferUsed auf die Anzahl der Bytes fest, die für die Rückgabe der Daten erforderlich sind. Wenn der übergebene Puffer groß genug ist, legt der Treiber BufferUsed auf die Anzahl der tatsächlich verwendeten Bytes fest.

[in] PriorityBoost

Gibt eine systemdefinierte Konstante an, um die Laufzeitpriorität des ursprünglichen Threads, der den Vorgang angefordert hat, zu erhöhen. WMI ruft IoCompleteRequest mit PriorityBoost auf, wenn die IRP abgeschlossen wird. Weitere Informationen zu PriorityBoost finden Sie unter IoCompleteRequest.

Rückgabewert

WmiCompleteRequest gibt den Wert zurück, der im Statusparameter an sie übergeben wurde, es sei denn , Status wurde auf STATUS_BUFFER_TOO_SMALL festgelegt. Wenn der Treiber Status gleich STATUS_BUFFER_TOO_SMALL festgelegt hat, erstellt WmiCompleteRequest eine WNODE_TOO_SMALL Struktur und gibt STATUS_SUCCESS zurück. Der Rückgabewert von WmiCompleteRequest sollte vom Treiber in seiner DpWmiXxx-Routine zurückgegeben werden.

Hinweise

Ein Treiber ruft WmiCompleteRequest aus einer DpWmiXxx-Routine auf, nachdem er alle anderen Verarbeitungen in dieser Routine abgeschlossen hat oder nachdem der Treiber die gesamte Verarbeitung für eine ausstehende IRP abgeschlossen hat. WmiCompleteRequest füllt eine WNODE_XXX mit allen vom Treiber zurückgegebenen Daten aus und ruft IoCompleteRequest auf, um die IRP abzuschließen.

Ein Treiber sollte immer den Rückgabewert von WmiCompleteRequest in seiner DpWmiXxx-Routine zurückgeben.

Ein Treiber darf WmiCompleteRequest nicht über seine DpWmiQueryRegInfo-Routine aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wmilib.h (einschließen wmilib.h)
Bibliothek Wmilib.lib
IRQL <= DISPATCH_LEVEL

Weitere Informationen

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl