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.
Modified: trunk/reactos/apps/utils/objdir/objdir.c
Modified: trunk/reactos/include/ddk/setypes.h
Modified: trunk/reactos/lib/kernel32/file/dosdev.c
Modified: trunk/reactos/ntoskrnl/include/internal/se.h
Modified: trunk/reactos/ntoskrnl/ps/create.c
Modified: trunk/reactos/ntoskrnl/se/acl.c
Modified: trunk/reactos/ntoskrnl/se/priv.c
Modified: trunk/reactos/ntoskrnl/se/semgr.c
Modified: trunk/reactos/ntoskrnl/se/token.c
Modified: trunk/reactos/subsys/system/services/database.c
Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c
Modified: trunk/reactos/w32api/include/ddk/ntapi.h
_____
Modified: trunk/reactos/apps/utils/objdir/objdir.c
--- trunk/reactos/apps/utils/objdir/objdir.c 2005-01-02 22:17:02 UTC
(rev 12739)
+++ trunk/reactos/apps/utils/objdir/objdir.c 2005-01-02 23:12:40 UTC
(rev 12740)
@@ -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 @@
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 @@
*/
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))
_____
Modified: trunk/reactos/include/ddk/setypes.h
--- trunk/reactos/include/ddk/setypes.h 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/include/ddk/setypes.h 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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
{
_____
Modified: trunk/reactos/lib/kernel32/file/dosdev.c
--- trunk/reactos/lib/kernel32/file/dosdev.c 2005-01-02 22:17:02 UTC
(rev 12739)
+++ trunk/reactos/lib/kernel32/file/dosdev.c 2005-01-02 23:12:40 UTC
(rev 12740)
@@ -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 @@
DWORD ucchMax
)
{
- PDIRECTORY_BASIC_INFORMATION DirInfo;
+ POBJECT_DIRECTORY_INFORMATION DirInfo;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING UnicodeString;
HANDLE DirectoryHandle;
@@ -252,7 +252,7 @@
RestartScan = TRUE;
Context = 0;
Ptr = lpTargetPath;
- DirInfo = (PDIRECTORY_BASIC_INFORMATION)Buffer;
+ DirInfo = (POBJECT_DIRECTORY_INFORMATION)Buffer;
while (TRUE)
{
_____
Modified: trunk/reactos/ntoskrnl/include/internal/se.h
--- trunk/reactos/ntoskrnl/include/internal/se.h 2005-01-02
22:17:02 UTC (rev 12739)
+++ trunk/reactos/ntoskrnl/include/internal/se.h 2005-01-02
23:12:40 UTC (rev 12740)
@@ -111,8 +111,8 @@
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 @@
ULONG a);
BOOLEAN
-SepPrivilegeCheck(PACCESS_TOKEN Token,
+SepPrivilegeCheck(PTOKEN Token,
PLUID_AND_ATTRIBUTES Privileges,
ULONG PrivilegeCount,
ULONG PrivilegeControl,
_____
Modified: trunk/reactos/ntoskrnl/ps/create.c
--- trunk/reactos/ntoskrnl/ps/create.c 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/ntoskrnl/ps/create.c 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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 @@
{
return(Status);
}
- ImpersonationLevel = Token->ImpersonationLevel;
+ ImpersonationLevel = SeTokenImpersonationLevel(Token);
}
else
{
_____
Modified: trunk/reactos/ntoskrnl/se/acl.c
--- trunk/reactos/ntoskrnl/se/acl.c 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/ntoskrnl/se/acl.c 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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 @@
}
NTSTATUS STDCALL
-SepCreateImpersonationTokenDacl(PACCESS_TOKEN Token,
- PACCESS_TOKEN PrimaryToken,
+SepCreateImpersonationTokenDacl(PTOKEN Token,
+ PTOKEN PrimaryToken,
PACL *Dacl)
{
ULONG AclLength;
_____
Modified: trunk/reactos/ntoskrnl/se/priv.c
--- trunk/reactos/ntoskrnl/se/priv.c 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/ntoskrnl/se/priv.c 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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 @@
BOOLEAN
-SepPrivilegeCheck (PACCESS_TOKEN Token,
+SepPrivilegeCheck (PTOKEN Token,
PLUID_AND_ATTRIBUTES Privileges,
ULONG PrivilegeCount,
ULONG PrivilegeControl,
@@ -223,7 +223,7 @@
IN PBOOLEAN Result)
{
PLUID_AND_ATTRIBUTES Privilege;
- PACCESS_TOKEN Token;
+ PTOKEN Token;
ULONG PrivilegeCount;
ULONG PrivilegeControl;
ULONG Length;
_____
Modified: trunk/reactos/ntoskrnl/se/semgr.c
--- trunk/reactos/ntoskrnl/se/semgr.c 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/ntoskrnl/se/semgr.c 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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 @@
POOL_TYPE PoolType)
{
PSECURITY_DESCRIPTOR Descriptor;
- PACCESS_TOKEN Token;
+ PTOKEN Token;
ULONG OwnerLength = 0;
ULONG GroupLength = 0;
ULONG DaclLength = 0;
@@ -557,10 +557,11 @@
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 @@
{
SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
KPROCESSOR_MODE PreviousMode;
- PACCESS_TOKEN Token;
+ PTOKEN Token;
NTSTATUS Status;
DPRINT("NtAccessCheck() called\n");
_____
Modified: trunk/reactos/ntoskrnl/se/token.c
--- trunk/reactos/ntoskrnl/se/token.c 2005-01-02 22:17:02 UTC (rev
12739)
+++ trunk/reactos/ntoskrnl/se/token.c 2005-01-02 23:12:40 UTC (rev
12740)
@@ -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 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 @@
SepTokenObjectType,
KernelMode);
OldToken->TokenInUse = 0;
- *OldTokenP = OldToken;
+ *OldTokenP = (PACCESS_TOKEN)OldToken;
return(STATUS_SUCCESS);
}
@@ -88,7 +89,7 @@
NTSTATUS
-SepFindPrimaryGroupAndDefaultOwner(PACCESS_TOKEN Token,
+SepFindPrimaryGroupAndDefaultOwner(PTOKEN Token,
PSID PrimaryGroup,
PSID DefaultOwner)
{
@@ -131,13 +132,13 @@
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 @@
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 @@
struct _EPROCESS* ParentProcess)
{
NTSTATUS Status;
- PACCESS_TOKEN pNewToken;
- PACCESS_TOKEN pParentToken;
+ PTOKEN pNewToken;
+ PTOKEN pParentToken;
OBJECT_ATTRIBUTES ObjectAttributes;
@@ -316,6 +317,7 @@
{
NTSTATUS Status;
OBJECT_ATTRIBUTES ObjectAttributes;
+ PTOKEN TokenNew;
InitializeObjectAttributes(&ObjectAttributes,
NULL,
@@ -328,7 +330,9 @@
TokenImpersonation,
Level,
PreviousMode,
- NewToken);
+ (PTOKEN*)&NewToken);
+
+ *NewToken = (PACCESS_TOKEN)TokenNew;
return(Status);
}
@@ -517,7 +521,7 @@
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 @@
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 @@
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 @@
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 @@
OUT PHANDLE NewTokenHandle)
{
KPROCESSOR_MODE PreviousMode;
- PACCESS_TOKEN Token;
- PACCESS_TOKEN NewToken;
+ PTOKEN Token;
+ PTOKEN NewToken;
NTSTATUS Status;
PreviousMode = KeGetPreviousMode();
@@ -1213,7 +1217,7 @@
// PLUID_AND_ATTRIBUTES Privileges;
KPROCESSOR_MODE PreviousMode;
// ULONG PrivilegeCount;
- PACCESS_TOKEN Token;
+ PTOKEN Token;
// ULONG Length;
ULONG i;
ULONG j;
@@ -1363,7 +1367,7 @@
ULONG uAuthUserLength = RtlLengthSid(SeAuthenticatedUserSid);
ULONG uAdminsLength = RtlLengthSid(SeAliasAdminsSid);
- PACCESS_TOKEN AccessToken;
+ PTOKEN AccessToken;
PVOID SidArea;
@@ -1375,7 +1379,7 @@
NULL,
KernelMode,
NULL,
- sizeof(ACCESS_TOKEN),
+ sizeof(TOKEN),
0,
0,
(PVOID*)&AccessToken);
@@ -1572,7 +1576,7 @@
IN PTOKEN_SOURCE TokenSource)
{
HANDLE TokenHandle;
- PACCESS_TOKEN AccessToken;
+ PTOKEN AccessToken;
NTSTATUS Status;
OBJECT_ATTRIBUTES SafeObjectAttributes;
POBJECT_ATTRIBUTES ObjectAttributes;
@@ -1603,7 +1607,7 @@
ObjectAttributes,
ExGetPreviousMode(),
NULL,
- sizeof(ACCESS_TOKEN),
+ sizeof(TOKEN),
0,
0,
(PVOID*)&AccessToken);
@@ -1744,8 +1748,7 @@
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 @@
/*
* @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 @@
TOKEN_TYPE STDCALL
SeTokenType(IN PACCESS_TOKEN Token)
{
- return Token->TokenType;
+ return ((PTOKEN)Token)->TokenType;
}
@@ -1823,7 +1827,7 @@
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;
_____
Modified: trunk/reactos/subsys/system/services/database.c
--- trunk/reactos/subsys/system/services/database.c 2005-01-02
22:17:02 UTC (rev 12739)
+++ trunk/reactos/subsys/system/services/database.c 2005-01-02
23:12:40 UTC (rev 12740)
@@ -390,7 +390,7 @@
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 @@
return(Status);
}
- BufferLength = sizeof(DIRECTORY_BASIC_INFORMATION) +
+ BufferLength = sizeof(OBJECT_DIRECTORY_INFORMATION) +
2 * MAX_PATH * sizeof(WCHAR);
DirInfo = HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY,
_____
Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c
--- trunk/reactos/subsys/win32k/ntuser/winsta.c 2005-01-02 22:17:02 UTC
(rev 12739)
+++ trunk/reactos/subsys/win32k/ntuser/winsta.c 2005-01-02 23:12:40 UTC
(rev 12740)
@@ -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 @@
char InitialBuffer[256], *Buffer;
ULONG Context, ReturnLength, BufferSize;
DWORD EntryCount;
- PDIRECTORY_BASIC_INFORMATION DirEntry;
+ POBJECT_DIRECTORY_INFORMATION DirEntry;
WCHAR NullWchar;
/*
@@ -1090,7 +1090,7 @@
*/
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 @@
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);
_____
Modified: trunk/reactos/w32api/include/ddk/ntapi.h
--- trunk/reactos/w32api/include/ddk/ntapi.h 2005-01-02 22:17:02 UTC
(rev 12739)
+++ trunk/reactos/w32api/include/ddk/ntapi.h 2005-01-02 23:12:40 UTC
(rev 12740)
@@ -943,10 +943,10 @@
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