Share via


CoGetCancelObject 関数 (combaseapi.h)

同じまたは別のクライアント スレッドで保留中の送信 COM メソッド呼び出しに対応する cancel オブジェクトの呼び出し制御インターフェイス (通常 は ICancelMethodCalls) へのポインターを取得します。

構文

HRESULT CoGetCancelObject(
  [in]  DWORD  dwThreadId,
  [in]  REFIID iid,
  [out] void   **ppUnk
);

パラメーター

[in] dwThreadId

保留中の COM 呼び出しを取り消すスレッドの識別子。 このパラメーターが 0 の場合、呼び出しは現在のスレッド上にあります。

[in] iid

呼び出しを取り消す cancel オブジェクト上のインターフェイスのグローバル一意識別子。 通常、この引数はIID_ICancelMethodCalls。

[out] ppUnk

riid で指定されたインターフェイスへのポインターのアドレスを受け取ります。

戻り値

この関数は、E_FAIL、E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTEDの標準戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
呼び出し制御オブジェクトが正常に取得されました。
E_NOINTERFACE
呼び出しを実行しているオブジェクトは、 riid で指定されたインターフェイスをサポートしていません。

注釈

入れ子になった呼び出しを介して同じスレッドで 2 つ以上の呼び出しが保留中の場合、スレッド ID で取り消される呼び出しを識別できない可能性があります。 この場合、 CoGetCancelObject は、スレッドで保留中でキャンセル オブジェクトを登録した最も内側の呼び出しに対応するキャンセル インターフェイスを返します。

この関数では、非同期呼び出しのキャンセル オブジェクトは見つかりません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー combaseapi.h (Objbase.h を含む)
Library Ole32.lib
[DLL] Ole32.dll