struttura EVT_VARIANT (winevt.h)
Contiene i dati dell'evento o i valori delle proprietà.
Sintassi
typedef struct _EVT_VARIANT {
union {
BOOL BooleanVal;
INT8 SByteVal;
INT16 Int16Val;
INT32 Int32Val;
INT64 Int64Val;
UINT8 ByteVal;
UINT16 UInt16Val;
UINT32 UInt32Val;
UINT64 UInt64Val;
float SingleVal;
double DoubleVal;
ULONGLONG FileTimeVal;
SYSTEMTIME *SysTimeVal;
GUID *GuidVal;
LPCWSTR StringVal;
LPCSTR AnsiStringVal;
PBYTE BinaryVal;
PSID SidVal;
size_t SizeTVal;
BOOL *BooleanArr;
INT8 *SByteArr;
INT16 *Int16Arr;
INT32 *Int32Arr;
INT64 *Int64Arr;
UINT8 *ByteArr;
UINT16 *UInt16Arr;
UINT32 *UInt32Arr;
UINT64 *UInt64Arr;
float *SingleArr;
double *DoubleArr;
FILETIME *FileTimeArr;
SYSTEMTIME *SysTimeArr;
GUID *GuidArr;
LPWSTR *StringArr;
LPSTR *AnsiStringArr;
PSID *SidArr;
size_t *SizeTArr;
EVT_HANDLE EvtHandleVal;
LPCWSTR XmlVal;
LPCWSTR *XmlValArr;
};
DWORD Count;
DWORD Type;
} EVT_VARIANT, *PEVT_VARIANT;
Members
BooleanVal
Valore booleano.
SByteVal
Valore intero con segno a 8 bit.
Int16Val
Valore intero con segno a 16 bit.
Int32Val
Valore intero a 32 bit con segno.
Int64Val
Valore intero con segno a 64 bit.
ByteVal
Valore intero senza segno a 8 bit.
UInt16Val
Valore intero senza segno a 16 bit.
UInt32Val
Valore intero senza segno a 32 bit.
UInt64Val
Valore intero senza segno a 64 bit.
SingleVal
Valore reale a precisione singola.
DoubleVal
Valore reale a precisione doppia.
FileTimeVal
Valore FILETIME a 8 byte.
SysTimeVal
Valore SYSTEMTIME.
GuidVal
Valore GUID a 16 byte.
StringVal
Stringa Unicode con terminazione Null.
AnsiStringVal
Valore stringa ANSI con terminazione Null.
BinaryVal
Puntatore a un valore binario esadecimale.
SidVal
Valore ASCII a 4 byte. Struttura SID (Security Identifier) che identifica in modo univoco un utente o un gruppo.
SizeTVal
Indirizzo del puntatore. Le dimensioni dell'indirizzo (4 byte o 8 byte) dipendono dal fatto che il provider sia stato eseguito in un sistema operativo a 32 bit o a 64 bit.
BooleanArr
Puntatore a una matrice di valori booleani.
SByteArr
Puntatore a una matrice di valori a 8 bit firmati.
Int16Arr
Puntatore a una matrice di valori a 16 bit firmati.
Int32Arr
Puntatore a una matrice di valori a 32 bit firmati.
Int64Arr
Puntatore a una matrice di valori a 64 bit con segno.
ByteArr
Puntatore a una matrice di valori senza segno a 8 bit.
UInt16Arr
Puntatore a una matrice di valori senza segno a 16 bit.
UInt32Arr
Puntatore a una matrice di valori senza segno a 32 bit.
UInt64Arr
Puntatore a una matrice di valori senza segno a 64 bit.
SingleArr
Puntatore a una matrice di valori reali a precisione singola.
DoubleArr
Puntatore a una matrice di valori reali a precisione doppia.
FileTimeArr
Puntatore a una matrice di valori FILETIME.
SysTimeArr
Puntatore a una matrice di valori SYSTEMTIME.
GuidArr
Puntatore a una matrice di valori GUID.
StringArr
Puntatore a una matrice di stringhe Unicode con terminazione Null.
AnsiStringArr
Puntatore a una matrice di stringhe ANSI con terminazione Null.
SidArr
Puntatore a una matrice di valori ASCII a 4 byte.
SizeTArr
Puntatore a una matrice di valori size_t.
EvtHandleVal
Valore EVT_HANDLE.
XmlVal
Valore stringa XML.
XmlValArr
Puntatore a una matrice di valori stringa XML.
Count
Numero di elementi nella matrice di valori. Utilizzare Count se il membro Type ha il flag EVT_VARIANT_TYPE_ARRAY impostato.
Type
Flag che specifica il tipo di dati della variante. Per i valori possibili, vedere l'enumerazione EVT_VARIANT_TYPE .
La variante contiene una matrice di valori, se il flag EVT_VARIANT_TYPE_ARRAY è impostato. I membri che terminano in "Arr" contengono matrici di valori. Ad esempio, si userà il membro StringArr per accedere ai dati varianti se il tipo è EvtVarTypeString e viene impostato il flag EVT_VARIANT_TYPE_ARRAY .
È possibile usare la costante EVT_VARIANT_TYPE_MASK per mascherare il bit della matrice per determinare il tipo della variante.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Intestazione | winevt.h |