Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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:
© 2017 Microsoft