Справочник по технологии COM Страница 93. SafeArrayAllocData
|
Страница 93 из 111
SafeArrayAllocData Выделяет память для безопасного массива, используя дескриптор, созданный с помощью SafeArrayAllocDescriptor. HRESULT SafeArrayAllocData ( SAFEARRAY FAR*psa );
Параметр: psa Указатель на дескриптор безопасного массива, созданный с помощью SafeArrayAllocDescriptor. Коды возврата: Из возвращенного HRESULT получают один из следующих кодов возврата: Код возврата | Значение | S_OK | Успех. | E_INVALIDARG | Параметр psa не является правильным дескриптором безопасного массива. | E_UNEXPECTED | Массив нельзя заблокировать. | Пример: Из приведенного ниже примера видно, как создается безопасный массив с помощью SafeArrayAllocDescriptor и SafeArrayAllocData. SAFEARRAY FAR* FAR*ppsa; unsigned int ndim = 2; HRESULT hresult = SafeArrayAllocDescriptor(ndim, ppsa); if( FAILED(hresult)) return ERR_OutOfMemory; (*ppsa)->rgsabound[ 0 ].lLbound = 0; (*ppsa)->rgsabound[ 0 ].cElements = 5; (*ppsa)->rgsabound[ 1 ].lLbound = 1; (*ppsa)->rgsabound[ 1 ].cElements = 4; hresult = SafeArrayAllocData(*ppsa); if( FAILED(hresult)) { SafeArrayDestroyDescriptor(*ppsa) return ERR_OutOfMemory; } |