Поделиться через


структура 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

См. также раздел

EVT_SYSTEM_PROPERTY_ID

EVT_VARIANT_TYPE

EVT_VARIANT_TYPE_MASK