IPrintAsyncNotifyCallback::ChannelClosed 方法 (prnasnot.h)
建議通道的一個成員通知另一個成員通道正在關閉。
語法
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 |