Bagikan melalui


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