struttura WMILIB_CONTEXT (wmilib.h)
La struttura WMILIB_CONTEXT fornisce informazioni di registrazione per i blocchi di dati e i blocchi eventi di un driver e definisce i punti di ingresso per le routine di callback della libreria WMI del driver.
Sintassi
typedef struct _WMILIB_CONTEXT {
ULONG GuidCount;
PWMIGUIDREGINFO GuidList;
PWMI_QUERY_REGINFO QueryWmiRegInfo;
PWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PWMI_SET_DATABLOCK SetWmiDataBlock;
PWMI_SET_DATAITEM SetWmiDataItem;
PWMI_EXECUTE_METHOD ExecuteWmiMethod;
PWMI_FUNCTION_CONTROL WmiFunctionControl;
} WMILIB_CONTEXT, *PWMILIB_CONTEXT;
Membri
GuidCount
Specifica il numero di blocchi registrati dal driver.
GuidList
Puntatore a una matrice di GuidCountstrutture WMIGUIDREGINFO contenenti informazioni di registrazione per ogni blocco.
QueryWmiRegInfo
Puntatore alla routine DpWmiQueryReginfo del driver, un punto di ingresso obbligatorio per i driver che chiamano routine di supporto della libreria WMI.
QueryWmiDataBlock
Puntatore alla routine DpWmiQueryDataBlock del driver, un punto di ingresso obbligatorio per i driver che chiamano routine di supporto della libreria WMI.
SetWmiDataBlock
Puntatore alla routine DpWmiSetDataBlock del driver, che è un punto di ingresso facoltativo per i driver che chiamano routine di supporto della libreria WMI. Se il driver non implementa questa routine, deve impostare questo membro su NULL. In questo caso, WMI restituisce STATUS_WMI_READ_ONLY al chiamante in risposta a qualsiasi richiesta di IRP_MN_CHANGE_SINGLE_INSTANCE.
SetWmiDataItem
Puntatore alla routine DpWmiSetDataItem del driver
ExecuteWmiMethod
Puntatore alla routine DpWmiExecuteMethod del driver, che è un punto di ingresso facoltativo per i driver che chiamano routine di supporto della libreria WMI. Se il driver non implementa questa routine, deve impostare questo membro su NULL. In questo caso, WMI restituisce STATUS_INVALID_DEVICE_REQUEST al chiamante in risposta a qualsiasi richiesta di IRP_MN_EXECUTE_METHOD.
WmiFunctionControl
Puntatore alla routine DpWmiFunctionControl del driver, che è un punto di ingresso facoltativo per i driver che chiamano routine di supporto della libreria WMI. Se il driver non implementa questa routine, deve impostare questo membro su NULL. In questo caso, WMI restituisce STATUS_SUCCESS al chiamante in risposta a qualsiasi
Osservazioni
Un driver che gestisce i runtime di integrazione WMI chiamando routine di supporto della libreria WMI archivia una struttura di WMILIB_CONTEXT inizializzata (o un puntatore a tale struttura) nell'estensione del dispositivo. Un driver può usare la stessa struttura WMILIB_CONTEXT per più oggetti dispositivo se ogni oggetto dispositivo fornisce lo stesso set di blocchi di dati.
Quando il driver riceve una richiesta di IRP_MJ_SYSTEM_CONTROL, chiama WmiSystemControl con un puntatore alla struttura WMILIB_CONTEXT, un puntatore all'oggetto dispositivo e un puntatore all'IRP. WmiSystemControl determina se l'IRP contiene una richiesta WMI e, in tal caso, gestisce la richiesta chiamando la routine DpWmiXxx appropriata del driver.
La memoria per questa struttura può essere allocata dal pool di paging.
Fabbisogno
Requisito | Valore |
---|---|
intestazione |
wmilib.h (include Wmilib.h) |
Vedere anche
WMIGUIDREGINFO