다음을 통해 공유


SafeArrayAllocDescriptor 함수(oleauto.h)

안전한 배열 설명자에 대한 메모리를 할당합니다.

구문

HRESULT SafeArrayAllocDescriptor(
  [in]  UINT      cDims,
  [out] SAFEARRAY **ppsaOut
);

매개 변수

[in] cDims

배열의 차수입니다.

[out] ppsaOut

안전 배열 설명자입니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_INVALIDARG
psa 인수가 잘못되었습니다.
E_UNEXPECTED
배열을 잠글 수 없습니다.

설명

이 함수를 사용하면 SafeArrayCreate에서 제공하는 데이터 형식이 아닌 데이터 형식의 요소가 포함된 안전한 배열을 만들 수 있습니다. SafeArrayAllocDescriptor를 사용하여 배열 설명자를 만든 후 배열 설명자에서 요소 크기를 설정하고, SafeArrayAllocData를 호출하여 배열 요소에 대한 메모리를 할당합니다.

예제

다음 예제에서는 SafeArrayAllocDescriptorSafeArrayAllocData 함수를 사용하여 안전한 배열을 만듭니다.

SAFEARRAY *psa;
unsigned int ndim =  2;
HRESULT hresult = SafeArrayAllocDescriptor( ndim, &psa );
if( FAILED( hresult ) )
   return ERR_OutOfMemory;
(psa)->rgsabound[ 0 ].lLbound = 0;
(psa)->rgsabound[ 0 ].cElements = 5;
(psa)->rgsabound[ 1 ].lLbound = 1;
(psa)->rgsabound[ 1 ].cElements = 4;
hresult = SafeArrayAllocData( psa );
if( FAILED( hresult ) ) {
   SafeArrayDestroyDescriptor( psa )
   return ERR_OutOfMemory;
}

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 oleauto.h
라이브러리 OleAut32.lib
DLL OleAut32.dll

추가 정보

SafeArrayAllocData

SafeArrayDestroyData

SafeArrayDestroyDescriptor