Structure VARIANT (oaidl.h)
VARIANTARG décrit les arguments passés dans DISPPARAMS et VARIANT pour spécifier les données variant qui ne peuvent pas être transmises par référence.
Lorsqu’une variante fait référence à une autre variante à l’aide de la VT_VARIANT | VT_BYREF vartype, la variante à laquelle il est fait référence ne peut pas également être de type VT_VARIANT | VT_BYREF. Les VARIANT peuvent être passés par valeur, même si VARIANTARGs ne peut pas.
Syntaxe
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;
Membres
__VARIANT_NAME_1
__VARIANT_NAME_1.__VARIANT_NAME_2
Type : struct __tagVARIANT
__VARIANT_NAME_1.__VARIANT_NAME_2.vt
Type : VARTYPE Type de données dans l’union.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved1
Type : WORD Réservés au.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved2
Type : WORD Réservés au.
__VARIANT_NAME_1.__VARIANT_NAME_2.wReserved3
Type : WORD Réservés au.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3
__VARIANT_NAME_2.__VARIANT_NAME_3.bool
Type : _VARIANT_BOOL Valeur booléenne 16 bits. Une valeur de 0xFFFF (tous les bits 1) indique true ; la valeur 0 (tous les bits 0) indique false. Aucune autre valeur n’est valide.
__VARIANT_NAME_2.__VARIANT_NAME_3.pbool
Type : _VARIANT_BOOL* Référence à une valeur booléenne 16 bits.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.llVal
Type : LONGLONG Valeur entière de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.lVal
Type : LONG Valeur entière de 4 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bVal
Type : BYTE Caractère non signé de 1 octet.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.iVal
Type : SHORT Valeur entière de 2 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.fltVal
Type : FLOAT Valeur réelle de 4 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.dblVal
Type : DOUBLE Valeur réelle de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.boolVal
Type : VARIANT_BOOL Valeur booléenne 16 bits. Une valeur de 0xFFFF (tous les bits 1) indique true ; la valeur 0 (tous les bits 0) indique false. Aucune autre valeur n’est valide.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_BOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.scode
Type : SCODE Valeur SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cyVal
Type : CY Valeur monétaire.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.date
Type : DATE Valeur de date et d’heure. Les dates sont représentées sous forme de nombres à double précision, où minuit, le 1er janvier 1900 est 2.0, le 2 janvier 1900 est 3.0, et ainsi de suite.
La date peut être convertie vers et à partir d’une représentation MS-DOS à l’aide de VariantTimeToDosDateTime.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal
Type : BSTR Valeur de chaîne.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.punkVal
Type : IUnknown* Pointeur vers un objet qui implémente l’interface IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdispVal
Type : IDispatch* Un pointeur vers un objet a été spécifié.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.parray
Type : SAFEARRAY* Descripteur de tableau sécurisé, qui décrit les dimensions, la taille et l’emplacement en mémoire du tableau.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbVal
Type : BYTE* Référence à un caractère de 1 octet non signé.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.piVal
Type : SHORT* Référence à une valeur entière de 2 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.plVal
Type : LONG* Référence à une valeur entière de 4 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pllVal
Type : LONGLONG* Référence à une valeur entière de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pfltVal
Type : FLOAT* Référence à une valeur réelle de 4 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdblVal
Type : DOUBLE* Référence à une valeur réelle de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pboolVal
Type : VARIANT_BOOL* Référence à une valeur booléenne 16 bits.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__OBSOLETE__VARIANT_PBOOL
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pscode
Type : SCODE* Référence à une valeur SCODE.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcyVal
Type : CY* Référence à une valeur monétaire.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdate
Type : DATE* Référence à une valeur de date et d’heure. Les dates sont représentées sous forme de nombres à double précision, où minuit, le 1er janvier 1900 est 2.0, le 2 janvier 1900 est 3.0, et ainsi de suite.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pbstrVal
Type : BSTR* Référence à une valeur de chaîne.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppunkVal
Type : IUnknown** Référence à un pointeur d’interface IUnknown .
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ppdispVal
Type : IDispatch** Référence à un pointeur d’objet.
__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
Type : PVOID Valeur générique.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.cVal
Type : CHAR Valeur de caractère de 1 octet.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uiVal
Type : USHORT Valeur entière non signée de 2 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ulVal
Type : ULONG Valeur entière non signée de 4 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.ullVal
Type : ULONGLONG Valeur entière non signée de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.intVal
Type : INT Valeur entière.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.uintVal
Type : UINT Valeur entière non signée.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pdecVal
Type : DECIMAL* Valeur décimale, qui est stockée sous forme d’entiers non signés 96 bits (12 octets) mis à l’échelle par une puissance variable de 10.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pcVal
Type : CHAR* Référence à une valeur de caractère de 1 octet.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puiVal
Type : USHORT* Référence à une valeur entière non signée de 2 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pulVal
Type : ULONG* Référence à une valeur entière de 4 octets non signée.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pullVal
Type : ULONGLONG* Référence à une valeur entière non signée de 8 octets.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.pintVal
Type : INT* Référence à une valeur entière.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.puintVal
Type : UINT* Référence à une valeur entière non signée.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4
Type : struct __tagBRECORD
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pvRecord
Type : PVOID Référence à un enregistrement de base de données.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.__VARIANT_NAME_4.pRecInfo
Type : IRecordInfo* Référence à un UDT.
__VARIANT_NAME_1.decVal
Type : DECIMAL Valeur décimale.
Configuration requise
En-tête | oaidl.h |