Freigeben über


VARIANT-Struktur (oaidl.h)

VARIANTARG beschreibt Argumente, die in DISPPARAMS und VARIANT übergeben werden, um Variantendaten anzugeben, die nicht als Verweis übergeben werden können.

Wenn sich eine Variante auf eine andere Variante bezieht, indem sie die VT_VARIANT | VT_BYREF vartype kann die Variante, auf die verwiesen wird, nicht auch vom Typ VT_VARIANT | VT_BYREF. VARIANTs können nach Wert übergeben werden, auch wenn VARIANTARGs dies nicht können.

Syntax

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;

Members

__VARIANT_NAME_1

__VARIANT_NAME_1.__VARIANT_NAME_2

Typ: Struktur __tagVARIANT

__VARIANT_NAME_1.__VARIANT_NAME_2.vt

Typ: VARTYPE Der Datentyp in der Union.

__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved1

Typ: WORD Reserviert.

__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved2

Typ: WORD Reserviert.

__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved3

Typ: WORD Reserviert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3

__VARIANT_NAME_2.__VARIANT_NAME_3.bool

Typ: _VARIANT_BOOL Ein boolescher 16-Bit-Wert. Ein Wert von 0xFFFF (alle Bits 1) gibt true an; Ein Wert von 0 (alle Bits 0) gibt false an. Andere Werte sind nicht gültig.

__VARIANT_NAME_2.__VARIANT_NAME_3.pbool

Typ: _VARIANT_BOOL* Ein Verweis auf einen booleschen 16-Bit-Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.llVal

Typ: LONGLONG Ein ganzzahliger Wert von 8 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal

Typ: LONG Ein ganzzahliger Wert mit 4 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal

Typ: BYTE Ein vorzeichenloses 1-Byte-Zeichen.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal

Typ: SHORT Ein ganzzahliger Wert von 2 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal

Typ: FLOAT Ein realer Wert von 4 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal

Typ: DOUBLE Ein realer Wert von 8 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal

Typ: VARIANT_BOOL Ein boolescher 16-Bit-Wert. Ein Wert von 0xFFFF (alle Bits 1) gibt true an; Ein Wert von 0 (alle Bits 0) gibt false an. Andere Werte sind nicht gültig.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_BOOL

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.scode

Typ: SCODE Ein SCODE-Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cyVal

Typ: CY Ein Währungswert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.date

Typ: DATE Ein Datums- und Uhrzeitwert. Datumsangaben werden als Zahlen mit doppelter Genauigkeit dargestellt, wobei Mitternacht, der 1. Januar 1900 2,0, der 2. Januar 1900 3,0 usw. ist.

Das Datum kann mithilfe von VariantTimeToDosDateTime in und aus einer MS-DOS-Darstellung konvertiert werden.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal

Typ: BSTR Ein Zeichenfolgenwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.punkVal

Typ: IUnknown* Ein Zeiger auf ein Objekt, das die IUnknown-Schnittstelle implementiert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdispVal

Typ: IDispatch* Ein Zeiger auf ein Objekt wurde angegeben.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.parray

Typ: SAFEARRAY* Ein sicherer Arraydeskriptor, der die Dimensionen, die Größe und den Speicherort im Arbeitsspeicher des Arrays beschreibt.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbVal

Typ: BYTE* Ein Verweis auf ein vorzeichenloses 1-Byte-Zeichen.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.piVal

Typ: SHORT* Ein Verweis auf einen ganzzahligen Wert mit 2 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.plVal

Typ: LONG* Ein Verweis auf einen ganzzahligen Wert mit 4 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pllVal

Typ: LONGLONG* Ein Verweis auf einen ganzzahligen Wert mit 8 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pfltVal

Typ: FLOAT* Ein Verweis auf einen 4-Byte-Realwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdblVal

Typ: DOUBLE* Ein Verweis auf einen 8-Byte-Realwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pboolVal

Typ: VARIANT_BOOL* Ein Verweis auf einen booleschen 16-Bit-Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_PBOOL

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pscode

Typ: SCODE* Ein Verweis auf einen SCODE-Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcyVal

Typ: CY* Ein Verweis auf einen Währungswert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdate

Typ: DATE* Ein Verweis auf einen Datums- und Uhrzeitwert. Datumsangaben werden als Zahlen mit doppelter Genauigkeit dargestellt, wobei Mitternacht, der 1. Januar 1900 2,0, der 2. Januar 1900 3,0 usw. ist.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbstrVal

Typ: BSTR* Ein Verweis auf einen Zeichenfolgenwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppunkVal

Typ: IUnknown** Ein Verweis auf einen IUnknown-Schnittstellenzeiger .

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppdispVal

Typ: IDispatch** Ein Verweis auf einen Objektzeiger.

__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

Typ: PVOID Ein generischer Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cVal

Typ: CHAR Ein 1-Byte-Zeichenwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uiVal

Typ: USHORT Ein ganzzahliger Wert ohne Vorzeichen mit 2 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ulVal

Typ: ULONG Ein ganzzahliger Wert ohne Vorzeichen mit 4 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ullVal

Typ: ULONGLONG Ein ganzzahliger Wert ohne Vorzeichen mit 8 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.intVal

Typ: INT Ein ganzzahliger Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uintVal

Typ: UINT Ein ganzzahliger Wert ohne Vorzeichen.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdecVal

Typ: DECIMAL* Ein Dezimalwert, der als 96-Bit-Ganzzahlen (12 Byte) ohne Vorzeichen gespeichert wird, die um eine variable Leistung von 10 skaliert werden.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcVal

Typ: CHAR* Ein Verweis auf einen 1-Byte-Zeichenwert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puiVal

Typ: USHORT* Ein Verweis auf einen ganzzahligen Wert ohne Vorzeichen mit 2 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pulVal

Typ: ULONG* Ein Verweis auf einen ganzzahligen Wert ohne Vorzeichen mit 4 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pullVal

Typ: ULONGLONG* Ein Verweis auf einen ganzzahligen Wert ohne Vorzeichen mit 8 Byte.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pintVal

Typ: INT* Ein Verweis auf einen ganzzahligen Wert.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puintVal

Typ: UINT* Ein Verweis auf einen ganzzahligen Wert ohne Vorzeichen.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4

Typ: Struktur __tagBRECORD

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pvRecord

Typ: PVOID Ein Verweis auf einen Datenbankdatensatz.

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pRecInfo

Typ: IRecordInfo* Ein Verweis auf eine UDT.

__VARIANT_NAME_1.decVal

Typ: DECIMAL Ein Dezimalwert.

Requirements (Anforderungen)

   
Kopfzeile oaidl.h