Menentukan Fungsi Bongkar
Driver callout harus menyediakan fungsi unload. Sistem operasi memanggil fungsi ini ketika driver callout dibongkar dari sistem. Fungsi bongkar driver callout harus menjamin bahwa callout driver callout tidak terdaftar dari mesin filter sebelum driver callout dibongkar dari memori sistem. Driver callout tidak dapat dibongkar dari sistem jika tidak menyediakan fungsi unload.
Bagaimana driver callout menentukan fungsi unload tergantung pada apakah driver callout didasarkan pada Windows Driver Model (WDM) atau Windows Driver Frameworks (WDF).
Driver Callout WDM-Based
Jika driver callout didasarkan pada WDM, ia menentukan fungsi Unload dalam fungsi DriverEntry-nya . Contohnya:
VOID
Unload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
...
// Specify the callout driver's Unload function
DriverObject->DriverUnload = Unload;
...
}
Driver Callout WDF-Based
Jika driver callout didasarkan pada WDF, driver tersebut menentukan fungsi EvtDriverUnload dalam fungsi DriverEntry-nya . Contohnya:
VOID
Unload(
IN WDFDRIVER Driver
);
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
NTSTATUS status;
WDF_DRIVER_CONFIG config;
WDFDRIVER driver;
...
// Initialize the driver config structure
WDF_DRIVER_CONFIG_INIT(&config, NULL);
// Indicate that this is a non-PNP driver
config.DriverInitFlags = WdfDriverInitNonPnpDriver;
// Specify the callout driver's Unload function
config.EvtDriverUnload = Unload;
// Create a WDFDRIVER object
status =
WdfDriverCreate(
DriverObject,
RegistryPath,
NULL,
&config,
&driver
);
...
return status;
}
Untuk informasi tentang cara menerapkan fungsi bongkar driver callout, lihat Membongkar Driver Callout.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk