Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de functie StartDocPrinter wordt de afdrukspooler aangegeven dat een document moet worden gepoold voor afdrukken.
Syntaxis
DWORD StartDocPrinter(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_In_ LPBYTE pDocInfo
);
Parameterwaarden
-
hPrinter [in]
-
Een handgreep naar de printer. Gebruik de functie OpenPrinter of AddPrinter om een printergreep op te halen.
-
niveau [in]
-
De versie van de structuur waarnaar pDocInfo verwijst. Deze waarde moet 1 zijn.
-
pDocInfo [in]
-
Een aanwijzer naar een DOC_INFO_1 structuur waarin het document wordt beschreven dat moet worden afgedrukt.
Retourwaarde
Als de functie slaagt, identificeert de retourwaarde de afdruktaak.
Als de functie mislukt, is de retourwaarde nul.
Opmerkingen
Opmerking
Dit is een blokkerende of synchrone functie en retourneert mogelijk niet onmiddellijk. Hoe snel deze functie retourneert, is afhankelijk van runtimefactoren zoals netwerkstatus, configuratie van afdrukserver en implementatiefactoren van printerstuurprogramma's die moeilijk te voorspellen zijn bij het schrijven van een toepassing. Als u deze functie aanroept vanuit een thread die interactie met de gebruikersinterface beheert, kan de toepassing niet reageren.
De gebruikelijke volgorde voor een afdruktaak is als volgt:
- Als u een afdruktaak wilt starten, roept u StartDocPrinter aan.
- Als u elke pagina wilt starten, roept u StartPagePrinter aan.
- Als u gegevens naar een pagina wilt schrijven, roept u WritePrinter aan.
- Als u elke pagina wilt beƫindigen, roept u EndPagePrinter aan.
- Herhaal 2, 3 en 4 voor zoveel pagina's als nodig is.
- Als u de afdruktaak wilt beƫindigen, roept u EndDocPrinter aan.
Houd er rekening mee dat het aanroepen van StartPagePrinter en EndPagePrinter mogelijk niet nodig is, bijvoorbeeld als het afdrukgegevenstype de paginagegevens bevat.
Wanneer een pagina in een gepoold bestand ongeveer 350 MB overschrijdt, kan het niet worden afgedrukt en wordt er geen foutbericht verzonden. Dit kan bijvoorbeeld gebeuren bij het afdrukken van grote EMF-bestanden. De limiet voor de paginagrootte is afhankelijk van veel factoren, waaronder de hoeveelheid beschikbaar virtueel geheugen, de hoeveelheid geheugen die is toegewezen door aanroepende processen en de hoeveelheid fragmentatie in de proces-heap.
Voorbeelden
Zie Procedure voor een voorbeeldprogramma dat gebruikmaakt van deze functie : Afdrukken met behulp van de GDI Print-API.
Behoeften
| Voorwaarde | Waarde |
|---|---|
| Minimaal ondersteunde client |
Windows 2000 Professional [alleen desktop-apps] |
| Minimaal ondersteunde server |
Windows 2000 Server [alleen desktop-apps] |
| Koptekst |
|
| Bibliotheek |
|
| DLL |
|
| Unicode- en ANSI-namen |
StartDocPrinterW (Unicode) en StartDocPrinterA (ANSI) |