-/* $Id: zw.h,v 1.25 2004/06/13 10:35:51 navaraf Exp $
+/* $Id: zw.h,v 1.26 2004/07/12 12:00:15 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* ReturnLength = Bytes written
* GrantedAccess =
* AccessStatus = Indicates if the ClientToken allows the requested access
- * REMARKS: The arguments map to the win32 AccessCheck
+ * REMARKS: The arguments map to the win32 AccessCheck
+ * Gary Nebbett is wrong:
+ * The 7th argument is a PACCESS_MASK, not a PULONG.
+ * The 8th argument is a PNTSTATUS, not a PBOOLEAN.
* RETURNS: Status
*/
IN PGENERIC_MAPPING GenericMapping,
OUT PPRIVILEGE_SET PrivilegeSet,
OUT PULONG ReturnLength,
- OUT PULONG GrantedAccess,
- OUT PBOOLEAN AccessStatus
+ OUT PACCESS_MASK GrantedAccess,
+ OUT PNTSTATUS AccessStatus
);
NTSTATUS
IN PGENERIC_MAPPING GenericMapping,
OUT PPRIVILEGE_SET PrivilegeSet,
OUT PULONG ReturnLength,
- OUT PULONG GrantedAccess,
- OUT PBOOLEAN AccessStatus
+ OUT PACCESS_MASK GrantedAccess,
+ OUT PNTSTATUS AccessStatus
);
NTSTATUS
NTSTATUS WINAPI LdrLoadDll(LPCWSTR, DWORD, const UNICODE_STRING*, HMODULE*);
void WINAPI LdrShutdownProcess(void);
void WINAPI LdrShutdownThread(void);
-NTSTATUS WINAPI NtAccessCheck(PSECURITY_DESCRIPTOR,HANDLE,ACCESS_MASK,PGENERIC_MAPPING,PPRIVILEGE_SET,PULONG,PULONG,PBOOLEAN);
+NTSTATUS WINAPI NtAccessCheck(PSECURITY_DESCRIPTOR,HANDLE,ACCESS_MASK,PGENERIC_MAPPING,PPRIVILEGE_SET,PULONG,PACCESS_MASK,PNTSTATUS);
NTSTATUS WINAPI NtAdjustPrivilegesToken(HANDLE,BOOLEAN,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
NTSTATUS WINAPI NtAllocateVirtualMemory(HANDLE,PVOID*,PVOID,ULONG*,ULONG,ULONG);
NTSTATUS WINAPI NtCancelTimer(HANDLE, BOOLEAN*);
-/* $Id: token.c,v 1.11 2004/07/06 22:07:25 gvg Exp $
+/* $Id: token.c,v 1.12 2004/07/12 12:05:49 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
LPBOOL AccessStatus)
{
NTSTATUS Status;
+ NTSTATUS AccessStat;
Status = NtAccessCheck (pSecurityDescriptor,
ClientToken,
GenericMapping,
PrivilegeSet,
(PULONG)PrivilegeSetLength,
- (PULONG)GrantedAccess,
- (PBOOLEAN)AccessStatus);
+ (PACCESS_MASK)GrantedAccess,
+ &AccessStat);
if (!NT_SUCCESS (Status))
{
SetLastError (RtlNtStatusToDosError (Status));
return FALSE;
}
+ if (!NT_SUCCESS (AccessStat))
+ {
+ SetLastError (RtlNtStatusToDosError (Status));
+ *AccessStatus = FALSE;
+ return TRUE;
+ }
+
+ *AccessStatus = TRUE;
+
return TRUE;
}
-/* $Id: semgr.c,v 1.30 2004/05/20 12:42:11 ekohl Exp $
+/* $Id: semgr.c,v 1.31 2004/07/12 12:04:17 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
IN PGENERIC_MAPPING GenericMapping,
OUT PPRIVILEGE_SET PrivilegeSet,
OUT PULONG ReturnLength,
- OUT PULONG GrantedAccess,
- OUT PBOOLEAN AccessStatus)
+ OUT PACCESS_MASK GrantedAccess,
+ OUT PNTSTATUS AccessStatus)
{
UNIMPLEMENTED;
return(STATUS_NOT_IMPLEMENTED);
IN PPRIVILEGE_SET PrivilegeSet,
IN PULONG PrivilegeSetLength,
OUT PACCESS_MASK GrantedAccess,
- OUT PBOOLEAN AccessStatus);
+ OUT PNTSTATUS AccessStatus);
NTOSAPI
NTSTATUS