Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
VARIANTARG describe los argumentos pasados dentro de DISPPARAMS y VARIANT para especificar datos variantes que no se pueden pasar por referencia.
Cuando una variante hace referencia a otra variante mediante el VT_VARIANT | VT_BYREF vartype, la variante a la que se hace referencia tampoco puede ser de tipo VT_VARIANT | VT_BYREF. Los VARIANT se pueden pasar por valor, incluso si VARIANTARG no puede.
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
Tipo: struct __tagVARIANT
__VARIANT_NAME_1.__VARIANT_NAME_2.vt
Tipo: VARTYPE
Tipo de datos de la unión.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved1
Tipo: WORD
Reservado.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved2
Tipo: WORD
Reservado.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved3
Tipo: WORD
Reservado.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3
__VARIANT_NAME_2.__VARIANT_NAME_3.bool
Tipo: _VARIANT_BOOL
Valor booleano de 16 bits. Un valor de 0xFFFF (todos los bits 1) indica true; Un valor de 0 (todos los bits 0) indica false. Ningún otro valor es válido.
__VARIANT_NAME_2.__VARIANT_NAME_3.pbool
Tipo: _VARIANT_BOOL*
Referencia a un valor booleano de 16 bits.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.llVal
Tipo: LONGLONG
Valor entero de 8 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal
Tipo: LONG
Valor entero de 4 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal
Tipo: BYTE
Carácter de 1 byte sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal
Tipo: SHORT
Valor entero de 2 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal
Tipo: FLOAT
Valor real de 4 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal
Tipo: DOUBLE
Valor real de 8 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal
Tipo: VARIANT_BOOL
Valor booleano de 16 bits. Un valor de 0xFFFF (todos los bits 1) indica true; Un valor de 0 (todos los bits 0) indica false. Ningún otro valor es válido.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_BOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.scode
Tipo: SCODE
Valor SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cyVal
Tipo: CY
Valor de moneda.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.date
Tipo: DATE
Un valor de fecha y hora. Las fechas se representan como números de precisión doble, donde medianoche, 1 de enero de 1900 es 2.0, 2 de enero de 1900 es 3.0, etc.
La fecha se puede convertir a y desde una representación de MS-DOS mediante VariantTimeToDosDateTime.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal
Tipo: BSTR
Un valor de cadena.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.punkVal
Tipo: IUnknown*
Puntero a un objeto que implementa la interfaz IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdispVal
Tipo: IDispatch*
Se especificó un puntero a un objeto.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.parray
Tipo: SAFEARRAY*
Descriptor de matriz seguro, que describe las dimensiones, el tamaño y la ubicación en memoria de la matriz.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbVal
Tipo: BYTE*
Referencia a un carácter de 1 byte sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.piVal
Tipo: SHORT*
Referencia a un valor entero de 2 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.plVal
Tipo: LONG*
Referencia a un valor entero de 4 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pllVal
Tipo: LONGLONG*
Referencia a un valor entero de 8 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pfltVal
Tipo: FLOAT*
Referencia a un valor real de 4 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdblVal
Tipo: DOUBLE*
Referencia a un valor real de 8 bytes.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pboolVal
Tipo: VARIANT_BOOL*
Referencia a un valor booleano de 16 bits.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_PBOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pscode
Tipo: SCODE*
Referencia a un valor SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcyVal
Tipo: CY*
Referencia a un valor de moneda.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdate
Tipo: DATE*
Referencia a un valor de fecha y hora. Las fechas se representan como números de precisión doble, donde medianoche, 1 de enero de 1900 es 2.0, 2 de enero de 1900 es 3.0, etc.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbstrVal
Tipo: BSTR*
Referencia a un valor de cadena.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppunkVal
Tipo: IUnknown**
Referencia a un puntero de interfaz IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppdispVal
Tipo: IDispatch**
Referencia a un puntero de objeto.
__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
Tipo: PVOID
Valor genérico.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cVal
Tipo: CHAR
Valor de carácter de 1 byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uiVal
Tipo: USHORT
Valor entero de 2 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ulVal
Tipo: ULONG
Valor entero de 4 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ullVal
Tipo: ULONGLONG
Valor entero de 8 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.intVal
Tipo: INT
Valor entero.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uintVal
Tipo: UINT
Valor entero sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdecVal
Tipo: DECIMAL*
Valor decimal, que se almacena como enteros de 96 bits (12 bytes) sin signo escalados por una potencia variable de 10.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcVal
Tipo: CHAR*
Referencia a un valor de carácter de 1 byte.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puiVal
Tipo: USHORT*
Referencia a un valor entero de 2 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pulVal
Tipo: ULONG*
Referencia a un valor entero de 4 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pullVal
Tipo: ULONGLONG*
Referencia a un valor entero de 8 bytes sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pintVal
Tipo: INT*
Referencia a un valor entero.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puintVal
Tipo: UINT*
Referencia a un valor entero sin signo.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4
Tipo: struct __tagBRECORD
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pvRecord
Tipo: PVOID
Referencia a un registro de base de datos.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pRecInfo
Tipo: IRecordInfo*
Referencia a un UDT.
__VARIANT_NAME_1.decVal
Tipo: DECIMAL
Valor decimal.
Requisitos
| Requirement | Importancia |
|---|---|
| Header | oaidl.h |