ReactOS 0.4.15-dev-7918-g2a2556c
advapi32.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: lib/advapi32/advapi32.h
5 * PURPOSE: Win32 Advanced API Library Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8#ifndef __ADVAPI32_H
9#define __ADVAPI32_H
10
11/* INCLUDES ******************************************************************/
12
13/* C Headers */
14#include <limits.h>
15#include <stdio.h>
16
17/* PSDK/NDK Headers */
18#define WINE_STRICT_PROTOTYPES
19#define WIN32_NO_STATUS
20#define WIN32_LEAN_AND_MEAN
21#define _INC_WINDOWS
22#define COM_NO_WINDOWS_H
23#define _WMI_SOURCE_
24#include <aclapi.h>
25#include <winsafer.h>
26
27#define NTOS_MODE_USER
28#include <ndk/iofuncs.h>
29#include <ndk/obfuncs.h>
30#include <ndk/psfuncs.h>
31#include <ndk/rtlfuncs.h>
32#include <ndk/sefuncs.h>
33#include <ndk/setypes.h>
34
35/* this has to go after the NDK when being used with the NDK */
36#include <ntsecapi.h>
37
38#include <services/services.h>
39#include <seclogon_c.h>
40#include <svcctl_c.h>
41#include <winreg_c.h>
42
43#include <wine/debug.h>
44#include <wine/unicode.h>
45
46#include "wine/crypt.h"
47
48#ifndef HAS_FN_PROGRESSW
49#define FN_PROGRESSW FN_PROGRESS
50#endif
51#ifndef HAS_FN_PROGRESSA
52#define FN_PROGRESSA FN_PROGRESS
53#endif
54
55/* logon.c */
56
59
60/* rpc.c */
61
65
66BOOL
69
70/* scm.c */
73
74/* Interface to ntmarta.dll **************************************************/
75
76typedef struct _NTMARTA
77{
79
89 /* 2F0 */
90 DWORD (WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName,
98
99 /* 2F4 */
100 DWORD (WINAPI *RewriteSetNamedRights)(LPWSTR pObjectName,
104
105 /*2F8*/
106 DWORD (WINAPI *RewriteGetHandleRights)(HANDLE handle,
111 PACL* ppDacl,
112 PACL* ppSacl,
114
115 /* 2FC */
116 DWORD (WINAPI *RewriteSetHandleRights)(HANDLE handle,
120
121 /* 300 */
122 DWORD (WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries,
126
127 /* 304 */
128 DWORD (WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl,
131
132 /* 308 */
133 DWORD (WINAPI *TreeResetNamedSecurityInfo)(LPWSTR pObjectName,
144 /* 30C */
154 PINHERITED_FROMW pInheritArray);
155
156 /* 310 */
157 DWORD (WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray,
161
162#define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
163#define AccLookupAccountName NtMartaStatic.LookupAccountName
164#define AccLookupAccountSid NtMartaStatic.LookupAccountSid
165#define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
166#define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
167#define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
168#define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
169#define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
170#define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
171#define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
172#define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
173#define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
174#define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
175#define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
176#define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
177#define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
178#define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
179#define AccFreeIndexArray NtMartaStatic.FreeIndexArray
180
182
184
185/* heap allocation helpers */
186static void *heap_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
187static inline void *heap_alloc( size_t len )
188{
189 return HeapAlloc( GetProcessHeap(), 0, len );
190}
191
192static inline BOOL heap_free( void *mem )
193{
194 return HeapFree( GetProcessHeap(), 0, mem );
195}
196
197#endif /* __ADVAPI32_H */
enum _PROG_INVOKE_SETTING PROG_INVOKE_SETTING
enum _SE_OBJECT_TYPE SE_OBJECT_TYPE
Definition: security.c:104
#define GetInheritanceSource
Definition: aclapi.h:234
DWORD ScmRpcStatusToWinError(RPC_STATUS Status)
Definition: scm.c:146
RPC_STATUS EvtUnbindLocalHandle(void)
RPC_STATUS EvtBindRpc(LPCWSTR pszMachine, RPC_BINDING_HANDLE *BindingHandle)
BOOL EvtGetLocalHandle(RPC_BINDING_HANDLE *BindingHandle)
static void * heap_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: advapi32.h:187
DWORD CheckNtMartaPresent(VOID)
Definition: misc.c:74
static BOOL heap_free(void *mem)
Definition: advapi32.h:192
#define FN_PROGRESSW
Definition: advapi32.h:49
NTMARTA NtMartaStatic
Definition: misc.c:19
struct _NTMARTA * PNTMARTA
struct _NTMARTA NTMARTA
NTSTATUS CloseLogonLsaHandle(VOID)
Definition: logon.c:75
RPC_STATUS EvtUnbindRpc(RPC_BINDING_HANDLE *BindingHandle)
LONG NTSTATUS
Definition: precomp.h:26
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
Status
Definition: gdiplustypes.h:25
GLenum GLsizei len
Definition: glext.h:6722
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
unsigned short USHORT
Definition: pedump.c:61
long RPC_STATUS
Definition: rpc.h:52
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS pfnArray
Definition: advapi32.h:152
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL Container
Definition: advapi32.h:148
PVOID LookupAccountTrustee
Definition: advapi32.h:80
PULONG pcCountOfExplicitEntries
Definition: advapi32.h:129
DWORD(WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD GuidCount
Definition: advapi32.h:150
PVOID ConvertSDToAccess
Definition: advapi32.h:85
SE_OBJECT_TYPE SECURITY_INFORMATION PSID * ppsidOwner
Definition: advapi32.h:93
PEXPLICIT_ACCESS_W PACL OldAcl
Definition: advapi32.h:124
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL pSacl
Definition: advapi32.h:139
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL FN_PROGRESSW fnProgress
Definition: advapi32.h:141
DWORD(WINAPI *TreeResetNamedSecurityInfo)(LPWSTR pObjectName
DWORD(WINAPI *RewriteSetNamedRights)(LPWSTR pObjectName
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL FN_PROGRESSW PROG_INVOKE_SETTING PVOID Args
Definition: advapi32.h:143
SE_OBJECT_TYPE ObjectType
Definition: advapi32.h:91
HINSTANCE hDllInstance
Definition: advapi32.h:78
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL * ppSacl
Definition: advapi32.h:96
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS PGENERIC_MAPPING pGenericMapping
Definition: advapi32.h:153
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL pDacl
Definition: advapi32.h:138
DWORD(WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName
PVOID GetAccessForTrustee
Definition: advapi32.h:87
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL KeepExplicit
Definition: advapi32.h:140
PVOID SetEntriesInAList
Definition: advapi32.h:83
PEXPLICIT_ACCESS_W pListOfExplicitEntries
Definition: advapi32.h:123
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL pAcl
Definition: advapi32.h:151
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID ** pObjectClassGuids
Definition: advapi32.h:149
PEXPLICIT_ACCESS_W PACL PACL * NewAcl
Definition: advapi32.h:125
USHORT AceCnt
Definition: advapi32.h:158
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID * ppsidGroup
Definition: advapi32.h:94
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS PGENERIC_MAPPING PINHERITED_FROMW pInheritArray
Definition: advapi32.h:154
PVOID LookupAccountSid
Definition: advapi32.h:82
PVOID GetExplicitEntries
Definition: advapi32.h:88
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL FN_PROGRESSW PROG_INVOKE_SETTING ProgressInvokeSetting
Definition: advapi32.h:142
DWORD(WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries
SE_OBJECT_TYPE SECURITY_INFORMATION PSECURITY_DESCRIPTOR pSecurityDescriptor
Definition: advapi32.h:103
DWORD(WINAPI *GetInheritanceSource)(LPWSTR pObjectName
SE_OBJECT_TYPE SECURITY_INFORMATION SecurityInfo
Definition: advapi32.h:92
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL * ppDacl
Definition: advapi32.h:95
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID pGroup
Definition: advapi32.h:137
PVOID LookupAccountName
Definition: advapi32.h:81
DWORD(WINAPI *RewriteSetHandleRights)(HANDLE handle
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL PSECURITY_DESCRIPTOR * ppSecurityDescriptor
Definition: advapi32.h:97
DWORD(WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl
PVOID ConvertAccessToSecurityDescriptor
Definition: advapi32.h:84
PULONG PEXPLICIT_ACCESS_W * pListOfExplicitEntries
Definition: advapi32.h:130
PVOID ConvertAclToAccess
Definition: advapi32.h:86
USHORT PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
Definition: advapi32.h:159
SE_OBJECT_TYPE SECURITY_INFORMATION PSID pOwner
Definition: advapi32.h:136
DWORD(WINAPI *RewriteGetHandleRights)(HANDLE handle
Definition: mem.c:156
_In_ ULONG _Out_ HANDLE * BindingHandle
Definition: tdikrnl.h:1147
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
#define WINAPI
Definition: msvc.h:6
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185