Compartir a través de


estructura EVT_VARIANT (winevt.h)

Contiene datos de eventos o valores de propiedad.

Sintaxis

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;

Miembros

BooleanVal

Valor booleano.

SByteVal

Valor entero de 8 bits con signo.

Int16Val

Valor entero de 16 bits con signo.

Int32Val

Un valor entero de 32 bits con signo.

Int64Val

Valor entero de 64 bits con signo.

ByteVal

Valor entero de 8 bits sin signo.

UInt16Val

Valor entero de 16 bits sin signo.

UInt32Val

Valor entero de 32 bits sin signo.

UInt64Val

Valor entero de 64 bits sin signo.

SingleVal

Valor real de precisión única.

DoubleVal

Valor real de precisión doble.

FileTimeVal

Valor FILETIME de 8 bytes.

SysTimeVal

Valor SYSTEMTIME.

GuidVal

Un valor GUID de 16 bytes.

StringVal

Cadena Unicode terminada en null.

AnsiStringVal

Valor de cadena ANSI terminado en null.

BinaryVal

Puntero a un valor binario hexadecimal.

SidVal

Valor ASCII de 4 bytes. Estructura de identificador de seguridad (SID) que identifica de forma única un usuario o grupo.

SizeTVal

Una dirección de puntero. El tamaño de la dirección (4 bytes o 8 bytes) depende de si el proveedor se ejecutó en un sistema operativo de 32 o 64 bits.

BooleanArr

Puntero a una matriz de valores booleanos.

SByteArr

Puntero a una matriz de valores de 8 bits con signo.

Int16Arr

Puntero a una matriz de valores de 16 bits firmados.

Int32Arr

Puntero a una matriz de valores de 32 bits firmados.

Int64Arr

Puntero a una matriz de valores de 64 bits firmados.

ByteArr

Puntero a una matriz de valores de 8 bits sin signo.

UInt16Arr

Puntero a una matriz de valores de 16 bits sin signo.

UInt32Arr

Puntero a una matriz de valores de 32 bits sin signo.

UInt64Arr

Puntero a una matriz de valores de 64 bits sin signo.

SingleArr

Puntero a una matriz de valores reales de precisión única.

DoubleArr

Puntero a una matriz de valores reales de precisión doble.

FileTimeArr

Puntero a una matriz de valores FILETIME.

SysTimeArr

Puntero a una matriz de valores SYSTEMTIME.

GuidArr

Puntero a una matriz de valores GUID.

StringArr

Puntero a una matriz de cadenas Unicode terminadas en NULL.

AnsiStringArr

Puntero a una matriz de cadenas ANSI terminadas en NULL.

SidArr

Puntero a una matriz de valores ASCII de 4 bytes.

SizeTArr

Puntero a una matriz de valores de size_t.

EvtHandleVal

Valor de EVT_HANDLE.

XmlVal

Valor de cadena XML.

XmlValArr

Puntero a una matriz de valores de cadena XML.

Count

Número de elementos de la matriz de valores. Use Count si el miembro Type tiene establecida la marca EVT_VARIANT_TYPE_ARRAY .

Type

Marca que especifica el tipo de datos de la variante. Para conocer los valores posibles, consulte la enumeración EVT_VARIANT_TYPE .

La variante contiene una matriz de valores, si se establece la marca EVT_VARIANT_TYPE_ARRAY . Los miembros que terminan en "Arr" contienen matrices de valores. Por ejemplo, usaría el miembro StringArr para tener acceso a los datos variantes si el tipo es EvtVarTypeString y se establece la marca EVT_VARIANT_TYPE_ARRAY .

Puede usar la constante EVT_VARIANT_TYPE_MASK para enmascarar el bit de matriz para determinar el tipo de la variante.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado winevt.h

Consulte también

EVT_SYSTEM_PROPERTY_ID

EVT_VARIANT_TYPE

EVT_VARIANT_TYPE_MASK