共用方式為


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 方法。 對於單向通知, pChannelNULL。 對於雙向通道, pChannel 會指向接聽應用程式用來傳送通知的 IPrintAsyncNotifyChannel 。 接聽程式會呼叫 IPrintAsyncNotifyChannelSendNotification 方法來執行此動作。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 prnasnot.h
Dll Prnasnot.dll

另請參閱

異步列印通知介面

錯誤處理

IPrintAsyncNotifyCallback

列印