2005-06-20 18:55:05 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS System Libraries
|
|
|
|
* FILE: lib/advapi32/advapi32.h
|
2016-11-12 21:53:33 +00:00
|
|
|
* PURPOSE: Win32 Advanced API Library Header
|
2005-06-20 18:55:05 +00:00
|
|
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
|
|
|
*/
|
2005-11-27 12:57:35 +00:00
|
|
|
#ifndef __ADVAPI32_H
|
|
|
|
#define __ADVAPI32_H
|
2005-06-20 18:55:05 +00:00
|
|
|
|
|
|
|
/* INCLUDES ******************************************************************/
|
|
|
|
|
2005-07-26 14:00:45 +00:00
|
|
|
/* C Headers */
|
2009-08-07 01:15:48 +00:00
|
|
|
#include <limits.h>
|
2005-07-26 14:00:45 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
|
2005-06-20 18:55:05 +00:00
|
|
|
/* PSDK/NDK Headers */
|
2014-01-20 13:16:06 +00:00
|
|
|
#define WINE_STRICT_PROTOTYPES
|
2005-10-19 17:03:38 +00:00
|
|
|
#define WIN32_NO_STATUS
|
2013-01-24 23:00:42 +00:00
|
|
|
#define WIN32_LEAN_AND_MEAN
|
2014-01-20 13:16:06 +00:00
|
|
|
#define _INC_WINDOWS
|
|
|
|
#define COM_NO_WINDOWS_H
|
2008-05-22 17:23:47 +00:00
|
|
|
#define _WMI_SOURCE_
|
2006-05-10 09:32:23 +00:00
|
|
|
#include <aclapi.h>
|
Sync aclui, advapi32, atl, authz, kernel32, msi, oledlg, powrprof, qmgr, riched20, samlib to Wine 1.2rc5
Update some psdk Headers to get some more synched winetests build
svn path=/trunk/; revision=47930
2010-07-03 12:42:55 +00:00
|
|
|
#include <winsafer.h>
|
2018-06-22 22:17:05 +00:00
|
|
|
|
2005-06-20 18:55:05 +00:00
|
|
|
#define NTOS_MODE_USER
|
2011-08-14 11:31:23 +00:00
|
|
|
#include <ndk/iofuncs.h>
|
|
|
|
#include <ndk/obfuncs.h>
|
|
|
|
#include <ndk/psfuncs.h>
|
|
|
|
#include <ndk/rtlfuncs.h>
|
|
|
|
#include <ndk/sefuncs.h>
|
2018-06-22 22:17:05 +00:00
|
|
|
#include <ndk/setypes.h>
|
2005-06-20 18:55:05 +00:00
|
|
|
|
2005-08-15 02:24:48 +00:00
|
|
|
/* this has to go after the NDK when being used with the NDK */
|
|
|
|
#include <ntsecapi.h>
|
|
|
|
|
2006-01-15 13:19:57 +00:00
|
|
|
#include <services/services.h>
|
2022-02-21 15:38:29 +00:00
|
|
|
#include <seclogon_c.h>
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <svcctl_c.h>
|
2015-12-26 01:14:18 +00:00
|
|
|
#include <winreg_c.h>
|
2011-08-14 11:31:23 +00:00
|
|
|
|
|
|
|
#include <wine/debug.h>
|
|
|
|
#include <wine/unicode.h>
|
2014-01-20 13:16:06 +00:00
|
|
|
|
2014-10-23 18:58:35 +00:00
|
|
|
#include "wine/crypt.h"
|
2011-08-14 11:31:23 +00:00
|
|
|
|
2005-07-27 23:11:38 +00:00
|
|
|
#ifndef HAS_FN_PROGRESSW
|
|
|
|
#define FN_PROGRESSW FN_PROGRESS
|
|
|
|
#endif
|
|
|
|
#ifndef HAS_FN_PROGRESSA
|
|
|
|
#define FN_PROGRESSA FN_PROGRESS
|
|
|
|
#endif
|
|
|
|
|
2013-12-17 21:01:18 +00:00
|
|
|
/* logon.c */
|
|
|
|
|
|
|
|
NTSTATUS
|
|
|
|
CloseLogonLsaHandle(VOID);
|
|
|
|
|
2007-08-14 08:49:29 +00:00
|
|
|
/* rpc.c */
|
|
|
|
|
|
|
|
RPC_STATUS EvtBindRpc(LPCWSTR pszMachine,
|
|
|
|
RPC_BINDING_HANDLE* BindingHandle);
|
|
|
|
RPC_STATUS EvtUnbindRpc(RPC_BINDING_HANDLE *BindingHandle);
|
|
|
|
|
|
|
|
BOOL
|
|
|
|
EvtGetLocalHandle(RPC_BINDING_HANDLE *BindingHandle);
|
|
|
|
RPC_STATUS EvtUnbindLocalHandle(void);
|
|
|
|
|
2008-09-13 20:04:51 +00:00
|
|
|
/* scm.c */
|
|
|
|
DWORD
|
|
|
|
ScmRpcStatusToWinError(RPC_STATUS Status);
|
|
|
|
|
2005-07-27 17:20:57 +00:00
|
|
|
/* Interface to ntmarta.dll **************************************************/
|
|
|
|
|
|
|
|
typedef struct _NTMARTA
|
|
|
|
{
|
|
|
|
HINSTANCE hDllInstance;
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 2CC */PVOID LookupAccountTrustee;
|
|
|
|
/* 2D0 */PVOID LookupAccountName;
|
|
|
|
/* 2D4 */PVOID LookupAccountSid;
|
|
|
|
/* 2D8 */PVOID SetEntriesInAList;
|
|
|
|
/* 2DC */PVOID ConvertAccessToSecurityDescriptor;
|
|
|
|
/* 2E0 */PVOID ConvertSDToAccess;
|
|
|
|
/* 2E4 */PVOID ConvertAclToAccess;
|
|
|
|
/* 2E8 */PVOID GetAccessForTrustee;
|
|
|
|
/* 2EC */PVOID GetExplicitEntries;
|
|
|
|
/* 2F0 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName,
|
2005-07-27 17:20:57 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
PSID* ppsidOwner,
|
|
|
|
PSID* ppsidGroup,
|
|
|
|
PACL* ppDacl,
|
|
|
|
PACL* ppSacl,
|
|
|
|
PSECURITY_DESCRIPTOR* ppSecurityDescriptor);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 2F4 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteSetNamedRights)(LPWSTR pObjectName,
|
2005-07-27 17:20:57 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/*2F8*/
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteGetHandleRights)(HANDLE handle,
|
2005-07-27 17:20:57 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
PSID* ppsidOwner,
|
|
|
|
PSID* ppsidGroup,
|
|
|
|
PACL* ppDacl,
|
|
|
|
PACL* ppSacl,
|
|
|
|
PSECURITY_DESCRIPTOR* ppSecurityDescriptor);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 2FC */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteSetHandleRights)(HANDLE handle,
|
2005-07-27 17:20:57 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 300 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries,
|
2005-07-27 17:20:57 +00:00
|
|
|
PEXPLICIT_ACCESS_W pListOfExplicitEntries,
|
|
|
|
PACL OldAcl,
|
|
|
|
PACL* NewAcl);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 304 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl,
|
2005-07-27 20:24:11 +00:00
|
|
|
PULONG pcCountOfExplicitEntries,
|
|
|
|
PEXPLICIT_ACCESS_W* pListOfExplicitEntries);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 308 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *TreeResetNamedSecurityInfo)(LPWSTR pObjectName,
|
2005-07-27 23:11:38 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
PSID pOwner,
|
|
|
|
PSID pGroup,
|
|
|
|
PACL pDacl,
|
|
|
|
PACL pSacl,
|
|
|
|
BOOL KeepExplicit,
|
|
|
|
FN_PROGRESSW fnProgress,
|
|
|
|
PROG_INVOKE_SETTING ProgressInvokeSetting,
|
|
|
|
PVOID Args);
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 30C */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *GetInheritanceSource)(LPWSTR pObjectName,
|
2005-07-27 18:24:18 +00:00
|
|
|
SE_OBJECT_TYPE ObjectType,
|
|
|
|
SECURITY_INFORMATION SecurityInfo,
|
|
|
|
BOOL Container,
|
|
|
|
GUID** pObjectClassGuids,
|
|
|
|
DWORD GuidCount,
|
|
|
|
PACL pAcl,
|
|
|
|
PFN_OBJECT_MGR_FUNCTS pfnArray,
|
|
|
|
PGENERIC_MAPPING pGenericMapping,
|
|
|
|
PINHERITED_FROMW pInheritArray);
|
|
|
|
|
2005-08-05 10:31:28 +00:00
|
|
|
/* 310 */
|
2008-11-30 11:42:05 +00:00
|
|
|
DWORD (WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray,
|
2005-07-27 18:24:18 +00:00
|
|
|
USHORT AceCnt,
|
|
|
|
PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL);
|
2005-07-27 17:20:57 +00:00
|
|
|
} NTMARTA, *PNTMARTA;
|
|
|
|
|
|
|
|
#define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
|
|
|
|
#define AccLookupAccountName NtMartaStatic.LookupAccountName
|
|
|
|
#define AccLookupAccountSid NtMartaStatic.LookupAccountSid
|
|
|
|
#define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
|
|
|
|
#define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
|
|
|
|
#define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
|
|
|
|
#define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
|
|
|
|
#define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
|
|
|
|
#define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
|
|
|
|
#define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
|
|
|
|
#define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
|
|
|
|
#define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
|
|
|
|
#define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
|
|
|
|
#define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
|
|
|
|
#define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
|
|
|
|
#define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
|
|
|
|
#define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
|
|
|
|
#define AccFreeIndexArray NtMartaStatic.FreeIndexArray
|
|
|
|
|
|
|
|
extern NTMARTA NtMartaStatic;
|
|
|
|
|
|
|
|
DWORD CheckNtMartaPresent(VOID);
|
|
|
|
|
2014-10-22 18:41:40 +00:00
|
|
|
/* heap allocation helpers */
|
|
|
|
static void *heap_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
|
|
|
|
static inline void *heap_alloc( size_t len )
|
|
|
|
{
|
|
|
|
return HeapAlloc( GetProcessHeap(), 0, len );
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline BOOL heap_free( void *mem )
|
|
|
|
{
|
|
|
|
return HeapFree( GetProcessHeap(), 0, mem );
|
|
|
|
}
|
|
|
|
|
2005-11-27 12:57:35 +00:00
|
|
|
#endif /* __ADVAPI32_H */
|