Share via


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 を呼び出すと、RegisterForPrintAsyncNotifications に渡される pCallback オブジェクトの参照カウントがデクリメントされます。

この関数が成功した後、 hRegistrationHandler は無効であり、再度使用することはできません。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー prnasnot.h
Library WinSpool.lib
[DLL] Spoolss.dll

こちらもご覧ください

印刷スプーラー API 関数

印刷