libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
i
l
m
n
o
p
s
t
u
v
w
Variables
_
a
b
c
d
g
i
l
m
n
p
r
s
u
w
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
Enumerator
a
b
c
d
e
h
j
l
m
n
s
t
u
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
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
c
d
e
f
m
o
p
r
s
t
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Related Functions
a
c
d
e
h
i
j
m
n
o
p
r
s
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
~
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
~
Variables
a
b
c
d
e
g
h
i
l
m
n
o
p
r
s
t
u
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
Enumerations
Enumerator
Macros
_
a
b
c
f
i
j
l
n
o
p
r
t
u
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Directory.hpp
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright © 2002 by J.M.McGuiness, coder@hussar.me.uk
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*/
18
19
#
include
"LoadLibraryWrapper.hpp"
20
#
include
"SecurityDescriptor.hpp"
21
22
#
include
"../../../core/ttypes.hpp"
23
24
namespace
jmmcg
{
namespace
LIBJMMCG_VER_NAMESPACE
{
namespace
NTUtils
{
25
26
const
tchar
dir_separator_s
[]=
_T
(
"\\"
);
27
const
tchar
wildcard
[]=
_T
(
"*"
);
28
29
/////////////////////////////////////////////////////////////////////////////
30
31
class
AFX_EXT_CLASS
Directory
:
virtual
protected
LoadLibraryWrapper
{
32
public
:
33
typedef
win_exception
exception_type
;
34
35
__stdcall
Directory
(
const
tstring
&
unc_to_dir
,
const
TCHAR
*
const
machine
,
const
TCHAR
*
user
,
const
DWORD
access
);
36
__stdcall
~
Directory
(
void
);
37
38
const
tstring
&
__fastcall
UNC
(
void
)
const
noexcept
(
true
) {
39
return
unc
;
40
}
41
42
private
:
43
typedef
/*WINADVAPI*/
BOOL
(
WINAPI
*
const
SetFileSecurityType
)(
LPCTSTR
lpFileName
,
SECURITY_INFORMATION
SecurityInformation
,
PSECURITY_DESCRIPTOR
pSecurityDescriptor
);
44
45
const
SetFileSecurityType
pSetFileSecurity
;
46
const
tstring
unc
;
47
SecurityDescriptor
sd
;
48
49
// Stop any compiler silliness.
50
Directory
(
void
)
noexcept
(
true
);
51
Directory
(
const
Directory
&)
noexcept
(
true
);
52
Directory
&
operator
=(
const
Directory
&)
noexcept
(
true
);
53
};
54
55
} } }
experimental
NT-based
NTSpecific
Directory.hpp
Generated on Tue May 11 2021 17:21:39 for libjmmcg by
1.9.2