1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
//*************************************************************
// userenv.h - Interface for the User Environment Manager
//
// Copyright (c) Microsoft Corporation 1995-1996
// All rights reserved
//
//*************************************************************
#ifndef _INC_USERENV
#define _INC_USERENV
//
// Define API decoration for direct importing of DLL references.
//
#if !defined(_USERENV_)
#define USERENVAPI DECLSPEC_IMPORT
#else
#define USERENVAPI
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define PI_NOUI 0x00000001 // Prevents displaying of messages
#define PI_APPLYPOLICY 0x00000002 // Apply policy
typedef struct _PROFILEINFOA {
DWORD dwSize;
DWORD dwFlags;
LPSTR lpUserName;
LPSTR lpProfilePath;
LPSTR lpDefaultPath;
LPSTR lpServerName;
LPSTR lpPolicyPath;
HANDLE hProfile;
} PROFILEINFOA, FAR * LPPROFILEINFOA;
typedef struct _PROFILEINFOW {
DWORD dwSize;
DWORD dwFlags;
LPWSTR lpUserName;
LPWSTR lpProfilePath;
LPWSTR lpDefaultPath;
LPWSTR lpServerName;
LPWSTR lpPolicyPath;
HANDLE hProfile;
} PROFILEINFOW, FAR * LPPROFILEINFOW;
#ifdef UNICODE
typedef PROFILEINFOW PROFILEINFO;
typedef LPPROFILEINFOW LPPROFILEINFO;
#else
typedef PROFILEINFOA PROFILEINFO;
typedef LPPROFILEINFOA LPPROFILEINFO;
#endif // UNICODE
USERENVAPI
BOOL
WINAPI
LoadUserProfileA(
HANDLE hToken,
LPPROFILEINFOA lpProfileInfo);
USERENVAPI
BOOL
WINAPI
LoadUserProfileW(
HANDLE hToken,
LPPROFILEINFOW lpProfileInfo);
#ifdef UNICODE
#define LoadUserProfile LoadUserProfileW
#else
#define LoadUserProfile LoadUserProfileA
#endif // !UNICODE
USERENVAPI
BOOL
WINAPI
UnloadUserProfile(
HANDLE hToken,
HANDLE hProfile);
USERENVAPI
BOOL
WINAPI
GetProfilesDirectoryA(
LPSTR lpProfilesDir,
LPDWORD lpcchSize);
USERENVAPI
BOOL
WINAPI
GetProfilesDirectoryW(
LPWSTR lpProfilesDir,
LPDWORD lpcchSize);
#ifdef UNICODE
#define GetProfilesDirectory GetProfilesDirectoryW
#else
#define GetProfilesDirectory GetProfilesDirectoryA
#endif // !UNICODE
USERENVAPI
BOOL
WINAPI
GetUserProfileDirectoryA(
HANDLE hToken,
LPSTR lpProfileDir,
LPDWORD lpcchSize);
USERENVAPI
BOOL
WINAPI
GetUserProfileDirectoryW(
HANDLE hToken,
LPWSTR lpProfileDir,
LPDWORD lpcchSize);
#ifdef UNICODE
#define GetUserProfileDirectory GetUserProfileDirectoryW
#else
#define GetUserProfileDirectory GetUserProfileDirectoryA
#endif // !UNICODE
USERENVAPI
BOOL
WINAPI
CreateEnvironmentBlock(
LPVOID *lpEnvironment,
HANDLE hToken,
BOOL bInherit);
USERENVAPI
BOOL
WINAPI
DestroyEnvironmentBlock(
LPVOID lpEnvironment);
#ifdef __cplusplus
}
#endif
#endif // _INC_USERENV
|