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);
53 /* Interface to ntmarta.dll **************************************************/
55 typedef struct _NTMARTA
57 HINSTANCE hDllInstance
;
59 /* 2CC */PVOID LookupAccountTrustee
;
60 /* 2D0 */PVOID LookupAccountName
;
61 /* 2D4 */PVOID LookupAccountSid
;
62 /* 2D8 */PVOID SetEntriesInAList
;
63 /* 2DC */PVOID ConvertAccessToSecurityDescriptor
;
64 /* 2E0 */PVOID ConvertSDToAccess
;
65 /* 2E4 */PVOID ConvertAclToAccess
;
66 /* 2E8 */PVOID GetAccessForTrustee
;
67 /* 2EC */PVOID GetExplicitEntries
;
69 DWORD (STDCALL
*RewriteGetNamedRights
)(LPWSTR pObjectName
,
70 SE_OBJECT_TYPE ObjectType
,
71 SECURITY_INFORMATION SecurityInfo
,
76 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
79 DWORD (STDCALL
*RewriteSetNamedRights
)(LPWSTR pObjectName
,
80 SE_OBJECT_TYPE ObjectType
,
81 SECURITY_INFORMATION SecurityInfo
,
82 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
85 DWORD (STDCALL
*RewriteGetHandleRights
)(HANDLE handle
,
86 SE_OBJECT_TYPE ObjectType
,
87 SECURITY_INFORMATION SecurityInfo
,
92 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
95 DWORD (STDCALL
*RewriteSetHandleRights
)(HANDLE handle
,
96 SE_OBJECT_TYPE ObjectType
,
97 SECURITY_INFORMATION SecurityInfo
,
98 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
101 DWORD (STDCALL
*RewriteSetEntriesInAcl
)(ULONG cCountOfExplicitEntries
,
102 PEXPLICIT_ACCESS_W pListOfExplicitEntries
,
107 DWORD (STDCALL
*RewriteGetExplicitEntriesFromAcl
)(PACL pacl
,
108 PULONG pcCountOfExplicitEntries
,
109 PEXPLICIT_ACCESS_W
* pListOfExplicitEntries
);
112 DWORD (STDCALL
*TreeResetNamedSecurityInfo
)(LPWSTR pObjectName
,
113 SE_OBJECT_TYPE ObjectType
,
114 SECURITY_INFORMATION SecurityInfo
,
120 FN_PROGRESSW fnProgress
,
121 PROG_INVOKE_SETTING ProgressInvokeSetting
,
124 DWORD (STDCALL
*GetInheritanceSource
)(LPWSTR pObjectName
,
125 SE_OBJECT_TYPE ObjectType
,
126 SECURITY_INFORMATION SecurityInfo
,
128 GUID
** pObjectClassGuids
,
131 PFN_OBJECT_MGR_FUNCTS pfnArray
,
132 PGENERIC_MAPPING pGenericMapping
,
133 PINHERITED_FROMW pInheritArray
);
136 DWORD (STDCALL
*FreeIndexArray
)(PINHERITED_FROMW pInheritArray
,
138 PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
);
139 } NTMARTA
, *PNTMARTA
;
141 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
142 #define AccLookupAccountName NtMartaStatic.LookupAccountName
143 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
144 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
145 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
146 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
147 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
148 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
149 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
150 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
151 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
152 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
153 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
154 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
155 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
156 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
157 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
158 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
160 extern NTMARTA NtMartaStatic
;
162 DWORD
CheckNtMartaPresent(VOID
);
164 #endif /* __ADVAPI32_H */