Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce WritePrinter upozorní zařazování tisku na zápis dat do zadané tiskárny.
Poznámka:
WritePrinter podporuje pouze tisk GDI a nesmí se používat pro tisk ve formátu XPS. Pokud vaše tisková úloha používá cestu k tisku XPS nebo OpenXPS, použijte rozhraní XPS Print API. Odesílání tiskových úloh XPS nebo OpenXPS do zařazování pomocí WritePrinteru není podporováno a může vést k nedeterminovaným výsledkům.
Syntaxe
BOOL WritePrinter(
_In_ HANDLE hPrinter,
_In_ LPVOID pBuf,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcWritten
);
Parametry
-
hPrinter [in]
-
Popisovač tiskárny. K načtení úchytu tiskárny použijte funkci OpenPrinter nebo AddPrinter .
-
pBuf [in]
-
Ukazatel na pole bajtů obsahujících data, která by měla být zapsána do tiskárny.
-
cbBuf [in]
-
Velikost pole v bajtech.
-
PcWritten [out]
-
Ukazatel na hodnotu, která přijímá počet bajtů dat, která byla zapsána do tiskárny.
Návratová hodnota
Pokud je funkce úspěšná, návratová hodnota je nenulová hodnota.
Pokud funkce selže, návratová hodnota je nula.
Poznámky
Poznámka:
Jedná se o blokující nebo synchronní funkci a nemusí se vrátit okamžitě. Jak rychle tato funkce vrací, závisí na faktorech doby běhu, jako je stav sítě, konfigurace tiskového serveru a faktory implementace ovladače tiskárny, které se při psaní aplikace obtížně predikují. Volání této funkce z vlákna, které spravuje interakci s uživatelským rozhraním, může znamenat, že aplikace přestane reagovat.
Posloupnost tiskové úlohy je následující:
- Chcete-li zahájit tiskovou úlohu, zavolejte Metodu StartDocPrinter.
- Chcete-li zahájit každou stránku, zavolejte StartPagePrinter.
- Pokud chcete zapisovat data na stránku, zavolejte WritePrinter.
- Chcete-li ukončit každou stránku, zavolejte EndPagePrinter.
- Opakujte 2, 3 a 4 pro tolik stránek, kolik je potřeba.
- Chcete-li ukončit tiskovou úlohu, zavolejte EndDocPrinter.
Pokud se dokument vysoké úrovně (například soubor Adobe PDF nebo Microsoft Word) nebo jiná data tiskárny (například PCL, PS nebo HPGL) odešlou přímo na tiskárnu, nastavení tisku definované v dokumentu převezme nastavení tisku před nastavením tisku systému Windows. Dokumenty výstup, když hodnota pDatatypečlenu DOC_INFO_1 struktury, která byla předána v pDocInfo parametru volání StartDocPrinter je "RAW" musí plně popsat nastavení tiskové úlohy ve stylu DEVMODE v jazyce pochopit hardware.
Ve verzích systému Windows starších než Windows XP může při překročení velikosti stránky ve zařazovaném souboru přibližně 350 MB dojít k selhání tisku a odeslání chybové zprávy. K tomu může dojít například při tisku velkých souborů EMF. Omezení velikosti stránky ve verzích Systému Windows před systémem Windows XP závisí na mnoha faktorech, včetně množství dostupné virtuální paměti, množství paměti přidělené volajícími procesy a množství fragmentace v haldě procesu. Ve Windows XP a novějších verzích Systému Windows musí mít soubory EMF velikost 2 GB nebo menší. Pokud se writePrinter používá k zápisu dat jiných než EMF, například PDL připravených k tiskárně, je velikost souboru omezena pouze dostupným místem na disku.
Příklady
Ukázkový program, který tuto funkci používá, najdete v tématu Postupy: Tisk pomocí rozhraní API pro tisk GDI.
Požadavky
| Požadavek | Hodnota |
|---|---|
| Minimální podporovaný klient |
Windows 2000 Professional [jenom desktopové aplikace] |
| Minimální podporovaný server |
Windows 2000 Server [jenom desktopové aplikace] |
| Záhlaví |
|
| Knihovna |
|
| Knihovna dll |
|