interface_cast(C++ RTL 関数)

提供: Appmethod Topics
移動先: 案内検索

新しい型キャスト への移動


interface_cast は、System ユニットで定義されたテンプレート関数であり、インターフェイスを問い合わせるために使用することができます。Object Pascal の as 演算子と似ています(interface_cast は組み込み演算子ではなく RTL 関数である点が異なります)。

COM オブジェクトの存続期間を正しく管理するには、COM 形式のインターフェイスには interface_cast を使用する必要があります。COM オブジェクトには参照カウンタが関連付けられていて、それを使ってそのオブジェクトに対する呼び出しを実行するインターフェイス インスタンスの数が管理されます。interface_cast を使って新しいインターフェイス インスタンスを作成すると、参照カウンタが正しくインクリメントされます(_AddRef が呼び出されます)。

interface_cast の結果は、使用前にテストする必要があります。null であれば、キャストは失敗しています(これは dynamic_cast の場合と似ています)。

関連項目