Win32 API 日本語リファレンス
ホームSystem.Com.CallObj › CALLFRAME_COPY

CALLFRAME_COPY

列挙型
基底型i4

メンバー 2

名前10進16進説明
CALLFRAME_COPY_NESTED10x1

クライアントは、コピーされた呼び出しフレームの有効期間が親フレームの有効期間に入れ子になるような方法でそのフレームを使用する責任を負い、これによりデータが共有可能になります。このフラグを使用すると、実際のパラメーターのデータを巧みに共有することで、非常に大きな最適化が可能になり、メモリの割り当てを回避できます。

ディープコピーが保証されるのは、ソースフレームから推移的に到達可能なインターフェイスポインターのみです。したがって、それらはコピー側ではソースフレームとは別のメモリに格納されます。それ以外のデータ型は、コピー操作が十分に高度であれば、コピーされたフレームでも実際にはソースとメモリを共有することがあります。

CALLFRAME_COPY_INDEPENDENT20x2コピーされた呼び出しフレームは、親フレームとは独立した有効期間を持ちます。

公式ドキュメント

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum CALLFRAME_COPY : int {
    CALLFRAME_COPY_NESTED = 1,
    CALLFRAME_COPY_INDEPENDENT = 2
} CALLFRAME_COPY;
public enum CALLFRAME_COPY : int
{
    CALLFRAME_COPY_NESTED = 1,
    CALLFRAME_COPY_INDEPENDENT = 2,
}
Public Enum CALLFRAME_COPY As Integer
    CALLFRAME_COPY_NESTED = 1
    CALLFRAME_COPY_INDEPENDENT = 2
End Enum
import enum

class CALLFRAME_COPY(enum.IntEnum):
    CALLFRAME_COPY_NESTED = 1
    CALLFRAME_COPY_INDEPENDENT = 2
// CALLFRAME_COPY
pub const CALLFRAME_COPY_NESTED: i32 = 1;
pub const CALLFRAME_COPY_INDEPENDENT: i32 = 2;
// CALLFRAME_COPY
const (
	CALLFRAME_COPY_NESTED int32 = 1
	CALLFRAME_COPY_INDEPENDENT int32 = 2
)
const
  CALLFRAME_COPY_NESTED = 1;
  CALLFRAME_COPY_INDEPENDENT = 2;
// CALLFRAME_COPY
pub const CALLFRAME_COPY_NESTED: i32 = 1;
pub const CALLFRAME_COPY_INDEPENDENT: i32 = 2;
const
  CALLFRAME_COPY_NESTED* = 1
  CALLFRAME_COPY_INDEPENDENT* = 2
enum CALLFRAME_COPY : int {
    CALLFRAME_COPY_NESTED = 1,
    CALLFRAME_COPY_INDEPENDENT = 2,
}
#define global CALLFRAME_COPY_NESTED      0x1
#define global CALLFRAME_COPY_INDEPENDENT 0x2