2 * Copyright (C) 2007 Francois Gouget
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.
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.
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 St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_USERENV_H
20 #define __WINE_USERENV_H
25 #define PT_TEMPORARY 0x00000001
26 #define PT_ROAMING 0x00000002
27 #define PT_MANDATORY 0x00000004
29 typedef enum _GPO_LINK
{
34 GPLinkOrganizationalUnit
35 } GPO_LINK
, *PGPO_LINK
;
37 typedef struct _GROUP_POLICY_OBJECTA
{
46 struct _GROUP_POLICY_OBJECTA
*pNext
;
47 struct _GROUP_POLICY_OBJECTA
*pPrev
;
51 } GROUP_POLICY_OBJECTA
, *PGROUP_POLICY_OBJECTA
;
53 typedef struct _GROUP_POLICY_OBJECTW
{
62 struct _GROUP_POLICY_OBJECTW
*pNext
;
63 struct _GROUP_POLICY_OBJECTW
*pPrev
;
67 } GROUP_POLICY_OBJECTW
, *PGROUP_POLICY_OBJECTW
;
69 DECL_WINELIB_TYPE_AW(GROUP_POLICY_OBJECT
)
70 DECL_WINELIB_TYPE_AW(PGROUP_POLICY_OBJECT
)
76 BOOL WINAPI
CreateEnvironmentBlock(LPVOID
*,HANDLE
,BOOL
);
77 BOOL WINAPI
DestroyEnvironmentBlock(LPVOID
);
78 HANDLE WINAPI
EnterCriticalPolicySection(BOOL
);
79 BOOL WINAPI
ExpandEnvironmentStringsForUserA(HANDLE
,LPCSTR
,LPSTR
,DWORD
);
80 BOOL WINAPI
ExpandEnvironmentStringsForUserW(HANDLE
,LPCWSTR
,LPWSTR
,DWORD
);
81 #define ExpandEnvironmentStringsForUser WINELIB_NAME_AW(ExpandEnvironmentStringsForUser)
82 DWORD WINAPI
GetAppliedGPOListW(DWORD
,LPCWSTR
,PSID
,GUID
*,PGROUP_POLICY_OBJECTW
*);
83 DWORD WINAPI
GetAppliedGPOListA(DWORD
,LPCSTR
,PSID
,GUID
*,PGROUP_POLICY_OBJECTA
*);
84 #define GetAppliedGPOList WINELIB_NAME_AW(GetAppliedGPOList)
85 BOOL WINAPI
GetUserProfileDirectoryA(HANDLE
,LPSTR
,LPDWORD
);
86 BOOL WINAPI
GetUserProfileDirectoryW(HANDLE
,LPWSTR
,LPDWORD
);
87 #define GetUserProfileDirectory WINELIB_NAME_AW(GetUserProfileDirectory)
88 BOOL WINAPI
GetProfilesDirectoryA(LPSTR
,LPDWORD
);
89 BOOL WINAPI
GetProfilesDirectoryW(LPWSTR
,LPDWORD
);
90 #define GetProfilesDirectory WINELIB_NAME_AW(GetProfilesDirectory)
91 BOOL WINAPI
GetAllUsersProfileDirectoryA(LPSTR
,LPDWORD
);
92 BOOL WINAPI
GetAllUsersProfileDirectoryW(LPWSTR
,LPDWORD
);
93 #define GetAllUsersProfileDirectory WINELIB_NAME_AW(GetAllUsersProfileDirectory)
94 BOOL WINAPI
GetProfileType(DWORD
*);
95 BOOL WINAPI
LeaveCriticalPolicySection(HANDLE
);
96 BOOL WINAPI
LoadUserProfileA(HANDLE
,LPPROFILEINFOA
);
97 BOOL WINAPI
LoadUserProfileW(HANDLE
,LPPROFILEINFOW
);
98 #define LoadUserProfile WINELIB_NAME_AW(LoadUserProfile)
99 BOOL WINAPI
RegisterGPNotification(HANDLE
,BOOL
);
100 BOOL WINAPI
UnloadUserProfile(HANDLE
,HANDLE
);
101 BOOL WINAPI
UnregisterGPNotification(HANDLE
);
107 #endif /* __WINE_USERENV_H */