Freigeben über


EnumForms-Funktion

Die EnumForms-Funktion listet die Formulare auf, die vom angegebenen Drucker unterstützt werden.

Syntax

BOOL EnumForms(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

hPrinter [in]

Handle an den Drucker, für den die Formulare aufgelistet werden sollen. Verwenden Sie die OpenPrinter - oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.

Ebene [in]

Gibt die Version der Struktur an, auf die pForm zeigt. Dieser Wert muss 1 oder 2 sein.

pForm [out]

Zeiger auf eine oder mehrere FORM_INFO_1-Strukturen oder auf eine oder mehrere FORM_INFO_2-Strukturen . Alle Strukturen haben die gleiche Ebene.

cbBuf [in]

Gibt die Größe des Puffers in Bytes an, auf den pForm zeigt.

pcbNeeded [ out]

Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die in das Array kopiert wurden, auf das pForm zeigt (wenn der Vorgang erfolgreich ist) oder die Anzahl der erforderlichen Bytes (wenn er fehlschlägt, weil cbBuf zu klein ist).

pcReturned [out]

Zeiger auf eine Variable, die die Anzahl von Strukturen empfängt, die in das Array kopiert wurden, auf das pForm zeigt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null.

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

Bemerkungen

Hinweis

Dies ist eine blockierende oder synchrone Funktion, die möglicherweise nicht sofort zurückgegeben wird. 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. Das Aufrufen dieser Funktion aus einem Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, könnte dazu führen, dass die Anwendung nicht mehr reagiert.

Wenn der Aufrufer remote ist und level 2 ist, wird der StringType-Wert der zurückgegebenen FORM_INFO_2-Strukturen immer STRING_LANGPAIR.

In Windows Vista werden die von EnumForms zurückgegebenen Formulardaten aus einem lokalen Cache abgerufen, wenn hPrinter auf einen Remotedruckserver oder drucker verweist, der von einem Druckserver gehostet wird und mindestens eine offene Verbindung mit einem Drucker auf dem Remotedruckserver besteht. In allen anderen Konfigurationen werden die Formulardaten vom Remotedruckserver abgefragt.

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ßen von Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
EnumFormsW (Unicode) und EnumFormsA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

AddPrinter

FORM_INFO_1

OpenPrinter