ReactOS
0.4.16-dev-106-g10b08aa
unload.cpp
Go to the documentation of this file.
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.
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
}
TRUE
#define TRUE
Definition:
types.h:120
FALSE
#define FALSE
Definition:
types.h:117
KeDelayExecutionThread
#define KeDelayExecutionThread(mode, foo, t)
Definition:
env_spec_w32.h:484
void
Definition:
nsiface.idl:2307
KernelMode
#define KernelMode
Definition:
asm.h:34
_DRIVER_OBJECT
Definition:
iotypes.h:2274
_UDFData::UDFFlags
uint32 UDFFlags
Definition:
udf_common.h:627
NTAPI
#define NTAPI
Definition:
typedefs.h:36
IN
#define IN
Definition:
typedefs.h:39
UDF_DATA_FLAGS_BEING_UNLOADED
#define UDF_DATA_FLAGS_BEING_UNLOADED
Definition:
udf_common.h:636
udffs.h
UDFGlobalData
UDFData UDFGlobalData
Definition:
udfinit.cpp:25
UDFPrint
#define UDFPrint(Args)
Definition:
udffs.h:223
_LARGE_INTEGER
Definition:
typedefs.h:103
_LARGE_INTEGER::QuadPart
LONGLONG QuadPart
Definition:
typedefs.h:114
UDFDriverUnload
VOID NTAPI UDFDriverUnload(IN PDRIVER_OBJECT DriverObject)
Definition:
unload.cpp:10
DriverObject
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition:
wdfdriver.h:213
drivers
filesystems
udfs
unload.cpp
Generated on Tue Oct 8 2024 06:09:11 for ReactOS by
1.9.6