CALLFRAME_COPY 列挙 (callobj.h)

コピーした呼び出しフレーム のデータを親フレームのデータと共有できるかどうかを決定します。これは、親フレームに対する有効期間の依存関係を決定することによって行います。

構文

typedef enum __MIDL_ICallFrame_0003 {
  CALLFRAME_COPY_NESTED = 1,
  CALLFRAME_COPY_INDEPENDENT = 2
} CALLFRAME_COPY;

定数

 
CALLFRAME_COPY_NESTED
値: 1
クライアントは、コピーした呼び出しフレームを、親フレームの有効期間内に入れ子にしてデータを共有できるようにする方法で使用する必要があります。 このフラグを使用すると、非常に重要な最適化を行い、実際のパラメーター データを巧みに共有することでメモリ割り当てを回避できます。

ソース フレーム内で推移的に到達可能なインターフェイス ポインターのみがディープ コピーされると保証されるため、コピーではソース フレームに格納されるメモリとは別のメモリに格納されます。コピー操作が十分にインテリジェントな場合、コピーされたフレームで他のデータ型が実際にソースとメモリを共有している可能性があります。
CALLFRAME_COPY_INDEPENDENT
値: 2
コピーされた呼び出しフレームは、親から独立した有効期間を持ちます。

注釈

その結果、これらの CALLFRAME_COPY フラグのいずれかが ICallFrame::Copy に渡された場合、親フレームに存在するインターフェイス ポインターに影響を与えることなく、インターフェイス ポインターを変更できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header callobj.h

こちらもご覧ください

ICallFrame::Copy