Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This function allocates memory for a safearray, based on a descriptor created with SafeArrayAllocDescriptor.
HRESULT SafeArrayAllocData(SAFEARRAY FAR* psa );
Parameters
- psa
[in] Pointer to an array descriptor created by SafeArrayAllocDescriptor.
Return Values
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
OS Versions: Windows CE 2.0 and later.
Header: Oleauto.h.
Link Library: Oleaut32.lib.
See Also
Automation Functions | SafeArrayDestroyData | SafeArrayDestroyDescriptor
Send Feedback on this topic to the authors