Fungsi DiUninstallDriverA (newdev.h)
Fungsi DiUninstallDriver menghapus paket driver dari perangkat apa pun yang diinstal dengan menginstal perangkat tersebut dengan paket driver lain yang cocok, jika tersedia, atau driver null jika tidak ada paket driver lain yang cocok yang tersedia. Kemudian paket driver yang ditentukan dihapus dari penyimpanan driver.
Sintaks
BOOL DiUninstallDriverA(
[in, optional] HWND hwndParent,
[in] LPCSTR InfPath,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
Parameter
[in, optional] hwndParent
Handel ke jendela tingkat atas yang harus digunakan DiUninstallDriver untuk menampilkan komponen antarmuka pengguna apa pun yang terkait dengan penghapusan pengandar. Parameter ini bersifat opsional dan dapat diatur ke NULL.
[in] InfPath
Penunjuk ke string yang dihentikan NULL yang memasok jalur file INF yang sepenuhnya memenuhi syarat untuk paket driver.
[in] Flags
Nilai jenis DWORD yang menentukan nol atau satu atau beberapa bendera berikut: DIURFLAG_NO_REMOVE_INF. Biasanya, bendera ini harus diatur ke nol.
Jika bendera ini nol, DiUninstallDriver menghapus paket driver dari perangkat apa pun yang diinstal dengan menginstal perangkat tersebut dengan paket driver lain yang cocok, jika tersedia, atau driver null jika tidak ada paket driver lain yang cocok yang tersedia. Namun, jika bendera ini diatur ke DIURFLAG_NO_REMOVE_INF, DiUninstallDriver menghapus paket driver dari perangkat apa pun yang diinstal, tetapi tidak menghapus paket driver dari Driver Store.
Untuk informasi tentang bagaimana Windows memilih paket driver untuk perangkat, lihat Cara Windows Memilih Driver.
[out, optional] NeedReboot
Penunjuk ke nilai jenis BOOL yang diatur DiUninstallDriver untuk menunjukkan apakah mulai ulang sistem diperlukan untuk menyelesaikan penghapusan instalasi. Parameter ini bersifat opsional dan dapat berupa NULL. Jika parameter disediakan dan menghidupkan ulang sistem diperlukan untuk menyelesaikan penghapusan instalasi, DiUninstallDriver mengatur nilai ke TRUE. Dalam hal ini, pemanggil harus meminta pengguna untuk memulai ulang sistem. Jika parameter ini disediakan dan hidupkan ulang sistem tidak diperlukan untuk menyelesaikan penghapusan instalasi, DiUninstallDriver mengatur nilai ke FALSE. Jika parameter adalah NULL dan sistem menghidupkan ulang diperlukan untuk menyelesaikan penghapusan instalasi, DiUninstallDriver menampilkan kotak dialog hidupkan ulang sistem. Untuk informasi selengkapnya tentang parameter ini, lihat bagian Keterangan berikut ini.
Nilai kembali
DiUninstallDriver mengembalikan TRUE jika fungsi berhasil menghapus paket driver dari perangkat apa pun yang diinstal dan berhasil dihapus dari penyimpanan driver sistem. Jika paket driver tidak berhasil dihapus dari penyimpanan driver, DiUninstallDriver mengembalikan FALSE dan kesalahan yang dicatat dapat diambil dengan melakukan panggilan ke GetLastError. Beberapa nilai kesalahan yang lebih umum yang mungkin dikembalikan GetLastError adalah sebagai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Pemanggil tidak memiliki hak istimewa Administrator. Secara default, Windows mengharuskan penelepon memiliki hak istimewa Administrator untuk menghapus instalan paket driver dari penyimpanan driver. |
|
Jalur file INF yang ditentukan tidak ada. |
|
Nilai yang ditentukan untuk Bendera tidak sama dengan nol atau DIURFLAG_NO_REMOVE_INF. |
|
Aplikasi panggilan adalah aplikasi 32-bit yang mencoba mengeksekusi di lingkungan 64-bit, yang tidak diizinkan. Untuk informasi selengkapnya, lihat Menginstal Perangkat pada Sistem 64-Bit. |
Keterangan
Secara umum, aplikasi penghapusan instalasi harus mengatur NeedReboot ke NULL untuk mengarahkan DiUninstallDriver untuk meminta pengguna untuk memulai ulang sistem jika hidupkan ulang diperlukan untuk menyelesaikan penghapusan. Aplikasi harus menyediakan pointer NeedReboot hanya dalam kasus berikut:
- Aplikasi harus memanggil DiUninstallDriver beberapa kali untuk menyelesaikan penghapusan instalasi. Dalam hal ini, aplikasi harus merekam apakah nilai TRUENeedReboot dikembalikan oleh salah satu panggilan ke DiUninstallDriver dan, jika demikian, meminta pengguna untuk memulai ulang sistem setelah panggilan akhir ke DiUninstallDriver kembali.
- Aplikasi harus melakukan operasi yang diperlukan, selain memanggil DiUninstallDriver, sebelum menghidupkan ulang sistem harus terjadi. Jika sistem menghidupkan ulang diperlukan, aplikasi harus menyelesaikan operasi yang diperlukan lalu meminta pengguna untuk memulai ulang sistem.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di windows versi Windows 10 Versi 1703 dan yang lebih baru. |
Target Platform | Desktop |
Header | newdev.h (termasuk Newdev.h) |
Pustaka | Newdev.lib |