在NT式驱动中,DriverUnload例程主要负责做删除设备和取消符号链接。而在WDM驱动中,这部分操作被IRP_MN_REMOVE_DEVICE IRP的处理函数所负责,而DriverUnload例程显得变得相对简单。如果在DriverEndry中有申请内存的操作,可以在DriverUnload例程中回收这些内存。
在HelloWDM程序中,目前并没有可回收资源,只有两行log信息,其他什么也没做。
#pragma PAGEDCODE
void HelloWDMUnload(IN PDRIVER_OBJECT DriverObject)
{
PAGED_CODE();
KdPrint(("Enter HelloWDMUnload\n"));
KdPrint(("Leave HelloWDMUnload\n"));
}