FindNextPrinterChangeNotification |
Declare Function Api_FindNextPrinterChangeNotification& Lib "winspool.drv" Alias "FindNextPrinterChangeNotification" (ByVal hChange&, pdwChange&, ByVal pPrinterNotifyOptions$, ByVal ppPrinterNotifyInfo&) |
||||||||||||||||||||||||||||||||||||||||
Declare Function FindNextPrinterChangeNotification Lib "winspool.drv" Alias "FindNextPrinterChangeNotification" (ByVal hChange As Long, pdwChange As Long, ByVal pPrinterNotifyOptions As String, ByVal ppPrinterNotifyInfo As Long) As Long |
|||||||||||||||||||||||||||||||||||||||||
プリンタまたはプリントサーバーに関連付けられた変更通知オブジェクトに関する最新の変更通知の情報を取得する。この関数は、変更通知オブジェクトに対する待機操作が満たされたときに使う。 |
|||||||||||||||||||||||||||||||||||||||||
パラメータ FindFirstPrinterChangeNotification 関数を使って取得する。オペレーティングシステムは、変更通知オブジェクトの変更通知フィルタで指
定された変更の 1 つを検出すると、そのオブジェクトをシグナル状態に設定する。 ラグは、FindFirstPrinterChangeNotification 関数のパラメータ fdwFlags でセットするフラグに対応する。 システムは、次の 1 つ以上のビットフラグをセットする。
pPrinterNotifyOptions PRINTER_NOTIFY_OPTIONS_REFRESH に設定することによって、監視対象になっている全プリンタ情報フィールドの現在のデータを関
数が返すようにする。他のメンバはすべて無視される。このパラメータは、NULL にできる。
FreePrinterNotifyInfo 関数を使ってバッファを解放する。必要な情報がないときは、このパラメータを NULL にできる。 配列の各要素には、FindFirstPrinterChangeNotification 関数のパラメータ pPrinterNotifyOptions で指定したフィールドの 1 つに関す る情報が入っている。通常、この配列によってデータが提供されるのは、変更され、最新の通知の原因になったフィールドだけである。ただ し、pPrinterNotifyOptions が指す構造体で PRINTER_NOTIFY_OPTIONS_REFRESH が指定されていると、監視対象になっている
すべてのフィールドのデータが提供される。 ローまたはエラーの発生によって、通知が失われていることがある。その場合、PRINTER_NOTIFY_OPTIONS_REFRESH を指定する
FindNextPrinterChangeNotification をもう一度呼び出すまで通知は送信されなあい。 が満たされた後で使う。FindNextPrinterChangeNotification 関数は、待機操作を満たした変更に関する情報を取得し、通知オブジェク
トをリセットすることによって、そのオブジェクトが次の変更のシグナルを受け取れるようにする。 WAIT_TIMEOUT を返すときは、変更オブジェクトがシグナル状態にはない。FindNextPrinterChangeNotification 関数は、待機関数
がタイムアウトしないで成功した場合にのみ呼び出す。
数で変更内容を調べて通知オブジェクトをリセットするというサイクルを繰り返す。 がある。その場合、ppPrinterNotifyInfo の PRINTER_NOTIFY_INFO_DATA 構造体ではそのフィールドに対するすべての変更ではな く、最新の変更に関する情報だけが通知されるのが普通である。ただし、ジョブやプリンタ情報フィールドによっては、同じフィールドに関して 複数の PRINTER_NOTIFY_INFO_DATA 構造体が配列に格納されることがある。その場合はフィールドに関する最後の構造体に現在
のデータが入り、その前の構造体に途中のデータが入る。 |