ReactOS 0.4.16-dev-1142-g8029339
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#include <dbt.h>
43// #include <winsvc_undoc.h>
44
45#include <wine/debug.h>
46#include <wine/unicode.h>
47
48#include "wine/crypt.h"
49
50#ifndef HAS_FN_PROGRESSW
51#define FN_PROGRESSW FN_PROGRESS
52#endif
53#ifndef HAS_FN_PROGRESSA
54#define FN_PROGRESSA FN_PROGRESS
55#endif
56
57/* logon.c */
58
61
62/* rpc.c */
63
67
68BOOL
71
72/* scm.c */
75
76/* Interface to ntmarta.dll **************************************************/
77
78typedef struct _NTMARTA
79{
81
91 /* 2F0 */
92 DWORD (WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName,
100
101 /* 2F4 */
102 DWORD (WINAPI *RewriteSetNamedRights)(LPWSTR pObjectName,
106
107 /*2F8*/
108 DWORD (WINAPI *RewriteGetHandleRights)(HANDLE handle,
113 PACL* ppDacl,
114 PACL* ppSacl,
116
117 /* 2FC */
118 DWORD (WINAPI *RewriteSetHandleRights)(HANDLE handle,
122
123 /* 300 */
124 DWORD (WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries,
128
129 /* 304 */
130 DWORD (WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl,
133
134 /* 308 */
135 DWORD (WINAPI *TreeResetNamedSecurityInfo)(LPWSTR pObjectName,
146 /* 30C */
156 PINHERITED_FROMW pInheritArray);
157
158 /* 310 */
159 DWORD (WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray,
163
164#define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
165#define AccLookupAccountName NtMartaStatic.LookupAccountName
166#define AccLookupAccountSid NtMartaStatic.LookupAccountSid
167#define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
168#define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
169#define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
170#define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
171#define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
172#define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
173#define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
174#define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
175#define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
176#define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
177#define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
178#define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
179#define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
180#define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
181#define AccFreeIndexArray NtMartaStatic.FreeIndexArray
182
184
186
187/* heap allocation helpers */
188static void *heap_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
189static inline void *heap_alloc( size_t len )
190{
191 return HeapAlloc( GetProcessHeap(), 0, len );
192}
193
194static inline BOOL heap_free( void *mem )
195{
196 return HeapFree( GetProcessHeap(), 0, mem );
197}
198
199#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:189
DWORD CheckNtMartaPresent(VOID)
Definition: misc.c:74
static BOOL heap_free(void *mem)
Definition: advapi32.h:194
#define FN_PROGRESSW
Definition: advapi32.h:51
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:48
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS pfnArray
Definition: advapi32.h:154
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL Container
Definition: advapi32.h:150
PVOID LookupAccountTrustee
Definition: advapi32.h:82
PULONG pcCountOfExplicitEntries
Definition: advapi32.h:131
DWORD(WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD GuidCount
Definition: advapi32.h:152
PVOID ConvertSDToAccess
Definition: advapi32.h:87
SE_OBJECT_TYPE SECURITY_INFORMATION PSID * ppsidOwner
Definition: advapi32.h:95
PEXPLICIT_ACCESS_W PACL OldAcl
Definition: advapi32.h:126
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL pSacl
Definition: advapi32.h:141
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL FN_PROGRESSW fnProgress
Definition: advapi32.h:143
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:145
SE_OBJECT_TYPE ObjectType
Definition: advapi32.h:93
HINSTANCE hDllInstance
Definition: advapi32.h:80
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL * ppSacl
Definition: advapi32.h:98
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS PGENERIC_MAPPING pGenericMapping
Definition: advapi32.h:155
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL pDacl
Definition: advapi32.h:140
DWORD(WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName
PVOID GetAccessForTrustee
Definition: advapi32.h:89
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL KeepExplicit
Definition: advapi32.h:142
PVOID SetEntriesInAList
Definition: advapi32.h:85
PEXPLICIT_ACCESS_W pListOfExplicitEntries
Definition: advapi32.h:125
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL pAcl
Definition: advapi32.h:153
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID ** pObjectClassGuids
Definition: advapi32.h:151
PEXPLICIT_ACCESS_W PACL PACL * NewAcl
Definition: advapi32.h:127
USHORT AceCnt
Definition: advapi32.h:160
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID * ppsidGroup
Definition: advapi32.h:96
SE_OBJECT_TYPE SECURITY_INFORMATION BOOL GUID DWORD PACL PFN_OBJECT_MGR_FUNCTS PGENERIC_MAPPING PINHERITED_FROMW pInheritArray
Definition: advapi32.h:156
PVOID LookupAccountSid
Definition: advapi32.h:84
PVOID GetExplicitEntries
Definition: advapi32.h:90
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL BOOL FN_PROGRESSW PROG_INVOKE_SETTING ProgressInvokeSetting
Definition: advapi32.h:144
DWORD(WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries
SE_OBJECT_TYPE SECURITY_INFORMATION PSECURITY_DESCRIPTOR pSecurityDescriptor
Definition: advapi32.h:105
DWORD(WINAPI *GetInheritanceSource)(LPWSTR pObjectName
SE_OBJECT_TYPE SECURITY_INFORMATION SecurityInfo
Definition: advapi32.h:94
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL * ppDacl
Definition: advapi32.h:97
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID pGroup
Definition: advapi32.h:139
PVOID LookupAccountName
Definition: advapi32.h:83
DWORD(WINAPI *RewriteSetHandleRights)(HANDLE handle
SE_OBJECT_TYPE SECURITY_INFORMATION PSID PSID PACL PACL PSECURITY_DESCRIPTOR * ppSecurityDescriptor
Definition: advapi32.h:99
DWORD(WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl
PVOID ConvertAccessToSecurityDescriptor
Definition: advapi32.h:86
PULONG PEXPLICIT_ACCESS_W * pListOfExplicitEntries
Definition: advapi32.h:132
PVOID ConvertAclToAccess
Definition: advapi32.h:88
USHORT PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
Definition: advapi32.h:161
SE_OBJECT_TYPE SECURITY_INFORMATION PSID pOwner
Definition: advapi32.h:138
DWORD(WINAPI *RewriteGetHandleRights)(HANDLE handle
Definition: mem.c:349
_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