Funzione IoWMIQueryAllData (wdm.h)
La routine IoWMIQueryAllData restituisce tutti i blocchi di dati WMI che implementano una determinata classe WMI.
Sintassi
NTSTATUS IoWMIQueryAllData(
[in] PVOID DataBlockObject,
[in, out] PULONG InOutBufferSize,
[out, optional] PVOID OutBuffer
);
Parametri
[in] DataBlockObject
Puntatore a un oggetto blocco dati WMI. Il chiamante apre l'oggetto blocco dati per la classe WMI con la routine IoWMIOpenBlock . L'oggetto deve essere aperto con il diritto di accesso WMIGUID_QUERY.
[in, out] InOutBufferSize
Puntatore a una posizione di memoria che specifica le dimensioni del buffer passato nel parametro OutBuffer . Se la routine ha esito positivo, aggiorna la posizione di memoria per specificare il numero di byte effettivamente archiviati in OutBuffer. Se la routine ha esito negativo con il codice di stato di STATUS_BUFFER_TOO_SMALL, restituisce il numero di byte necessari per restituire i dati.
[out, optional] OutBuffer
Puntatore al buffer in cui la routine restituisce i dati WMI. La routine restituisce una sequenza di strutture di WNODE_ALL_DATA di dimensioni variabili, una per ogni set di blocchi di dati restituiti. Il membro WnodeHeader.Linkage di ogni struttura WNODE_ALL_DATA contiene l'offset dall'inizio del WNODE_ALL_DATA corrente all'inizio dell'WNODE_ALL_DATA successivo. Il blocco finale della catena ha WnodeHeader.Linkage impostato su zero. OutBuffer deve puntare a un buffer allocato da un pool non con pagine.
Valore restituito
La routine restituisce un codice NTSTATUS. I valori restituiti possibili includono:
Codice restituito | Descrizione |
---|---|
|
Operazione completata. La routine restituisce i dati WMI nel buffer a cui fa riferimento il parametro OutBuffer . La routine restituisce anche le dimensioni, in byte, dei dati restituiti nella posizione di memoria a cui fa riferimento il parametro InOutBufferSize . |
|
Nessun driver implementa la classe WMI specificata. |
|
Il buffer passato dal chiamante nel parametro OutBuffer è troppo piccolo. La routine restituisce le dimensioni del buffer necessarie nel percorso di memoria a cui fa riferimento il parametro InOutBufferSize . |
Commenti
IoWMIQueryAllData determina quali driver supportano la classe WMI specificata e genera una richiesta di IRP_MN_QUERY_ALL_DATA a ogni driver.
Per eseguire una query per più classi WMI, usare IoWMIQueryAllDataMultiple.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows XP e versioni successive del sistema operativo Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |