This function retrieves the upper bound for any dimension of a safearray.
HRESULT SafeArrayGetUBound(SAFEARRAY FAR* psa,unsigned intnDim,long FAR* plUbound );
Parameters
- psa
 [in] Pointer to an array descriptor created by SafeArrayCreate.
- nDim
 [in] Specifies the array dimension to get the upper bound for.
- plUbound
 [out] Pointer to the location to return the upper bound.
Return Values
Returns the HRESULT values shown in the following table.
| Value | Description | 
|---|---|
| S_OK | Success. | 
| DISP_E_BADINDEX | The specified index is out of bounds. | 
| E_INVALIDARG | An argument is invalid. | 
Remarks
Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.
Example
HRESULT
CEnumPoint::Create(SAFEARRAY FAR* psa, CEnumPoint FAR* FAR* ppenum)
{
  long lBound;
  HRESULT hresult;
  CEnumPoint FAR* penum;
  // Verify that the SafeArray is the proper shape.
  HRESULT = SafeArrayGetUBound(psa, 1, &lBound);
  if(FAILED(hresult))
    goto LError0;
  // Code omitted here for brevity.
LError0:;
  penum->Release();
  return hresult;
}
Requirements
OS Versions: Windows CE 2.0 and later.
Header: Oleauto.h.
Link Library: Oleaut32.lib.
See Also
Automation Functions | SafeArrayCreate
Send Feedback on this topic to the authors