共用方式為


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

以 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 旗標,Variant 就會包含值的陣列。 以 「Arr」 結尾的成員包含值的陣列。 例如,如果類型為 EvtVarTypeString 且已設定EVT_VARIANT_TYPE_ARRAY旗標,您可以使用 StringArr 成員來存取變體數據。

您可以使用 EVT_VARIANT_TYPE_MASK 常數來遮罩數位,以判斷變體的類型。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 winevt.h

另請參閱

EVT_SYSTEM_PROPERTY_ID

EVT_VARIANT_TYPE

EVT_VARIANT_TYPE_MASK