Condividi tramite


Struttura WMIGUIDREGINFO (wmilib.h)

La struttura WMIGUIDREGINFO contiene informazioni di registrazione per un blocco di dati o un blocco di eventi specificato esposto da un driver che usa le routine di supporto della libreria WMI.

Sintassi

typedef struct _WMIGUIDREGINFO {
  LPCGUID Guid;
  ULONG   InstanceCount;
  ULONG   Flags;
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;

Members

Guid

Puntatore al GUID che identifica il blocco. La memoria che contiene il GUID può essere impaginata a meno che non venga usata anche per chiamare WmiFireEvent.

InstanceCount

Specifica il numero di istanze definite per il blocco.

Flags

Flag bit che indicano le caratteristiche del blocco. Questi bit di flag sono definiti nel file di intestazione Wmistr.h. ORs WMI il valore del parametro Flags con i bit di flag impostati dal driver nel parametro RegFlags della routine DpWmiQueryReginfo , che si applicano a tutti i blocchi di dati e i blocchi eventi registrati dal driver. I flag integrano quindi le impostazioni predefinite del driver per un determinato blocco.

Un driver potrebbe impostare il flag seguente in Flags:

WMIREG_FLAG_INSTANCE_PDO

Richiede a WMI di generare nomi di istanza statici dall'ID istanza del dispositivo per il PDO. Se questo flag è impostato, il parametro Pdo della routine DpWmiQueryReginfo del driver punta al PDO passato alla routine AddDevice del driver. WMI genera nomi di istanza dal percorso dell'istanza del dispositivo del PDO. L'uso del percorso dell'istanza del dispositivo come base per i nomi di istanze statiche è efficiente perché tali nomi sono sicuramente univoci. WMI fornisce automaticamente un nome "descrittivo" per l'istanza come elemento in un blocco di dati su cui è possibile eseguire query dai consumer di dati.

Un driver può anche impostare uno o più dei bit di flag seguenti:

WMIREG_FLAG_EVENT_ONLY_GUID

Il blocco può essere abilitato o disabilitato solo come evento e non può essere sottoposto a query o impostato. Se questo flag è deselezionato, è anche possibile eseguire query o impostare il blocco.

WMIREG_FLAG_EXPENSIVE

Richiede a WMI di inviare un IRP_MN_ENABLE_COLLECTION richiedere la prima volta che un consumer di dati apre il blocco di dati e una richiesta di IRP_MN_DISABLE_COLLECTION quando l'ultimo consumer di dati chiude il blocco di dati. Questa operazione è consigliata se la raccolta di tali dati influisce sulle prestazioni, perché un driver non deve raccogliere i dati finché un consumer di dati non lo richiede in modo esplicito aprendo il blocco.

WMIREG_FLAG_REMOVE_GUID

Richiede a WMI di rimuovere il supporto per questo blocco. Questo flag è valido solo in risposta a una richiesta di aggiornamento delle informazioni di registrazione (IRP_MN_REGINFO o IRP_MN_REGINFO_EX con Parameters.WMI.DataPath impostato su WMIUPDATE).

Commenti

Un driver che gestisce i provider di integrazione WMI chiamando la libreria WMI supporta routine compila una matrice di strutture WMIGUIDREGINFO , una per ogni blocco di dati e blocco eventi da registrare. Il driver imposta il membro GuidList della relativa struttura WMILIB_CONTEXT in modo che punti al primo WMIGUIDREGINFO della serie.

La memoria per questa struttura può essere allocata dal pool di paging.

Requisiti

Requisito Valore
Intestazione wmilib.h (include Wmilib.h)

Vedi anche

DpWmiQueryReginfo

IRP_MN_DISABLE_COLLECTION

IRP_MN_ENABLE_COLLECTION

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

WMILIB_CONTEXT

WmiFireEvent