ucrtbase: Implement _malloc_base.
[wine.git] / include / userenv.h
blobafa351569951af01a11aca231631a4d15ab7d12d
1 /*
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
22 #include <wbemcli.h>
23 #include <profinfo.h>
25 #define PT_TEMPORARY 0x00000001
26 #define PT_ROAMING 0x00000002
27 #define PT_MANDATORY 0x00000004
29 typedef enum _GPO_LINK {
30 GPLinkUnknown = 0,
31 GPLinkMachine,
32 GPLinkSite,
33 GPLinkDomain,
34 GPLinkOrganizationalUnit
35 } GPO_LINK, *PGPO_LINK;
37 typedef struct _GROUP_POLICY_OBJECTA {
38 DWORD dwOptions;
39 DWORD dwVersion;
40 LPSTR lpDSPath;
41 LPSTR lpFileSysPath;
42 LPSTR lpDisplayName;
43 CHAR szGPOName[50];
44 GPO_LINK GPOLink;
45 LPARAM lParam;
46 struct _GROUP_POLICY_OBJECTA *pNext;
47 struct _GROUP_POLICY_OBJECTA *pPrev;
48 LPSTR lpExtensions;
49 LPARAM lParam2;
50 LPSTR lpLink;
51 } GROUP_POLICY_OBJECTA, *PGROUP_POLICY_OBJECTA;
53 typedef struct _GROUP_POLICY_OBJECTW {
54 DWORD dwOptions;
55 DWORD dwVersion;
56 LPWSTR lpDSPath;
57 LPWSTR lpFileSysPath;
58 LPWSTR lpDisplayName;
59 WCHAR szGPOName[50];
60 GPO_LINK GPOLink;
61 LPARAM lParam;
62 struct _GROUP_POLICY_OBJECTW *pNext;
63 struct _GROUP_POLICY_OBJECTW *pPrev;
64 LPWSTR lpExtensions;
65 LPARAM lParam2;
66 LPWSTR lpLink;
67 } GROUP_POLICY_OBJECTW, *PGROUP_POLICY_OBJECTW;
69 DECL_WINELIB_TYPE_AW(GROUP_POLICY_OBJECT)
70 DECL_WINELIB_TYPE_AW(PGROUP_POLICY_OBJECT)
72 #ifdef __cplusplus
73 extern "C" {
74 #endif
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);
103 #ifdef __cplusplus
105 #endif
107 #endif /* __WINE_USERENV_H */