System.VarUtils.SafeArrayLock
Delphi
function SafeArrayLock; external oleaut name 'SafeArrayLock';
C++
extern "C" HRESULT __stdcall SafeArrayLock(System::PVarArray VarArray);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | external public | System.VarUtils.pas System.VarUtils.hpp |
System.VarUtils | System.VarUtils |
説明
安全配列をロックします。
SafeArrayLock は、VarArray パラメータで与えられた安全配列をロックします。VarArray は安全配列へのポインタです。
SafeArrayLock の戻り値になり得るものと、その意味を以下の表に一覧します。
値 | 意味 |
---|---|
VAR_OK |
オペレーションが正常に終了しました。 |
VAR_INVALIDARG |
与えられた引数が nil です。 |
VAR_ARRAYISLOCKED |
VarArray で与えられた配列がロックされています。 |
ロックされている間は、安全配列のサイズを変更できず、SafeArrayRedim の呼び出しはすべて失敗します。安全配列はいったんロックされると、SafeArrayUnlock を使って後でロック解除する必要があります。
ロックに成功した場合、VarArray は、左端の次元が最初に増える要素配列を指しています。つまり、返される配列ポインタの次元は安全配列の次元とは逆になります。
ヒント: SafeArrayLock で安全配列の上限/下限と次元が正しいことがいったん確認されたら、SafeArrayLock を使用して配列データに直接アクセスすることができ、その結果、パフォーマンスが向上します。