### userenv.h ###

CreateAppContainerProfile=func
func.CreateAppContainerProfile.args=6
func.CreateAppContainerProfile.arg.0=PCWSTR,pszAppContainerName
func.CreateAppContainerProfile.arg.1=PCWSTR,pszDisplayName
func.CreateAppContainerProfile.arg.2=PCWSTR,pszDescription
func.CreateAppContainerProfile.arg.3=PSID_AND_ATTRIBUTES,pCapabilities
func.CreateAppContainerProfile.arg.4=DWORD,dwCapabilityCount
func.CreateAppContainerProfile.arg.5=PSID *,ppSidAppContainerSid
func.CreateAppContainerProfile.ret=HRESULT

CreateProfile=func
func.CreateProfile.args=4
func.CreateProfile.arg.0=LPCWSTR,pszUserSid
func.CreateProfile.arg.1=LPCWSTR,pszUserName
func.CreateProfile.arg.2=LPWSTR,pszProfilePath
func.CreateProfile.arg.3=DWORD,cchProfilePath
func.CreateProfile.ret=HRESULT

DeleteAppContainerProfile=func
func.DeleteAppContainerProfile.args=1
func.DeleteAppContainerProfile.arg.0=PCWSTR,pszAppContainerName
func.DeleteAppContainerProfile.ret=HRESULT

DeleteProfileA=func
func.DeleteProfileA.args=3
func.DeleteProfileA.arg.0=LPCSTR,lpSidString
func.DeleteProfileA.arg.1=LPCSTR,lpProfilePath
func.DeleteProfileA.arg.2=LPCSTR,lpComputerName
func.DeleteProfileA.ret=BOOL

DeleteProfileW=func
func.DeleteProfileW.args=3
func.DeleteProfileW.arg.0=LPCWSTR,lpSidString
func.DeleteProfileW.arg.1=LPCWSTR,lpProfilePath
func.DeleteProfileW.arg.2=LPCWSTR,lpComputerName
func.DeleteProfileW.ret=BOOL

DeriveAppContainerSidFromAppContainerName=func
func.DeriveAppContainerSidFromAppContainerName.args=2
func.DeriveAppContainerSidFromAppContainerName.arg.0=PCWSTR,pszAppContainerName
func.DeriveAppContainerSidFromAppContainerName.arg.1=PSID *,ppsidAppContainerSid
func.DeriveAppContainerSidFromAppContainerName.ret=HRESULT

DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName=func
func.DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName.args=3
func.DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName.arg.0=PSID,psidAppContainerSid
func.DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName.arg.1=PCWSTR,pszRestrictedAppContainerName
func.DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName.arg.2=PSID *,ppsidRestrictedAppContainerSid
func.DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName.ret=HRESULT

EnterCriticalPolicySection=func
func.EnterCriticalPolicySection.args=1
func.EnterCriticalPolicySection.arg.0=BOOL,bMachine
func.EnterCriticalPolicySection.ret=HANDLE

ExpandEnvironmentStringsForUserA=func
func.ExpandEnvironmentStringsForUserA.args=4
func.ExpandEnvironmentStringsForUserA.arg.0=HANDLE,hToken
func.ExpandEnvironmentStringsForUserA.arg.1=LPCSTR,lpSrc
func.ExpandEnvironmentStringsForUserA.arg.2=LPSTR,lpDest
func.ExpandEnvironmentStringsForUserA.arg.3=DWORD,dwSize
func.ExpandEnvironmentStringsForUserA.ret=BOOL

ExpandEnvironmentStringsForUserW=func
func.ExpandEnvironmentStringsForUserW.args=4
func.ExpandEnvironmentStringsForUserW.arg.0=HANDLE,hToken
func.ExpandEnvironmentStringsForUserW.arg.1=LPCWSTR,lpSrc
func.ExpandEnvironmentStringsForUserW.arg.2=LPWSTR,lpDest
func.ExpandEnvironmentStringsForUserW.arg.3=DWORD,dwSize
func.ExpandEnvironmentStringsForUserW.ret=BOOL

FreeGPOListA=func
func.FreeGPOListA.args=1
func.FreeGPOListA.arg.0=PGROUP_POLICY_OBJECTA,pGPOList
func.FreeGPOListA.ret=BOOL

