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
28 #define USERENVAPI DECLSPEC_IMPORT
31 #define PT_TEMPORARY 0x00000001
32 #define PT_ROAMING 0x00000002
33 #define PT_MANDATORY 0x00000004
35 typedef enum _GPO_LINK
{
40 GPLinkOrganizationalUnit
41 } GPO_LINK
, *PGPO_LINK
;
43 typedef struct _GROUP_POLICY_OBJECTA
{
52 struct _GROUP_POLICY_OBJECTA
*pNext
;
53 struct _GROUP_POLICY_OBJECTA
*pPrev
;
57 } GROUP_POLICY_OBJECTA
, *PGROUP_POLICY_OBJECTA
;
59 typedef struct _GROUP_POLICY_OBJECTW
{
68 struct _GROUP_POLICY_OBJECTW
*pNext
;
69 struct _GROUP_POLICY_OBJECTW
*pPrev
;
73 } GROUP_POLICY_OBJECTW
, *PGROUP_POLICY_OBJECTW
;
75 DECL_WINELIB_TYPE_AW(GROUP_POLICY_OBJECT
)
76 DECL_WINELIB_TYPE_AW(PGROUP_POLICY_OBJECT
)
82 USERENVAPI BOOL WINAPI
CreateEnvironmentBlock(LPVOID
*,HANDLE
,BOOL
);
83 USERENVAPI BOOL WINAPI
DestroyEnvironmentBlock(LPVOID
);
84 USERENVAPI HANDLE WINAPI
EnterCriticalPolicySection(BOOL
);
85 USERENVAPI BOOL WINAPI
ExpandEnvironmentStringsForUserA(HANDLE
,LPCSTR
,LPSTR
,DWORD
);
86 USERENVAPI BOOL WINAPI
ExpandEnvironmentStringsForUserW(HANDLE
,LPCWSTR
,LPWSTR
,DWORD
);
87 #define ExpandEnvironmentStringsForUser WINELIB_NAME_AW(ExpandEnvironmentStringsForUser)
88 USERENVAPI DWORD WINAPI
GetAppliedGPOListW(DWORD
,LPCWSTR
,PSID
,GUID
*,PGROUP_POLICY_OBJECTW
*);
89 USERENVAPI DWORD WINAPI
GetAppliedGPOListA(DWORD
,LPCSTR
,PSID
,GUID
*,PGROUP_POLICY_OBJECTA
*);
90 #define GetAppliedGPOList WINELIB_NAME_AW(GetAppliedGPOList)
91 USERENVAPI BOOL WINAPI
GetUserProfileDirectoryA(HANDLE
,LPSTR
,LPDWORD
);
92 USERENVAPI BOOL WINAPI
GetUserProfileDirectoryW(HANDLE
,LPWSTR
,LPDWORD
);
93 #define GetUserProfileDirectory WINELIB_NAME_AW(GetUserProfileDirectory)
94 USERENVAPI BOOL WINAPI
GetProfilesDirectoryA(LPSTR
,LPDWORD
);
95 USERENVAPI BOOL WINAPI
GetProfilesDirectoryW(LPWSTR
,LPDWORD
);
96 #define GetProfilesDirectory WINELIB_NAME_AW(GetProfilesDirectory)
97 USERENVAPI BOOL WINAPI
GetAllUsersProfileDirectoryA(LPSTR
,LPDWORD
);
98 USERENVAPI BOOL WINAPI
GetAllUsersProfileDirectoryW(LPWSTR
,LPDWORD
);
99 #define GetAllUsersProfileDirectory WINELIB_NAME_AW(GetAllUsersProfileDirectory)
100 USERENVAPI BOOL WINAPI
GetProfileType(DWORD
*);
101 USERENVAPI BOOL WINAPI
LeaveCriticalPolicySection(HANDLE
);
102 USERENVAPI BOOL WINAPI
LoadUserProfileA(HANDLE
,LPPROFILEINFOA
);
103 USERENVAPI BOOL WINAPI
LoadUserProfileW(HANDLE
,LPPROFILEINFOW
);
104 #define LoadUserProfile WINELIB_NAME_AW(LoadUserProfile)
105 USERENVAPI BOOL WINAPI
RegisterGPNotification(HANDLE
,BOOL
);
106 USERENVAPI BOOL WINAPI
UnloadUserProfile(HANDLE
,HANDLE
);
107 USERENVAPI BOOL WINAPI
UnregisterGPNotification(HANDLE
);
113 #endif /* __WINE_USERENV_H */