Condividi tramite


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
STATUS_SUCCESS
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 .
STATUS_WMI_GUID_NOT_FOUND
Nessun driver implementa la classe WMI.
STATUS_WMI_INSTANCE_NOT_FOUND
Nessun driver implementa un'istanza della classe WMI con la proprietà InstanceName uguale al valore specificato nel parametro InstanceName .
STATUS_WMI_ITEMID_NOT_FOUND
La classe WMI non contiene un metodo con ID metodo uguale al valore di MethodId.
STATUS_BUFFER_TOO_SMALL
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 .
STATUS_WMI_GUID_DISCONNECTED
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

Vedi anche

IRP_MN_EXECUTE_METHOD

IoWMIOpenBlock