Struttura WMIREGINFOW (wmistr.h)
La struttura WMIREGINFO contiene informazioni fornite da un driver per registrare o aggiornare i blocchi dati e i blocchi eventi.
Sintassi
typedef struct {
ULONG BufferSize;
ULONG NextWmiRegInfo;
ULONG RegistryPath;
ULONG MofResourceName;
ULONG GuidCount;
WMIREGGUIDW WmiRegGuid[];
} WMIREGINFOW, *PWMIREGINFOW;
Members
BufferSize
Indica la dimensione totale dei dati di registrazione WMI associati a questa struttura WMIREGINFO, calcolata come segue: (sizeof(WMIREGINFO) + (GuidCount * sizeof(WMIREGGUID) + additionaldata). I dati aggiuntivi possono includere elementi come il nome della risorsa MOF, il percorso del Registro di sistema e i nomi di istanza statici per i blocchi.
NextWmiRegInfo
Se un driver gestisce le richieste WMI per conto di un altro driver, come driver di classe potrebbe per conto di un driver miniclasse, NextWmiRegInfo indica l'offset in byte dall'inizio di questa struttura WMIREGINFO alla struttura WMIREGINFO successiva che contiene informazioni di registrazione WMI per l'altro driver. In caso contrario, NextWmiRegInfo è zero.
RegistryPath
Indica l'offset in byte dall'inizio di questa struttura a una stringa Unicode conteggiata che specifica il percorso del Registro di sistema passato alla routine DriverEntry del driver. La stringa deve essere allineata su un limite USHORT. Questo membro deve essere impostato solo in risposta a una richiesta di registrazione WMI (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath impostata su WMIREGISTER).
MofResourceName
Indica l'offset in byte dall'inizio di questa struttura a una stringa Unicode conteggiata che specifica il nome della risorsa MOF nel file di immagine del driver. La stringa deve essere allineata su un limite USHORT. Questo membro deve essere impostato solo in risposta a una richiesta di registrazione WMI (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath impostata su WMIREGISTER).
GuidCount
Indica il numero di strutture WMIREGGUID nella matrice in WmiRegGuid.
WmiRegGuid
Matrice di strutture WMIREGGUIDguidCount.
Commenti
In risposta a una richiesta di registrazione (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath impostata su WMIREGISTER), un driver compila almeno una struttura WMIREGINFO e scrive la struttura WMIREGINFO nel buffer in IrpStack-Parameters.WMI.Buffer>. La struttura WMIREGINFO contiene una matrice di strutture WMIREGGUID , una per ogni blocco di dati o blocco eventi esposto dal driver.
Se il driver gestisce le richieste WMI per conto di un altro driver, compila un'altra WMIREGINFO contenente una matrice di strutture WMIREGGUID per ogni blocco esposto dall'altro driver, imposta il membro NextWmiRegInfodel primo WMIREGINFO su un offset in byte dall'inizio del primo WMIREGINFO all'inizio del successivo WMIREGINFO nel buffer, e scrive entrambe le strutture nel buffer. Il driver indica la dimensione totale delle strutture WMIREGINFO e dei dati associati quando chiama IoCompleteRequest per completare l'IRP .
Un driver può usare la stessa struttura WMIREGINFO per rimuovere o aggiornare i blocchi in risposta a una richiesta di aggiornamento (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath impostata su WMIUPDATE ). Se WMIREG_FLAG_REMOVE_GUID è impostato nel membro Flag di un WMIREGGUID, WMI rimuove tale blocco dall'elenco di blocchi registrati in precedenza dal driver. Se WMIREG_FLAG_REMOVE_GUID è chiaro, WMI aggiorna le informazioni di registrazione per tale blocco solo se altri membri WMIREGGUID sono stati modificati. In caso contrario, WMI non cambia le informazioni di registrazione per tale blocco.
Requisiti
Requisito | Valore |
---|---|
Intestazione | wmistr.h (include Wmistr.h) |