xref: /reactos/drivers/filesystems/udfs/unload.cpp (revision 40462c92)
1 ////////////////////////////////////////////////////////////////////
2 // Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
3 // All rights reserved
4 // This file was released under the GPLv2 on June 2015.
5 ////////////////////////////////////////////////////////////////////
6 #include "udffs.h"
7 
8 VOID
9 NTAPI
10 UDFDriverUnload(
11     IN PDRIVER_OBJECT DriverObject
12     )
13 {
14 //    UNICODE_STRING uniWin32NameString;
15     LARGE_INTEGER delay;
16 
17     //
18     // All *THIS* driver needs to do is to delete the device object and the
19     // symbolic link between our device name and the Win32 visible name.
20     //
21     // Almost every other driver ever written would need to do a
22     // significant amount of work here deallocating stuff.
23     //
24 
25     UDFPrint( ("UDF: Unloading!!\n") );
26 
27     // prevent mount oparations
28     UDFGlobalData.UDFFlags |= UDF_DATA_FLAGS_BEING_UNLOADED;
29 
30     // wait for all volumes to be dismounted
31     delay.QuadPart = 10*1000*1000*10;
32     while(TRUE) {
33         UDFPrint(("Poll...\n"));
34         KeDelayExecutionThread(KernelMode, FALSE, &delay);
35     }
36 
37     // Create counted string version of our Win32 device name.
38 
39 
40 //    RtlInitUnicodeString( &uniWin32NameString, DOS_DEVICE_NAME );
41 
42 
43     // Delete the link from our device name to a name in the Win32 namespace.
44 
45 
46 //    IoDeleteSymbolicLink( &uniWin32NameString );
47 
48 
49     // Finally delete our device object
50 
51 
52 //    IoDeleteDevice( DriverObject->DeviceObject );
53 }
54