EVT_VARIANT structure (winevt.h)
Contient des données d’événement ou des valeurs de propriété.
Syntaxe
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;
Membres
BooleanVal
Valeur booléenne.
SByteVal
Valeur d’entier 8 bits signé.
Int16Val
Valeur d’entier 16 bits signé.
Int32Val
Valeur d’entier 32 bits signé.
Int64Val
Valeur d’entier 64 bits signé.
ByteVal
Valeur d’entier 8 bits non signé.
UInt16Val
Valeur d’entier 16 bits non signé.
UInt32Val
Valeur d'entier 32 bits non signé.
UInt64Val
Valeur d’entier 64 bits non signé.
SingleVal
Valeur réelle de précision unique.
DoubleVal
Valeur réelle double précision.
FileTimeVal
Valeur FILETIME de 8 octets.
SysTimeVal
Valeur SYSTEMTIME.
GuidVal
Valeur GUID de 16 octets.
StringVal
Chaîne Unicode terminée par un caractère Null.
AnsiStringVal
Valeur de chaîne ANSI terminée par null.
BinaryVal
Pointeur vers une valeur binaire hexadécimale.
SidVal
Valeur ASCII de 4 octets. Structure d’identificateur de sécurité (SID) qui identifie un utilisateur ou un groupe de manière unique.
SizeTVal
Adresse du pointeur. La taille de l’adresse (4 octets ou 8 octets) varie selon que le fournisseur s’exécutait sur un système d’exploitation 32 bits ou 64 bits.
BooleanArr
Pointeur vers un tableau de valeurs booléennes.
SByteArr
Pointeur vers un tableau de valeurs 8 bits signées.
Int16Arr
Pointeur vers un tableau de valeurs 16 bits signées.
Int32Arr
Pointeur vers un tableau de valeurs 32 bits signées.
Int64Arr
Pointeur vers un tableau de valeurs 64 bits signées.
ByteArr
Pointeur vers un tableau de valeurs 8 bits non signées.
UInt16Arr
Pointeur vers un tableau de valeurs 16 bits non signées.
UInt32Arr
Pointeur vers un tableau de valeurs 32 bits non signées.
UInt64Arr
Pointeur vers un tableau de valeurs 64 bits non signées.
SingleArr
Pointeur vers un tableau de valeurs réelles de précision unique.
DoubleArr
Pointeur vers un tableau de valeurs réelles de double précision.
FileTimeArr
Pointeur vers un tableau de valeurs FILETIME.
SysTimeArr
Pointeur vers un tableau de valeurs SYSTEMTIME.
GuidArr
Pointeur vers un tableau de valeurs GUID.
StringArr
Pointeur vers un tableau de chaînes Unicode terminées par un caractère Null.
AnsiStringArr
Pointeur vers un tableau de chaînes ANSI terminées par null.
SidArr
Pointeur vers un tableau de valeurs ASCII de 4 octets.
SizeTArr
Pointeur vers un tableau de valeurs size_t.
EvtHandleVal
Valeur EVT_HANDLE.
XmlVal
Valeur de chaîne XML.
XmlValArr
Pointeur vers un tableau de valeurs de chaîne XML.
Count
Nombre d’éléments dans le tableau de valeurs. Utilisez Count si le membre Type a l’indicateur EVT_VARIANT_TYPE_ARRAY défini.
Type
Indicateur qui spécifie le type de données de la variante. Pour connaître les valeurs possibles, consultez l’énumération EVT_VARIANT_TYPE .
La variante contient un tableau de valeurs, si l’indicateur EVT_VARIANT_TYPE_ARRAY est défini. Les membres qui se terminent par « Arr » contiennent des tableaux de valeurs. Par exemple, vous utiliseriez le membre StringArr pour accéder aux données variant si le type est EvtVarTypeString et que l’indicateur EVT_VARIANT_TYPE_ARRAY est défini.
Vous pouvez utiliser la constante EVT_VARIANT_TYPE_MASK pour masquer le bit du tableau afin de déterminer le type de la variante.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | winevt.h |