структура EVT_VARIANT (winevt.h)
Содержит данные события или значения свойств.
Синтаксис
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
Значение типа Boolean.
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
Строка Юникода, заканчивающаяся нулевым значением.
AnsiStringVal
Строковое значение ANSI, завершающееся null.
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.
AnsiStringArr
Указатель на массив строк ANSI, завершаемых null.
SidArr
Указатель на массив из 4-байтовых значений ASCII.
SizeTArr
Указатель на массив значений size_t.
EvtHandleVal
Значение EVT_HANDLE.
XmlVal
Строковое значение XML.
XmlValArr
Указатель на массив строковых значений XML.
Count
Количество элементов в массиве значений. Используйте параметр Count , если для элемента Type установлен флаг EVT_VARIANT_TYPE_ARRAY .
Type
Флаг , указывающий тип данных варианта. Возможные значения см. в перечислении EVT_VARIANT_TYPE .
Вариант содержит массив значений, если установлен флаг EVT_VARIANT_TYPE_ARRAY . Элементы, заканчивающиеся на "Arr", содержат массивы значений. Например, можно использовать член StringArr для доступа к данным варианта, если типом является EvtVarTypeString и установлен флаг EVT_VARIANT_TYPE_ARRAY .
Константа EVT_VARIANT_TYPE_MASK позволяет маскировать бит массива для определения типа варианта.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Верхняя часть | winevt.h |