Freigeben über


EnumPrintProcessors-Funktion

Die EnumPrintProcessors-Funktion listet die auf dem angegebenen Server installierten Druckprozessoren auf.

Syntax

BOOL EnumPrintProcessors(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pPrintProcessorInfo,
  _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 die Druckprozessoren befinden. Wenn dieser Parameter NULL ist, werden die lokalen Druckprozessoren aufgelistet.

pEnvironment [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die die Umgebung angibt (z. B. Windows x86, Windows IA64 oder Windows x64). Wenn dieser Parameter NULL ist, wird die aktuelle Umgebung der aufrufenden Anwendung und des Clientcomputers (nicht der Zielanwendung und des Druckservers) verwendet.

Ebene [in]

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

pPrintProcessorInfo [out]

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

Um die erforderliche Puffergröße zu bestimmen, rufen Sie EnumPrintProcessors auf, wobei cbBuf auf null festgelegt ist. EnumPrintProcessors 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 den pPrintProcessorInfo verweist.

pcbNeeded [ out]

Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die in den pPrintProcessorInfo-Puffer kopiert werden, 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 pPrintProcessorInfo-Puffer zurückgegebenen Strukturen empfängt.

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.

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
EnumPrintProcessorsW (Unicode) und EnumPrintProcessorsA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

AddPrintProcessor

EnumPrintProcessorDatatypes

PRINTPROCESSOR_INFO_1