WmiCompleteRequest-Funktion (wmilib.h)
Die WmiCompleteRequest Routine gibt an, dass ein Treiber die Verarbeitung einer WMI-Anforderung in einer DpWmiXxx Routine abgeschlossen hat.
NTSTATUS WmiCompleteRequest(
[in] PDEVICE_OBJECT DeviceObject,
[in, out] PIRP Irp,
[in] NTSTATUS Status,
[in] ULONG BufferUsed,
[in] CCHAR PriorityBoost
);
[in] DeviceObject
Ein Zeiger auf die DEVICE_OBJECTdes Treibers.
[in, out] Irp
Ein Zeiger auf das IRP.
[in] Status
Gibt den Status an, der für das IRP zurückgegeben werden soll.
[in] BufferUsed
Gibt die Anzahl der im Puffer benötigten Bytes an, die an die DpWmiXxx Routine des Treibers übergeben werden. 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 zurückgegebenen 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 vom System definierte Konstante an, um die Laufzeitpriorität des ursprünglichen Threads zu erhöhen, der den Vorgang angefordert hat. WMI ruft IoCompleteRequest mit PriorityBoost- auf, wenn das IRP abgeschlossen ist. Weitere Informationen zu PriorityBoostfinden Sie unter IoCompleteRequest-.
WmiCompleteRequest gibt den Wert zurück, der im parameter Status übergeben wurde, es sei denn, Status auf STATUS_BUFFER_TOO_SMALL festgelegt wurde. 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.
Ein Treiber ruft WmiCompleteRequest von einer DpWmiXxx- Routine auf, nachdem alle anderen Verarbeitungen in dieser Routine abgeschlossen wurden, oder nachdem der Treiber die gesamte Verarbeitung für ein ausstehendes IRP abgeschlossen hat. WmiCompleteRequest füllt ein WNODE_XXX- mit allen vom Treiber zurückgegebenen Daten und ruft IoCompleteRequest- auf, um das IRP abzuschließen.
Ein Treiber sollte immer den Rückgabewert von WmiCompleteRequest- in seiner DpWmiXxx- Routine zurückgeben.
Ein Treiber darf nicht WmiCompleteRequest- aus seiner DpWmiQueryRegInfo-Routine aufrufen.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wmilib.h (einschließen Wmilib.h) |
Library | Wmilib.lib |
IRQL- | <= DISPATCH_LEVEL |