FreeGPOListW=func
func.FreeGPOListW.args=1
func.FreeGPOListW.arg.0=PGROUP_POLICY_OBJECTW,pGPOList
func.FreeGPOListW.ret=BOOL

GenerateGPNotification=func
func.GenerateGPNotification.args=3
func.GenerateGPNotification.arg.0=BOOL,bMachine
func.GenerateGPNotification.arg.1=LPCWSTR,lpwszMgmtProduct
func.GenerateGPNotification.arg.2=DWORD,dwMgmtProductOptions
func.GenerateGPNotification.ret=DWORD

GetAllUsersProfileDirectoryA=func
func.GetAllUsersProfileDirectoryA.args=2
func.GetAllUsersProfileDirectoryA.arg.0=LPSTR,lpProfileDir
func.GetAllUsersProfileDirectoryA.arg.1=LPDWORD,lpcchSize
func.GetAllUsersProfileDirectoryA.ret=BOOL

GetAllUsersProfileDirectoryW=func
func.GetAllUsersProfileDirectoryW.args=2
func.GetAllUsersProfileDirectoryW.arg.0=LPWSTR,lpProfileDir
func.GetAllUsersProfileDirectoryW.arg.1=LPDWORD,lpcchSize
func.GetAllUsersProfileDirectoryW.ret=BOOL

GetAppContainerFolderPath=func
func.GetAppContainerFolderPath.args=2
func.GetAppContainerFolderPath.arg.0=PCWSTR,pszAppContainerSid
func.GetAppContainerFolderPath.arg.1=PWSTR *,ppszPath
func.GetAppContainerFolderPath.ret=HRESULT

GetAppContainerRegistryLocation=func
func.GetAppContainerRegistryLocation.args=2
func.GetAppContainerRegistryLocation.arg.0=REGSAM,desiredAccess
func.GetAppContainerRegistryLocation.arg.1=PHKEY,phAppContainerKey
func.GetAppContainerRegistryLocation.ret=HRESULT

GetAppliedGPOListA=func
func.GetAppliedGPOListA.args=5
func.GetAppliedGPOListA.arg.0=DWORD,dwFlags
func.GetAppliedGPOListA.arg.1=LPCSTR,pMachineName
func.GetAppliedGPOListA.arg.2=PSID,pSidUser
func.GetAppliedGPOListA.arg.3=GUID *,pGuidExtension
func.GetAppliedGPOListA.arg.4=PGROUP_POLICY_OBJECTA *,ppGPOList
func.GetAppliedGPOListA.ret=DWORD

GetAppliedGPOListW=func
func.GetAppliedGPOListW.args=5
func.GetAppliedGPOListW.arg.0=DWORD,dwFlags
func.GetAppliedGPOListW.arg.1=LPCWSTR,pMachineName
func.GetAppliedGPOListW.arg.2=PSID,pSidUser
func.GetAppliedGPOListW.arg.3=GUID *,pGuidExtension
func.GetAppliedGPOListW.arg.4=PGROUP_POLICY_OBJECTW *,ppGPOList
func.GetAppliedGPOListW.ret=DWORD

GetDefaultUserProfileDirectoryA=func
func.GetDefaultUserProfileDirectoryA.args=2
func.GetDefaultUserProfileDirectoryA.arg.0=LPSTR,lpProfileDir
func.GetDefaultUserProfileDirectoryA.arg.1=LPDWORD,lpcchSize
func.GetDefaultUserProfileDirectoryA.ret=BOOL

GetDefaultUserProfileDirectoryW=func
func.GetDefaultUserProfileDirectoryW.args=2
func.GetDefaultUserProfileDirectoryW.arg.0=LPWSTR,lpProfileDir
func.GetDefaultUserProfileDirectoryW.arg.1=LPDWORD,lpcchSize
func.GetDefaultUserProfileDirectoryW.ret=BOOL

