次の方法で共有


IContextCallback::ContextCallback メソッド (ctxtcall.h)

オブジェクト コンテキストを入力し、指定した関数を実行して を返します。

構文

HRESULT ContextCallback(
  [in] PFNCONTEXTCALL pfnCallback,
  [in] ComCallData    *pParam,
  [in] REFIID         riid,
  [in] int            iMethod,
  [in] IUnknown       *pUnk
);

パラメーター

[in] pfnCallback

オブジェクト コンテキスト内で呼び出される関数。

[in] pParam

コンテキストで呼び出されたときに関数に渡されるデータ。

[in] riid

シミュレートされている呼び出しの IID。 詳細については、「解説」を参照してください。

[in] iMethod

シミュレートされる呼び出しのメソッド番号。 詳細については、「解説」を参照してください。

[in] pUnk

このパラメーターは予約済みであり、 NULL である必要があります。

戻り値

このメソッドは、E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAILの標準戻り値を返すことができます。 これらのエラーが発生しない場合、この関数の戻り値は pfnCallback 関数によって返される HRESULT 値です。

解説

このメソッドは、コンテキスト内のオブジェクトに対するメソッド呼び出しをシミュレートします。 これは、アプリケーションの再入の期待を尊重する、クリーンアップ/遅延マーシャリングなどの低レベルの操作を対象としています。

インフラストラクチャ情報を提供するには、インターフェイスとメソッド番号を指定する必要があります。 パラメーター riid をIID_IUnknownし、メソッド番号を 3 未満にすることはできません。

riid が IID_IEnterActivityWithNoLock に設定されている場合、関数はアクティビティ ロックなしで実行されます。

riid が IID_ICallbackWithNoReentrancyToApplicationSTA に設定されている場合、関数は ASTA を任意に再入力しません。 ほとんどのアプリでは、汎用用に riid をこの値に設定する必要があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー ctxtcall.h

関連項目

IContextCallback