VARIANT 結構 (oaidl.h)
VARIANTARG 描述在 DISPPARAMS 內傳遞的引數,以及 VARIANT 來指定無法以傳址方式傳遞的變體資料。
當變體使用 VT_VARIANT 參考另一個變體時 |VT_BYREF vartype,所參考的變體不能也是類型VT_VARIANT |VT_BYREF。 即使 VARIANTARG 無法傳遞,也可以以值傳遞 VANT。
語法
typedef struct tagVARIANT {
union {
struct {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union {
LONGLONG llVal;
LONG lVal;
BYTE bVal;
SHORT iVal;
FLOAT fltVal;
DOUBLE dblVal;
VARIANT_BOOL boolVal;
VARIANT_BOOL __OBSOLETE__VARIANT_BOOL;
SCODE scode;
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown *punkVal;
IDispatch *pdispVal;
SAFEARRAY *parray;
BYTE *pbVal;
SHORT *piVal;
LONG *plVal;
LONGLONG *pllVal;
FLOAT *pfltVal;
DOUBLE *pdblVal;
VARIANT_BOOL *pboolVal;
VARIANT_BOOL *__OBSOLETE__VARIANT_PBOOL;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
BSTR *pbstrVal;
IUnknown **ppunkVal;
IDispatch **ppdispVal;
SAFEARRAY **pparray;
VARIANT *pvarVal;
PVOID byref;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
ULONGLONG ullVal;
INT intVal;
UINT uintVal;
DECIMAL *pdecVal;
CHAR *pcVal;
USHORT *puiVal;
ULONG *pulVal;
ULONGLONG *pullVal;
INT *pintVal;
UINT *puintVal;
struct {
PVOID pvRecord;
IRecordInfo *pRecInfo;
} __VARIANT_NAME_4;
} __VARIANT_NAME_3;
} __VARIANT_NAME_2;
DECIMAL decVal;
} __VARIANT_NAME_1;
} VARIANT;
成員
__VARIANT_NAME_1
__VARIANT_NAME_1.__VARIANT_NAME_2
類型: 結構__tagVARIANT
__VARIANT_NAME_1.__VARIANT_NAME_2.vt
類型:VARTYPE等位中的資料類型。
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved1
類型:WORD保留。
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved2
類型:WORD保留。
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved3
類型:WORD保留。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3
__VARIANT_NAME_2.__VARIANT_NAME_3.bool
類型:_VARIANT_BOOL16 位布林值。 值0xFFFF (所有位 1) 表示 true;值 0 (所有位 0) 表示 false。 沒有其他值有效。
__VARIANT_NAME_2.__VARIANT_NAME_3.pbool
類型:_VARIANT_BOOL*16 位布林值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.llVal
類型:LONGLONG8 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal
類型:LONG4 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal
類型:BYTE不帶正負號的 1 位元組字元。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal
類型:SHORT2 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal
類型:FLOAT4 位元組實值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal
類型:DOUBLE8 位元組實值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal
類型:VARIANT_BOOL16 位布林值。 值0xFFFF (所有位 1) 表示 true;值 0 (所有位 0) 表示 false。 沒有其他值有效。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_BOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.scode
類型:SCODESCODE 值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cyVal
類型:CY貨幣值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.date
類型:DATE日期和時間值。 日期會以雙精確度數位表示,其中 1900 年 1 月 1 日午夜為 2.0、1900 年 1 月 2 日為 3.0 等等。
日期可以使用 VariantTimeToDosDateTime來回轉換成 MS-DOS 標記法。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal
類型:BSTR字串值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.punkVal
類型:IUnknown*實作IUnknown介面之物件的指標。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdispVal
類型:IDispatch*已指定物件的指標。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.parray
類型:SAFEARRAY*安全陣列描述元,描述陣列的維度、大小和記憶體內部位置。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbVal
類型:BYTE*不帶正負號 1 位元組字元的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.piVal
類型:SHORT*2 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.plVal
類型:LONG*4 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pllVal
類型:LONGLONG*8 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pfltVal
類型:FLOAT*4 位元組實值參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdblVal
類型:DOUBLE*8 位元組實值參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pboolVal
類型:VARIANT_BOOL*16 位布林值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_PBOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pscode
類型:SCODE*SCODE 值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcyVal
類型:CY*貨幣值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdate
類型:DATE*日期和時間值的參考。 日期會以雙精確度數位表示,其中 1900 年 1 月 1 日午夜為 2.0、1900 年 1 月 2 日為 3.0 等等。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbstrVal
類型:BSTR*字串值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppunkVal
類型:IUnknown**IUnknown介面指標的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppdispVal
類型:IDispatch**物件指標的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pparray
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pvarVal
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.byref
類型:PVOID泛型值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cVal
類型:CHAR1 位元組字元值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uiVal
類型:USHORT不帶正負號的 2 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ulVal
類型:ULONG不帶正負號的 4 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ullVal
類型:ULONGLONG不帶正負號的 8 位元組整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.intVal
類型:INT整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uintVal
類型:UINT不帶正負號的整數值。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdecVal
類型:DECIMAL*十進位值,其儲存為 96 位 (12 位元組) 以 10 變數乘冪縮放的不帶正負號整數。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcVal
類型:CHAR*1 位元組字元值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puiVal
類型:USHORT*不帶正負號的 2 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pulVal
類型:ULONG*不帶正負號的 4 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pullVal
類型:ULONGLONG*不帶正負號的 8 位元組整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pintVal
類型:INT*整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puintVal
類型:UINT*不帶正負號整數值的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4
類型: 結構__tagBRECORD
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pvRecord
類型:PVOID資料庫記錄的參考。
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pRecInfo
類型:IRecordInfo* UDT 的參考。
__VARIANT_NAME_1.decVal
類型:DECIMAL十進位值。
需求
標頭 | oaidl.h |