ReplyPrinterChangeNotification 函式 (winsplp.h)

列印後台處理程式的 ReplyPrinterChangeNotification 函式可讓列印提供者更新與通知句柄相關聯之列印佇列事件的列印佇列事件資料庫,以及通知用戶端列印佇列事件已發生。

語法

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

參數

hPrinter

呼叫端提供的句柄。 此句柄先前必須接收為列印提供者 FindFirstPrinterChangeNotification 函式的 hNotify 輸入。

fdwChangeFlags

一或多個呼叫端提供的PRINTER_CHANGE_前置旗標,列在 Microsoft Windows SDK 檔描述 FindNextPrinterChangeNotification 中。

[out, optional] pdwResult

選擇性。 如果不是 NULL,則會接收提供PRINTER_NOTIFY_INFO前置旗標的多任務緩衝處理程式旗標,指出更新所提供信息的結果。

[in, optional] pPrinterNotifyInfo

選擇性。 Windows SDK 檔) 中所述PRINTER_NOTIFY_INFO結構 (的呼叫端位址。 如果未新增任何新的通知資訊,則可為 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 會導致多任務緩衝處理程式向用戶端應用程式發出列印佇列事件發生訊號。 即使提供者為 pPrinterNotifyInfo 提供 NULL,也會發生這種情況。 若要更新後台處理程式的列印佇列變更記錄,而不會導致用戶端收到通知,請使用 PartialReplyPrinterChangeNotification。 經常呼叫 PartialReplyPrinterChangeNotification 多次更新多任務緩衝處理程式的資料庫,然後呼叫 ReplyPrinterChangeNotification 以通知用戶端發生變更。

如需詳細資訊,請參閱 支援印表機變更通知

規格需求

需求
目標平台 桌面
標頭 winsplp.h (包含 Winsplp.h)
程式庫 Spoolss.lib
Dll Spoolss.dll

另請參閱

FindFirstPrinterChangeNotification

PartialReplyPrinterChangeNotification