GetGPOListA=func
func.GetGPOListA.args=6
func.GetGPOListA.arg.0=HANDLE,hToken
func.GetGPOListA.arg.1=LPCSTR,lpName
func.GetGPOListA.arg.2=LPCSTR,lpHostName
func.GetGPOListA.arg.3=LPCSTR,lpComputerName
func.GetGPOListA.arg.4=DWORD,dwFlags
func.GetGPOListA.arg.5=PGROUP_POLICY_OBJECTA *,pGPOList
func.GetGPOListA.ret=BOOL

GetGPOListW=func
func.GetGPOListW.args=6
func.GetGPOListW.arg.0=HANDLE,hToken
func.GetGPOListW.arg.1=LPCWSTR,lpName
func.GetGPOListW.arg.2=LPCWSTR,lpHostName
func.GetGPOListW.arg.3=LPCWSTR,lpComputerName
func.GetGPOListW.arg.4=DWORD,dwFlags
func.GetGPOListW.arg.5=PGROUP_POLICY_OBJECTW *,pGPOList
func.GetGPOListW.ret=BOOL

GetProfileType=func
func.GetProfileType.args=1
func.GetProfileType.arg.0=DWORD *,dwFlags
func.GetProfileType.ret=BOOL

GetProfilesDirectoryA=func
func.GetProfilesDirectoryA.args=2
func.GetProfilesDirectoryA.arg.0=LPSTR,lpProfileDir
func.GetProfilesDirectoryA.arg.1=LPDWORD,lpcchSize
func.GetProfilesDirectoryA.ret=BOOL

GetProfilesDirectoryW=func
func.GetProfilesDirectoryW.args=2
func.GetProfilesDirectoryW.arg.0=LPWSTR,lpProfileDir
func.GetProfilesDirectoryW.arg.1=LPDWORD,lpcchSize
func.GetProfilesDirectoryW.ret=BOOL

GetUserProfileDirectoryA=func
func.GetUserProfileDirectoryA.args=3
func.GetUserProfileDirectoryA.arg.0=HANDLE,hToken
func.GetUserProfileDirectoryA.arg.1=LPSTR,lpProfileDir
func.GetUserProfileDirectoryA.arg.2=LPDWORD,lpcchSize
func.GetUserProfileDirectoryA.ret=BOOL

GetUserProfileDirectoryW=func
func.GetUserProfileDirectoryW.args=3
func.GetUserProfileDirectoryW.arg.0=HANDLE,hToken
func.GetUserProfileDirectoryW.arg.1=LPWSTR,lpProfileDir
func.GetUserProfileDirectoryW.arg.2=LPDWORD,lpcchSize
func.GetUserProfileDirectoryW.ret=BOOL

LeaveCriticalPolicySection=func
func.LeaveCriticalPolicySection.args=1
func.LeaveCriticalPolicySection.arg.0=HANDLE,hSection
func.LeaveCriticalPolicySection.ret=BOOL

LoadUserProfileA=func
func.LoadUserProfileA.args=2
func.LoadUserProfileA.arg.0=HANDLE,hToken
func.LoadUserProfileA.arg.1=LPPROFILEINFOA,lpProfileInfo
func.LoadUserProfileA.ret=BOOL

LoadUserProfileW=func
func.LoadUserProfileW.args=2
func.LoadUserProfileW.arg.0=HANDLE,hToken
func.LoadUserProfileW.arg.1=LPPROFILEINFOW,lpProfileInfo
func.LoadUserProfileW.ret=BOOL

ProcessGroupPolicyCompleted=func
func.ProcessGroupPolicyCompleted.args=3
func.ProcessGroupPolicyCompleted.arg.0=REFGPEXTENSIONID,extensionId
func.ProcessGroupPolicyCompleted.arg.1=ASYNCCOMPLETIONHANDLE,pAsyncHandle
func.ProcessGroupPolicyCompleted.arg.2=DWORD,dwStatus
func.ProcessGroupPolicyCompleted.ret=DWORD

ProcessGroupPolicyCompletedEx=func
func.ProcessGroupPolicyCompletedEx.args=4
func.ProcessGroupPolicyCompletedEx.arg.0=REFGPEXTENSIONID,extensionId
func.ProcessGroupPolicyCompletedEx.arg.1=ASYNCCOMPLETIONHANDLE,pAsyncHandle
func.ProcessGroupPolicyCompletedEx.arg.2=DWORD,dwStatus
func.ProcessGroupPolicyCompletedEx.arg.3=HRESULT,RsopStatus
func.ProcessGroupPolicyCompletedEx.ret=DWORD

