ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

advapi32.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:       See COPYING in the top level directory
00003  * PROJECT:         ReactOS System Libraries
00004  * FILE:            lib/advapi32/advapi32.h
00005  * PURPOSE:         Win32 Advanced API Libary Header
00006  * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)
00007  */
00008 #ifndef __ADVAPI32_H
00009 #define __ADVAPI32_H
00010 
00011 /* INCLUDES ******************************************************************/
00012 
00013 /* C Headers */
00014 #include <limits.h>
00015 #include <stdio.h>
00016 
00017 /* PSDK/NDK Headers */
00018 #define WIN32_NO_STATUS
00019 #define _WMI_SOURCE_
00020 #include <windows.h>
00021 #include <accctrl.h>
00022 #include <aclapi.h>
00023 #include <wmistr.h>
00024 #include <evntrace.h>
00025 #include <winsafer.h>
00026 #include <sddl.h>
00027 #define NTOS_MODE_USER
00028 #include <ndk/cmfuncs.h>
00029 #include <ndk/exfuncs.h>
00030 #include <ndk/iofuncs.h>
00031 #include <ndk/kefuncs.h>
00032 #include <ndk/obfuncs.h>
00033 #include <ndk/psfuncs.h>
00034 #include <ndk/rtlfuncs.h>
00035 #include <ndk/setypes.h>
00036 #include <ndk/sefuncs.h>
00037 
00038 /* this has to go after the NDK when being used with the NDK */
00039 #include <ntsecapi.h>
00040 
00041 #include <services/services.h>
00042 #include "svcctl_c.h"
00043 #include "lsa_c.h"
00044 #include "eventlogrpc_c.h"
00045 
00046 #include <rpc.h>
00047 
00048 #include "crypt/crypt.h"
00049 #include <wine/debug.h>
00050 #include <wine/unicode.h>
00051 #include <wincred.h>
00052 
00053 #ifndef HAS_FN_PROGRESSW
00054 #define FN_PROGRESSW FN_PROGRESS
00055 #endif
00056 #ifndef HAS_FN_PROGRESSA
00057 #define FN_PROGRESSA FN_PROGRESS
00058 #endif
00059 
00060 /* sid.c */
00061 
00062 BOOL ADVAPI_GetComputerSid(PSID sid);
00063 
00064 /* rpc.c */
00065 
00066 RPC_STATUS EvtBindRpc(LPCWSTR pszMachine,
00067                       RPC_BINDING_HANDLE* BindingHandle);
00068 RPC_STATUS EvtUnbindRpc(RPC_BINDING_HANDLE *BindingHandle);
00069 
00070 BOOL
00071 EvtGetLocalHandle(RPC_BINDING_HANDLE *BindingHandle);
00072 RPC_STATUS EvtUnbindLocalHandle(void);
00073 
00074 /* scm.c */
00075 DWORD
00076 ScmRpcStatusToWinError(RPC_STATUS Status);
00077 
00078 /* Interface to ntmarta.dll **************************************************/
00079 
00080 typedef struct _NTMARTA
00081 {
00082     HINSTANCE hDllInstance;
00083 
00084     /* 2CC */PVOID LookupAccountTrustee;
00085     /* 2D0 */PVOID LookupAccountName;
00086     /* 2D4 */PVOID LookupAccountSid;
00087     /* 2D8 */PVOID SetEntriesInAList;
00088     /* 2DC */PVOID ConvertAccessToSecurityDescriptor;
00089     /* 2E0 */PVOID ConvertSDToAccess;
00090     /* 2E4 */PVOID ConvertAclToAccess;
00091     /* 2E8 */PVOID GetAccessForTrustee;
00092     /* 2EC */PVOID GetExplicitEntries;
00093     /* 2F0 */
00094     DWORD (WINAPI *RewriteGetNamedRights)(LPWSTR pObjectName,
00095                                            SE_OBJECT_TYPE ObjectType,
00096                                            SECURITY_INFORMATION SecurityInfo,
00097                                            PSID* ppsidOwner,
00098                                            PSID* ppsidGroup,
00099                                            PACL* ppDacl,
00100                                            PACL* ppSacl,
00101                                            PSECURITY_DESCRIPTOR* ppSecurityDescriptor);
00102 
00103     /* 2F4 */
00104     DWORD (WINAPI *RewriteSetNamedRights)(LPWSTR pObjectName,
00105                                            SE_OBJECT_TYPE ObjectType,
00106                                            SECURITY_INFORMATION SecurityInfo,
00107                                            PSECURITY_DESCRIPTOR pSecurityDescriptor);
00108 
00109     /*2F8*/
00110     DWORD (WINAPI *RewriteGetHandleRights)(HANDLE handle,
00111                                             SE_OBJECT_TYPE ObjectType,
00112                                             SECURITY_INFORMATION SecurityInfo,
00113                                             PSID* ppsidOwner,
00114                                             PSID* ppsidGroup,
00115                                             PACL* ppDacl,
00116                                             PACL* ppSacl,
00117                                             PSECURITY_DESCRIPTOR* ppSecurityDescriptor);
00118 
00119     /* 2FC */
00120     DWORD (WINAPI *RewriteSetHandleRights)(HANDLE handle,
00121                                             SE_OBJECT_TYPE ObjectType,
00122                                             SECURITY_INFORMATION SecurityInfo,
00123                                             PSECURITY_DESCRIPTOR pSecurityDescriptor);
00124 
00125     /* 300 */
00126     DWORD (WINAPI *RewriteSetEntriesInAcl)(ULONG cCountOfExplicitEntries,
00127                                             PEXPLICIT_ACCESS_W pListOfExplicitEntries,
00128                                             PACL OldAcl,
00129                                             PACL* NewAcl);
00130 
00131     /* 304 */
00132     DWORD (WINAPI *RewriteGetExplicitEntriesFromAcl)(PACL pacl,
00133                                                       PULONG pcCountOfExplicitEntries,
00134                                                       PEXPLICIT_ACCESS_W* pListOfExplicitEntries);
00135 
00136     /* 308 */
00137     DWORD (WINAPI *TreeResetNamedSecurityInfo)(LPWSTR pObjectName,
00138                                                 SE_OBJECT_TYPE ObjectType,
00139                                                 SECURITY_INFORMATION SecurityInfo,
00140                                                 PSID pOwner,
00141                                                 PSID pGroup,
00142                                                 PACL pDacl,
00143                                                 PACL pSacl,
00144                                                 BOOL KeepExplicit,
00145                                                 FN_PROGRESSW fnProgress,
00146                                                 PROG_INVOKE_SETTING ProgressInvokeSetting,
00147                                                 PVOID Args);
00148     /* 30C */
00149     DWORD (WINAPI *GetInheritanceSource)(LPWSTR pObjectName,
00150                                           SE_OBJECT_TYPE ObjectType,
00151                                           SECURITY_INFORMATION SecurityInfo,
00152                                           BOOL Container,
00153                                           GUID** pObjectClassGuids,
00154                                           DWORD GuidCount,
00155                                           PACL pAcl,
00156                                           PFN_OBJECT_MGR_FUNCTS pfnArray,
00157                                           PGENERIC_MAPPING pGenericMapping,
00158                                           PINHERITED_FROMW pInheritArray);
00159 
00160     /* 310 */
00161     DWORD (WINAPI *FreeIndexArray)(PINHERITED_FROMW pInheritArray,
00162                                     USHORT AceCnt,
00163                                     PFN_OBJECT_MGR_FUNCTS pfnArray  OPTIONAL);
00164 } NTMARTA, *PNTMARTA;
00165 
00166 #define AccLookupAccountTrustee NtMartaStatic.LookupAccountTrustee
00167 #define AccLookupAccountName NtMartaStatic.LookupAccountName
00168 #define AccLookupAccountSid NtMartaStatic.LookupAccountSid
00169 #define AccSetEntriesInAList NtMartaStatic.SetEntriesInAList
00170 #define AccConvertAccessToSecurityDescriptor NtMartaStatic.ConvertAccessToSecurityDescriptor
00171 #define AccConvertSDToAccess NtMartaStatic.ConvertSDToAccess
00172 #define AccConvertAclToAccess NtMartaStatic.ConvertAclToAccess
00173 #define AccGetAccessForTrustee NtMartaStatic.GetAccessForTrustee
00174 #define AccGetExplicitEntries NtMartaStatic.GetExplicitEntries
00175 #define AccRewriteGetNamedRights NtMartaStatic.RewriteGetNamedRights
00176 #define AccRewriteSetNamedRights NtMartaStatic.RewriteSetNamedRights
00177 #define AccRewriteGetHandleRights NtMartaStatic.RewriteGetHandleRights
00178 #define AccRewriteSetHandleRights NtMartaStatic.RewriteSetHandleRights
00179 #define AccRewriteSetEntriesInAcl NtMartaStatic.RewriteSetEntriesInAcl
00180 #define AccRewriteGetExplicitEntriesFromAcl NtMartaStatic.RewriteGetExplicitEntriesFromAcl
00181 #define AccTreeResetNamedSecurityInfo NtMartaStatic.TreeResetNamedSecurityInfo
00182 #define AccGetInheritanceSource NtMartaStatic.GetInheritanceSource
00183 #define AccFreeIndexArray NtMartaStatic.FreeIndexArray
00184 
00185 extern NTMARTA NtMartaStatic;
00186 
00187 DWORD CheckNtMartaPresent(VOID);
00188 
00189 #endif /* __ADVAPI32_H */

Generated on Sat May 26 2012 04:21:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.