AppendPrinterNotifyInfoData-Funktion (winsplp.h)

Die AppendPrinterNotifyInfoData-Funktion des Druckspoolers fügt den Inhalt einer angegebenen PRINTER_NOTIFY_INFO_DATA-Struktur einer angegebenen PRINTER_NOTIFY_INFO-Struktur hinzu.

Syntax

BOOL AppendPrinterNotifyInfoData(
  [in] PPRINTER_NOTIFY_INFO      pInfoDest,
       PPRINTER_NOTIFY_INFO_DATA pDataSrc,
       DWORD                     fdwFlags
);

Parameter

[in] pInfoDest

Vom Aufrufer bereitgestellter Zeiger auf eine PRINTER_NOTIFY_INFO-Struktur .

pDataSrc

Vom Aufrufer bereitgestellter Zeiger auf eine PRINTER_NOTIFY_INFO_DATA-Struktur .

fdwFlags

Vom Aufrufer bereitgestellte Flags. Das folgende Flag ist definiert.

PRINTER_NOTIFY_INFO_DATA_COMPACT
Wenn festgelegt, untersucht die Funktion die Elemente Type, Field und ID der angegebenen PRINTER_NOTIFY_INFO_DATA-Struktur . Wenn sie alle mit einem vorhandenen Element des PRINTER_NOTIFY_INFO_DATA Strukturarrays übereinstimmen, wird das vorhandene Element mit dem angegebenen Element überschrieben. Wenn keine Übereinstimmung gefunden wird, fügt die Funktion die angegebene Struktur am Ende des Arrays hinzu.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Funktion TRUE zurück. Andernfalls gibt die Funktion FALSE zurück. Der Aufrufer kann einen Fehlercode abrufen, indem er GetLastError aufruft.

Hinweise

Die RefreshPrinterChangeNotification-Funktion eines Druckanbieters sollte AppendPrinterNotifyInfoData so oft wie nötig aufrufen, um ein PRINTER_NOTIFY_INFO_DATA-Strukturarray aufzufüllen, nachdem zuerst RouterAllocPrinterNotifyInfo aufgerufen wurde, um Speicher für das Array und die zugehörige PRINTER_NOTIFY_INFO-Struktur zuzuweisen.

Abhängig davon, ob das PRINTER_NOTIFY_INFO_DATA_COMPACT-Flag festgelegt ist, fügt die Funktion entweder die angegebene PRINTER_NOTIFY_INFO_DATA Struktur an das Ende des Strukturarrays an oder überschreibt ein vorhandenes Arrayelement. Wenn die Struktur angefügt wird, erhöht die Funktion das Count-Element der PRINTER_NOTIFY_INFO-Struktur.

Wenn AppendPrinterNotifyInfoData erkennt, dass das PRINTER_NOTIFY_INFO_DISCARDED-Flag in der angegebenen PRINTER_NOTIFY_INFO-Struktur festgelegt ist, löscht die Funktion alle PRINTER_NOTIFY_INFO_DATA Strukturen und legt den Fehlercode auf ERROR_OUT_OF_STRUCTURES fest.

Wenn NULL für pInfoDataSrc angegeben ist, legt AppendPrinterNotifyInfoData das PRINTER_NOTIFY_INFO_DISCARDED-Flag in der angegebenen PRINTER_NOTIFY_INFO-Struktur fest, löscht alle PRINTER_NOTIFY_INFO_DATA-Strukturen und legt den Fehlercode auf ERROR_OUT_OF_STRUCTURES fest.

(Weitere Informationen zum PRINTER_NOTIFY_INFO_DISCARDED-Flag finden Sie in der Beschreibung von FindNextPrinterChangeNotification in der Windows SDK-Dokumentation.)

Weitere Informationen finden Sie unter Unterstützung von Druckeränderungsbenachrichtigungen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winsplp.h (einschließlich Winsplp.h)
Bibliothek Spoolss.lib
DLL Spoolss.dll

Weitere Informationen

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo