EnumJobs-Funktion

Die EnumJobs-Funktion ruft Informationen zu einem angegebenen Satz von Druckaufträgen für einen angegebenen Drucker ab.

Syntax

BOOL EnumJobs(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   FirstJob,
  _In_  DWORD   NoJobs,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pJob,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

hPrinter [in]

Ein Handle für das Druckerobjekt, dessen Druckaufträge die Funktion aufzählt. Verwenden Sie die OpenPrinter - oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.

FirstJob [in]

Die nullbasierte Position in der Druckwarteschlange des ersten aufzuzählenden Druckauftrags. Der Wert 0 gibt beispielsweise an, dass die Enumeration beim ersten Druckauftrag in der Druckwarteschlange beginnen soll. Der Wert 9 gibt an, dass die Enumeration am zehnten Druckauftrag in der Druckwarteschlange beginnen soll.

NoJobs [in]

Die Gesamtzahl der aufzuzählenden Druckaufträge.

Ebene [in]

Der Typ der im pJob-Puffer zurückgegebenen Informationen.

Wert Bedeutung
1
pJob empfängt ein Array von JOB_INFO_1 Strukturen
2
pJob empfängt ein Array von JOB_INFO_2 Strukturen
3
pJob empfängt ein Array von JOB_INFO_3 Strukturen

pJob [out]

Ein Zeiger auf einen Puffer, der ein Array von JOB_INFO_1-, JOB_INFO_2- oder JOB_INFO_3-Strukturen empfängt. 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 ermitteln, rufen Sie EnumJobs auf, wobei cbBuf auf Null festgelegt ist. EnumJobs 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 pJob-Puffers in Bytes.

pcbNeeded [ out]

Ein Zeiger auf eine Variable, die die Anzahl der kopierten Bytes empfängt, wenn die Funktion erfolgreich ist. Wenn die Funktion fehlschlägt, empfängt die Variable die anzahl der erforderlichen Bytes.

pcReturned [out]

Ein Zeiger auf eine Variable, die die Anzahl der impJob-Puffer zurückgegebenen JOB_INFO_1, JOB_INFO_2 oder JOB_INFO_3 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.

Die JOB_INFO_1-Struktur enthält allgemeine Druckauftragsinformationen. die JOB_INFO_2 Struktur enthält viel ausführlichere Informationen. Die JOB_INFO_3-Struktur enthält Informationen dazu, wie Aufträge verknüpft werden.

Um die Anzahl der Druckaufträge in der Druckerwarteschlange zu bestimmen, rufen Sie die GetPrinter-Funktion auf, wobei der Parameter Level auf 2 festgelegt ist.

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
EnumJobsW (Unicode) und EnumJobsA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

GetJob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob