Fungsi EnumPrinterDrivers

Fungsi EnumPrinterDrivers menghitung driver printer yang diinstal pada server printer tertentu.

Sintaks

BOOL EnumPrinterDrivers(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDriverInfo,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

pName [in]

Penunjuk ke string yang dihentikan null yang menentukan nama server tempat driver printer dijumlahkan.

Jika pNameadalah NULL, fungsi menghitung driver printer lokal.

pEnvironment [in]

Penunjuk ke string yang dihentikan null yang menentukan lingkungan (misalnya, Windows x86, Windows IA64, Windows x64, atau Windows NT R4000). Jika parameter ini NULL, fungsi menggunakan lingkungan pemanggil/klien saat ini (bukan dari tujuan/server).

Jika string pEnvironment menentukan "semua", EnumPrinterDrivers menghitung driver printer untuk semua platform yang diinstal pada server yang ditentukan.

Level [in]

Jenis struktur informasi yang dikembalikan dalam buffer pDriverInfo . Ini bisa menjadi salah satu dari berikut ini.

Nilai Makna
1
DRIVER_INFO_1
2
DRIVER_INFO_2
3
DRIVER_INFO_3
4
DRIVER_INFO_4
5
DRIVER_INFO_5
6
DRIVER_INFO_6
8
DRIVER_INFO_8

pDriverInfo [out]

Penunjuk ke buffer yang menerima array struktur DRIVER_INFO_*, seperti yang ditentukan oleh Tingkat. Setiap struktur berisi data yang menjelaskan driver printer yang tersedia. Buffer harus cukup besar untuk menerima array struktur dan string apa pun atau data lain yang menjadi titik anggota struktur.

Untuk menentukan ukuran buffer yang diperlukan, panggil EnumPrinterDrivers dengan cbBuf diatur ke nol. EnumPrinterDrivers gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan parameter pcbNeeded mengembalikan ukuran, dalam byte, dari buffer yang diperlukan untuk menyimpan array struktur dan datanya.

cbBuf [in]

Ukuran, dalam byte, dari buffer yang diacu oleh pDriverInfo

pcbNeeded [out]

Penunjuk ke variabel yang menerima jumlah byte yang disalin ke buffer pDriverInfo jika fungsi berhasil. Jika buffer terlalu kecil, fungsi gagal dan variabel menerima jumlah byte yang diperlukan.

pcReturned [out]

Penunjuk ke variabel yang menerima jumlah struktur yang dikembalikan dalam buffer pDriverInfo . Ini adalah jumlah pengandar pencetak yang terinstal pada server cetak yang ditentukan.

Nilai kembali

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 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
EnumPrinterDriversW (Unicode) dan EnumPrinterDriversA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

AddPrinterDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

GetPrinterDriver