9 #define PI_APPLYPOLICY (2)
11 #if (WINVER >= 0x0500)
15 /* Values returned by GetProfileType */
16 #if (WINVER >= 0x0500)
17 #define PT_TEMPORARY 1
19 #define PT_MANDATORY 4
22 typedef struct _PROFILEINFOA
32 } PROFILEINFOA
, *LPPROFILEINFOA
;
34 typedef struct _PROFILEINFOW
44 } PROFILEINFOW
, *LPPROFILEINFOW
;
46 #if (WINVER >= 0x0502)
47 typedef enum _GPO_LINK
{
52 GPLinkOrganizationalUnit
53 } GPO_LINK
, *PGPO_LINK
;
55 typedef struct _GROUP_POLICY_OBJECTA
{
64 struct _GROUP_POLICY_OBJECTA
*pNext
;
65 struct _GROUP_POLICY_OBJECTA
*pPrev
;
69 } GROUP_POLICY_OBJECTA
, *PGROUP_POLICY_OBJECTA
;
71 typedef struct _GROUP_POLICY_OBJECTW
{
80 struct _GROUP_POLICY_OBJECTW
*pNext
;
81 struct _GROUP_POLICY_OBJECTW
*pPrev
;
85 } GROUP_POLICY_OBJECTW
, *PGROUP_POLICY_OBJECTW
;
89 BOOL WINAPI
InitializeProfiles (VOID
);
90 BOOL WINAPI
CreateUserProfileA (PSID
, LPCSTR
);
91 BOOL WINAPI
CreateUserProfileW (PSID
, LPCWSTR
);
92 BOOL WINAPI
CreateUserProfileExA (PSID
, LPCSTR
, LPCSTR
, LPSTR
, DWORD
, BOOL
);
93 BOOL WINAPI
CreateUserProfileExW (PSID
, LPCWSTR
, LPCWSTR
, LPWSTR
, DWORD
, BOOL
);
94 BOOL WINAPI
AddDesktopItemA (BOOL
, LPCSTR
, LPCSTR
, LPCSTR
, INT
, LPCSTR
, WORD
, INT
);
95 BOOL WINAPI
AddDesktopItemW (BOOL
, LPCWSTR
, LPCWSTR
, LPCWSTR
, INT
, LPCWSTR
, WORD
, INT
);
96 BOOL WINAPI
DeleteDesktopItemA (BOOL
, LPCSTR
);
97 BOOL WINAPI
DeleteDesktopItemW (BOOL
, LPCWSTR
);
98 BOOL WINAPI
CreateGroupA (LPCSTR
, BOOL
);
99 BOOL WINAPI
CreateGroupW (LPCWSTR
, BOOL
);
100 BOOL WINAPI
DeleteGroupA (LPCSTR
, BOOL
);
101 BOOL WINAPI
DeleteGroupW (LPCWSTR
, BOOL
);
102 BOOL WINAPI
AddItemA (LPCSTR
, BOOL
, LPCSTR
, LPCSTR
, LPCSTR
, INT
, LPCSTR
, WORD
, INT
);
103 BOOL WINAPI
AddItemW (LPCWSTR
, BOOL
, LPCWSTR
, LPCWSTR
, LPCWSTR
, INT
, LPCWSTR
, WORD
, INT
);
104 BOOL WINAPI
DeleteItemA (LPCSTR
, BOOL
, LPCSTR
, BOOL
);
105 BOOL WINAPI
DeleteItemW (LPCWSTR
, BOOL
, LPCWSTR
, BOOL
);
106 BOOL WINAPI
CopyProfileDirectoryA(LPCSTR
, LPCSTR
, DWORD
);
107 BOOL WINAPI
CopyProfileDirectoryW(LPCWSTR
, LPCWSTR
, DWORD
);
108 PSID WINAPI
GetUserSid(HANDLE
);
109 BOOL WINAPI
CopySystemProfile(ULONG
);
112 #if(WINVER >= 0x0500)
113 BOOL WINAPI
DeleteProfileA(LPCSTR
, LPCSTR
, LPCSTR
);
114 BOOL WINAPI
DeleteProfileW(LPCWSTR
, LPCWSTR
, LPCWSTR
);
116 BOOL WINAPI
LoadUserProfileA (HANDLE
, LPPROFILEINFOA
);
117 BOOL WINAPI
LoadUserProfileW (HANDLE
, LPPROFILEINFOW
);
118 BOOL WINAPI
UnloadUserProfile (HANDLE
, HANDLE
);
120 BOOL WINAPI
GetAllUsersProfileDirectoryA (LPSTR
, LPDWORD
);
121 BOOL WINAPI
GetAllUsersProfileDirectoryW (LPWSTR
, LPDWORD
);
122 BOOL WINAPI
GetDefaultUserProfileDirectoryA (LPSTR
, LPDWORD
);
123 BOOL WINAPI
GetDefaultUserProfileDirectoryW (LPWSTR
, LPDWORD
);
124 BOOL WINAPI
GetProfilesDirectoryA(LPSTR
, LPDWORD
);
125 BOOL WINAPI
GetProfilesDirectoryW(LPWSTR
, LPDWORD
);
126 BOOL WINAPI
GetUserProfileDirectoryA(HANDLE
, LPSTR
, LPDWORD
);
127 BOOL WINAPI
GetUserProfileDirectoryW(HANDLE
, LPWSTR
, LPDWORD
);
128 #if (WINVER >= 0x0500)
129 BOOL WINAPI
GetProfileType(PDWORD
);
132 BOOL WINAPI
CreateEnvironmentBlock(LPVOID
*, HANDLE
, BOOL
);
133 BOOL WINAPI
DestroyEnvironmentBlock(LPVOID
);
134 #if (WINVER >= 0x0500)
135 BOOL WINAPI
ExpandEnvironmentStringsForUserA (HANDLE
, LPCSTR
, LPSTR
, DWORD
);
136 BOOL WINAPI
ExpandEnvironmentStringsForUserW (HANDLE
, LPCWSTR
, LPWSTR
, DWORD
);
139 #if (WINVER >= 0x0502)
144 _In_ LPCSTR pMachineName
,
146 _In_ GUID
*pGuidExtension
,
147 _Out_ PGROUP_POLICY_OBJECTA
*ppGPOList
153 _In_ LPCWSTR pMachineName
,
155 _In_ GUID
*pGuidExtension
,
156 _Out_ PGROUP_POLICY_OBJECTW
*ppGPOList
160 HANDLE WINAPI
EnterCriticalPolicySection (BOOL
);
161 BOOL WINAPI
LeaveCriticalPolicySection (HANDLE
);
162 BOOL WINAPI
RefreshPolicy (BOOL
);
163 #if (WINVER >= 0x0500)
164 BOOL WINAPI
RefreshPolicyEx (BOOL
, DWORD
);
166 BOOL WINAPI
RegisterGPNotification (HANDLE
, BOOL
);
167 BOOL WINAPI
UnregisterGPNotification (HANDLE
);
170 typedef PROFILEINFOW PROFILEINFO
;
171 typedef LPPROFILEINFOW LPPROFILEINFO
;
173 #define CreateUserProfile CreateUserProfileW
174 #define CreateUserProfileEx CreateUserProfileExW
175 #define AddDesktopItem AddDesktopItemW
176 #define DeleteDesktopItem DeleteDesktopItemW
177 #define CreateGroup CreateGroupW
178 #define DeleteGroup DeleteGroupW
179 #define AddItem AddItemW
180 #define DeleteItem DeleteItemW
181 #define CopyProfileDirectory CopyProfileDirectoryW
183 #if (WINVER >= 0x0500)
184 #define DeleteProfile DeleteProfileW
186 #define LoadUserProfile LoadUserProfileW
187 #define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryW
188 #define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryW
189 #define GetProfilesDirectory GetProfilesDirectoryW
190 #define GetUserProfileDirectory GetUserProfileDirectoryW
191 #if (WINVER >= 0x0500)
192 #define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserW
194 #if (WINVER >= 0x0502)
195 typedef GROUP_POLICY_OBJECTW GROUP_POLICY_OBJECT
;
196 typedef PGROUP_POLICY_OBJECTW PGROUP_POLICY_OBJECT
;
197 #define GetAppliedGPOList GetAppliedGPOListW
200 typedef PROFILEINFOA PROFILEINFO
;
201 typedef LPPROFILEINFOA LPPROFILEINFO
;
203 #define CreateUserProfile CreateUserProfileA
204 #define CreateUserProfileEx CreateUserProfileExA
205 #define AddDesktopItem AddDesktopItemA
206 #define DeleteDesktopItem DeleteDesktopItemA
207 #define CreateGroup CreateGroupA
208 #define DeleteGroup DeleteGroupA
209 #define AddItem AddItemA
210 #define DeleteItem DeleteItemA
211 #define CopyProfileDirectory CopyProfileDirectoryA
213 #if (WINVER >= 0x0500)
214 #define DeleteProfile DeleteProfileA
216 #define LoadUserProfile LoadUserProfileA
217 #define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryA
218 #define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryA
219 #define GetProfilesDirectory GetProfilesDirectoryA
220 #define GetUserProfileDirectory GetUserProfileDirectoryA
221 #if (WINVER >= 0x0500)
222 #define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserA
224 #if (WINVER >= 0x0502)
225 typedef GROUP_POLICY_OBJECTA GROUP_POLICY_OBJECT
;
226 typedef PGROUP_POLICY_OBJECTA PGROUP_POLICY_OBJECT
;
227 #define GetAppliedGPOList GetAppliedGPOListA
235 #endif /* _USERENV_H */