Bagikan melalui


DIF_REMOVE

Permintaan DIF_REMOVE memberi tahu alat penginstal bahwa Windows akan menghapus perangkat dan memberi pemasang kesempatan untuk mempersiapkan penghapusan.

Ketika Dikirim

Saat pengguna menghapus perangkat di Manajer Perangkat.

Siapa yang Menangani

Penginstal Bersama Kelas

Dapat menangani

Penginstal Bersama Perangkat

Dapat menangani

Penginstal Kelas

Dapat menangani

Input Alat Penginstal

DeviceInfoSet
Menyediakan handel ke set informasi perangkat yang berisi perangkat yang akan dihapus.

DeviceInfoData
Menyediakan pointer ke struktur SP_DEVINFO_DATA untuk perangkat dalam kumpulan informasi perangkat.

Parameter Penginstalan Perangkat
Ada parameter penginstalan perangkat (SP_DEVINSTALL_PARAMS) yang terkait dengan DeviceInfoData.

Parameter Penginstalan Kelas
Struktur SP_REMOVEDEVICE_PARAMS mungkin dikaitkan dengan DeviceInfoData.

Tidak ada parameter penginstalan kelas untuk permintaan jika bendera DI_CLASSINSTALLPARAMS jelas dalam SP_DEVINSTALL_PARAMS. Dalam hal ini, tidak ada profil perangkat keras yang ditentukan dan perangkat akan dihapus dari sistem secara keseluruhan.

Output Alat Penginstal

Tidak

Nilai Pengembalian Alat Penginstal

Penginstal bersama dapat mengembalikan kode kesalahan NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED, atau Win32.

Jika penginstal kelas berhasil menangani permintaan ini dan SetupDiCallClassInstaller kemudian harus memanggil handler default, penginstal kelas mengembalikan ERROR_DI_DO_DEFAULT.

Jika penginstal kelas berhasil menangani permintaan ini, termasuk langsung memanggil handler default, penginstal kelas harus mengembalikan NO_ERROR dan SetupDiCallClassInstaller kemudian tidak akan memanggil handler default lagi.

Catatan Penginstal kelas dapat langsung memanggil handler default, tetapi penginstal kelas tidak boleh mencoba menggantikan operasi handler default.

Untuk informasi selengkapnya tentang memanggil handler default, lihat Memanggil Penangan Kode DIF Default.

Jika penginstal kelas mengalami kesalahan, penginstal harus mengembalikan kode kesalahan Win32 yang sesuai dan SetupDiCallClassInstaller tidak akan kemudian memanggil handler default.

Handler Kode DIF Default

SetupDiRemoveDevice

Operasi Alat Penginstal

Menanggapi permintaan DIF_REMOVE, alat penginstal biasanya melakukan beberapa operasi pembersihan. Dalam hal ini, penginstal bersama mengembalikan NO_ERROR dan penginstal kelas mengembalikan ERROR_DI_DO_DEFAULT.

Jika alat penginstal menentukan bahwa perangkat tidak boleh dihapus, alat penginstal gagal pada permintaan DIF dengan mengembalikan kode kesalahan Win32. Jika bendera DI_QUIETINSTALL jelas, alat penginstal harus menampilkan pesan kepada pengguna yang menjelaskan mengapa perangkat tidak dihapus.

Penginstal bersama tidak boleh mencoba menghapus perangkat itu sendiri dengan memanggil SetupDiRemoveDevice. Penginstal bersama biasanya menangani permintaan ini dalam pascaproscessing, setelah perangkat berhasil dihapus.

Jika penginstal bersama harus menghapus informasi dalam registri, misalnya, penginstal bersama harus melakukannya dalam pascaproses dan hanya jika penginstal sebelumnya berhasil melakukan permintaan penghapusan. Dalam pass pra-pemrosesannya, penginstal bersama harus menyimpan informasi registri dalam parameter konteksnya dan mengembalikan ERROR_DI_POSTPROCESSING_REQUIRED untuk meminta postprocessing. Ketika Windows memanggil penginstal bersama untuk pascaproscesing permintaan DIF ini, penginstal bersama harus memeriksa apakah status DIF NO_ERROR dan kemudian menghapus informasi registri. Jika penginstal bersama menghapus informasi registri dalam pass pra-pemrosesannya dan penginstal kelas (atau penginstal bersama lainnya) gagal DIF_REMOVE, penginstal bersama dapat meninggalkan perangkat dalam keadaan yang tidak dapat diprediksi.

Alat penginstal tidak boleh menghapus file saat menangani permintaan DIF ini, jika file sedang digunakan oleh perangkat lain.

Windows mengirimkan permintaan DIF ini sebelum memulai penghapusan kueri PnP dan menghapus pemrosesan.

Untuk informasi selengkapnya tentang kode DIF, lihat Menangani Kode DIF.

Persyaratan

Versi

Didukung di Microsoft Windows 2000 dan versi Windows yang lebih baru.

Header

Setupapi.h (termasuk Setupapi.h)

Lihat juga

SetupDiRemoveDevice

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_REMOVEDEVICE_PARAMS