EnumPrintProcessorDatatypesA-Funktion (winspool.h)
Die EnumPrintProcessorDatatypes-Funktion eines Druckprozessors listet die Datentypen auf, die vom Druckprozessor unterstützt werden.
Syntax
BOOL EnumPrintProcessorDatatypesA(
[in, optional] LPSTR pName,
[in] LPSTR pPrintProcessorName,
DWORD Level,
[out, optional] LPBYTE pDatatypes,
DWORD cbBuf,
[out] LPDWORD pcbNeeded,
[out] LPDWORD pcReturned
);
Parameter
[in, optional] pName
Vom Aufrufer bereitgestellter Zeiger auf eine Zeichenfolge, die den Namen des Servers darstellt, auf dem der Druckprozessor installiert ist. Bei NULL ist der Server das lokale System.
[in] pPrintProcessorName
Vom Aufrufer bereitgestellter Zeiger auf eine Zeichenfolge, die den Namen des Druckprozessors darstellt.
Level
Vom Aufrufer bereitgestellter Wert, der den Typ der Strukturen angibt, die im Puffer zurückgegeben werden sollen, auf den pDatatypes verweist. Dieser Wert muss 1 sein, was angibt, dass die Struktur DATATYPES_INFO_1 ist.
[out, optional] pDatatypes
Vom Aufrufer bereitgestellter Zeiger auf einen Puffer, um ein Array von DATATYPES_INFO_1 Strukturen zu empfangen, gefolgt von einer Reihe von Zeichenfolgen, die Datentypnamen darstellen. Die DATATYPES_INFO_1-Struktur wird in der Microsoft Windows SDK-Dokumentation beschrieben. Der Strukturmember pName muss vom Typ LPWSTR sein.
cbBuf
Vom Aufrufer bereitgestellter Wert, der die Größe des Puffers in Bytes darstellt, auf den pDatatypes verweist.
[out] pcbNeeded
Vom Aufrufer bereitgestellter Zeiger auf einen Speicherort, der die erforderliche Mindestgröße für den Puffer erhalten soll, auf den pDatatypes verweist.
[out] pcReturned
Vom Aufrufer bereitgestellter Zeiger auf einen Speicherort, der die Anzahl der DATATYPES_INFO_1-Strukturen empfangen soll, die im Puffer zurückgegeben werden, auf den pDatatypes verweist.
Rückgabewert
Wenn der Vorgang erfolgreich ist, sollte die Funktion TRUE zurückgeben. Wenn der Vorgang fehlschlägt, sollte die Funktion SetLastError aufrufen, um einen Fehlercode festzulegen, und dann FALSE zurückgeben.
Hinweise
Druckprozessoren sind erforderlich, um eine EnumPrintProcessorDatatypes-Funktion zu exportieren. Der lokale Druckanbieter ruft die Funktion während der Initialisierung auf. Die Funktion wird auch aufgerufen, wenn eine Anwendung die Spoolerversion derselben Funktion aufruft.
Die Funktion muss ein Array von DATATYPES_INFO_1 Strukturen zurückgeben, wobei jede Struktur auf eine Zeichenfolge verweist, die einen Datentyp darstellt. Die tatsächlichen Zeichenfolgen müssen ebenfalls in den Puffer nach dem Strukturarray eingeschlossen werden. Ein Beispiel finden Sie unter Beispieldruckprozessor .
Die Funktion sollte die Anzahl der DATATYPES_INFO_1 zurückgegebenen Strukturen (d. h. die Anzahl der unterstützten Datentypen) an der Position zurückgeben, auf die von pcReturned verwiesen wird.
Die Funktion sollte die erforderliche Mindestpuffergröße an der Stelle zurückgeben, auf die von pcbNeeded verwiesen wird. Wenn der bereitgestellte Puffer zu klein ist, sollte die Funktion einen Wert für pcbNeeded angeben, den Fehlercode auf ERROR_INSUFFICIENT_BUFFER festlegen und FALSE zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | winspool.h (winspool.h einschließen) |