Struktur VARIAN (oaidl.h)
VARIANTARG menjelaskan argumen yang diteruskan dalam DISPPARAMS, dan VARIAN untuk menentukan data varian yang tidak dapat diteruskan oleh referensi.
Saat varian mengacu pada varian lain dengan menggunakan VT_VARIANT | VT_BYREF vartype, varian yang dirujuk tidak dapat juga berjenis VT_VARIANT | VT_BYREF. VARIAN dapat diteruskan berdasarkan nilai, bahkan jika VARIANTARG tidak dapat.
Sintaks
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;
Anggota
__VARIANT_NAME_1
__VARIANT_NAME_1.__VARIANT_NAME_2
Jenis: __tagVARIANT struktur
__VARIANT_NAME_1.__VARIANT_NAME_2.vt
Jenis: VARTYPE Jenis data dalam penyatuan.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved1
Ketik: WORD Dipesan.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved2
Ketik: WORD Dipesan.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved3
Ketik: WORD Dipesan.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3
__VARIANT_NAME_2.__VARIANT_NAME_3.bool
Jenis: _VARIANT_BOOL Nilai Boolean 16-bit. Nilai 0xFFFF (semua bit 1) menunjukkan true; nilai 0 (semua bit 0) menunjukkan false. Tidak ada nilai lain yang valid.
__VARIANT_NAME_2.__VARIANT_NAME_3.pbool
Jenis: _VARIANT_BOOL* Referensi ke nilai Boolean 16-bit.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.llVal
Jenis: LONGLONG Nilai bilangan bulat 8-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal
Jenis: LONG Nilai bilangan bulat 4-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal
Jenis: BYTE Karakter 1-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal
Jenis: PENDEK Nilai bilangan bulat 2-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal
Jenis: FLOAT Nilai nyata 4-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal
Jenis: DOUBLE Nilai riil 8-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal
Jenis: VARIANT_BOOL Nilai Boolean 16-bit. Nilai 0xFFFF (semua bit 1) menunjukkan true; nilai 0 (semua bit 0) menunjukkan false. Tidak ada nilai lain yang valid.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_BOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.scode
Jenis: SCODE Nilai SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cyVal
Jenis: CY Nilai mata uang.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.date
Jenis: TANGGAL Nilai tanggal dan waktu. Tanggal dinyatakan sebagai angka presisi ganda, di mana tengah malam, 1 Januari 1900 adalah 2,0, 2 Januari 1900 adalah 3,0, dan sebagainya.
Tanggal dapat dikonversi ke dan dari representasi MS-DOS menggunakan VariantTimeToDosDateTime.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal
Jenis: BSTR Nilai string.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.punkVal
Jenis: IUnknown* Pointer ke objek yang mengimplementasikan antarmuka IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdispVal
Jenis: IDispatch* Penunjuk ke objek ditentukan.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.parray
Jenis: SAFEARRAY* Deskriptor array yang aman, yang menjelaskan dimensi, ukuran, dan lokasi dalam memori array.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbVal
Jenis: BYTE* Referensi ke karakter 1-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.piVal
Jenis: SHORT* Referensi ke nilai bilangan bulat 2-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.plVal
Jenis: LONG* Referensi ke nilai bilangan bulat 4-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pllVal
Jenis: LONGLONG* Referensi ke nilai bilangan bulat 8-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pfltVal
Jenis: FLOAT* Referensi ke nilai riil 4-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdblVal
Jenis: DOUBLE* Referensi ke nilai riil 8-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pboolVal
Jenis: VARIANT_BOOL* Referensi ke nilai Boolean 16-bit.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_PBOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pscode
Jenis: SCODE* Referensi ke nilai SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcyVal
Jenis: CY* Referensi ke nilai mata uang.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdate
Jenis: DATE* Referensi ke nilai tanggal dan waktu. Tanggal dinyatakan sebagai angka presisi ganda, di mana tengah malam, 1 Januari 1900 adalah 2,0, 2 Januari 1900 adalah 3,0, dan sebagainya.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbstrVal
Jenis: BSTR* Referensi ke nilai string.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppunkVal
Jenis: IUnknown** Referensi ke penunjuk antarmuka IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppdispVal
Jenis: IDispatch** Referensi ke penunjuk objek.
__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
Jenis: PVOID Nilai generik.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cVal
Jenis: CHAR Nilai karakter 1-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uiVal
Jenis: USHORT Nilai bilangan bulat 2-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ulVal
Jenis: ULONG Nilai bilangan bulat 4-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ullVal
Jenis: ULONGLONG Nilai bilangan bulat 8-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.intVal
Jenis: INT Nilai bilangan bulat.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uintVal
Jenis: UINT Nilai bilangan bulat yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdecVal
Jenis: DESIMAL* Nilai desimal, yang disimpan sebagai bilangan bulat tidak bertanda 96-bit (12-byte) yang diskalakan dengan daya variabel 10.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcVal
Jenis: CHAR* Referensi ke nilai karakter 1-byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puiVal
Jenis: USHORT* Referensi ke nilai bilangan bulat 2-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pulVal
Jenis: ULONG* Referensi ke nilai bilangan bulat 4-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pullVal
Jenis: ULONGLONG* Referensi ke nilai bilangan bulat 8-byte yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pintVal
Jenis: INT* Referensi ke nilai bilangan bulat.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puintVal
Jenis: UINT* Referensi ke nilai bilangan bulat yang tidak ditandatangani.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4
Jenis: __tagBRECORD struktur
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pvRecord
Jenis: PVOID Referensi ke rekaman database.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pRecInfo
Jenis: Referensi IRecordInfo* A ke UDT.
__VARIANT_NAME_1.decVal
Jenis: DESIMAL Nilai desimal.
Persyaratan
Header | oaidl.h |