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/ntndk.h>
30 /* this has to go after the NDK when being used with the NDK */
33 #include <services/services.h>
36 #include "eventlogrpc_c.h"
38 #ifndef HAS_FN_PROGRESSW
39 #define FN_PROGRESSW FN_PROGRESS
41 #ifndef HAS_FN_PROGRESSA
42 #define FN_PROGRESSA FN_PROGRESS
47 BOOL
ADVAPI_GetComputerSid(PSID sid
);
51 RPC_STATUS
EvtBindRpc(LPCWSTR pszMachine
,
52 RPC_BINDING_HANDLE
* BindingHandle
);
53 RPC_STATUS
EvtUnbindRpc(RPC_BINDING_HANDLE
*BindingHandle
);
56 EvtGetLocalHandle(RPC_BINDING_HANDLE
*BindingHandle
);
57 RPC_STATUS
EvtUnbindLocalHandle(void);
61 ScmRpcStatusToWinError(RPC_STATUS Status
);
63 /* Interface to ntmarta.dll **************************************************/
65 typedef struct _NTMARTA
67 HINSTANCE hDllInstance
;
69 /* 2CC */PVOID LookupAccountTrustee
;
70 /* 2D0 */PVOID LookupAccountName
;
71 /* 2D4 */PVOID LookupAccountSid
;
72 /* 2D8 */PVOID SetEntriesInAList
;
73 /* 2DC */PVOID ConvertAccessToSecurityDescriptor
;
74 /* 2E0 */PVOID ConvertSDToAccess
;
75 /* 2E4 */PVOID ConvertAclToAccess
;
76 /* 2E8 */PVOID GetAccessForTrustee
;
77 /* 2EC */PVOID GetExplicitEntries
;
79 DWORD (WINAPI
*RewriteGetNamedRights
)(LPWSTR pObjectName
,
80 SE_OBJECT_TYPE ObjectType
,
81 SECURITY_INFORMATION SecurityInfo
,
86 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
89 DWORD (WINAPI
*RewriteSetNamedRights
)(LPWSTR pObjectName
,
90 SE_OBJECT_TYPE ObjectType
,
91 SECURITY_INFORMATION SecurityInfo
,
92 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
95 DWORD (WINAPI
*RewriteGetHandleRights
)(HANDLE handle
,
96 SE_OBJECT_TYPE ObjectType
,
97 SECURITY_INFORMATION SecurityInfo
,
102 PSECURITY_DESCRIPTOR
* ppSecurityDescriptor
);
105 DWORD (WINAPI
*RewriteSetHandleRights
)(HANDLE handle
,
106 SE_OBJECT_TYPE ObjectType
,
107 SECURITY_INFORMATION SecurityInfo
,
108 PSECURITY_DESCRIPTOR pSecurityDescriptor
);
111 DWORD (WINAPI
*RewriteSetEntriesInAcl
)(ULONG cCountOfExplicitEntries
,
112 PEXPLICIT_ACCESS_W pListOfExplicitEntries
,
117 DWORD (WINAPI
*RewriteGetExplicitEntriesFromAcl
)(PACL pacl
,
118 PULONG pcCountOfExplicitEntries
,
119 PEXPLICIT_ACCESS_W
* pListOfExplicitEntries
);
122 DWORD (WINAPI
*TreeResetNamedSecurityInfo
)(LPWSTR pObjectName
,
123 SE_OBJECT_TYPE ObjectType
,
124 SECURITY_INFORMATION SecurityInfo
,
130 FN_PROGRESSW fnProgress
,
131 PROG_INVOKE_SETTING ProgressInvokeSetting
,
134 DWORD (WINAPI
*GetInheritanceSource
)(LPWSTR pObjectName
,
135 SE_OBJECT_TYPE ObjectType
,
136 SECURITY_INFORMATION SecurityInfo
,
138 GUID
** pObjectClassGuids
,
141 PFN_OBJECT_MGR_FUNCTS pfnArray
,
142 PGENERIC_MAPPING pGenericMapping
,
143 PINHERITED_FROMW pInheritArray
);
146 DWORD (WINAPI
*FreeIndexArray
)(PINHERITED_FROMW pInheritArray
,
148 PFN_OBJECT_MGR_FUNCTS pfnArray OPTIONAL
);
149 } NTMARTA
, *PNTMARTA
;
151 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
152 #define AccLookupAccountName NtMartaStatic.LookupAccountName
153 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
154 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
155 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
156 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
157 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
158 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
159 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
160 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
161 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
162 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
163 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
164 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
165 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
166 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
167 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
168 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
170 extern NTMARTA NtMartaStatic
;
172 DWORD
CheckNtMartaPresent(VOID
);
174 #endif /* __ADVAPI32_H */