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

Vedi anche

EVT_SYSTEM_PROPERTY_ID

EVT_VARIANT_TYPE

EVT_VARIANT_TYPE_MASK