SafeArrayAllocData
A version of this page is also available for
4/8/2010
This function allocates memory for a safearray, based on a descriptor created with SafeArrayAllocDescriptor.
Syntax
HRESULT SafeArrayAllocData(
SAFEARRAY FAR* psa
);
Parameters
- psa
[in] Pointer to an array descriptor created by SafeArrayAllocDescriptor.
Return Value
Returns the HRESULT values shown in the following table.
Value | Description |
---|---|
S_OK |
Success. |
E_INVALIDARG |
The psa parameter was not a valid safearray descriptor. |
E_UNEXPECTED |
The array could not be locked. |
Remarks
Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.
Example
The following code example creates a safearray using the SafeArrayAllocDescriptor and SafeArrayAllocData functions.
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;
}
Requirements
Header | oleauto.h |
Library | oleaut32.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Automation Functions
SafeArrayDestroyData
SafeArrayDestroyDescriptor