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