PROTOCOL_UNINSTALL fungsi panggilan balik (ndis.h)

NDIS memanggil fungsi ProtocolUninstall driver protokol untuk melakukan operasi pembersihan sebelum driver protokol dihapus instalannya.

Catatan Anda harus mendeklarasikan fungsi dengan menggunakan jenis PROTOCOL_UNINSTALL . Untuk informasi selengkapnya, lihat bagian Contoh berikut ini.
 

Sintaks

PROTOCOL_UNINSTALL ProtocolUninstall;

void ProtocolUninstall()
{...}

Mengembalikan nilai

Tidak ada

Keterangan

Fungsi ProtocolUninstall bersifat opsional. Driver protokol mendaftarkan titik masuk, jika ada, untuk fungsi ini dalam NDIS_PROTOCOL_DRIVER_CHARACTERISTICS struktur yang diteruskannya ke Fungsi NdisRegisterProtocolDriver .

Menanggapi permintaan pengguna untuk menghapus pengandar protokol, NDIS memanggil fungsi ProtocolUninstall driver protokol. NDIS memanggil ProtocolUninstall setelah memanggil driver protokol ProtocolUnbindAdapterEx berfungsi sekali untuk setiap adaptor terikat.

ProtocolUninstall melakukan operasi pembersihan yang ditentukan driver. Misalnya, ProtocolUninstall dapat meminta klien untuk menutup handel terbuka ke objek perangkat yang diekspor driver protokol. Sampai semua handel tersebut ditutup, manajer I/O tidak akan memanggil rutinitas Bongkar bahwa driver protokol yang terdaftar di objek driver diteruskan ke rutinitas DriverEntry-nya . Setelah semua handel ditutup, ProtocolUninstall dapat memanggil NdisDeregisterDeviceEx untuk menghapus objek perangkat apa pun yang dibuat oleh driver protokol.

Protokol tepi bawah driver perantara mungkin memerlukan fungsi ProtocolUninstall . Driver perantara dapat merilis sumber daya tepi protokolnya di ProtocolUninstall sebelum NDIS memanggil fungsi MiniportDriverUnload-nya .

NDIS memanggil ProtocolUninstall di IRQL = PASSIVE_LEVEL.

Contoh

Untuk menentukan fungsi ProtocolUninstall , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.

Misalnya, untuk menentukan fungsi ProtocolUninstall yang diberi nama "MyUninstall", gunakan jenis PROTOCOL_UNINSTALL seperti yang ditunjukkan dalam contoh kode ini:

PROTOCOL_UNINSTALL MyUninstall;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyUninstall(void)
  {...}

Jenis fungsi PROTOCOL_UNINSTALL ditentukan dalam file header Ndis.h. Untuk mengidentifikasi kesalahan secara lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi PROTOCOL_UNINSTALL dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi dengan Menggunakan Jenis Peran Fungsi untuk Driver NDIS.

Untuk informasi tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL PASSIVE_LEVEL

Lihat juga

DriverEntry

MiniportDriverUnload

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS

NdisDeregisterDeviceEx

NdisRegisterProtocolDriver

ProtocolUnbindAdapterEx

Membongkar