Changeset 4400 for trunk/src/advapi32/ADVAPI32.CPP
- Timestamp:
- Oct 3, 2000, 7:38:09 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/advapi32/ADVAPI32.CPP
r2343 r4400 1 /* $Id: ADVAPI32.CPP,v 1.1 3 2000-01-06 20:04:59 sandervlExp $ */1 /* $Id: ADVAPI32.CPP,v 1.14 2000-10-03 05:38:08 bird Exp $ */ 2 2 3 3 /* … … 41 41 /* this define enables certain less important debug messages */ 42 42 //#define DEBUG_LOCAL 1 43 44 #define PTOKEN_GROUPS LPVOID 45 #define ACL_INFORMATION_CLASS DWORD 46 47 /* 48 * Watcom C/C++ messed things up... 49 */ 50 extern "C" 51 { 52 BOOL WIN32API SetTokenInformation(HANDLE hToken, 53 TOKEN_INFORMATION_CLASS tic, 54 LPVOID lpvInformation, 55 DWORD cbInformation); 56 BOOL WIN32API GetUserNameA( /*PLF Wed 98-02-11 13:33:39*/ 57 LPTSTR lpBuffer, /* address of name buffer */ 58 LPDWORD lpcchBuffer); /* address of size of name buffer */ 59 60 BOOL WIN32API GetUserNameW( /*KSO Thu 21.05.1998 */ 61 LPWSTR lpBuffer, 62 LPDWORD lpccBuffer 63 ); 64 65 BOOL WIN32API AbortSystemShutdownA(LPTSTR lpMachineName); 66 BOOL WIN32API AbortSystemShutdownW(LPWSTR lpMachineName); 67 BOOL WIN32API AccessCheckAndAuditAlarmA(LPCSTR SubsystemName, 68 LPVOID HandleId, 69 LPTSTR ObjectTypeName, 70 LPTSTR ObjectName, 71 PSECURITY_DESCRIPTOR SecurityDescriptor, 72 DWORD DesiredAccess, 73 PGENERIC_MAPPING GenericMapping, 74 BOOL ObjectCreation, 75 LPDWORD GrantedAccess, 76 LPBOOL AccessStatus, 77 LPBOOL pfGenerateOnClose); 78 BOOL WIN32API AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName, 79 LPVOID HandleId, 80 LPWSTR ObjectTypeName, 81 LPWSTR ObjectName, 82 PSECURITY_DESCRIPTOR SecurityDescriptor, 83 DWORD DesiredAccess, 84 PGENERIC_MAPPING GenericMapping, 85 BOOL ObjectCreation, 86 LPDWORD GrantedAccess, 87 LPBOOL AccessStatus, 88 LPBOOL pfGenerateOnClose); 89 BOOL WIN32API AddAccessAllowedAce(PACL pAcl, 90 DWORD dwAceRevision, 91 DWORD AccessMask, 92 PSID pSid); 93 BOOL WIN32API AddAccessDeniedAce(PACL pAcl, 94 DWORD dwAceRevision, 95 DWORD AccessMask, 96 PSID pSid); 97 BOOL WIN32API AddAce(PACL pAcl, 98 DWORD dwAceRevision, 99 DWORD dwStartingAceIndex, 100 LPVOID pAceList, 101 DWORD nAceListLength); 102 BOOL WIN32API AddAuditAccessAce(PACL pAcl, 103 DWORD dwAceRevision, 104 DWORD dwAccessMask, 105 PSID pSid, 106 BOOL bAuditSuccess, 107 BOOL bAuditFailure); 108 BOOL WIN32API AdjustTokenGroups(HANDLE TokenHandle, 109 BOOL ResetToDefault, 110 PTOKEN_GROUPS NewState, 111 DWORD BufferLength, 112 PTOKEN_GROUPS PreviousState, 113 LPDWORD ReturnLength); 114 BOOL WIN32API AllocateLocallyUniqueId(PLUID Luid); 115 BOOL WIN32API AreAllAccessesGranted(DWORD GrantedAccess, 116 DWORD DesiredAccess); 117 BOOL WIN32API AreAnyAccessesGranted(DWORD GrantedAccess, 118 DWORD DesiredAccess); 119 BOOL WIN32API CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor, 120 PSECURITY_DESCRIPTOR CreatorDescriptor, 121 PSECURITY_DESCRIPTOR *NewDescriptor, 122 BOOL IsDirectoryObject, 123 HANDLE Token, 124 PGENERIC_MAPPING GenericMapping); 125 BOOL WIN32API CreateProcessAsUserA(HANDLE hToken, 126 LPCSTR lpApplicationName, 127 LPTSTR lpCommandLine, 128 LPSECURITY_ATTRIBUTES lpProcessAttributes, 129 LPSECURITY_ATTRIBUTES lpThreadAttributes, 130 BOOL bInheritHandles, 131 DWORD dwCreationFlags, 132 LPVOID lpEnvironment, 133 LPCSTR lpCurrentDirectory, 134 LPSTARTUPINFOA lpStartupInfo, 135 LPPROCESS_INFORMATION lpProcessInformation); 136 BOOL WIN32API CreateProcessAsUserW(HANDLE hToken, 137 LPCWSTR lpApplicationName, 138 LPWSTR lpCommandLine, 139 LPSECURITY_ATTRIBUTES lpProcessAttributes, 140 LPSECURITY_ATTRIBUTES lpThreadAttributes, 141 BOOL bInheritHandles, 142 DWORD dwCreationFlags, 143 LPVOID lpEnvironment, 144 LPCWSTR lpCurrentDirectory, 145 LPSTARTUPINFOA lpStartupInfo, 146 LPPROCESS_INFORMATION lpProcessInformation); 147 BOOL WIN32API DeleteAce(PACL pAcl, 148 DWORD dwAceIndex); 149 BOOL WIN32API DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR *ObjectDescriptor); 150 BOOL WIN32API DuplicateToken(HANDLE ExistingTokenHandle, 151 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 152 PHANDLE DuplicateTokenHandle); 153 BOOL WIN32API FindFirstFreeAce(PACL pAcl, 154 LPVOID *pAce); 155 BOOL WIN32API GetAce(PACL pAcl, 156 DWORD dwAceIndex, 157 LPVOID *pAce); 158 BOOL WIN32API GetAclInformation(PACL pAcl, 159 LPVOID pAclInformation, 160 DWORD nAclInformationLength, 161 ACL_INFORMATION_CLASS dwAclInformationClass); 162 BOOL WIN32API GetKernelObjectSecurity(HANDLE Handle, 163 SECURITY_INFORMATION RequestedInformation, 164 PSECURITY_DESCRIPTOR pSecurityDescriptor, 165 DWORD nLength, 166 LPDWORD lpnLengthNeeded); 167 BOOL WIN32API GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR ObjectDescriptor, 168 SECURITY_INFORMATION SecurityInformation, 169 PSECURITY_DESCRIPTOR ResultantDescriptor, 170 DWORD DescriptorLength, 171 LPDWORD ReturnLength); 172 BOOL WIN32API ImpersonateLoggedOnUser(HANDLE hToken); 173 BOOL WIN32API ImpersonateNamedPipeClient(HANDLE hNamedPipe); 174 BOOL WIN32API InitiateSystemShutdownA(LPTSTR lpMachineName, 175 LPTSTR lpMessage, 176 DWORD dwTimeout, 177 BOOL bForceAppsClosed, 178 BOOL bRebootAfterShutdown); 179 BOOL WIN32API InitiateSystemShutdownW(LPWSTR lpMachineName, 180 LPWSTR lpMessage, 181 DWORD dwTimeout, 182 BOOL bForceAppsClosed, 183 BOOL bRebootAfterShutdown); 184 DWORD WIN32API IsTextUnicode(CONST LPVOID lpBuffer, 185 int cb, 186 LPINT lpi); 187 BOOL WIN32API IsValidAcl(PACL pAcl); 188 BOOL WIN32API LogonUserA(LPTSTR lpszUsername, 189 LPTSTR lpszDomain, 190 LPTSTR lpszPassword, 191 DWORD dwLogonType, 192 DWORD dwLogonProvider, 193 PHANDLE phToken); 194 BOOL WIN32API LogonUserW(LPWSTR lpszUsername, 195 LPWSTR lpszDomain, 196 LPWSTR lpszPassword, 197 DWORD dwLogonType, 198 DWORD dwLogonProvider, 199 PHANDLE phToken); 200 BOOL WIN32API LookupAccountNameA(LPCSTR lpSystemName, 201 LPCSTR lpAccountName, 202 PSID Sid, 203 LPDWORD cbSid, 204 LPTSTR ReferencedDomainName, 205 LPDWORD cbReferencedDomainName, 206 PSID_NAME_USE peUse); 207 BOOL WIN32API LookupAccountNameW(LPCWSTR lpSystemName, 208 LPCWSTR lpAccountName, 209 PSID Sid, 210 LPDWORD cbSid, 211 LPWSTR ReferencedDomainName, 212 LPDWORD cbReferencedDomainName, 213 PSID_NAME_USE peUse); 214 BOOL WIN32API LookupPrivilegeDisplayNameA(LPCSTR lpSystemName, 215 LPCSTR lpName, 216 LPTSTR lpDisplayName, 217 LPDWORD cbDisplayName, 218 LPDWORD lpLanguageId); 219 BOOL WIN32API LookupPrivilegeDisplayNameW(LPCWSTR lpSystemName, 220 LPCWSTR lpName, 221 LPWSTR lpDisplayName, 222 LPDWORD cbDisplayName, 223 LPDWORD lpLanguageId); 224 BOOL WIN32API LookupPrivilegeNameA(LPCSTR lpSystemName, 225 PLUID lpLuid, 226 LPTSTR lpName, 227 LPDWORD cbName); 228 BOOL WIN32API LookupPrivilegeNameW(LPCWSTR lpSystemName, 229 PLUID lpLuid, 230 LPWSTR lpName, 231 LPDWORD cbName); 232 BOOL WIN32API MakeAbsoluteSD(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 233 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, 234 LPDWORD lpdwAbsoluteSecurityDescriptorSize, 235 PACL pDacl, 236 LPDWORD lpdwDaclSize, 237 PACL pSacl, 238 LPDWORD lpdwSaclSize, 239 PSID pOwner, 240 LPDWORD lpdwOwnerSize, 241 PSID pPrimaryGroup, 242 LPDWORD lpdwPrimaryGroupSize); 243 VOID WIN32API MapGenericMask(LPDWORD AccessMask, 244 PGENERIC_MAPPING GenericMapping); 245 BOOL WIN32API ObjectCloseAuditAlarmA(LPCSTR SubsystemName, 246 LPVOID HandleId, 247 BOOL GenerateOnClose); 248 BOOL WIN32API ObjectCloseAuditAlarmW(LPCWSTR SubsystemName, 249 LPVOID HandleId, 250 BOOL GenerateOnClose); 251 BOOL WIN32API ObjectOpenAuditAlarmA(LPCSTR SubsystemName, 252 LPVOID HandleId, 253 LPTSTR ObjectTypeName, 254 LPTSTR ObjectName, 255 PSECURITY_DESCRIPTOR pSecurityDescriptor, 256 HANDLE ClientToken, 257 DWORD DesiredAccess, 258 DWORD GrantedAccess, 259 PPRIVILEGE_SET Privileges, 260 BOOL ObjectCreation, 261 BOOL AccessGranted, 262 LPBOOL GenerateOnClose); 263 BOOL WIN32API ObjectOpenAuditAlarmW(LPCWSTR SubsystemName, 264 LPVOID HandleId, 265 LPWSTR ObjectTypeName, 266 LPWSTR ObjectName, 267 PSECURITY_DESCRIPTOR pSecurityDescriptor, 268 HANDLE ClientToken, 269 DWORD DesiredAccess, 270 DWORD GrantedAccess, 271 PPRIVILEGE_SET Privileges, 272 BOOL ObjectCreation, 273 BOOL AccessGranted, 274 LPBOOL GenerateOnClose); 275 BOOL WIN32API ObjectPrivilegeAuditAlarmA(LPCSTR lpszSubsystem, 276 LPVOID lpvHandleId, 277 HANDLE hClientToken, 278 DWORD dwDesiredAccess, 279 PPRIVILEGE_SET pps, 280 BOOL fAccessGranted); 281 BOOL WIN32API ObjectPrivilegeAuditAlarmW(LPCWSTR lpszSubsystem, 282 LPVOID lpvHandleId, 283 HANDLE hClientToken, 284 DWORD dwDesiredAccess, 285 PPRIVILEGE_SET pps, 286 BOOL fAccessGranted); 287 BOOL WIN32API PrivilegeCheck(HANDLE hClientToken, 288 PPRIVILEGE_SET pps, 289 LPBOOL lpfResult); 290 BOOL WIN32API PrivilegedServiceAuditAlarmA(LPCSTR lpszSubsystem, 291 LPCSTR lpszService, 292 HANDLE hClientToken, 293 PPRIVILEGE_SET pps, 294 BOOL fAccessGranted); 295 BOOL WIN32API PrivilegedServiceAuditAlarmW(LPCWSTR lpszSubsystem, 296 LPCWSTR lpszService, 297 HANDLE hClientToken, 298 PPRIVILEGE_SET pps, 299 BOOL fAccessGranted); 300 BOOL WIN32API SetAclInformation(PACL pAcl, 301 LPVOID lpvAclInfo, 302 DWORD cbAclInfo, 303 ACL_INFORMATION_CLASS aclic); 304 BOOL WIN32API SetKernelObjectSecurity(HANDLE hObject, 305 SECURITY_INFORMATION si, 306 PSECURITY_DESCRIPTOR psd); 307 BOOL WIN32API SetPrivateObjectSecurity(SECURITY_INFORMATION si, 308 PSECURITY_DESCRIPTOR psdSource, 309 PSECURITY_DESCRIPTOR *lppsdTarget, 310 PGENERIC_MAPPING pgm, 311 HANDLE hClientToken); 312 } 43 313 44 314 … … 433 703 *****************************************************************************/ 434 704 435 #define PTOKEN_GROUPS LPVOID436 705 BOOL WIN32API AdjustTokenGroups(HANDLE TokenHandle, 437 706 BOOL ResetToDefault, … … 825 1094 *****************************************************************************/ 826 1095 827 #define ACL_INFORMATION_CLASS DWORD828 1096 BOOL WIN32API GetAclInformation(PACL pAcl, 829 1097 LPVOID pAclInformation, … … 1888 2156 *****************************************************************************/ 1889 2157 1890 BOOL WIN32API SetPrivateObjectSecurity(SECURITY_INFORMATION si, 2158 2159 BOOL WIN32API SetPrivateObjectSecurity(SECURITY_INFORMATION si, 1891 2160 PSECURITY_DESCRIPTOR psdSource, 1892 2161 PSECURITY_DESCRIPTOR *lppsdTarget,
Note:
See TracChangeset
for help on using the changeset viewer.