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 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour