MINIPORT_UNLOAD fungsi panggilan balik (ndis.h)

NDIS memanggil fungsi MiniportDriverUnload driver miniport untuk meminta driver melepaskan sumber daya sebelum sistem menyelesaikan operasi pembongkaran driver.

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

Sintaks

MINIPORT_UNLOAD MiniportUnload;

void MiniportUnload(
  [in] PDRIVER_OBJECT DriverObject
)
{...}

Parameter

[in] DriverObject

Penunjuk ke struktur DRIVER_OBJECT yang merupakan objek driver driver.

Nilai kembali

Tidak ada

Keterangan

Driver menentukan titik masuk MiniportDriverUnload saat memanggil Fungsi NdisMRegisterMiniportDriver .

Objek driver yang terkait dengan driver miniport NDIS menentukan rutinitas Unload . Sistem operasi memanggil rutinitas Bongkar ketika semua perangkat layanan driver miniport telah dihapus. NDIS menyediakan rutinitas Bongkar untuk driver NDIS. NDIS memanggil fungsi MiniportDriverUnload driver miniport dari rutinitas Unload .

Fungsionalitas rutin Bongkar adalah khusus driver. Sebagai aturan umum, MiniportDriverUnload harus membatalkan operasi yang dilakukan dalam rutinitas DriverEntry driver.

Driver miniport memanggil Fungsi NdisMDeregisterMiniportDriver dari MiniportDriverUnload.

Selain NdisMDeregisterMiniportDriver, driver perantara juga memanggil Fungsi NdisDeregisterProtocolDriver untuk membatalkan pendaftaran antarmuka protokol driver. MiniportDriverUnload juga harus melakukan operasi pembersihan yang diperlukan, seperti membatalkan alokasi sumber daya antarmuka driver protokol apa pun.

Jika driver miniport mengelola lebih dari satu instans perangkat, seperti driver penyeimbang beban, NDIS tidak akan memanggil MiniportDriverUnload hingga setelah NDIS memanggil fungsi MiniportHaltEx satu kali untuk setiap instans perangkat.

NDIS memanggil MiniportDriverUnload di IRQL = PASSIVE_LEVEL.

Contoh

Untuk menentukan fungsi MiniportDriverUnload , Anda harus terlebih dahulu menyediakan 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 MiniportDriverUnload yang diberi nama "MyDriverUnload", gunakan jenis MINIPORT_UNLOAD seperti yang ditunjukkan dalam contoh kode ini:

MINIPORT_UNLOAD MyDriverUnload;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyDriverUnload(
    PDRIVER_OBJECT  DriverObject
    )
  {...}

Jenis fungsi MINIPORT_UNLOAD 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 MINIPORT_UNLOAD 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

DRIVER_OBJECT

MiniportHaltEx

NdisDeregisterProtocolDriver

NdisMDeregisterMiniportDriver

NdisMRegisterMiniportDriver

Membongkar