mirror of
https://github.com/reactos/reactos.git
synced 2024-06-29 01:12:06 +00:00
Fix my previous patch and fix ACCESS_TOKEN being declared as a structure. This is incompatible with DDK/W32API because ACCESS_TOKEN is a PVOID. The real structure is TOKEN. Also, structure has been updated.
svn path=/trunk/; revision=12740
This commit is contained in:
parent
f862727d03
commit
afbaa12f82
|
@ -1,4 +1,4 @@
|
|||
/* $Id: objdir.c,v 1.14 2004/08/05 12:11:49 ea Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* DESCRIPTION: Object Manager Simple Explorer
|
||||
* PROGRAMMER: David Welch
|
||||
|
@ -173,8 +173,8 @@ ListDirectory (
|
|||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
NTSTATUS Status;
|
||||
HANDLE DirectoryHandle;
|
||||
BYTE DirectoryEntry [MAX_DIR_ENTRY * sizeof(DIRECTORY_BASIC_INFORMATION)];
|
||||
PDIRECTORY_BASIC_INFORMATION pDirectoryEntry = (PDIRECTORY_BASIC_INFORMATION) DirectoryEntry;
|
||||
BYTE DirectoryEntry [MAX_DIR_ENTRY * sizeof(OBJECT_DIRECTORY_INFORMATION)];
|
||||
POBJECT_DIRECTORY_INFORMATION pDirectoryEntry = (POBJECT_DIRECTORY_INFORMATION) DirectoryEntry;
|
||||
ULONG Context = 0;
|
||||
ULONG ReturnLength = 0;
|
||||
ULONG EntryCount = 0;
|
||||
|
@ -296,7 +296,7 @@ ListDirectory (
|
|||
*/
|
||||
if (FALSE != Recurse)
|
||||
{
|
||||
pDirectoryEntry = (PDIRECTORY_BASIC_INFORMATION) DirectoryEntry;
|
||||
pDirectoryEntry = (POBJECT_DIRECTORY_INFORMATION) DirectoryEntry;
|
||||
while (0 != pDirectoryEntry->ObjectTypeName.Length)
|
||||
{
|
||||
if (0 == wcscmp (L"Directory", pDirectoryEntry->ObjectTypeName.Buffer))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: setypes.h,v 1.17 2004/12/22 05:06:59 royce Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory for details
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -71,34 +71,66 @@
|
|||
#define SID_REVISION (1)
|
||||
#define SID_MAX_SUB_AUTHORITIES (15)
|
||||
|
||||
typedef struct _ACCESS_TOKEN
|
||||
{
|
||||
TOKEN_SOURCE TokenSource; /* 0x00 */
|
||||
typedef struct _SEP_AUDIT_POLICY_CATEGORIES {
|
||||
UCHAR System:4;
|
||||
UCHAR Logon:4;
|
||||
UCHAR ObjectAccess:4;
|
||||
UCHAR PrivilegeUse:4;
|
||||
UCHAR DetailedTracking:4;
|
||||
UCHAR PolicyChange:4;
|
||||
UCHAR AccountManagement:4;
|
||||
UCHAR DirectoryServiceAccess:4;
|
||||
UCHAR AccountLogon:4;
|
||||
} SEP_AUDIT_POLICY_CATEGORIES, *PSEP_AUDIT_POLICY_CATEGORIES;
|
||||
|
||||
typedef struct _SEP_AUDIT_POLICY_OVERLAY {
|
||||
ULONGLONG PolicyBits:36;
|
||||
UCHAR SetBit:1;
|
||||
} SEP_AUDIT_POLICY_OVERLAY, *PSEP_AUDIT_POLICY_OVERLAY;
|
||||
|
||||
typedef struct _SEP_AUDIT_POLICY {
|
||||
union {
|
||||
SEP_AUDIT_POLICY_CATEGORIES PolicyElements;
|
||||
SEP_AUDIT_POLICY_OVERLAY PolicyOverlay;
|
||||
ULONGLONG Overlay;
|
||||
};
|
||||
} SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY;
|
||||
|
||||
typedef struct _TOKEN {
|
||||
TOKEN_SOURCE TokenSource; /* 0x00 */
|
||||
LUID TokenId; /* 0x10 */
|
||||
LUID AuthenticationId; /* 0x18 */
|
||||
LARGE_INTEGER ExpirationTime; /* 0x20 */
|
||||
LUID ModifiedId; /* 0x28 */
|
||||
ULONG UserAndGroupCount; /* 0x30 */
|
||||
ULONG PrivilegeCount; /* 0x34 */
|
||||
ULONG VariableLength; /* 0x38 */
|
||||
ULONG DynamicCharged; /* 0x3C */
|
||||
ULONG DynamicAvailable; /* 0x40 */
|
||||
ULONG DefaultOwnerIndex; /* 0x44 */
|
||||
PSID_AND_ATTRIBUTES UserAndGroups; /* 0x48 */
|
||||
PSID PrimaryGroup; /* 0x4C */
|
||||
PLUID_AND_ATTRIBUTES Privileges; /* 0x50 */
|
||||
ULONG Unknown1; /* 0x54 */
|
||||
PACL DefaultDacl; /* 0x58 */
|
||||
TOKEN_TYPE TokenType; /* 0x5C */
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x60 */
|
||||
UCHAR TokenFlags; /* 0x64 */
|
||||
UCHAR TokenInUse; /* 0x65 */
|
||||
UCHAR Unused[2]; /* 0x66 */
|
||||
PVOID ProxyData; /* 0x68 */
|
||||
PVOID AuditData; /* 0x6c */
|
||||
UCHAR VariablePart[1]; /* 0x70 */
|
||||
} ACCESS_TOKEN, *PACCESS_TOKEN;
|
||||
LUID ParentTokenId; /* 0x20 */
|
||||
LARGE_INTEGER ExpirationTime; /* 0x28 */
|
||||
struct _ERESOURCE *TokenLock; /* 0x30 */
|
||||
ULONG Padding; /* 0x34 */
|
||||
SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */
|
||||
LUID ModifiedId; /* 0x40 */
|
||||
ULONG SessionId; /* 0x48 */
|
||||
ULONG UserAndGroupCount; /* 0x4C */
|
||||
ULONG RestrictedSidCount; /* 0x50 */
|
||||
ULONG PrivilegeCount; /* 0x54 */
|
||||
ULONG VariableLength; /* 0x58 */
|
||||
ULONG DynamicCharged; /* 0x5C */
|
||||
ULONG DynamicAvailable; /* 0x60 */
|
||||
ULONG DefaultOwnerIndex; /* 0x64 */
|
||||
PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */
|
||||
PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */
|
||||
PSID PrimaryGroup; /* 0x70 */
|
||||
PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */
|
||||
PULONG DynamicPart; /* 0x78 */
|
||||
PACL DefaultDacl; /* 0x7C */
|
||||
TOKEN_TYPE TokenType; /* 0x80 */
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */
|
||||
ULONG TokenFlags; /* 0x88 */
|
||||
ULONG TokenInUse; /* 0x8C */
|
||||
PVOID ProxyData; /* 0x90 */
|
||||
PVOID AuditData; /* 0x94 */
|
||||
LUID OriginatingLogonSession; /* 0x98 */
|
||||
UCHAR VariablePart[1]; /* 0xA0 */
|
||||
} TOKEN, *PTOKEN;
|
||||
|
||||
typedef PVOID PACCESS_TOKEN;
|
||||
|
||||
typedef struct _SECURITY_SUBJECT_CONTEXT
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: dosdev.c,v 1.11 2004/01/23 21:16:03 ekohl Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -156,7 +156,7 @@ QueryDosDeviceW(
|
|||
DWORD ucchMax
|
||||
)
|
||||
{
|
||||
PDIRECTORY_BASIC_INFORMATION DirInfo;
|
||||
POBJECT_DIRECTORY_INFORMATION DirInfo;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING UnicodeString;
|
||||
HANDLE DirectoryHandle;
|
||||
|
@ -252,7 +252,7 @@ QueryDosDeviceW(
|
|||
RestartScan = TRUE;
|
||||
Context = 0;
|
||||
Ptr = lpTargetPath;
|
||||
DirInfo = (PDIRECTORY_BASIC_INFORMATION)Buffer;
|
||||
DirInfo = (POBJECT_DIRECTORY_INFORMATION)Buffer;
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
|
|
|
@ -111,8 +111,8 @@ BOOLEAN SepInitDACLs(VOID);
|
|||
BOOLEAN SepInitSDs(VOID);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
SepCreateImpersonationTokenDacl(PACCESS_TOKEN Token,
|
||||
PACCESS_TOKEN PrimaryToken,
|
||||
SepCreateImpersonationTokenDacl(PTOKEN Token,
|
||||
PTOKEN PrimaryToken,
|
||||
PACL *Dacl);
|
||||
|
||||
VOID SepInitializeTokenImplementation(VOID);
|
||||
|
@ -142,7 +142,7 @@ SeReleaseLuidAndAttributesArray(PLUID_AND_ATTRIBUTES Privilege,
|
|||
ULONG a);
|
||||
|
||||
BOOLEAN
|
||||
SepPrivilegeCheck(PACCESS_TOKEN Token,
|
||||
SepPrivilegeCheck(PTOKEN Token,
|
||||
PLUID_AND_ATTRIBUTES Privileges,
|
||||
ULONG PrivilegeCount,
|
||||
ULONG PrivilegeControl,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: create.c,v 1.89 2004/12/18 15:52:51 hbirr Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -58,7 +58,7 @@ PsAssignImpersonationToken(PETHREAD Thread,
|
|||
{
|
||||
return(Status);
|
||||
}
|
||||
ImpersonationLevel = Token->ImpersonationLevel;
|
||||
ImpersonationLevel = SeTokenImpersonationLevel(Token);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: acl.c,v 1.22 2004/12/10 16:50:37 navaraf Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -220,8 +220,8 @@ SepInitDACLs(VOID)
|
|||
}
|
||||
|
||||
NTSTATUS STDCALL
|
||||
SepCreateImpersonationTokenDacl(PACCESS_TOKEN Token,
|
||||
PACCESS_TOKEN PrimaryToken,
|
||||
SepCreateImpersonationTokenDacl(PTOKEN Token,
|
||||
PTOKEN PrimaryToken,
|
||||
PACL *Dacl)
|
||||
{
|
||||
ULONG AclLength;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: priv.c,v 1.11 2004/08/15 16:39:11 chorns Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -98,7 +98,7 @@ SepInitPrivileges (VOID)
|
|||
|
||||
|
||||
BOOLEAN
|
||||
SepPrivilegeCheck (PACCESS_TOKEN Token,
|
||||
SepPrivilegeCheck (PTOKEN Token,
|
||||
PLUID_AND_ATTRIBUTES Privileges,
|
||||
ULONG PrivilegeCount,
|
||||
ULONG PrivilegeControl,
|
||||
|
@ -223,7 +223,7 @@ NtPrivilegeCheck (IN HANDLE ClientToken,
|
|||
IN PBOOLEAN Result)
|
||||
{
|
||||
PLUID_AND_ATTRIBUTES Privilege;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
ULONG PrivilegeCount;
|
||||
ULONG PrivilegeControl;
|
||||
ULONG Length;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: semgr.c,v 1.51 2004/11/21 18:35:05 gdalsnes Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -320,7 +320,7 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
|
|||
POOL_TYPE PoolType)
|
||||
{
|
||||
PSECURITY_DESCRIPTOR Descriptor;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
ULONG OwnerLength = 0;
|
||||
ULONG GroupLength = 0;
|
||||
ULONG DaclLength = 0;
|
||||
|
@ -557,10 +557,11 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
|
|||
|
||||
|
||||
static BOOLEAN
|
||||
SepSidInToken(PACCESS_TOKEN Token,
|
||||
SepSidInToken(PACCESS_TOKEN _Token,
|
||||
PSID Sid)
|
||||
{
|
||||
ULONG i;
|
||||
PTOKEN Token = (PTOKEN)_Token;
|
||||
|
||||
if (Token->UserAndGroupCount == 0)
|
||||
{
|
||||
|
@ -793,7 +794,7 @@ NtAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
{
|
||||
SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
NTSTATUS Status;
|
||||
|
||||
DPRINT("NtAccessCheck() called\n");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: token.c,v 1.45 2004/12/19 16:16:58 navaraf Exp $
|
||||
/* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -47,10 +47,11 @@ NTSTATUS SepCopyProxyData(PVOID* Dest, PVOID Src)
|
|||
}
|
||||
|
||||
NTSTATUS SeExchangePrimaryToken(PEPROCESS Process,
|
||||
PACCESS_TOKEN NewToken,
|
||||
PACCESS_TOKEN NewTokenP,
|
||||
PACCESS_TOKEN* OldTokenP)
|
||||
{
|
||||
PACCESS_TOKEN OldToken;
|
||||
PTOKEN OldToken;
|
||||
PTOKEN NewToken = (PTOKEN)NewTokenP;
|
||||
|
||||
if (NewToken->TokenType != TokenPrimary)
|
||||
{
|
||||
|
@ -68,7 +69,7 @@ NTSTATUS SeExchangePrimaryToken(PEPROCESS Process,
|
|||
SepTokenObjectType,
|
||||
KernelMode);
|
||||
OldToken->TokenInUse = 0;
|
||||
*OldTokenP = OldToken;
|
||||
*OldTokenP = (PACCESS_TOKEN)OldToken;
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
|
@ -88,7 +89,7 @@ RtlLengthSidAndAttributes(ULONG Count,
|
|||
|
||||
|
||||
NTSTATUS
|
||||
SepFindPrimaryGroupAndDefaultOwner(PACCESS_TOKEN Token,
|
||||
SepFindPrimaryGroupAndDefaultOwner(PTOKEN Token,
|
||||
PSID PrimaryGroup,
|
||||
PSID DefaultOwner)
|
||||
{
|
||||
|
@ -131,13 +132,13 @@ SepFindPrimaryGroupAndDefaultOwner(PACCESS_TOKEN Token,
|
|||
|
||||
|
||||
NTSTATUS
|
||||
SepDuplicateToken(PACCESS_TOKEN Token,
|
||||
SepDuplicateToken(PTOKEN Token,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
BOOLEAN EffectiveOnly,
|
||||
TOKEN_TYPE TokenType,
|
||||
SECURITY_IMPERSONATION_LEVEL Level,
|
||||
KPROCESSOR_MODE PreviousMode,
|
||||
PACCESS_TOKEN* NewAccessToken)
|
||||
PTOKEN* NewAccessToken)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
ULONG uLength;
|
||||
|
@ -145,14 +146,14 @@ SepDuplicateToken(PACCESS_TOKEN Token,
|
|||
|
||||
PVOID EndMem;
|
||||
|
||||
PACCESS_TOKEN AccessToken;
|
||||
PTOKEN AccessToken;
|
||||
|
||||
Status = ObCreateObject(PreviousMode,
|
||||
SepTokenObjectType,
|
||||
ObjectAttributes,
|
||||
PreviousMode,
|
||||
NULL,
|
||||
sizeof(ACCESS_TOKEN),
|
||||
sizeof(TOKEN),
|
||||
0,
|
||||
0,
|
||||
(PVOID*)&AccessToken);
|
||||
|
@ -266,8 +267,8 @@ SepInitializeNewProcess(struct _EPROCESS* NewProcess,
|
|||
struct _EPROCESS* ParentProcess)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
PACCESS_TOKEN pNewToken;
|
||||
PACCESS_TOKEN pParentToken;
|
||||
PTOKEN pNewToken;
|
||||
PTOKEN pParentToken;
|
||||
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
||||
|
@ -316,6 +317,7 @@ SeCopyClientToken(PACCESS_TOKEN Token,
|
|||
{
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
PTOKEN TokenNew;
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
NULL,
|
||||
|
@ -328,7 +330,9 @@ SeCopyClientToken(PACCESS_TOKEN Token,
|
|||
TokenImpersonation,
|
||||
Level,
|
||||
PreviousMode,
|
||||
NewToken);
|
||||
(PTOKEN*)&NewToken);
|
||||
|
||||
*NewToken = (PACCESS_TOKEN)TokenNew;
|
||||
return(Status);
|
||||
}
|
||||
|
||||
|
@ -517,7 +521,7 @@ SeImpersonateClient(IN PSECURITY_CLIENT_CONTEXT ClientContext,
|
|||
VOID STDCALL
|
||||
SepDeleteToken(PVOID ObjectBody)
|
||||
{
|
||||
PACCESS_TOKEN AccessToken = (PACCESS_TOKEN)ObjectBody;
|
||||
PTOKEN AccessToken = (PTOKEN)ObjectBody;
|
||||
|
||||
if (AccessToken->UserAndGroups)
|
||||
ExFreePool(AccessToken->UserAndGroups);
|
||||
|
@ -541,7 +545,7 @@ SepInitializeTokenImplementation(VOID)
|
|||
SepTokenObjectType->TotalObjects = 0;
|
||||
SepTokenObjectType->TotalHandles = 0;
|
||||
SepTokenObjectType->PagedPoolCharge = 0;
|
||||
SepTokenObjectType->NonpagedPoolCharge = sizeof(ACCESS_TOKEN);
|
||||
SepTokenObjectType->NonpagedPoolCharge = sizeof(TOKEN);
|
||||
SepTokenObjectType->Mapping = &SepTokenMapping;
|
||||
SepTokenObjectType->Dump = NULL;
|
||||
SepTokenObjectType->Open = NULL;
|
||||
|
@ -573,7 +577,7 @@ NtQueryInformationToken(IN HANDLE TokenHandle,
|
|||
NTSTATUS Status, LengthStatus;
|
||||
PVOID UnusedInfo;
|
||||
PVOID EndMem;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
ULONG Length;
|
||||
PTOKEN_GROUPS PtrTokenGroups;
|
||||
PTOKEN_DEFAULT_DACL PtrDefaultDacl;
|
||||
|
@ -901,7 +905,7 @@ NtSetInformationToken(IN HANDLE TokenHandle,
|
|||
IN ULONG TokenInformationLength)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
TOKEN_OWNER TokenOwnerSet = { 0 };
|
||||
TOKEN_PRIMARY_GROUP TokenPrimaryGroupSet = { 0 };
|
||||
DWORD NeededAccess = 0;
|
||||
|
@ -1036,8 +1040,8 @@ NtDuplicateToken(IN HANDLE ExistingTokenHandle,
|
|||
OUT PHANDLE NewTokenHandle)
|
||||
{
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
PACCESS_TOKEN Token;
|
||||
PACCESS_TOKEN NewToken;
|
||||
PTOKEN Token;
|
||||
PTOKEN NewToken;
|
||||
NTSTATUS Status;
|
||||
|
||||
PreviousMode = KeGetPreviousMode();
|
||||
|
@ -1213,7 +1217,7 @@ NtAdjustPrivilegesToken (IN HANDLE TokenHandle,
|
|||
// PLUID_AND_ATTRIBUTES Privileges;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
// ULONG PrivilegeCount;
|
||||
PACCESS_TOKEN Token;
|
||||
PTOKEN Token;
|
||||
// ULONG Length;
|
||||
ULONG i;
|
||||
ULONG j;
|
||||
|
@ -1363,7 +1367,7 @@ SepCreateSystemProcessToken(struct _EPROCESS* Process)
|
|||
ULONG uAuthUserLength = RtlLengthSid(SeAuthenticatedUserSid);
|
||||
ULONG uAdminsLength = RtlLengthSid(SeAliasAdminsSid);
|
||||
|
||||
PACCESS_TOKEN AccessToken;
|
||||
PTOKEN AccessToken;
|
||||
|
||||
PVOID SidArea;
|
||||
|
||||
|
@ -1375,7 +1379,7 @@ SepCreateSystemProcessToken(struct _EPROCESS* Process)
|
|||
NULL,
|
||||
KernelMode,
|
||||
NULL,
|
||||
sizeof(ACCESS_TOKEN),
|
||||
sizeof(TOKEN),
|
||||
0,
|
||||
0,
|
||||
(PVOID*)&AccessToken);
|
||||
|
@ -1572,7 +1576,7 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
|
|||
IN PTOKEN_SOURCE TokenSource)
|
||||
{
|
||||
HANDLE TokenHandle;
|
||||
PACCESS_TOKEN AccessToken;
|
||||
PTOKEN AccessToken;
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES SafeObjectAttributes;
|
||||
POBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
@ -1603,7 +1607,7 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
|
|||
ObjectAttributes,
|
||||
ExGetPreviousMode(),
|
||||
NULL,
|
||||
sizeof(ACCESS_TOKEN),
|
||||
sizeof(TOKEN),
|
||||
0,
|
||||
0,
|
||||
(PVOID*)&AccessToken);
|
||||
|
@ -1744,8 +1748,7 @@ NTSTATUS STDCALL
|
|||
SeQueryAuthenticationIdToken(IN PACCESS_TOKEN Token,
|
||||
OUT PLUID LogonId)
|
||||
{
|
||||
LogonId->LowPart = Token->AuthenticationId.LowPart;
|
||||
LogonId->HighPart = Token->AuthenticationId.HighPart;
|
||||
*LogonId = ((PTOKEN)Token)->AuthenticationId;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -1754,10 +1757,11 @@ SeQueryAuthenticationIdToken(IN PACCESS_TOKEN Token,
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
SECURITY_IMPERSONATION_LEVEL STDCALL
|
||||
SECURITY_IMPERSONATION_LEVEL
|
||||
STDCALL
|
||||
SeTokenImpersonationLevel(IN PACCESS_TOKEN Token)
|
||||
{
|
||||
return Token->ImpersonationLevel;
|
||||
return ((PTOKEN)Token)->ImpersonationLevel;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1767,7 +1771,7 @@ SeTokenImpersonationLevel(IN PACCESS_TOKEN Token)
|
|||
TOKEN_TYPE STDCALL
|
||||
SeTokenType(IN PACCESS_TOKEN Token)
|
||||
{
|
||||
return Token->TokenType;
|
||||
return ((PTOKEN)Token)->TokenType;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1823,7 +1827,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
|
|||
OUT PHANDLE TokenHandle)
|
||||
{
|
||||
PETHREAD Thread;
|
||||
PACCESS_TOKEN Token, NewToken, PrimaryToken;
|
||||
PTOKEN Token, NewToken, PrimaryToken;
|
||||
BOOLEAN CopyOnOpen, EffectiveOnly;
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
||||
SE_IMPERSONATION_STATE ImpersonationState;
|
||||
|
|
|
@ -390,7 +390,7 @@ ScmCheckDriver(PSERVICE Service)
|
|||
UNICODE_STRING DirName;
|
||||
HANDLE DirHandle;
|
||||
NTSTATUS Status;
|
||||
PDIRECTORY_BASIC_INFORMATION DirInfo;
|
||||
POBJECT_DIRECTORY_INFORMATION DirInfo;
|
||||
ULONG BufferLength;
|
||||
ULONG DataLength;
|
||||
ULONG Index;
|
||||
|
@ -424,7 +424,7 @@ ScmCheckDriver(PSERVICE Service)
|
|||
return(Status);
|
||||
}
|
||||
|
||||
BufferLength = sizeof(DIRECTORY_BASIC_INFORMATION) +
|
||||
BufferLength = sizeof(OBJECT_DIRECTORY_INFORMATION) +
|
||||
2 * MAX_PATH * sizeof(WCHAR);
|
||||
DirInfo = HeapAlloc(GetProcessHeap(),
|
||||
HEAP_ZERO_MEMORY,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: winsta.c,v 1.70 2004/12/24 17:45:58 weiden Exp $
|
||||
* $Id$
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -1004,7 +1004,7 @@ BuildWindowStationNameList(
|
|||
char InitialBuffer[256], *Buffer;
|
||||
ULONG Context, ReturnLength, BufferSize;
|
||||
DWORD EntryCount;
|
||||
PDIRECTORY_BASIC_INFORMATION DirEntry;
|
||||
POBJECT_DIRECTORY_INFORMATION DirEntry;
|
||||
WCHAR NullWchar;
|
||||
|
||||
/*
|
||||
|
@ -1090,7 +1090,7 @@ BuildWindowStationNameList(
|
|||
*/
|
||||
ReturnLength = sizeof(DWORD);
|
||||
EntryCount = 0;
|
||||
for (DirEntry = (PDIRECTORY_BASIC_INFORMATION) Buffer; 0 != DirEntry->ObjectName.Length;
|
||||
for (DirEntry = (POBJECT_DIRECTORY_INFORMATION) Buffer; 0 != DirEntry->ObjectName.Length;
|
||||
DirEntry++)
|
||||
{
|
||||
ReturnLength += DirEntry->ObjectName.Length + sizeof(WCHAR);
|
||||
|
@ -1137,7 +1137,7 @@ BuildWindowStationNameList(
|
|||
lpBuffer = (PVOID) ((PCHAR) lpBuffer + sizeof(DWORD));
|
||||
|
||||
NullWchar = L'\0';
|
||||
for (DirEntry = (PDIRECTORY_BASIC_INFORMATION) Buffer; 0 != DirEntry->ObjectName.Length;
|
||||
for (DirEntry = (POBJECT_DIRECTORY_INFORMATION) Buffer; 0 != DirEntry->ObjectName.Length;
|
||||
DirEntry++)
|
||||
{
|
||||
Status = MmCopyToCaller(lpBuffer, DirEntry->ObjectName.Buffer, DirEntry->ObjectName.Length);
|
||||
|
|
|
@ -943,10 +943,10 @@ ZwQueryDirectoryObject(
|
|||
IN OUT PULONG Context,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
|
||||
typedef struct _DIRECTORY_BASIC_INFORMATION {
|
||||
typedef struct _OBJECT_DIRECTORY_INFORMATION {
|
||||
UNICODE_STRING ObjectName;
|
||||
UNICODE_STRING ObjectTypeName;
|
||||
} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
|
||||
} OBJECT_DIRECTORY_INFORMATION, *POBJECT_DIRECTORY_INFORMATION;
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
|
|
Loading…
Reference in a new issue