(winevt.h) EVT_VARIANT 结构
包含事件数据或属性值。
语法
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;
成员
BooleanVal
一个布尔值。
SByteVal
带符号的 8 位整数值。
Int16Val
带符号的 16 位整数值。
Int32Val
带符号的 32 位整数值。
Int64Val
带符号的 64 位整数值。
ByteVal
8 位无符号整数值。
UInt16Val
16 位无符号整数值。
UInt32Val
32 位无符号整数值。
UInt64Val
64 位无符号整数值。
SingleVal
单精度实值。
DoubleVal
双精度实值。
FileTimeVal
一个 8 字节 FILETIME 值。
SysTimeVal
SYSTEMTIME 值。
GuidVal
一个 16 字节 GUID 值。
StringVal
以 Null 值结束的 Unicode 字符串。
AnsiStringVal
以 null 结尾的 ANSI 字符串值。
BinaryVal
指向十六进制二进制值的指针。
SidVal
4 字节 ASCII 值。 安全标识符 (唯一标识用户或组的 SID) 结构。
SizeTVal
指针地址。 地址的大小 (4 字节或 8 字节) 取决于提供程序是在 32 位还是 64 位操作系统上运行。
BooleanArr
指向布尔值数组的指针。
SByteArr
指向带符号 8 位值的数组的指针。
Int16Arr
指向有符号 16 位值数组的指针。
Int32Arr
指向带符号 32 位值的数组的指针。
Int64Arr
指向带符号 64 位值的数组的指针。
ByteArr
指向无符号 8 位值的数组的指针。
UInt16Arr
指向无符号 16 位值的数组的指针。
UInt32Arr
指向无符号 32 位值的数组的指针。
UInt64Arr
指向无符号 64 位值的数组的指针。
SingleArr
指向单精度实值的数组的指针。
DoubleArr
指向双精度实值的数组的指针。
FileTimeArr
指向 FILETIME 值数组的指针。
SysTimeArr
指向 SYSTEMTIME 值数组的指针。
GuidArr
指向 GUID 值数组的指针。
StringArr
指向以 null 结尾的 Unicode 字符串数组的指针。
AnsiStringArr
指向以 null 结尾的 ANSI 字符串数组的指针。
SidArr
指向 4 字节 ASCII 值数组的指针。
SizeTArr
指向size_t值数组的指针。
EvtHandleVal
EVT_HANDLE值。
XmlVal
XML 字符串值。
XmlValArr
指向 XML 字符串值数组的指针。
Count
值数组中的元素数。 如果 Type 成员设置了EVT_VARIANT_TYPE_ARRAY标志,请使用 Count。
Type
一个指定变体数据类型的标志。 有关可能的值,请参阅 EVT_VARIANT_TYPE 枚举。
如果设置了 EVT_VARIANT_TYPE_ARRAY 标志,则变量包含值的数组。 以“Arr”结尾的成员包含值数组。 例如,如果类型为 EvtVarTypeString 并且设置了EVT_VARIANT_TYPE_ARRAY标志,则使用 StringArr 成员访问变体数据。
可以使用 EVT_VARIANT_TYPE_MASK 常量来屏蔽数组位,以确定变体的类型。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | winevt.h |