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
26 #define NTOS_MODE_USER
27 #include <ndk/ntndk.h>
29 /* this has to go after the NDK when being used with the NDK */
32 #include <services/services.h>
35 #include "eventlogrpc_c.h"
37 #ifndef HAS_FN_PROGRESSW
38 #define FN_PROGRESSW FN_PROGRESS
40 #ifndef HAS_FN_PROGRESSA
41 #define FN_PROGRESSA FN_PROGRESS
46 RPC_STATUS
EvtBindRpc(LPCWSTR pszMachine
,
47 RPC_BINDING_HANDLE
* BindingHandle
);
48 RPC_STATUS
EvtUnbindRpc(RPC_BINDING_HANDLE
*BindingHandle
);
51 EvtGetLocalHandle(RPC_BINDING_HANDLE
*BindingHandle
);
52 RPC_STATUS
EvtUnbindLocalHandle(void);
56 ScmRpcStatusToWinError(RPC_STATUS Status
);
58 /* Interface to ntmarta.dll **************************************************/
60 typedef struct _NTMARTA
62 HINSTANCE hDllInstance
;
64 /* 2CC */PVOID LookupAccountTrustee
;
65 /* 2D0 */PVOID LookupAccountName
;
66 /* 2D4 */PVOID LookupAccountSid
;
67 /* 2D8 */PVOID SetEntriesInAList
;
68 /* 2DC */PVOID ConvertAccessToSecurityDescriptor
;
69 /* 2E0 */PVOID ConvertSDToAccess
;
70 /* 2E4 */PVOID ConvertAclToAccess
;
71 /* 2E8 */PVOID GetAccessForTrustee
;
72 /* 2EC */PVOID GetExplicitEntries
;
74 DWORD (WINAPI
*RewriteGetNamedRights
)(LPWSTR pObjectName
,
75 SE_OBJECT_TYPE ObjectType
,
76 SECURITY_INFORMATION SecurityInfo
,
81 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
84 DWORD (WINAPI
*RewriteSetNamedRights
)(LPWSTR pObjectName
,
85 SE_OBJECT_TYPE ObjectType
,
86 SECURITY_INFORMATION SecurityInfo
,
87 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
90 DWORD (WINAPI
*RewriteGetHandleRights
)(HANDLE handle
,
91 SE_OBJECT_TYPE ObjectType
,
92 SECURITY_INFORMATION SecurityInfo
,
97 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
100 DWORD (WINAPI
*RewriteSetHandleRights
)(HANDLE handle
,
101 SE_OBJECT_TYPE ObjectType
,
102 SECURITY_INFORMATION SecurityInfo
,
103 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
106 DWORD (WINAPI
*RewriteSetEntriesInAcl
)(ULONG cCountOfExplicitEntries
,
107 PEXPLICIT_ACCESS_W pListOfExplicitEntries
,
112 DWORD (WINAPI
*RewriteGetExplicitEntriesFromAcl
)(PACL pacl
,
113 PULONG pcCountOfExplicitEntries
,
114 PEXPLICIT_ACCESS_W
* pListOfExplicitEntries
);
117 DWORD (WINAPI
*TreeResetNamedSecurityInfo
)(LPWSTR pObjectName
,
118 SE_OBJECT_TYPE ObjectType
,
119 SECURITY_INFORMATION SecurityInfo
,
125 FN_PROGRESSW fnProgress
,
126 PROG_INVOKE_SETTING ProgressInvokeSetting
,
129 DWORD (WINAPI
*GetInheritanceSource
)(LPWSTR pObjectName
,
130 SE_OBJECT_TYPE ObjectType
,
131 SECURITY_INFORMATION SecurityInfo
,
133 GUID
** pObjectClassGuids
,
136 PFN_OBJECT_MGR_FUNCTS pfnArray
,
137 PGENERIC_MAPPING pGenericMapping
,
138 PINHERITED_FROMW pInheritArray
);
141 DWORD (WINAPI
*FreeIndexArray
)(PINHERITED_FROMW pInheritArray
,
143 PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
);
144 } NTMARTA
, *PNTMARTA
;
146 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
147 #define AccLookupAccountName NtMartaStatic.LookupAccountName
148 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
149 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
150 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
151 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
152 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
153 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
154 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
155 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
156 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
157 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
158 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
159 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
160 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
161 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
162 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
163 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
165 extern NTMARTA NtMartaStatic
;
167 DWORD
CheckNtMartaPresent(VOID
);
169 #endif /* __ADVAPI32_H */