Freigeben über


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)