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 ******************************************************************/
16 /* PSDK/NDK Headers */
17 #define WIN32_NO_STATUS
25 #define NTOS_MODE_USER
26 #include <ndk/ntndk.h>
28 /* this has to go after the NDK when being used with the NDK */
31 #include <services/services.h>
34 #include "eventlogrpc_c.h"
36 #ifndef HAS_FN_PROGRESSW
37 #define FN_PROGRESSW FN_PROGRESS
39 #ifndef HAS_FN_PROGRESSA
40 #define FN_PROGRESSA FN_PROGRESS
45 RPC_STATUS
EvtBindRpc(LPCWSTR pszMachine
,
46 RPC_BINDING_HANDLE
* BindingHandle
);
47 RPC_STATUS
EvtUnbindRpc(RPC_BINDING_HANDLE
*BindingHandle
);
50 EvtGetLocalHandle(RPC_BINDING_HANDLE
*BindingHandle
);
51 RPC_STATUS
EvtUnbindLocalHandle(void);
55 ScmRpcStatusToWinError(RPC_STATUS Status
);
57 /* Interface to ntmarta.dll **************************************************/
59 typedef struct _NTMARTA
61 HINSTANCE hDllInstance
;
63 /* 2CC */PVOID LookupAccountTrustee
;
64 /* 2D0 */PVOID LookupAccountName
;
65 /* 2D4 */PVOID LookupAccountSid
;
66 /* 2D8 */PVOID SetEntriesInAList
;
67 /* 2DC */PVOID ConvertAccessToSecurityDescriptor
;
68 /* 2E0 */PVOID ConvertSDToAccess
;
69 /* 2E4 */PVOID ConvertAclToAccess
;
70 /* 2E8 */PVOID GetAccessForTrustee
;
71 /* 2EC */PVOID GetExplicitEntries
;
73 DWORD (STDCALL
*RewriteGetNamedRights
)(LPWSTR pObjectName
,
74 SE_OBJECT_TYPE ObjectType
,
75 SECURITY_INFORMATION SecurityInfo
,
80 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
83 DWORD (STDCALL
*RewriteSetNamedRights
)(LPWSTR pObjectName
,
84 SE_OBJECT_TYPE ObjectType
,
85 SECURITY_INFORMATION SecurityInfo
,
86 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
89 DWORD (STDCALL
*RewriteGetHandleRights
)(HANDLE handle
,
90 SE_OBJECT_TYPE ObjectType
,
91 SECURITY_INFORMATION SecurityInfo
,
96 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
99 DWORD (STDCALL
*RewriteSetHandleRights
)(HANDLE handle
,
100 SE_OBJECT_TYPE ObjectType
,
101 SECURITY_INFORMATION SecurityInfo
,
102 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
105 DWORD (STDCALL
*RewriteSetEntriesInAcl
)(ULONG cCountOfExplicitEntries
,
106 PEXPLICIT_ACCESS_W pListOfExplicitEntries
,
111 DWORD (STDCALL
*RewriteGetExplicitEntriesFromAcl
)(PACL pacl
,
112 PULONG pcCountOfExplicitEntries
,
113 PEXPLICIT_ACCESS_W
* pListOfExplicitEntries
);
116 DWORD (STDCALL
*TreeResetNamedSecurityInfo
)(LPWSTR pObjectName
,
117 SE_OBJECT_TYPE ObjectType
,
118 SECURITY_INFORMATION SecurityInfo
,
124 FN_PROGRESSW fnProgress
,
125 PROG_INVOKE_SETTING ProgressInvokeSetting
,
128 DWORD (STDCALL
*GetInheritanceSource
)(LPWSTR pObjectName
,
129 SE_OBJECT_TYPE ObjectType
,
130 SECURITY_INFORMATION SecurityInfo
,
132 GUID
** pObjectClassGuids
,
135 PFN_OBJECT_MGR_FUNCTS pfnArray
,
136 PGENERIC_MAPPING pGenericMapping
,
137 PINHERITED_FROMW pInheritArray
);
140 DWORD (STDCALL
*FreeIndexArray
)(PINHERITED_FROMW pInheritArray
,
142 PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
);
143 } NTMARTA
, *PNTMARTA
;
145 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
146 #define AccLookupAccountName NtMartaStatic.LookupAccountName
147 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
148 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
149 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
150 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
151 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
152 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
153 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
154 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
155 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
156 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
157 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
158 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
159 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
160 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
161 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
162 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
164 extern NTMARTA NtMartaStatic
;
166 DWORD
CheckNtMartaPresent(VOID
);
168 #endif /* __ADVAPI32_H */