SafeArrayCreate function

Creates a new array descriptor, allocates and initializes the data for the array, and returns a pointer to the new array descriptor.

Syntax


SAFEARRAY* SafeArrayCreate(
  _In_ VARTYPE        vt,
  _In_ UINT           cDims,
  _In_ SAFEARRAYBOUND *rgsabound
);

Parameters

vt [in]

The base type of the array (the VARTYPE of each element of the array). The VARTYPE is restricted to a subset of the variant types. Neither the VT_ARRAY nor the VT_BYREF flag can be set. VT_EMPTY and VT_NULL are not valid base types for the array. All other types are legal.

cDims [in]

The number of dimensions in the array. The number cannot be changed after the array is created.

rgsabound [in]

A vector of bounds (one for each dimension) to allocate for the array.

Return value

A safe array descriptor, or null if the array could not be created.

Examples

The following example demonstrates calling the SafeArrayCreate function.


SAFEARRAY * psa;
   SAFEARRAYBOUND rgsabound[1];

   rgsabound[0].lLbound = 0;
   rgsabound[0].cElements = 5;
   psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
   if(psa == NULL)
      return E_OUTOFMEMORY;
   // Use the array 
   return NOERROR;

Requirements

Header

OleAuto.h

Library

OleAut32.lib

DLL

OleAut32.dll

 

 

Show: