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 |