Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
VARIANTARG описывает аргументы, передаваемые в DISPPARAMS, и VARIANT , чтобы указать вариантные данные, которые не могут передаваться по ссылке.
Если вариант ссылается на другой вариант с помощью VT_VARIANT | VT_BYREF vartype, упоминаемый вариант также не может быть типом VT_VARIANT | VT_BYREF. VARIANTs можно передавать по значению, даже если VARIANTARG не удается.
Синтаксис
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
Тип: __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
Значение даты и времени. Даты представлены как цифры двойной точности, где полуночи, 1 января 1900 г. — 2.0, 2 января 1900 г. — 3,0 и т. д.
Дату можно преобразовать в представление MS-DOS и из MS-DOS с помощью VariantTimeToDosDateTime.
__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.bstrVal
Тип: BSTR
Значение типа string.
__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*
Ссылка на значение даты и времени. Даты представлены как цифры двойной точности, где полуночи, 1 января 1900 г. — 2.0, 2 января 1900 г. — 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*
Десятичное значение, которое хранится как 96-разрядное (12-байтовое) целое число без знака, масштабируемое переменной мощностью 10.
__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*
Ссылка на определяемый пользователем тип.
__VARIANT_NAME_1.decVal
Тип: DECIMAL
Десятичное значение.
Требования
| Требование | Ценность |
|---|---|
| Header | oaidl.h |