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 |