Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die StartDocPrinter-Funktion benachrichtigt den Druckspooler, dass ein Dokument zum Drucken gepoolt werden soll.
Syntax
DWORD StartDocPrinter(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_In_ LPBYTE pDocInfo
);
Die Parameter
-
hPrinter [in]
-
Ein Ziehpunkt für den Drucker. Verwenden Sie die OpenPrinter- oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.
-
Ebene [in]
-
Die Version der Struktur, auf die pDocInfo verweist. Dieser Wert muss 1 sein.
-
pDocInfo [in]
-
Ein Zeiger auf eine DOC_INFO_1 Struktur, die das zu druckde Dokument beschreibt.
Rückgabewert
Wenn die Funktion erfolgreich ist, identifiziert der Rückgabewert den Druckauftrag.
Wenn die Funktion fehlschlägt, 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ückgegeben wird, hängt von Laufzeitfaktoren wie Netzwerkstatus, Druckserverkonfiguration und Implementierungsfaktoren des Druckertreibers ab, die beim Schreiben einer Anwendung schwer vorhergesagt werden können. Das Aufrufen dieser Funktion über einen Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, kann dazu führen, dass die Anwendung scheinbar nicht reagiert.
Die typische Reihenfolge für einen Druckauftrag lautet wie folgt:
- Rufen Sie StartDocPrinter auf, um einen Druckauftrag zu starten.
- Rufen Sie StartPagePrinter auf, um jede Seite zu beginnen.
- Rufen Sie WritePrinter auf, um Daten auf eine Seite zu schreiben.
- Rufen Sie EndPagePrinter auf, um jede Seite zu beenden.
- Wiederholen Sie 2, 3 und 4 für beliebig viele Seiten.
- Rufen Sie EndDocPrinter auf, um den Druckauftrag zu beenden.
Beachten Sie, dass das Aufrufen von StartPagePrinter und EndPagePrinter möglicherweise nicht erforderlich ist, z. B. wenn der Druckdatentyp die Seiteninformationen enthält.
Wenn eine Seite in einer gepoolten Datei ungefähr 350 MB überschreitet, kann sie nicht gedruckt werden und keine Fehlermeldung senden. Dies kann beispielsweise beim Drucken großer EMF-Dateien auftreten. Der Grenzwert für die Seitengröße hängt von vielen Faktoren ab, einschließlich der verfügbaren Menge an virtuellem Arbeitsspeicher, der Menge an Arbeitsspeicher, die durch Aufrufen von Prozessen zugewiesen wird, und der Menge der Fragmentierung im Prozesshap.
Beispiele
Ein Beispielprogramm, das diese Funktion verwendet, finden Sie unter How To: Print Using the GDI Print API.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindest unterstützter Client |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützter Server (Mindestversion) |
Windows 2000 Server [nur Desktop-Apps] |
| Kopfzeile |
|
| Bibliothek |
|
| DLL |
|
| Unicode- und ANSI-Namen |
StartDocPrinterW (Unicode) und StartDocPrinterA (ANSI) |