次の方法で共有


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

印刷