IPrintAsyncNotifyCallback::OnEventNotify 方法 (prnasnot.h)
警示接聽程式,通知可在指定的通道上使用。 列印系統會呼叫這個方法。
語法
HRESULT OnEventNotify(
[in] IPrintAsyncNotifyChannel *pChannel,
[in] IPrintAsyncNotifyDataObject *pData
);
參數
[in] pChannel
傳送者和接聽程式所使用的通道指標。
[in] pData
物件的指標,其中包含通知數據及其大小和類型。
傳回值
HRESULT | 嚴重性 | 意義 |
---|---|---|
S_OK | SUCCESS | 語言函式已順利完成。 |
INTERNAL_NOTIFICATION_QUEUE_IS_FULL | ERROR | 列印後台處理程式無法保存任何其他已排入佇列的通知。 根據預設,佇列的大小上限為 10 個通知。 傳回此錯誤時,接聽應用程式不會儘快處理通知。 此通知應重新傳送或捨棄。 |
傳回值為 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 INTERNAL_NOTIFICATION_QUEUE_IS_FULL:
// Some action
break;
default:
// Default action
break;
}
} else {
// Call succeeded
}
備註
若要傳遞通知,列印後台處理程式會在註冊通知時呼叫接聽應用程式所提供的 IPrintAsyncNotifyCallback 物件的 OnEventNotify 方法。 對於單向通知, pChannel 為 NULL。 對於雙向通道, pChannel 會指向接聽應用程式用來傳送通知的 IPrintAsyncNotifyChannel 。 接聽程式會呼叫 IPrintAsyncNotifyChannel 的 SendNotification 方法來執行此動作。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | prnasnot.h |
Dll | Prnasnot.dll |