ReactOS
0.4.16-dev-1093-g93e9710
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
m
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
_
a
b
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
ntobjfs.h
Go to the documentation of this file.
1
/*
2
* Copyright 2004 Martin Fuchs
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with this library; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
20
//
21
// Explorer clone
22
//
23
// ntobjfs.h
24
//
25
// Martin Fuchs, 31.01.2004
26
//
27
28
29
enum
OBJECT_TYPE
{
30
DIRECTORY_OBJECT
,
SYMBOLICLINK_OBJECT
,
31
MUTANT_OBJECT
,
SECTION_OBJECT
,
EVENT_OBJECT
,
SEMAPHORE_OBJECT
,
32
TIMER_OBJECT
,
KEY_OBJECT
,
EVENTPAIR_OBJECT
,
IOCOMPLETITION_OBJECT
,
33
DEVICE_OBJECT
,
FILE_OBJECT
,
CONTROLLER_OBJECT
,
PROFILE_OBJECT
,
34
TYPE_OBJECT
,
DESKTOP_OBJECT
,
WINDOWSTATION_OBJECT
,
DRIVER_OBJECT
,
35
TOKEN_OBJECT
,
PROCESS_OBJECT
,
THREAD_OBJECT
,
ADAPTER_OBJECT
,
PORT_OBJECT
,
36
37
UNKNOWN_OBJECT_TYPE
=-1
38
};
39
40
struct
RtlAnsiString
{
41
WORD
string_len
;
42
WORD
alloc_len
;
43
LPSTR
string_ptr
;
44
};
45
46
struct
RtlUnicodeString
{
47
WORD
string_len
;
48
WORD
alloc_len
;
49
LPWSTR
string_ptr
;
50
};
51
52
struct
NtObjectInfo
{
53
RtlUnicodeString
name
;
54
RtlUnicodeString
type
;
55
BYTE
padding
[16];
56
};
57
58
struct
OpenStruct
{
59
DWORD
size
;
60
DWORD
_1
;
61
RtlUnicodeString
*
string
;
62
DWORD
_3
;
63
DWORD
_4
;
64
DWORD
_5
;
65
};
66
67
struct
NtObject
{
68
DWORD
_0
;
69
DWORD
_1
;
70
DWORD
handle_count
;
71
DWORD
reference_count
;
72
DWORD
_4
;
73
DWORD
_5
;
74
DWORD
_6
;
75
DWORD
_7
;
76
DWORD
_8
;
77
DWORD
_9
;
78
DWORD
_A
;
79
DWORD
_B
;
80
FILETIME
creation_time
;
81
};
82
83
85
struct
NtObjEntry
:
public
Entry
86
{
87
NtObjEntry
(
Entry
*
parent
,
OBJECT_TYPE
type
) :
Entry
(
parent
,
ET_NTOBJS
),
_type
(
type
) {}
88
89
OBJECT_TYPE
_type
;
90
91
protected
:
92
NtObjEntry
(
OBJECT_TYPE
type
) :
Entry
(
ET_NTOBJS
),
_type
(
type
) {}
93
94
virtual
bool
get_path
(
PTSTR
path
,
size_t
path_count)
const
;
95
virtual
BOOL
launch_entry
(
HWND
hwnd
,
UINT
nCmdShow);
96
};
97
98
100
struct
NtObjDirectory
:
public
NtObjEntry
,
public
Directory
101
{
102
NtObjDirectory
(
LPCTSTR
root_path)
103
:
NtObjEntry
(
DIRECTORY_OBJECT
)
104
{
105
_path
=
_tcsdup
(root_path);
106
}
107
108
NtObjDirectory
(
Entry
*
parent
,
LPCTSTR
path
)
109
:
NtObjEntry
(
parent
,
DIRECTORY_OBJECT
)
110
{
111
_path
=
_tcsdup
(
path
);
112
}
113
114
~NtObjDirectory
()
115
{
116
free
(
_path
);
117
_path
=
NULL
;
118
}
119
120
virtual
void
read_directory
(
int
scan_flags=0);
121
virtual
Entry
*
find_entry
(
const
void
*);
122
};
free
#define free
Definition:
debug_ros.c:5
NULL
#define NULL
Definition:
types.h:112
parent
r parent
Definition:
btrfs.c:3010
ET_NTOBJS
@ ET_NTOBJS
Definition:
entries.h:38
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
WORD
unsigned short WORD
Definition:
ntddk_ex.h:93
type
GLuint GLuint GLsizei GLenum type
Definition:
gl.h:1545
_tcsdup
#define _tcsdup
Definition:
tchar.h:625
void
Definition:
nsiface.idl:2307
UINT
unsigned int UINT
Definition:
ndis.h:50
OBJECT_TYPE
OBJECT_TYPE
Definition:
ntobjenum.h:13
OBJECT_TYPE
OBJECT_TYPE
Definition:
ntobjfs.h:29
IOCOMPLETITION_OBJECT
@ IOCOMPLETITION_OBJECT
Definition:
ntobjfs.h:32
ADAPTER_OBJECT
@ ADAPTER_OBJECT
Definition:
ntobjfs.h:35
KEY_OBJECT
@ KEY_OBJECT
Definition:
ntobjfs.h:32
TOKEN_OBJECT
@ TOKEN_OBJECT
Definition:
ntobjfs.h:35
TYPE_OBJECT
@ TYPE_OBJECT
Definition:
ntobjfs.h:34
CONTROLLER_OBJECT
@ CONTROLLER_OBJECT
Definition:
ntobjfs.h:33
MUTANT_OBJECT
@ MUTANT_OBJECT
Definition:
ntobjfs.h:31
WINDOWSTATION_OBJECT
@ WINDOWSTATION_OBJECT
Definition:
ntobjfs.h:34
EVENT_OBJECT
@ EVENT_OBJECT
Definition:
ntobjfs.h:31
SYMBOLICLINK_OBJECT
@ SYMBOLICLINK_OBJECT
Definition:
ntobjfs.h:30
FILE_OBJECT
@ FILE_OBJECT
Definition:
ntobjfs.h:33
DESKTOP_OBJECT
@ DESKTOP_OBJECT
Definition:
ntobjfs.h:34
SECTION_OBJECT
@ SECTION_OBJECT
Definition:
ntobjfs.h:31
DIRECTORY_OBJECT
@ DIRECTORY_OBJECT
Definition:
ntobjfs.h:30
SEMAPHORE_OBJECT
@ SEMAPHORE_OBJECT
Definition:
ntobjfs.h:31
DRIVER_OBJECT
@ DRIVER_OBJECT
Definition:
ntobjfs.h:34
DEVICE_OBJECT
@ DEVICE_OBJECT
Definition:
ntobjfs.h:33
PROCESS_OBJECT
@ PROCESS_OBJECT
Definition:
ntobjfs.h:35
PORT_OBJECT
@ PORT_OBJECT
Definition:
ntobjfs.h:35
EVENTPAIR_OBJECT
@ EVENTPAIR_OBJECT
Definition:
ntobjfs.h:32
UNKNOWN_OBJECT_TYPE
@ UNKNOWN_OBJECT_TYPE
Definition:
ntobjfs.h:37
PROFILE_OBJECT
@ PROFILE_OBJECT
Definition:
ntobjfs.h:33
THREAD_OBJECT
@ THREAD_OBJECT
Definition:
ntobjfs.h:35
TIMER_OBJECT
@ TIMER_OBJECT
Definition:
ntobjfs.h:32
get_path
static Character const *__cdecl get_path()
Definition:
popen.cpp:172
Directory
base for all directory entries
Definition:
entries.h:138
Directory::_path
void * _path
Definition:
entries.h:143
Entry
base of all file and directory entries
Definition:
entries.h:83
NtObjDirectory
NtObj file system directory-entry.
Definition:
ntobjfs.h:101
NtObjDirectory::NtObjDirectory
NtObjDirectory(Entry *parent, LPCTSTR path)
Definition:
ntobjfs.h:108
NtObjDirectory::~NtObjDirectory
~NtObjDirectory()
Definition:
ntobjfs.h:114
NtObjDirectory::find_entry
virtual Entry * find_entry(const void *)
Definition:
ntobjfs.cpp:359
NtObjDirectory::read_directory
virtual void read_directory(int scan_flags=0)
Definition:
ntobjfs.cpp:173
NtObjDirectory::NtObjDirectory
NtObjDirectory(LPCTSTR root_path)
Definition:
ntobjfs.h:102
NtObjEntry
NtObj file system file-entry.
Definition:
ntobjfs.h:86
NtObjEntry::NtObjEntry
NtObjEntry(OBJECT_TYPE type)
Definition:
ntobjfs.h:92
NtObjEntry::_type
OBJECT_TYPE _type
Definition:
ntobjfs.h:89
NtObjEntry::NtObjEntry
NtObjEntry(Entry *parent, OBJECT_TYPE type)
Definition:
ntobjfs.h:87
NtObjEntry::launch_entry
virtual BOOL launch_entry(HWND hwnd, UINT nCmdShow)
Definition:
ntobjfs.cpp:391
NtObjectInfo
Definition:
ntobjfs.h:52
NtObjectInfo::name
RtlUnicodeString name
Definition:
ntobjfs.h:53
NtObjectInfo::type
RtlUnicodeString type
Definition:
ntobjfs.h:54
NtObjectInfo::padding
BYTE padding[16]
Definition:
ntobjfs.h:55
NtObject
Definition:
ntobjfs.h:67
NtObject::handle_count
DWORD handle_count
Definition:
ntobjfs.h:70
NtObject::_A
DWORD _A
Definition:
ntobjfs.h:78
NtObject::_9
DWORD _9
Definition:
ntobjfs.h:77
NtObject::_7
DWORD _7
Definition:
ntobjfs.h:75
NtObject::_6
DWORD _6
Definition:
ntobjfs.h:74
NtObject::_B
DWORD _B
Definition:
ntobjfs.h:79
NtObject::_8
DWORD _8
Definition:
ntobjfs.h:76
NtObject::reference_count
DWORD reference_count
Definition:
ntobjfs.h:71
NtObject::_4
DWORD _4
Definition:
ntobjfs.h:72
NtObject::_5
DWORD _5
Definition:
ntobjfs.h:73
NtObject::_1
DWORD _1
Definition:
ntobjfs.h:69
NtObject::creation_time
FILETIME creation_time
Definition:
ntobjfs.h:80
NtObject::_0
DWORD _0
Definition:
ntobjfs.h:68
OpenStruct
Definition:
ntobjfs.h:58
OpenStruct::_3
DWORD _3
Definition:
ntobjfs.h:62
OpenStruct::_5
DWORD _5
Definition:
ntobjfs.h:64
OpenStruct::string
RtlUnicodeString * string
Definition:
ntobjfs.h:61
OpenStruct::size
DWORD size
Definition:
ntobjfs.h:59
OpenStruct::_1
DWORD _1
Definition:
ntobjfs.h:60
OpenStruct::_4
DWORD _4
Definition:
ntobjfs.h:63
RtlAnsiString
Definition:
ntobjfs.h:40
RtlAnsiString::alloc_len
WORD alloc_len
Definition:
ntobjfs.h:42
RtlAnsiString::string_ptr
LPSTR string_ptr
Definition:
ntobjfs.h:43
RtlAnsiString::string_len
WORD string_len
Definition:
ntobjfs.h:41
RtlUnicodeString
Definition:
ntobjfs.h:46
RtlUnicodeString::string_ptr
LPWSTR string_ptr
Definition:
ntobjfs.h:49
RtlUnicodeString::alloc_len
WORD alloc_len
Definition:
ntobjfs.h:48
RtlUnicodeString::string_len
WORD string_len
Definition:
ntobjfs.h:47
_FILETIME
Definition:
mapidefs.h:60
path
Definition:
wbemprox_private.h:188
hwnd
_In_ LONG _In_ HWND hwnd
Definition:
winddi.h:4023
LPSTR
char * LPSTR
Definition:
xmlstorage.h:182
PTSTR
CHAR * PTSTR
Definition:
xmlstorage.h:191
LPWSTR
WCHAR * LPWSTR
Definition:
xmlstorage.h:184
LPCTSTR
const CHAR * LPCTSTR
Definition:
xmlstorage.h:193
BYTE
unsigned char BYTE
Definition:
xxhash.c:193
modules
rosapps
applications
explorer-old
shell
ntobjfs.h
Generated on Mon May 5 2025 06:06:34 for ReactOS by
1.9.6