Windows NT Driver >> C/C++

DriverUnload()


當驅動程式準備被系統卸載時,DriverUnload()會被系統呼叫,這是驅動程式最後可以釋放資源的地方,若沒有適當的釋放資源,則驅動程式無法被卸載,遇到這種狀況時,系統會提示需要重新開機才可以正確卸載驅動程式。

DriverUnload()副程式定義如下:

void Unload(PDRIVER_OBJECT);

範例:

void Unload(PDRIVER_OBJECT pOurDriver)
{
  UNICODE_STRING usSymboName;
  
  RtlInitUnicodeString(&usSymboName, L"\\DosDevices\\MyDriver");
  IoDeleteSymbolicLink(&ump;sSymboName);
  IoDeleteDevice(pOurDriver->DeviceObject);
}


返回上一頁