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
AddDesktopItemA (BOOL
, LPCSTR
, LPCSTR
, LPCSTR
, INT
, LPCSTR
, WORD
, INT
);
93 BOOL WINAPI
AddDesktopItemW (BOOL
, LPCWSTR
, LPCWSTR
, LPCWSTR
, INT
, LPCWSTR
, WORD
, INT
);
94 BOOL WINAPI
DeleteDesktopItemA (BOOL
, LPCSTR
);
95 BOOL WINAPI
DeleteDesktopItemW (BOOL
, LPCWSTR
);
96 BOOL WINAPI
CreateGroupA (LPCSTR
, BOOL
);
97 BOOL WINAPI
CreateGroupW (LPCWSTR
, BOOL
);
98 BOOL WINAPI
DeleteGroupA (LPCSTR
, BOOL
);
99 BOOL WINAPI
DeleteGroupW (LPCWSTR
, BOOL
);
100 BOOL WINAPI
AddItemA (LPCSTR
, BOOL
, LPCSTR
, LPCSTR
, LPCSTR
, INT
, LPCSTR
, WORD
, INT
);
101 BOOL WINAPI
AddItemW (LPCWSTR
, BOOL
, LPCWSTR
, LPCWSTR
, LPCWSTR
, INT
, LPCWSTR
, WORD
, INT
);
102 BOOL WINAPI
DeleteItemA (LPCSTR
, BOOL
, LPCSTR
, BOOL
);
103 BOOL WINAPI
DeleteItemW (LPCWSTR
, BOOL
, LPCWSTR
, BOOL
);
104 BOOL WINAPI
CopyProfileDirectoryA(LPCSTR
, LPCSTR
, DWORD
);
105 BOOL WINAPI
CopyProfileDirectoryW(LPCWSTR
, LPCWSTR
, DWORD
);
107 BOOL WINAPI
LoadUserProfileA (HANDLE
, LPPROFILEINFOA
);
108 BOOL WINAPI
LoadUserProfileW (HANDLE
, LPPROFILEINFOW
);
109 BOOL WINAPI
UnloadUserProfile (HANDLE
, HANDLE
);
111 BOOL WINAPI
GetAllUsersProfileDirectoryA (LPSTR
, LPDWORD
);
112 BOOL WINAPI
GetAllUsersProfileDirectoryW (LPWSTR
, LPDWORD
);
113 BOOL WINAPI
GetDefaultUserProfileDirectoryA (LPSTR
, LPDWORD
);
114 BOOL WINAPI
GetDefaultUserProfileDirectoryW (LPWSTR
, LPDWORD
);
115 BOOL WINAPI
GetProfilesDirectoryA(LPSTR
, LPDWORD
);
116 BOOL WINAPI
GetProfilesDirectoryW(LPWSTR
, LPDWORD
);
117 BOOL WINAPI
GetUserProfileDirectoryA(HANDLE
, LPSTR
, LPDWORD
);
118 BOOL WINAPI
GetUserProfileDirectoryW(HANDLE
, LPWSTR
, LPDWORD
);
119 #if (WINVER >= 0x0500)
120 BOOL WINAPI
GetProfileType(PDWORD
);
123 BOOL WINAPI
CreateEnvironmentBlock(LPVOID
*, HANDLE
, BOOL
);
124 BOOL WINAPI
DestroyEnvironmentBlock(LPVOID
);
125 #if (WINVER >= 0x0500)
126 BOOL WINAPI
ExpandEnvironmentStringsForUserA (HANDLE
, LPCSTR
, LPSTR
, DWORD
);
127 BOOL WINAPI
ExpandEnvironmentStringsForUserW (HANDLE
, LPCWSTR
, LPWSTR
, DWORD
);
130 #if (WINVER >= 0x0502)
135 _In_ LPCSTR pMachineName
,
137 _In_ GUID
*pGuidExtension
,
138 _Out_ PGROUP_POLICY_OBJECTA
*ppGPOList
144 _In_ LPCWSTR pMachineName
,
146 _In_ GUID
*pGuidExtension
,
147 _Out_ PGROUP_POLICY_OBJECTW
*ppGPOList
151 HANDLE WINAPI
EnterCriticalPolicySection (BOOL
);
152 BOOL WINAPI
LeaveCriticalPolicySection (HANDLE
);
153 BOOL WINAPI
RefreshPolicy (BOOL
);
154 #if (WINVER >= 0x0500)
155 BOOL WINAPI
RefreshPolicyEx (BOOL
, DWORD
);
157 BOOL WINAPI
RegisterGPNotification (HANDLE
, BOOL
);
158 BOOL WINAPI
UnregisterGPNotification (HANDLE
);
161 typedef PROFILEINFOW PROFILEINFO
;
162 typedef LPPROFILEINFOW LPPROFILEINFO
;
164 #define CreateUserProfile CreateUserProfileW
165 #define AddDesktopItem AddDesktopItemW
166 #define DeleteDesktopItem DeleteDesktopItemW
167 #define CreateGroup CreateGroupW
168 #define DeleteGroup DeleteGroupW
169 #define AddItem AddItemW
170 #define DeleteItem DeleteItemW
171 #define CopyProfileDirectory CopyProfileDirectoryW
173 #define LoadUserProfile LoadUserProfileW
174 #define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryW
175 #define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryW
176 #define GetProfilesDirectory GetProfilesDirectoryW
177 #define GetUserProfileDirectory GetUserProfileDirectoryW
178 #if (WINVER >= 0x0500)
179 #define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserW
181 #if (WINVER >= 0x0502)
182 typedef GROUP_POLICY_OBJECTW GROUP_POLICY_OBJECT
;
183 typedef PGROUP_POLICY_OBJECTW PGROUP_POLICY_OBJECT
;
184 #define GetAppliedGPOList GetAppliedGPOListW
187 typedef PROFILEINFOA PROFILEINFO
;
188 typedef LPPROFILEINFOA LPPROFILEINFO
;
190 #define CreateUserProfile CreateUserProfileA
191 #define AddDesktopItem AddDesktopItemA
192 #define DeleteDesktopItem DeleteDesktopItemA
193 #define CreateGroup CreateGroupA
194 #define DeleteGroup DeleteGroupA
195 #define AddItem AddItemA
196 #define DeleteItem DeleteItemA
197 #define CopyProfileDirectory CopyProfileDirectoryA
199 #define LoadUserProfile LoadUserProfileA
200 #define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryA
201 #define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryA
202 #define GetProfilesDirectory GetProfilesDirectoryA
203 #define GetUserProfileDirectory GetUserProfileDirectoryA
204 #if (WINVER >= 0x0500)
205 #define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserA
207 #if (WINVER >= 0x0502)
208 typedef GROUP_POLICY_OBJECTA GROUP_POLICY_OBJECT
;
209 typedef PGROUP_POLICY_OBJECTA PGROUP_POLICY_OBJECT
;
210 #define GetAppliedGPOList GetAppliedGPOListA
218 #endif /* _USERENV_H */