SafeArrayPutElement 関数 (oleauto.h)
配列内の指定した位置にデータ要素を格納します。
構文
HRESULT SafeArrayPutElement(
[in] SAFEARRAY *psa,
[in] LONG *rgIndices,
[in] void *pv
);
パラメーター
[in] psa
SafeArrayCreate によって作成された配列記述子。
[in] rgIndices
配列の各次元のインデックスのベクトル。 右端 (最下位) ディメンションは rgIndices[0] です。 左端のディメンションは に rgIndices[psa->cDims – 1]
格納されます。
[in] pv
配列に割り当てるデータ。 バリアント型VT_DISPATCH、VT_UNKNOWN、およびVT_BSTRはポインターであり、別のレベルの間接参照は必要ありません。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
指定したインデックスが無効です。 |
|
引数の 1 つが無効です。 |
|
要素にメモリを割り当てませんでした。 |
注釈
この関数は、要素の割り当て前と割り当て後に SafeArrayLock と SafeArrayUnlock を自動的に呼び出します。 データ要素が文字列、オブジェクト、またはバリアントの場合、関数はセーフ配列が破棄されたときに正しくコピーします。 既存の要素が文字列、オブジェクト、またはバリアントの場合は、正しくクリアされます。 データ要素がVT_DISPATCHまたはVT_UNKNOWNの場合、 AddRef が呼び出され、オブジェクトの参照カウントがインクリメントされます。
メモ 配列には複数のロックを設定できます。 配列が他の操作によってロックされている間、配列に要素を配置できます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oleauto.h |
Library | OleAut32.lib |
[DLL] | OleAut32.dll |