Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
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 psaparameter 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 SafeArrayAllocDescriptorand SafeArrayAllocDatafunctions.
Copy Code | |
---|---|
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 |