ReactOS
0.4.16-dev-297-gc569aee
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
c
d
e
f
g
h
i
l
n
o
p
s
t
u
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
_
c
d
f
i
l
m
o
p
s
t
w
x
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
x
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
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 Wed Nov 27 2024 06:05:41 for ReactOS by
1.9.6