Freigeben über


EnumPrintProcessorDatatypes-Funktion

Die Funktion EnumPrintProcessorDatatypes listet die Datentypen auf, die von einem angegebenen Druckprozessor unterstützt werden.

Syntax

BOOL EnumPrintProcessorDatatypes(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pPrintProcessorName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDatatypes,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

pName [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen des Servers angibt, auf dem sich der Druckprozessor befindet. Wenn dieser Parameter NULL ist, werden die Datentypen für den lokalen Druckprozessor aufgelistet.

pPrintProcessorName [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen des Druckprozessors angibt, dessen Datentypen aufgelistet werden.

Ebene [in]

Der Typ der im pDatatypes-Puffer zurückgegebenen Informationen. Dieser Parameter muss 1 sein.

pDatatypes [out]

Ein Zeiger auf einen Puffer, der ein Array von DATATYPES_INFO_1 Strukturen empfängt. Jede Struktur beschreibt einen verfügbaren Datentyp. Der Puffer muss groß genug sein, um das Array von Strukturen und allen Zeichenfolgen oder anderen Daten zu empfangen, auf die die Strukturmember zeigen.

Um die erforderliche Puffergröße zu bestimmen, rufen Sie EnumPrintProcessorDatatypes auf, wobei cbBuf auf Null festgelegt ist. EnumPrintProcessorDatatypes schlägt fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und der pcbNeed-Parameter gibt die Größe des Puffers zurück, der für das Array von Strukturen und deren Daten erforderlich ist.

cbBuf [in]

Die Größe des Puffers in Bytes, auf die von pDatatypes verwiesen wird.

pcbNeeded [ out]

Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die in den pDatatypes-Puffer kopiert wurden, wenn die Funktion erfolgreich ist. Wenn der Puffer zu klein ist, schlägt die Funktion fehl, und die Variable empfängt die erforderliche Anzahl von Bytes.

pcReturned [out]

Ein Zeiger auf eine Variable, die die Anzahl der im pDatatypes-Puffer zurückgegebenen Strukturen empfängt . Dies ist die Anzahl der unterstützten Datentypen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Bemerkungen

Hinweis

Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierungsfaktoren ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Wenn Sie diese Funktion über einen Thread aufrufen, der die Interaktion mit der Benutzeroberfläche verwaltet, kann die Anwendung nicht reagieren.

v

Ab Windows Vista werden die Datentypinformationen von Remotedruckservern aus einem lokalen Cache abgerufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winspool.h (einschließlich Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
EnumPrintProcessorDatatypesW (Unicode) und EnumPrintProcessorDatatypesA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

DATATYPES_INFO_1

EnumPrintProcessors