Funzione WmiCompleteRequest (wmilib.h)

La routine WmiCompleteRequest indica che un driver ha completato l'elaborazione di una richiesta WMI in una routine DpWmiXxx .

Sintassi

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

Parametri

[in] DeviceObject

Puntatore alla DEVICE_OBJECT del conducente.

[in, out] Irp

Puntatore all'IRP.

[in] Status

Specifica lo stato da restituire per l'IRP.

[in] BufferUsed

Specifica il numero di byte necessari nel buffer passato alla routine DpWmiXxx del driver. Se il buffer è troppo piccolo, il driver imposta Status su STATUS_BUFFER_TOO_SMALL e imposta BufferUsed sul numero di byte necessari per la restituzione dei dati. Se il buffer passato è sufficientemente grande, il driver imposta BufferUsed sul numero di byte effettivamente utilizzati.

[in] PriorityBoost

Specifica una costante definita dal sistema in base alla quale incrementare la priorità di runtime del thread originale che ha richiesto l'operazione. WMI chiama IoCompleteRequest con PriorityBoost al termine dell'IRP. Per altre informazioni su PriorityBoost, vedere IoCompleteRequest.

Valore restituito

WmiCompleteRequest restituisce il valore passato nel parametro Status a meno che Status non sia stato impostato su STATUS_BUFFER_TOO_SMALL. Se il driver imposta Status su STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest compila una struttura WNODE_TOO_SMALL e restituisce STATUS_SUCCESS. Il valore restituito da WmiCompleteRequest deve essere restituito dal driver nella routine DpWmiXxx .

Commenti

Un driver chiama WmiCompleteRequest da una routine DpWmiXxx dopo il completamento di tutte le altre elaborazioni in tale routine o al termine dell'elaborazione per un IRP in sospeso. WmiCompleteRequest compila un WNODE_XXX con tutti i dati restituiti dal driver e chiama IoCompleteRequest per completare l'IRP.

Un driver deve sempre restituire il valore restituito da WmiCompleteRequest nella routine DpWmiXxx .

Un driver non deve chiamare WmiCompleteRequest dalla routine DpWmiQueryRegInfo .

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wmilib.h (include Wmilib.h)
Libreria Wmilib.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl