共用方式為


UnRegisterForPrintAsyncNotifications 函式 (prnasnot.h)

可讓已註冊的應用程式從列印後台處理程式裝載的列印元件接收通知,以取消註冊。

語法

HRESULT UnRegisterForPrintAsyncNotifications(
  [in] HANDLE unnamedParam1
);

參數

[in] unnamedParam1

要取消註冊的註冊句柄。

傳回值

HRESULT 嚴重性 意義
S_OK SUCCESS 語言函式已順利完成。
ALREADY_UNREGISTERED SUCCESS

ERROR

註冊處理程式已經取消註冊。 如果這個 HRESULT 具有 ERROR 嚴重性,呼叫函式應該處理錯誤狀況。
NOT_REGISTERED SUCCESS 註冊處理程式未註冊。
 

傳回值為 COM 錯誤碼。 因為此函式可能會順利完成作業,但傳回S_OK以外的 HRESULT ,您應該使用 SUCCEEDED 或 FAILED 宏來判斷呼叫成功。 若要取得函式傳回的特定 HRESULT ,請使用 HRESULT_CODE 宏。

下列程式代碼範例示範如何使用這些宏來評估傳回值。

if (SUCCEEDED(hr)) {
  // Call succeeded, check HRESULT value returned
  switch (HRESULT_CODE(hr)){
    case S_OK:
      // Some action 
      break;
    case NOT_REGISTERED:
      // Some action 
      break;
    case ALREADY_UNREGISTERED:
      // Some action 
      break;
    default:
      // Default action 
      break;
  }
} else {
  // Call failed, check HRESULT value returned
  switch (HRESULT_CODE(hr)){
    // This can be error and a successful return
    case ALREADY_UNREGISTERED:
      // Some action 
      break;
    default:
      // Default action 
      break;
  }
}

如需 COM 錯誤碼的詳細資訊,請參閱 錯誤處理

如需其他可能的傳回值,請參閱 PrintAsyncNotifyError

備註

注意 這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於運行時間因素,例如網路狀態、列印伺服器組態和印表機驅動程序實作—撰寫應用程式時難以預測的因素。 從管理與使用者介面互動的線程呼叫此函式,可能會讓應用程式看起來沒有回應。
 
RegisterForPrintAsyncNotifications 的 呼叫必須傳回 hRegistrationHandler

如果通道是雙向的, 對 UnRegisterForPrintAsyncNotifications 的 呼叫只會防止通知在該點之後建立的通道。 若要結束來自現有通道的通知,接聽應用程式必須使用 IPrintAsyncNotifyChannel::CloseChannel 關閉通道。

呼叫 UnRegisterForPrintAsyncNotifications 將會遞減傳遞給 RegisterForPrintAsyncNotificationspCallback 對象的參考計數。

此函式成功之後, hRegistrationHandler 無效,且不得再次使用。

規格需求

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

另請參閱

列印多工緩衝處理器 API 函式

列印