Fungsi EnumPrinterKey

Fungsi EnumPrinterKey menghitung subkunci kunci tertentu untuk printer tertentu.

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

Sintaks

DWORD EnumPrinterKey(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPTSTR  pSubkey,
  _In_  DWORD   cbSubkey,
  _Out_ LPDWORD pcbSubkey
);

Parameter

hPrinter [in]

Handel ke printer yang fungsinya menghitung subkuncar. Gunakan fungsi OpenPrinter atau AddPrinter untuk mengambil handel printer.

pKeyName [in]

Penunjuk ke string yang dihentikan null yang menentukan kunci yang berisi subkunci untuk dijumlahkan. Gunakan karakter garis miring terbalik '\' sebagai pemisah untuk menentukan jalur dengan satu atau beberapa subkunci. EnumPrinterKey menghitung semua subkunci kunci, tetapi tidak menghitung subkunci dari subkunci tersebut.

Jika pKeyName adalah string kosong (""), EnumPrinterKey menghitung kunci tingkat atas untuk printer. Jika pKeyName adalah NULL, EnumPrinterKey mengembalikan ERROR_INVALID_PARAMETER.

pSubkey [out]

Penunjuk ke buffer yang menerima array nama subkunci yang dihentikan null. Array dihentikan oleh dua karakter null.

cbSubkey [in]

Ukuran, dalam byte, dari buffer yang diacu oleh pSubkey. Jika Anda mengatur cbSubkey ke nol, parameter pcbSubkey mengembalikan ukuran buffer yang diperlukan.

pcbSubkey [out]

Penunjuk ke variabel yang menerima jumlah byte yang diambil dalam buffer pSubkey . Jika ukuran buffer yang ditentukan oleh cbSubkey terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan pcbSubkey menunjukkan ukuran buffer yang diperlukan.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem. Jika pKeyName tidak ada, nilai yang dikembalikan adalah ERROR_FILE_NOT_FOUND.

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.

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
EnumPrinterKeyW (Unicode) dan EnumPrinterKeyA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

DeletePrinterDataEx

GetPrinterDataEx

OpenPrinter

SetPrinterDataEx