Fungsi GetPrinterDriver2

Fungsi GetPrinterDriver2 mengambil data driver untuk printer yang ditentukan. Jika driver tidak diinstal di komputer lokal, GetPrinterDriver2 menginstalnya dan menampilkan antarmuka pengguna apa pun ke jendela yang ditentukan.

Sintaks

BOOL GetPrinterDriver2(
  _In_opt_ HWND    hWnd,
  _In_     HANDLE  hPrinter,
  _In_opt_ LPTSTR  pEnvironment,
  _In_     DWORD   Level,
  _Out_    LPBYTE  pDriverInfo,
  _In_     DWORD   cbBuf,
  _Out_    LPDWORD pcbNeeded
);

Parameter

hWnd [in, opsional]

Handel jendela yang akan digunakan sebagai jendela induk antarmuka pengguna apa pun, seperti kotak dialog, yang ditampilkan driver selama penginstalan. Jika nilai parameter ini adalah NULL, antarmuka pengguna driver akan tetap ditampilkan kepada pengguna selama penginstalan, tetapi tidak akan memiliki jendela induk.

hPrinter [in]

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

pEnvironment [in, opsional]

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 aplikasi tujuan dan server cetak) digunakan.

Level [in]

Struktur pengandar 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 Tingkat. Buffer harus cukup besar untuk menyimpan string yang diacu oleh anggota struktur.

Untuk menentukan ukuran buffer yang diperlukan, panggil GetPrinterDriver2 dengan cbBuf diatur ke nol. GetPrinterDriver2 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 mendapatkan status pengembalian, hubungi GetLastError.

Keterangan

Struktur DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, DRIVER_INFO_6, dan DRIVER_INFO_8 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.

Versi ANSI dari fungsi ini, GetPrinterDriver2A tidak didukung dan mengembalikan ERROR_NOT_SUPPORTED.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Winspool.h (termasuk Windows.h)
Pustaka
Winspool.lib
DLL
Winspool.drv
Nama Unicode dan ANSI
GetPrinterDriver2W (Unicode)

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

EnumPrinterDrivers

GetPrinterDriver

OpenPrinter