9#define PI_APPLYPOLICY (2)
47typedef enum _GPO_LINK {
52 GPLinkOrganizationalUnit
53} GPO_LINK, *PGPO_LINK;
55typedef struct _GROUP_POLICY_OBJECTA {
64 struct _GROUP_POLICY_OBJECTA *pNext;
65 struct _GROUP_POLICY_OBJECTA *pPrev;
69} GROUP_POLICY_OBJECTA, *PGROUP_POLICY_OBJECTA;
71typedef struct _GROUP_POLICY_OBJECTW {
80 struct _GROUP_POLICY_OBJECTW *pNext;
81 struct _GROUP_POLICY_OBJECTW *pPrev;
85} GROUP_POLICY_OBJECTW, *PGROUP_POLICY_OBJECTW;
128#if (WINVER >= 0x0500)
134#if (WINVER >= 0x0500)
139#if (WINVER >= 0x0502)
147 _Out_ PGROUP_POLICY_OBJECTA *ppGPOList
156 _Out_ PGROUP_POLICY_OBJECTW *ppGPOList
163#if (WINVER >= 0x0500)
173#define CreateUserProfile CreateUserProfileW
174#define CreateUserProfileEx CreateUserProfileExW
175#define AddDesktopItem AddDesktopItemW
176#define DeleteDesktopItem DeleteDesktopItemW
177#define CreateGroup CreateGroupW
178#define DeleteGroup DeleteGroupW
179#define AddItem AddItemW
180#define DeleteItem DeleteItemW
181#define CopyProfileDirectory CopyProfileDirectoryW
183#if (WINVER >= 0x0500)
184#define DeleteProfile DeleteProfileW
186#define LoadUserProfile LoadUserProfileW
187#define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryW
188#define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryW
189#define GetProfilesDirectory GetProfilesDirectoryW
190#define GetUserProfileDirectory GetUserProfileDirectoryW
191#if (WINVER >= 0x0500)
192#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserW
194#if (WINVER >= 0x0502)
195typedef GROUP_POLICY_OBJECTW GROUP_POLICY_OBJECT;
196typedef PGROUP_POLICY_OBJECTW PGROUP_POLICY_OBJECT;
197#define GetAppliedGPOList GetAppliedGPOListW
203#define CreateUserProfile CreateUserProfileA
204#define CreateUserProfileEx CreateUserProfileExA
205#define AddDesktopItem AddDesktopItemA
206#define DeleteDesktopItem DeleteDesktopItemA
207#define CreateGroup CreateGroupA
208#define DeleteGroup DeleteGroupA
209#define AddItem AddItemA
210#define DeleteItem DeleteItemA
211#define CopyProfileDirectory CopyProfileDirectoryA
213#if (WINVER >= 0x0500)
214#define DeleteProfile DeleteProfileA
216#define LoadUserProfile LoadUserProfileA
217#define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryA
218#define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryA
219#define GetProfilesDirectory GetProfilesDirectoryA
220#define GetUserProfileDirectory GetUserProfileDirectoryA
221#if (WINVER >= 0x0500)
222#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserA
224#if (WINVER >= 0x0502)
225typedef GROUP_POLICY_OBJECTA GROUP_POLICY_OBJECT;
226typedef PGROUP_POLICY_OBJECTA PGROUP_POLICY_OBJECT;
227#define GetAppliedGPOList GetAppliedGPOListA
BOOL WINAPI ExpandEnvironmentStringsForUserW(IN HANDLE hToken, IN LPCWSTR lpSrc, OUT LPWSTR lpDest, IN DWORD dwSize)
BOOL WINAPI ExpandEnvironmentStringsForUserA(IN HANDLE hToken, IN LPCSTR lpSrc, OUT LPSTR lpDest, IN DWORD dwSize)
BOOL WINAPI DeleteProfileA(_In_ LPCSTR lpSidString, _In_opt_ LPCSTR lpProfilePath, _In_opt_ LPCSTR lpComputerName)
BOOL WINAPI DeleteProfileW(_In_ LPCWSTR lpSidString, _In_opt_ LPCWSTR lpProfilePath, _In_opt_ LPCWSTR lpComputerName)
BOOL WINAPI GetProfileType(_Out_ PDWORD pdwFlags)
DWORD WINAPI GetAppliedGPOListW(_In_ DWORD dwFlags, _In_ LPCWSTR pMachineName, _In_ PSID pSidUser, _In_ GUID *pGuidExtension, _Out_ PGROUP_POLICY_OBJECTW *ppGPOList)
BOOL WINAPI RefreshPolicyEx(IN BOOL bMachine, IN DWORD dwOptions)
DWORD WINAPI GetAppliedGPOListA(_In_ DWORD dwFlags, _In_ LPCSTR pMachineName, _In_ PSID pSidUser, _In_ GUID *pGuidExtension, _Out_ PGROUP_POLICY_OBJECTA *ppGPOList)
BOOL WINAPI GetProfilesDirectoryW(LPWSTR, LPDWORD)
BOOL WINAPI DeleteDesktopItemA(BOOL, LPCSTR)
BOOL WINAPI LoadUserProfileA(HANDLE, LPPROFILEINFOA)
BOOL WINAPI CopySystemProfile(ULONG)
BOOL WINAPI AddDesktopItemA(BOOL, LPCSTR, LPCSTR, LPCSTR, INT, LPCSTR, WORD, INT)
struct _PROFILEINFOW * LPPROFILEINFOW
BOOL WINAPI LeaveCriticalPolicySection(HANDLE)
BOOL WINAPI DeleteGroupA(LPCSTR, BOOL)
BOOL WINAPI CreateUserProfileA(PSID, LPCSTR)
BOOL WINAPI CreateEnvironmentBlock(LPVOID *, HANDLE, BOOL)
BOOL WINAPI CreateGroupW(LPCWSTR, BOOL)
BOOL WINAPI DeleteGroupW(LPCWSTR, BOOL)
BOOL WINAPI UnloadUserProfile(HANDLE, HANDLE)
BOOL WINAPI GetDefaultUserProfileDirectoryA(LPSTR, LPDWORD)
struct _PROFILEINFOW PROFILEINFOW
BOOL WINAPI DeleteDesktopItemW(BOOL, LPCWSTR)
BOOL WINAPI UnregisterGPNotification(HANDLE)
BOOL WINAPI DeleteItemA(LPCSTR, BOOL, LPCSTR, BOOL)
BOOL WINAPI DeleteItemW(LPCWSTR, BOOL, LPCWSTR, BOOL)
BOOL WINAPI CreateUserProfileW(PSID, LPCWSTR)
BOOL WINAPI DestroyEnvironmentBlock(LPVOID)
BOOL WINAPI InitializeProfiles(VOID)
BOOL WINAPI AddItemA(LPCSTR, BOOL, LPCSTR, LPCSTR, LPCSTR, INT, LPCSTR, WORD, INT)
BOOL WINAPI CopyProfileDirectoryW(LPCWSTR, LPCWSTR, DWORD)
BOOL WINAPI GetProfilesDirectoryA(LPSTR, LPDWORD)
BOOL WINAPI AddDesktopItemW(BOOL, LPCWSTR, LPCWSTR, LPCWSTR, INT, LPCWSTR, WORD, INT)
BOOL WINAPI CreateUserProfileExA(PSID, LPCSTR, LPCSTR, LPSTR, DWORD, BOOL)
BOOL WINAPI GetAllUsersProfileDirectoryA(LPSTR, LPDWORD)
struct _PROFILEINFOA * LPPROFILEINFOA
BOOL WINAPI AddItemW(LPCWSTR, BOOL, LPCWSTR, LPCWSTR, LPCWSTR, INT, LPCWSTR, WORD, INT)
BOOL WINAPI GetUserProfileDirectoryW(HANDLE, LPWSTR, LPDWORD)
BOOL WINAPI LoadUserProfileW(HANDLE, LPPROFILEINFOW)
BOOL WINAPI GetAllUsersProfileDirectoryW(LPWSTR, LPDWORD)
HANDLE WINAPI EnterCriticalPolicySection(BOOL)
BOOL WINAPI CreateGroupA(LPCSTR, BOOL)
BOOL WINAPI GetUserProfileDirectoryA(HANDLE, LPSTR, LPDWORD)
BOOL WINAPI RefreshPolicy(BOOL)
PSID WINAPI GetUserSid(HANDLE)
LPPROFILEINFOA LPPROFILEINFO
BOOL WINAPI CreateUserProfileExW(PSID, LPCWSTR, LPCWSTR, LPWSTR, DWORD, BOOL)
BOOL WINAPI GetDefaultUserProfileDirectoryW(LPWSTR, LPDWORD)
BOOL WINAPI RegisterGPNotification(HANDLE, BOOL)
struct _PROFILEINFOA PROFILEINFOA
BOOL WINAPI CopyProfileDirectoryA(LPCSTR, LPCSTR, DWORD)
_In_ LPCSTR _Out_writes_to_opt_ cchDisplayName LPSTR lpDisplayName
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags