次の方法で共有


METHOD_PROLOGUE

更新 : 2007 年 11 月

エクスポート済みインターフェイスのメソッドを呼び出すときに、適切なグローバル状態を維持します。

METHOD_PROLOGUE(theClass, localClass )

パラメータ

  • theClass
    インターフェイス マップが実装されているクラスの名前を指定します。

  • localClass
    インターフェイス マップを実装するローカル クラスの名前を指定します。

解説

通常、CCmdTarget 派生オブジェクトで実装したインターフェイスのメンバ関数では、このマクロを使用して、pThis ポインタを自動的に初期化しています。次に例を示します。

class CMySink : public CCmdTarget
{
public:
   CMySink();
   ~CMySink() {};

protected:
   DECLARE_INTERFACE_MAP()

   // The following block declares an inner class called 'XSinky'
   BEGIN_INTERFACE_PART(Sinky, ISampleSink)
      STDMETHOD(SinkFunc)();
   END_INTERFACE_PART(Sinky)
};
STDMETHODIMP_(ULONG) CMySink::XSinky::AddRef()
{
   METHOD_PROLOGUE(CMySink, Sinky);
   return pThis->InternalAddRef();
}

必要条件

ヘッダー : afxwin.h

参照

概念

MFC マクロとグローバル

テクニカル ノート 38: MFC/OLE IUnknown の実装

新しいドキュメント、ウィンドウ、ビューの作成