VARIANT 構造体 (oaidl.h)

VARIANTARG は DISPPARAMS 内で渡される引数と、参照渡しできないバリアント データを指定する VARIANT を記述します。

バリアントがVT_VARIANTを使用して別のバリアントを参照する場合 |vartype VT_BYREF、参照されるバリアントを VT_VARIANT 型にすることはできません。 |VT_BYREF。 VARIANTARG ができない場合でも、VARIANT を値渡しできます。

構文

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_BOOL 16 ビットのブール値。 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

種類: LONGLONG 8 バイトの整数値。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal

型: LONG 4 バイトの整数値。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal

型: BYTE 符号なし 1 バイト文字。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal

種類: SHORT 2 バイトの整数値。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal

型: FLOAT 4 バイトの実数値。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal

型: DOUBLE 8 バイトの実数値。

__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal

種類: VARIANT_BOOL 16 ビットのブール値。 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

種類: SCODE SCODE 値。

__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 日の午前 0 時は 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 日の午前 0 時は 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

型: CHAR 1 バイトの文字値。

__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* 10 進数値。10 の可変累乗でスケーリングされた 96 ビット (12 バイト) 符号なし整数として格納されます。

__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 10 進数の値。

必要条件

   
Header oaidl.h