Funzione IoWMIExecuteMethod (wdm.h)
La routine IoWMIExecuteMethod esegue un metodo di classe WMI nell'istanza del blocco di dati WMI specificata.
Sintassi
NTSTATUS IoWMIExecuteMethod(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in, out] PULONG OutBufferSize,
[in, out] PUCHAR InOutBuffer
);
Parametri
[in] DataBlockObject
Puntatore a un oggetto blocco di dati WMI. Il chiamante apre l'oggetto blocco dati per la classe WMI con IoWMIOpenBlock. L'oggetto deve essere aperto con il diritto di accesso WMIGUID_EXECUTE.
[in] InstanceName
Specifica il nome dell'istanza del blocco di dati. Questo valore corrisponde al valore della proprietà InstanceName per il blocco.
[in] MethodId
Specifica l'ID dell'elemento del metodo da impostare. Il valore di questo parametro corrisponde al valore dichiarato nel qualificatore WmiMethodId per il metodo .
[in] InBufferSize
Specifica le dimensioni, in byte, dei dati di input per il metodo . I dati di input effettivi vengono passati nel buffer a cui punta il parametro InOutBuffer .
[in, out] OutBufferSize
Puntatore a un ULONG che specifica le dimensioni previste, byte, dell'output dei dati dal metodo . I dati di output effettivi vengono restituiti nel buffer a cui punta il parametro InOutBuffer . Se la routine ha esito positivo, aggiorna il percorso di memoria per specificare il numero di byte effettivamente archiviati in InOutBuffer. Se la routine ha esito negativo con STATUS_BUFFER_TOO_SMALL, restituisce il numero di byte necessari per restituire i dati.
[in, out] InOutBuffer
Puntatore al buffer in cui il chiamante passa i dati di input del metodo WMI e riceve i dati di output del metodo WMI.
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 punta il parametro InOutBuffer . La routine restituisce anche le dimensioni, in byte, dei dati restituiti nella posizione di memoria a cui punta il parametro OutBufferSize . |
|
Nessun driver implementa la classe WMI. |
|
Nessun driver implementa un'istanza della classe WMI con la proprietà InstanceName uguale al valore specificato nel parametro InstanceName . |
|
La classe WMI non contiene un metodo con ID metodo uguale al valore di MethodId. |
|
Il buffer passato dal chiamante nel parametro OutBuffer è troppo piccolo. La routine restituisce le dimensioni del buffer necessarie nella posizione di memoria a cui punta il parametro InOutBufferSize . |
|
Il GUID WMI non è più disponibile o non è mai disponibile. |
Commenti
IoWMIExecuteMethod determina quali driver possono supportare la classe WMI e il nome dell'istanza specificati. Invia una richiesta di IRP_MN_EXECUTE_METHOD a ogni driver. Il driver che esporta l'istanza del blocco di dati con la proprietà InstanceName corrispondente esegue quindi il metodo WMI specificato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in 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 |