RefreshPolicy=func
func.RefreshPolicy.args=1
func.RefreshPolicy.arg.0=BOOL,bMachine
func.RefreshPolicy.ret=BOOL

RefreshPolicyEx=func
func.RefreshPolicyEx.args=2
func.RefreshPolicyEx.arg.0=BOOL,bMachine
func.RefreshPolicyEx.arg.1=DWORD,dwOptions
func.RefreshPolicyEx.ret=BOOL

RegisterGPNotification=func
func.RegisterGPNotification.args=2
func.RegisterGPNotification.arg.0=HANDLE,hEvent
func.RegisterGPNotification.arg.1=BOOL,bMachine
func.RegisterGPNotification.ret=BOOL

RsopAccessCheckByType=func
func.RsopAccessCheckByType.args=11
func.RsopAccessCheckByType.arg.0=PSECURITY_DESCRIPTOR,pSecurityDescriptor
func.RsopAccessCheckByType.arg.1=PSID,pPrincipalSelfSid
func.RsopAccessCheckByType.arg.2=PRSOPTOKEN,pRsopToken
func.RsopAccessCheckByType.arg.3=DWORD,dwDesiredAccessMask
func.RsopAccessCheckByType.arg.4=POBJECT_TYPE_LIST,pObjectTypeList
func.RsopAccessCheckByType.arg.5=DWORD,ObjectTypeListLength
func.RsopAccessCheckByType.arg.6=PGENERIC_MAPPING,pGenericMapping
func.RsopAccessCheckByType.arg.7=PPRIVILEGE_SET,pPrivilegeSet
func.RsopAccessCheckByType.arg.8=LPDWORD,pdwPrivilegeSetLength
func.RsopAccessCheckByType.arg.9=LPDWORD,pdwGrantedAccessMask
func.RsopAccessCheckByType.arg.10=LPBOOL,pbAccessStatus
func.RsopAccessCheckByType.ret=HRESULT

RsopFileAccessCheck=func
func.RsopFileAccessCheck.args=5
func.RsopFileAccessCheck.arg.0=LPWSTR,pszFileName
func.RsopFileAccessCheck.arg.1=PRSOPTOKEN,pRsopToken
func.RsopFileAccessCheck.arg.2=DWORD,dwDesiredAccessMask
func.RsopFileAccessCheck.arg.3=LPDWORD,pdwGrantedAccessMask
func.RsopFileAccessCheck.arg.4=LPBOOL,pbAccessStatus
func.RsopFileAccessCheck.ret=HRESULT

RsopResetPolicySettingStatus=func
func.RsopResetPolicySettingStatus.args=3
func.RsopResetPolicySettingStatus.arg.0=DWORD,dwFlags
func.RsopResetPolicySettingStatus.arg.1=IWbemServices *,pServices
func.RsopResetPolicySettingStatus.arg.2=IWbemClassObject *,pSettingInstance
func.RsopResetPolicySettingStatus.ret=HRESULT

RsopSetPolicySettingStatus=func
func.RsopSetPolicySettingStatus.args=5
func.RsopSetPolicySettingStatus.arg.0=DWORD,dwFlags
func.RsopSetPolicySettingStatus.arg.1=IWbemServices *,pServices
func.RsopSetPolicySettingStatus.arg.2=IWbemClassObject *,pSettingInstance
func.RsopSetPolicySettingStatus.arg.3=DWORD,nInfo
func.RsopSetPolicySettingStatus.arg.4=POLICYSETTINGSTATUSINFO *,pStatus
func.RsopSetPolicySettingStatus.ret=HRESULT

UnloadUserProfile=func
func.UnloadUserProfile.args=2
func.UnloadUserProfile.arg.0=HANDLE,hToken
func.UnloadUserProfile.arg.1=HANDLE,hProfile
func.UnloadUserProfile.ret=BOOL

UnregisterGPNotification=func
func.UnregisterGPNotification.args=1
func.UnregisterGPNotification.arg.0=HANDLE,hEvent
func.UnregisterGPNotification.ret=BOOL