Bagikan melalui


Fungsi GetPrinterDriver

Fungsi GetPrinterDriver mengambil data driver untuk printer yang ditentukan. Jika driver tidak diinstal di komputer lokal, GetPrinterDriver akan menginstalnya.

Sintaks

BOOL GetPrinterDriver(
  _In_  HANDLE  hPrinter,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDriverInfo,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded
);

Parameter

hPrinter [in]

Handel ke pencetak tempat data pengandar harus diambil. Gunakan fungsi OpenPrinter atau AddPrinter untuk mengambil handel printer.

pEnvironment [in]

Penunjuk ke string yang dihentikan null yang menentukan lingkungan (misalnya, Windows x86, Windows IA64, atau Windows x64). Jika parameter ini NULL, lingkungan aplikasi panggilan dan komputer klien saat ini (bukan dari aplikasi tujuan dan server cetak) digunakan.

Level [in]

Struktur driver printer dikembalikan dalam buffer pDriverInfo . Parameter ini bisa menjadi salah satu nilai berikut.

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 struktur yang berisi informasi tentang driver, seperti yang ditentukan oleh Level. Buffer harus cukup besar untuk menyimpan string yang diacu oleh anggota struktur.

Untuk menentukan ukuran buffer yang diperlukan, panggil GetPrinterDriver dengan cbBuf diatur ke nol. GetPrinterDriver 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 array tempat pDriverInfo menunjuk .

pcbNeeded [out]

Penunjuk ke nilai yang menerima jumlah byte yang disalin jika fungsi berhasil atau jumlah byte yang diperlukan jika cbBuf terlalu kecil.

Nilai kembali

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

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Untuk driver yang tidak ada, fungsi mengembalikan ERROR_UNKNOWN_PRINTER_DRIVER.

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.

Struktur DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, dan DRIVER_INFO_6 berisi nama file atau jalur lengkap dan nama file driver printer di anggota pDriverPath . Aplikasi dapat menggunakan jalur dan nama file untuk memuat driver printer dengan memanggil fungsi LoadLibrary dan menyediakan jalur dan nama file sebagai argumen tunggal.

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
GetPrinterDriverW (Unicode) dan GetPrinterDriverA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

TambahkanDriveerDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

EnumPrinterDrivers

OpenPrinter