msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating...
[wine.git] / include / userenv.h
bloba518de83a233653eb3bfcd631177edd3d181b4fc
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 #ifdef _USERENV_
26 #define USERENVAPI
27 #else
28 #define USERENVAPI DECLSPEC_IMPORT
29 #endif
31 #define PT_TEMPORARY 0x00000001
32 #define PT_ROAMING 0x00000002
33 #define PT_MANDATORY 0x00000004
35 typedef enum _GPO_LINK {
36 GPLinkUnknown = 0,
37 GPLinkMachine,
38 GPLinkSite,
39 GPLinkDomain,
40 GPLinkOrganizationalUnit
41 } GPO_LINK, *PGPO_LINK;
43 typedef struct _GROUP_POLICY_OBJECTA {
44 DWORD dwOptions;
45 DWORD dwVersion;
46 LPSTR lpDSPath;
47 LPSTR lpFileSysPath;
48 LPSTR lpDisplayName;
49 CHAR szGPOName[50];
50 GPO_LINK GPOLink;
51 LPARAM lParam;
52 struct _GROUP_POLICY_OBJECTA *pNext;
53 struct _GROUP_POLICY_OBJECTA *pPrev;
54 LPSTR lpExtensions;
55 LPARAM lParam2;
56 LPSTR lpLink;
57 } GROUP_POLICY_OBJECTA, *PGROUP_POLICY_OBJECTA;
59 typedef struct _GROUP_POLICY_OBJECTW {
60 DWORD dwOptions;
61 DWORD dwVersion;
62 LPWSTR lpDSPath;
63 LPWSTR lpFileSysPath;
64 LPWSTR lpDisplayName;
65 WCHAR szGPOName[50];
66 GPO_LINK GPOLink;
67 LPARAM lParam;
68 struct _GROUP_POLICY_OBJECTW *pNext;
69 struct _GROUP_POLICY_OBJECTW *pPrev;
70 LPWSTR lpExtensions;
71 LPARAM lParam2;
72 LPWSTR lpLink;
73 } GROUP_POLICY_OBJECTW, *PGROUP_POLICY_OBJECTW;
75 DECL_WINELIB_TYPE_AW(GROUP_POLICY_OBJECT)
76 DECL_WINELIB_TYPE_AW(PGROUP_POLICY_OBJECT)
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
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);
109 #ifdef __cplusplus
111 #endif
113 #endif /* __WINE_USERENV_H */