CoEnableCallCancellation 関数 (combaseapi.h)
呼び出し元スレッドでの同期呼び出しの取り消しを有効にします。
構文
HRESULT CoEnableCallCancellation(
[in, optional] LPVOID pReserved
);
パラメーター
[in, optional] pReserved
このパラメーターは予約済みであり、 NULL である必要があります。
戻り値
この関数は、S_OK、E_FAIL、E_INVALIDARG、E_OUTOFMEMORYの標準戻り値を返すことができます。
注釈
スレッドで呼び出しの取り消しが有効になっている場合、そのスレッドから同じコンピューター上のオブジェクトへの同期呼び出しをマーシャリングすると、パフォーマンスが大幅に低下する可能性があります。 既定では、cancel オブジェクトを使用できる場合でも、同期呼び出しを取り消すことはできません。 呼び出しの取り消しを有効にするには、最初に CoEnableCallCancellation を 呼び出す必要があります。
スレッドで呼び出しの取り消しを常に有効にしない限り、 CoEnableCallCancellation の呼び出しと CoDisableCallCancellation の呼び出しをペアにする必要があります。 呼び出しの取り消しは、 CoEnableCallCancellation が正常に呼び出されるたびに CoDisableCallCancellation が 1 回呼び出された場合にのみ無効になります。
呼び出しは、呼び出しが行われた時点のスレッドの状態に応じて取り消し可能になります。 その後、呼び出しの取り消しを有効または無効にしても、スレッドで保留中の呼び出しには影響しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | combaseapi.h (Objbase.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |