Fungsi EnumForms

Fungsi EnumForms menghitung formulir yang didukung oleh printer yang ditentukan.

Sintaks

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

Parameter

hPrinter [in]

Tangani ke pencetak yang formulirnya harus dijumlahkan. Gunakan fungsi OpenPrinter atau AddPrinter untuk mengambil handel printer.

Level [in]

Menentukan versi struktur yang menunjuk pForm . Nilai ini harus 1 atau 2.

pForm [out]

Arahkan ke satu atau beberapa struktur FORM_INFO_1 atau ke satu atau beberapa struktur FORM_INFO_2 . Semua struktur akan memiliki tingkat yang sama.

cbBuf [in]

Menentukan ukuran, dalam byte, dari buffer tempat pForm menunjuk.

pcbNeeded [out]

Penunjuk ke variabel yang menerima jumlah byte yang disalin ke array tempat titik pForm (jika operasi berhasil) atau jumlah byte yang diperlukan (jika gagal karena cbBuf terlalu kecil).

pcReturned [out]

Penunjuk ke variabel yang menerima jumlah struktur yang disalin ke dalam array tempat pForm menunjuk .

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.

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.

Jika pemanggil jarak jauh, dan Tingkatnya adalah 2, nilai StringType dari struktur FORM_INFO_2 yang dikembalikan akan selalu STRING_LANGPAIR.

Di Windows Vista, data formulir yang dikembalikan oleh EnumForms diambil dari cache lokal ketika hPrinter merujuk ke server cetak jarak jauh atau printer yang dihosting oleh server cetak dan setidaknya ada satu koneksi terbuka ke printer pada server cetak jarak jauh. Dalam semua konfigurasi lainnya, data formulir dikueri dari server cetak jarak jauh.

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
EnumFormsW (Unicode) dan EnumFormsA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

TambahkanPrinter

FORM_INFO_1

OpenPrinter