IPrintAsyncNotifyCallback::ChannelClosed メソッド (prnasnot.h)
通信チャネルの 1 人のメンバーに、チャネルが閉じられていることを他のメンバーに通知するように通知します。
構文
HRESULT ChannelClosed(
[in] IPrintAsyncNotifyChannel *pChannel,
[in] IPrintAsyncNotifyDataObject *pData
);
パラメーター
[in] pChannel
送信者とリスナーによって使用されるチャネルへのポインター。
[in] pData
通知データまたは応答を含む オブジェクトへのポインター。
戻り値
HRESULT | 重大度 | 説明 |
---|---|---|
S_OK | SUCCESS | この関数は正常に完了しました。 |
CHANNEL_ALREADY_CLOSED | ERROR | チャネルは既に閉じられています。 |
戻り値は COM エラー コードです。 この関数は操作を正常に完了しても、S_OK以外の HRESULT を返す可能性があるため、SUCCEEDED または FAILED マクロを使用して、呼び出しの成功を確認する必要があります。 関数によって返された特定の HRESULT を取得するには、HRESULT_CODE マクロを使用します。
その他の可能な戻り値については、「 PrintAsyncNotifyError 」を参照してください。
COM エラー コードの詳細については、「エラー処理」を参照してください。
次のコード例は、これらのマクロを使用して戻り値を評価する方法を示しています。
if (SUCCEEDED(hr)){
// Call was successful
}
if (FAILED(hr)) {
// Call failed
}
if (FAILED(hr)) {
// Call failed, check HRESULT value returned
switch (HRESULT_CODE(hr)){
case CHANNEL_ALREADY_CLOSED:
// Some action
break;
default:
// Default action
break;
}
} else {
// Call succeeded
}
注釈
印刷スプーラーによってホストされているコンポーネントがリッスンしているアプリケーションとの通信チャネルを閉じると、コンポーネントは IPrintAsyncNotifyCallback オブジェクトの ChannelClosed メソッドを呼び出す必要があります。このメソッドは、通知の登録時にリッスン アプリケーションが提供します。 プリント サーバーがクラッシュした場合、印刷スプーラーは、リッスンしているアプリケーションによって提供される IPrintAsyncNotifyCallback オブジェクトの OnEventNotify メソッドの呼び出しを試みます。 NOTIFICATION_RELEASEの種類の通知が送信されます。
リッスンしているアプリケーションが双方向通信チャネルを閉じる場合は、チャネルの作成時にコンポーネントによって提供される IPrintAsyncNotifyCallback オブジェクトの ChannelClosed メソッドを呼び出す必要があります。 リッスンしているアプリケーションがクラッシュした場合、印刷スプーラーは、印刷スプーラーによってホストされているコンポーネントによって提供される IPrintAsyncNotifyCallback オブジェクトの OnEventNotify メソッドを呼び出します。 NOTIFICATION_RELEASEの種類の通知が送信されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | prnasnot.h |
[DLL] | Prnasnot.dll |