10 AreAllAccessesGranted(DWORD GrantedAccess,
13 return((BOOL)RtlAreAllAccessesGranted(GrantedAccess,
19 AreAnyAccessesGranted(DWORD GrantedAccess,
22 return((BOOL)RtlAreAnyAccessesGranted(GrantedAccess,
28 GetKernelObjectSecurity(HANDLE Handle,
29 SECURITY_INFORMATION RequestedInformation,
30 PSECURITY_DESCRIPTOR pSecurityDescriptor,
32 LPDWORD lpnLengthNeeded)
36 Status = NtQuerySecurityObject(Handle,
41 if (!NT_SUCCESS(Status))
43 SetLastError(RtlNtStatusToDosError(Status));
51 SetKernelObjectSecurity(HANDLE Handle,
52 SECURITY_INFORMATION SecurityInformation,
53 PSECURITY_DESCRIPTOR SecurityDescriptor)
57 Status = NtSetSecurityObject(Handle,
60 if (!NT_SUCCESS(Status))
62 SetLastError(RtlNtStatusToDosError(Status));
70 MapGenericMask(PDWORD AccessMask,
71 PGENERIC_MAPPING GenericMapping)
73 RtlMapGenericMask(AccessMask,
79 ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
83 Status = RtlImpersonateSelf(ImpersonationLevel);
84 if (!NT_SUCCESS(Status))
86 SetLastError(RtlNtStatusToDosError(Status));
99 Status = NtSetInformationThread(NtCurrentThread(),
100 ThreadImpersonationToken,
103 if (!NT_SUCCESS(Status))
105 SetLastError(RtlNtStatusToDosError(Status));