Bagikan melalui


Fungsi StartDocPrinter

Fungsi StartDocPrinter memberi tahu penampung cetak bahwa dokumen akan ditampung untuk pencetakan.

Sintaks

DWORD StartDocPrinter(
  _In_ HANDLE hPrinter,
  _In_ DWORD  Level,
  _In_ LPBYTE pDocInfo
);

Parameter

hPrinter [in]

Handel ke pencetak. Gunakan fungsi OpenPrinter atau AddPrinter untuk mengambil handel printer.

Level [in]

Versi struktur yang ditunjukkan pDocInfo . Nilai ini harus 1.

pDocInfo [in]

Penunjuk ke struktur DOC_INFO_1 yang menjelaskan dokumen yang akan dicetak.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan mengidentifikasi pekerjaan cetak.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Keterangan

Catatan

Ini adalah fungsi pemblokiran atau sinkron dan mungkin tidak segera kembali. Seberapa cepat fungsi ini kembali tergantung pada faktor run-time seperti status jaringan, konfigurasi server cetak, dan faktor implementasi driver printer yang sulit diprediksi saat menulis aplikasi. Memanggil fungsi ini dari utas yang mengelola interaksi dengan antarmuka pengguna dapat membuat aplikasi tampak tidak responsif.

Urutan umum untuk pekerjaan cetak adalah sebagai berikut:

  1. Untuk memulai pekerjaan cetak, panggil StartDocPrinter.
  2. Untuk memulai setiap halaman, panggil StartPagePrinter.
  3. Untuk menulis data ke halaman, panggil WritePrinter.
  4. Untuk mengakhiri setiap halaman, panggil EndPagePrinter.
  5. Ulangi 2, 3, dan 4 untuk halaman sebanyak yang diperlukan.
  6. Untuk mengakhiri pekerjaan cetak, panggil EndDocPrinter.

Perhatikan bahwa memanggil StartPagePrinter dan EndPagePrinter mungkin tidak diperlukan, seperti jika jenis data cetak menyertakan informasi halaman.

Ketika halaman dalam file yang ditampung melebihi sekitar 350 MB, halaman dapat gagal mencetak dan tidak mengirim pesan kesalahan. Misalnya, ini dapat terjadi saat mencetak file EMF besar. Batas ukuran halaman tergantung pada banyak faktor termasuk jumlah memori virtual yang tersedia, jumlah memori yang dialokasikan dengan proses panggilan, dan jumlah fragmentasi dalam tumpukan proses.

Contoh

Untuk program sampel yang menggunakan fungsi ini, lihat Cara: Mencetak Menggunakan GDI Print API.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Winspool.h (termasuk Windows.h)
Pustaka
Winspool.lib
DLL
Winspool.drv
Nama Unicode dan ANSI
StartDocPrinterW (Unicode) dan StartDocPrinterA (ANSI)

Lihat juga

TambahkanPekerjaan

DOC_INFO_1

DOC_INFO_2

EndDocPrinter

EndPagePrinter

OpenPrinter

Pencetakan

Cetak Fungsi API Spooler

StartDocPrinter

StartPagePrinter

WritePrinter