Bagikan melalui


Fungsi DeletePrinterDriverEx

Fungsi DeletePrinterDriverEx menghapus nama driver printer yang ditentukan dari daftar nama driver yang didukung di server dan menghapus file yang terkait dengan driver. Fungsi ini juga dapat menghapus versi driver tertentu.

Sintaks

BOOL DeletePrinterDriverEx(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName,
  _In_ DWORD  dwDeleteFlag,
  _In_ DWORD  dwVersionFlag
);

Parameter

pName [in]

Penunjuk ke string yang dihentikan null yang menentukan nama server tempat driver akan dihapus. Jika parameter ini NULL, fungsi akan menghapus driver printer dari komputer lokal.

pEnvironment [in]

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

pDriverName [in]

Penunjuk ke string yang dihentikan null yang menentukan nama driver yang akan dihapus.

dwDeleteFlag [in]

Opsi untuk menghapus file dan versi driver. Parameter ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
DPD_DELETE_SPECIFIC_VERSION
Menghapus versi yang ditentukan dalam dwVersionFlag. Ini tidak memastikan bahwa driver akan dihapus dari daftar driver yang didukung untuk server.
DPD_DELETE_UNUSED_FILES
Menghapus file driver yang tidak digunakan.
DPD_DELETE_ALL_FILES
Menghapus pengandar hanya jika semua file terkait dapat dihapus. Operasi penghapusan gagal jika salah satu file driver sedang digunakan oleh beberapa driver lain yang diinstal.

Jika DPD_DELETE_SPECIFIC_VERSION tidak ditentukan, fungsi akan menghapus semua versi driver jika tidak ada yang digunakan. Jika tidak ada DPD_DELETE_UNUSED_FILES atau DPD_DELETE_ALL_FILES yang ditentukan, fungsi tidak menghapus file driver.

dwVersionFlag [in]

Versi driver yang akan dihapus. Parameter ini bisa 0, 1, 2 atau 3. Parameter ini hanya digunakan jika dwDeleteFlag menyertakan bendera DPD_DELETE_SPECIFIC_VERSION.

Mengembalikan nilai

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.

Sebelum fungsi menghapus file driver, fungsi ini memanggil fungsi DrvDriverEvent driver, memungkinkan driver untuk menghapus file privat apa pun yang tidak digunakan. Untuk informasi selengkapnya tentang DrvDriverEvent, lihat Microsoft Windows Driver Development Kit (DDK).

Jika file driver saat ini dimuat, fungsi memindahkannya ke direktori sementara dan menandainya untuk dihapus saat memulai ulang.

Sebelum memanggil DeletePrinterDriverEx, Anda harus menghapus semua objek printer yang menggunakan driver printer.

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
DeletePrinterDriverExW (Unicode) dan DeletePrinterDriverExA (ANSI)

Lihat juga

Pencetakan

Cetak Fungsi API Spooler

AddPrinterDriverEx