Fungsi EnumPrinterDataEx

Fungsi EnumPrinterDataEx menghitung semua nama nilai dan data untuk printer dan kunci tertentu.

Data printer disimpan dalam registri. Saat menghitung data printer, jangan panggil fungsi registri yang mungkin mengubah data.

Sintaks

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

Parameter

hPrinter [in]

Handel ke printer yang fungsinya mengambil data konfigurasi. Gunakan fungsi OpenPrinter atau AddPrinter untuk mengambil handel printer.

pKeyName [in]

Penunjuk ke string yang dihentikan null yang menentukan kunci yang berisi nilai yang akan dijumlahkan. Gunakan karakter garis miring terbalik ( \ ) sebagai pemisah untuk menentukan jalur dengan satu atau beberapa subkunci. EnumPrinterDataEx menghitung semua nilai kunci, tetapi tidak menghitung nilai subkunci dari kunci yang ditentukan. Gunakan fungsi EnumPrinterKey untuk menghitung subkunci.

Jika pKeyName adalah NULL atau string kosong, EnumPrinterDataEx mengembalikan ERROR_INVALID_PARAMETER.

pEnumValues [out]

Penunjuk ke buffer yang menerima array struktur PRINTER_ENUM_VALUES . Setiap struktur berisi nama nilai, jenis, data, dan ukuran nilai di bawah kunci.

cbEnumValues [in]

Ukuran, dalam byte, dari buffer yang diacu oleh pcbEnumValues. Jika Anda mengatur cbEnumValues ke nol, parameter pcbEnumValues mengembalikan ukuran buffer yang diperlukan.

pcbEnumValues [out]

Penunjuk ke variabel yang menerima ukuran, dalam byte, dari data konfigurasi yang diambil. Jika ukuran buffer yang ditentukan oleh cbEnumValues terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan pcbEnumValues menunjukkan ukuran buffer yang diperlukan.

pnEnumValues [out]

Penunjuk ke variabel yang menerima jumlah struktur PRINTER_ENUM_VALUES yang dikembalikan dalam pEnumValues.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem.

Keterangan

Catatan

Ini adalah fungsi pemblokiran atau sinkron dan mungkin tidak segera dikembalikan. 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.

EnumPrinterDataEx mengambil himpunan data konfigurasi printer oleh fungsi SetPrinterDataEx dan SetPrinterData .

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
EnumPrinterDataExW (Unicode) dan EnumPrinterDataExA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx