Compartilhar via


estrutura EVT_VARIANT (winevt.h)

Contém dados de evento ou valores de propriedade.

Sintaxe

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;

Membros

BooleanVal

Um valor booliano.

SByteVal

Um valor inteiro de 8 bits com sinal.

Int16Val

Um valor inteiro de 16 bits com sinal.

Int32Val

Um valor inteiro de 32 bits com sinal.

Int64Val

Um valor inteiro de 64 bits com sinal.

ByteVal

Um valor inteiro de 8 bits sem sinal.

UInt16Val

Um valor inteiro de 16 bits sem sinal.

UInt32Val

Um valor inteiro de 32 bits sem sinal.

UInt64Val

Um valor inteiro de 64 bits sem sinal.

SingleVal

Um único valor real de precisão.

DoubleVal

Um valor real de precisão dupla.

FileTimeVal

Um valor FILETIME de 8 bytes.

SysTimeVal

Um valor SYSTEMTIME.

GuidVal

Um valor guid de 16 bytes.

StringVal

Uma cadeia de caracteres Unicode terminada em nulo.

AnsiStringVal

Um valor de cadeia de caracteres ANSI terminada em nulo.

BinaryVal

Um ponteiro para um valor binário hexadecimal.

SidVal

Um valor ASCII de 4 bytes. Uma estrutura sid (identificador de segurança) que identifica exclusivamente um usuário ou grupo.

SizeTVal

Um endereço de ponteiro. O tamanho do endereço (4 bytes ou 8 bytes) depende se o provedor foi executado em um sistema operacional de 32 ou 64 bits.

BooleanArr

Um ponteiro para uma matriz de valores boolianos.

SByteArr

Um ponteiro para uma matriz de valores assinados de 8 bits.

Int16Arr

Um ponteiro para uma matriz de valores assinados de 16 bits.

Int32Arr

Um ponteiro para uma matriz de valores assinados de 32 bits.

Int64Arr

Um ponteiro para uma matriz de valores assinados de 64 bits.

ByteArr

Um ponteiro para uma matriz de valores de 8 bits sem sinal.

UInt16Arr

Um ponteiro para uma matriz de valores de 16 bits sem sinal.

UInt32Arr

Um ponteiro para uma matriz de valores de 32 bits sem sinal.

UInt64Arr

Um ponteiro para uma matriz de valores de 64 bits sem sinal.

SingleArr

Um ponteiro para uma matriz de valores reais de precisão única.

DoubleArr

Um ponteiro para uma matriz de valores reais de precisão dupla.

FileTimeArr

Um ponteiro para uma matriz de valores FILETIME.

SysTimeArr

Um ponteiro para uma matriz de valores SYSTEMTIME.

GuidArr

Um ponteiro para uma matriz de valores guid.

StringArr

Um ponteiro para uma matriz de cadeias de caracteres Unicode terminadas em nulo.

AnsiStringArr

Um ponteiro para uma matriz de cadeias de caracteres ANSI terminadas em nulo.

SidArr

Um ponteiro para uma matriz de valores ASCII de 4 bytes.

SizeTArr

Um ponteiro para uma matriz de valores size_t.

EvtHandleVal

Um valor EVT_HANDLE.

XmlVal

Um valor de cadeia de caracteres XML.

XmlValArr

Um ponteiro para uma matriz de valores de cadeia de caracteres XML.

Count

O número de elementos na matriz de valores. Use Count se o membro Type tiver o sinalizador EVT_VARIANT_TYPE_ARRAY definido.

Type

Um sinalizador que especifica o tipo de dados da variante. Para obter os valores possíveis, consulte a enumeração EVT_VARIANT_TYPE .

A variante conterá uma matriz de valores, se o sinalizador EVT_VARIANT_TYPE_ARRAY estiver definido. Os membros que terminam em "Arr" contêm matrizes de valores. Por exemplo, você usaria o membro StringArr para acessar os dados variantes se o tipo for EvtVarTypeString e o sinalizador EVT_VARIANT_TYPE_ARRAY estiver definido.

Você pode usar a constante EVT_VARIANT_TYPE_MASK para mascarar o bit da matriz para determinar o tipo da variante.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho winevt.h

Confira também

EVT_SYSTEM_PROPERTY_ID

EVT_VARIANT_TYPE

EVT_VARIANT_TYPE_MASK