C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 98 - SafeArrayCreate / COM-справка / Приложение

Шаг 98 - SafeArrayCreate

Создает новый дескриптор массива, размещает и инициализирует данные массива и возвращает указатель на новый дескриптор.

SAFEARRAY * SafeArrayCreate
( 
	VARTYPE vt, 
	unsigned int cDims, 
	SAFEARRAYBOUND FAR* rgsabound
);

Параметры:
vt
Базовый тип массива (VARTYPE всех элементов массива). VARTYPE ограничен набором вариантных типов. Нельзя устанавливать флаги VT_ARRAY и VT_BYREF. VT_EMPTY и VT_NULL не являются допустимыми базовыми типами массива, все остальные типы допускаются.
cDims
Число измерений массива. Это число нельзя изменить после создания массива.
rgsabound
Указатель на вектор, элементы которого описывают границы измерений массива (один элемент на каждое измерение).

Возвращаемое значение:
Указатель на дескриптор массива или NULL, если нельзя создать массив.

HRESULT PASCAL _export CPoly::EnuraPoints(IEnumVARIANT FAR* FAR* ppenum) 
{
	unsigned int i;
	HRESULT hresult;
	VARIANT var;
	SAFEARRAY FAR* psa;
	CEnumPoint FAR* penum;
	POINTLINK FAR* ppointlink;
	SAFEARRAYBOUND rgsabound[1];
	rgsabound[0].lLbound = 0;
	rgsabound[0].cElements = m_cPoints;
	psa = SafeArrayCreate(VT_VARIANT,  1,   rgsabound);
	if(psa == NULL)
	{
		hresult = ReportResult(0,  E_OUTOFMEMORY,  0,  0); 
		goto LErrorO
	}

	// Код опущен для экономии места

LErrorO:
	return hresult;
}

| |
Автор Каев Артем.
[AD]