SafeArrayAllocDescriptor 関数 (oleauto.h)
安全な配列記述子のメモリを割り当てます。
構文
HRESULT SafeArrayAllocDescriptor(
[in] UINT cDims,
[out] SAFEARRAY **ppsaOut
);
パラメーター
[in] cDims
配列の次元の数。
[out] ppsaOut
安全な配列記述子。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
引数 psa が無効です。 |
|
配列をロックできませんでした。 |
注釈
この関数を使用すると、 SafeArrayCreate によって提供されるデータ型以外のデータ型を持つ要素を含む安全な配列を作成できます。 SafeArrayAllocDescriptor を使用して配列記述子を作成した後、配列記述子に要素サイズを設定し、SafeArrayAllocData を呼び出して配列要素のメモリを割り当てます。
例
次の例では、 SafeArrayAllocDescriptor 関数と SafeArrayAllocData 関数を使用して安全な配列を作成します。
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 |
Library | OleAut32.lib |
[DLL] | OleAut32.dll |