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 Libary Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
11 /* INCLUDES ******************************************************************/
17 /* PSDK/NDK Headers */
18 #define WIN32_NO_STATUS
27 #define NTOS_MODE_USER
28 #include <ndk/cmfuncs.h>
29 #include <ndk/exfuncs.h>
30 #include <ndk/iofuncs.h>
31 #include <ndk/kefuncs.h>
32 #include <ndk/obfuncs.h>
33 #include <ndk/psfuncs.h>
34 #include <ndk/rtlfuncs.h>
35 #include <ndk/setypes.h>
36 #include <ndk/sefuncs.h>
38 /* this has to go after the NDK when being used with the NDK */
41 #include <services/services.h>
44 #include "eventlogrpc_c.h"
48 #include "crypt/crypt.h"
49 #include <wine/debug.h>
50 #include <wine/unicode.h>
53 #ifndef HAS_FN_PROGRESSW
54 #define FN_PROGRESSW FN_PROGRESS
56 #ifndef HAS_FN_PROGRESSA
57 #define FN_PROGRESSA FN_PROGRESS
62 BOOL
ADVAPI_GetComputerSid(PSID sid
);
66 RPC_STATUS
EvtBindRpc(LPCWSTR pszMachine
,
67 RPC_BINDING_HANDLE
* BindingHandle
);
68 RPC_STATUS
EvtUnbindRpc(RPC_BINDING_HANDLE
*BindingHandle
);
71 EvtGetLocalHandle(RPC_BINDING_HANDLE
*BindingHandle
);
72 RPC_STATUS
EvtUnbindLocalHandle(void);
76 ScmRpcStatusToWinError(RPC_STATUS Status
);
78 /* Interface to ntmarta.dll **************************************************/
80 typedef struct _NTMARTA
82 HINSTANCE hDllInstance
;
84 /* 2CC */PVOID LookupAccountTrustee
;
85 /* 2D0 */PVOID LookupAccountName
;
86 /* 2D4 */PVOID LookupAccountSid
;
87 /* 2D8 */PVOID SetEntriesInAList
;
88 /* 2DC */PVOID ConvertAccessToSecurityDescriptor
;
89 /* 2E0 */PVOID ConvertSDToAccess
;
90 /* 2E4 */PVOID ConvertAclToAccess
;
91 /* 2E8 */PVOID GetAccessForTrustee
;
92 /* 2EC */PVOID GetExplicitEntries
;
94 DWORD (WINAPI
*RewriteGetNamedRights
)(LPWSTR pObjectName
,
95 SE_OBJECT_TYPE ObjectType
,
96 SECURITY_INFORMATION SecurityInfo
,
101 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
104 DWORD (WINAPI
*RewriteSetNamedRights
)(LPWSTR pObjectName
,
105 SE_OBJECT_TYPE ObjectType
,
106 SECURITY_INFORMATION SecurityInfo
,
107 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
110 DWORD (WINAPI
*RewriteGetHandleRights
)(HANDLE handle
,
111 SE_OBJECT_TYPE ObjectType
,
112 SECURITY_INFORMATION SecurityInfo
,
117 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
120 DWORD (WINAPI
*RewriteSetHandleRights
)(HANDLE handle
,
121 SE_OBJECT_TYPE ObjectType
,
122 SECURITY_INFORMATION SecurityInfo
,
123 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
126 DWORD (WINAPI
*RewriteSetEntriesInAcl
)(ULONG cCountOfExplicitEntries
,
127 PEXPLICIT_ACCESS_W pListOfExplicitEntries
,
132 DWORD (WINAPI
*RewriteGetExplicitEntriesFromAcl
)(PACL pacl
,
133 PULONG pcCountOfExplicitEntries
,
134 PEXPLICIT_ACCESS_W
* pListOfExplicitEntries
);
137 DWORD (WINAPI
*TreeResetNamedSecurityInfo
)(LPWSTR pObjectName
,
138 SE_OBJECT_TYPE ObjectType
,
139 SECURITY_INFORMATION SecurityInfo
,
145 FN_PROGRESSW fnProgress
,
146 PROG_INVOKE_SETTING ProgressInvokeSetting
,
149 DWORD (WINAPI
*GetInheritanceSource
)(LPWSTR pObjectName
,
150 SE_OBJECT_TYPE ObjectType
,
151 SECURITY_INFORMATION SecurityInfo
,
153 GUID
** pObjectClassGuids
,
156 PFN_OBJECT_MGR_FUNCTS pfnArray
,
157 PGENERIC_MAPPING pGenericMapping
,
158 PINHERITED_FROMW pInheritArray
);
161 DWORD (WINAPI
*FreeIndexArray
)(PINHERITED_FROMW pInheritArray
,
163 PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
);
164 } NTMARTA
, *PNTMARTA
;
166 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
167 #define AccLookupAccountName NtMartaStatic.LookupAccountName
168 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
169 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
170 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
171 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
172 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
173 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
174 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
175 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
176 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
177 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
178 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
179 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
180 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
181 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
182 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
183 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
185 extern NTMARTA NtMartaStatic
;
187 DWORD
CheckNtMartaPresent(VOID
);
189 #endif /* __ADVAPI32_H */