次の方法で共有


ReplyPrinterChangeNotification 関数 (winsplp.h)

印刷スプーラーの ReplyPrinterChangeNotification 関数を使用すると、印刷プロバイダーは、通知ハンドルに関連付けられている印刷キュー イベントのスプーラーのデータベースを更新し、印刷キュー イベントが発生したことをクライアントに通知できます。

構文

BOOL ReplyPrinterChangeNotification(
                  HANDLE hPrinter,
                  DWORD  fdwChangeFlags,
  [out, optional] PDWORD pdwResult,
  [in, optional]  PVOID  pPrinterNotifyInfo
);

パラメーター

hPrinter

呼び出し元が指定したハンドル。 このハンドルは、印刷プロバイダーの FindFirstPrinterChangeNotification 関数への hNotify 入力として以前に受信されている必要があります。

fdwChangeFlags

Microsoft Windows SDK ドキュメントの FindNextPrinterChangeNotification の説明に記載されている、1 つ以上の呼び出し元指定のPRINTER_CHANGE_プレフィックス付きフラグ。

[out, optional] pdwResult

省略可能。 NULL でない場合は、指定された情報を更新した結果を示すスプーラー指定のPRINTER_NOTIFY_INFOプレフィックス付きフラグを受け取ります。

[in, optional] pPrinterNotifyInfo

省略可能。 PRINTER_NOTIFY_INFO構造体の呼び出し元から指定されたアドレス (Windows SDKドキュメントで説明)。 新しい通知情報が追加されていない場合は NULL にすることができます

戻り値

操作が成功した場合、関数は TRUE を返します。 それ以外の場合、関数は FALSE を返します。 呼び出し元は 、GetLastError を呼び出すことによってエラー コードを取得できます。

注釈

ポーリングをサポートしていない印刷プロバイダー (FindFirstPrinterChangeNotification を参照) は、プロバイダーの FindFirstPrinterChangeNotification 関数によって受信されたPRINTER_CHANGE_プレフィックス付きフラグによって表されるイベントが発生したことをスプーラーに通知する必要があります。 イベントが発生すると、印刷プロバイダーは ReplyPrinterChangeNotification を 呼び出して、イベントのスプーラーに通知し、イベントに関連付けられている情報を提供できます。 スプーラーは、通知ハンドルごとにこのイベント情報を追跡し、アプリケーションが FindNextPrinterChangeNotification を呼び出したときにアプリケーションに情報を配信します (Windows SDKドキュメントで説明)。

印刷プロバイダーが ReplyPrinterChangeNotification を呼び出すときは、 fwdFlags でPRINTER_CHANGE_プレフィックス付きフラグを設定するか、 pPrinterNotifyInfo を使用してPRINTER_NOTIFY_INFO構造体を返すことによって発生したイベントを識別する必要があります。 (Windows SDK ドキュメントの FindNextPrinterChangeNotification の説明に記載されているフラグを使用します。Windows SDKドキュメントの FindFirstPrinterChangeNotification の説明に記載されているフラグは使用しないでください)。

ReplyPrinterChangeNotification を呼び出すと、スプーラーは印刷キュー イベントが発生したことをクライアント アプリケーションに通知します。 これは、プロバイダーが pPrinterNotifyInfoNULL を指定した場合でも発生します。 クライアントに通知を受け取ることなく、印刷キューの変更のスプーラーのレコードを更新するには、 PartialReplyPrinterChangeNotification を使用します。 PartialReplyPrinterChangeNotification を複数回呼び出してスプーラーのデータベースを更新し、ReplyPrinterChangeNotification を呼び出して変更が発生したことをクライアントに通知するのが一般的です。

詳細については、「 プリンター変更通知のサポート」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header winsplp.h (Winsplp.h を含む)
Library Spoolss.lib
[DLL] Spoolss.dll

こちらもご覧ください

FindFirstPrinterChangeNotification

PartialReplyPrinterChangeNotification