VariantCopyInd 関数 (oleauto.h)
変換先バリアントを解放し、ソースバリアントのコピーを作成し、ソースがVT_BYREFに指定されている場合に必要な間接参照を実行します。
構文
HRESULT VariantCopyInd(
[out] VARIANT *pvarDest,
[in] const VARIANTARG *pvargSrc
);
パラメーター
[out] pvarDest
変換先のバリアント。
[in] pvargSrc
ソースバリアント。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
バリアントには、ロックされている配列が含まれています。 |
|
バリアント型が有効なバリアント型ではありません。 |
|
引数の 1 つが無効です。 |
|
操作を完了するためのメモリ不足。 |
注釈
この関数は、バリアントのコピーが必要な場合や、 IDispatch::Invoke の実装で引数を処理する場合など、バリアントがVT_BYREFされていないことを保証するために役立ちます。
たとえば、ソースが (VT_BYREF |VT_I2)、宛先は BYVAL になります |VT_I2。 同じことが、VT_VARIANTを含むすべての法的VT_BYREFの組み合わせにも当てはまります。
pvargSrc が の場合 (VT_BYREF |VT_VARIANT)、含まれるバリアントがVT_BYREFされ、含まれるバリアントも逆参照されます。
この関数は、pvarDest の既存のコンテンツを解放します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oleauto.h |
Library | OleAut32.lib |
[DLL] | OleAut32.dll |