Fix token structure, add aux_data, fix KeDisconnectInterrupt and add NtBuildNumber (fixes for NDK)

svn path=/trunk/; revision=16263
This commit is contained in:
Alex Ionescu 2005-06-25 05:01:29 +00:00
parent 8a99b51cbf
commit 767c5ce44f
3 changed files with 40 additions and 34 deletions

View file

@ -235,7 +235,7 @@ KeConnectInterrupt(
PKINTERRUPT InterruptObject PKINTERRUPT InterruptObject
); );
VOID BOOLEAN
STDCALL STDCALL
KeDisconnectInterrupt( KeDisconnectInterrupt(
PKINTERRUPT InterruptObject PKINTERRUPT InterruptObject

View file

@ -36,6 +36,7 @@ extern KAFFINITY NTOSAPI KeActiveProcessors;
extern ULONG NTOSAPI KiDmaIoCoherency; /* RISC Architectures only */ extern ULONG NTOSAPI KiDmaIoCoherency; /* RISC Architectures only */
extern ULONG NTOSAPI KeMaximumIncrement; extern ULONG NTOSAPI KeMaximumIncrement;
extern ULONG NTOSAPI KeMinimumIncrement; extern ULONG NTOSAPI KeMinimumIncrement;
extern ULONG NTOSAPI NtBuildNumber;
extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTable[SSDT_MAX_ENTRIES]; extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES]; extern SSDT_ENTRY NTOSAPI KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES];

View file

@ -48,39 +48,44 @@ typedef struct _SEP_AUDIT_POLICY
}; };
} SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY; } SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY;
typedef struct _TOKEN #define TOKEN_HAS_TRAVERSE_PRIVILEGE 0x01
{ typedef struct _TOKEN {
TOKEN_SOURCE TokenSource; /* 0x00 */ TOKEN_SOURCE TokenSource; /* 0x00 */
LUID TokenId; /* 0x10 */ LUID TokenId; /* 0x10 */
LUID AuthenticationId; /* 0x18 */ LUID AuthenticationId; /* 0x18 */
LUID ParentTokenId; /* 0x20 */ LUID ParentTokenId; /* 0x20 */
LARGE_INTEGER ExpirationTime; /* 0x28 */ LARGE_INTEGER ExpirationTime; /* 0x28 */
struct _ERESOURCE *TokenLock; /* 0x30 */ struct _ERESOURCE *TokenLock; /* 0x30 */
ULONG Padding; /* 0x34 */ SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */
SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */ LUID ModifiedId; /* 0x40 */
LUID ModifiedId; /* 0x40 */ ULONG SessionId; /* 0x48 */
ULONG SessionId; /* 0x48 */ ULONG UserAndGroupCount; /* 0x4C */
ULONG UserAndGroupCount; /* 0x4C */ ULONG RestrictedSidCount; /* 0x50 */
ULONG RestrictedSidCount; /* 0x50 */ ULONG PrivilegeCount; /* 0x54 */
ULONG PrivilegeCount; /* 0x54 */ ULONG VariableLength; /* 0x58 */
ULONG VariableLength; /* 0x58 */ ULONG DynamicCharged; /* 0x5C */
ULONG DynamicCharged; /* 0x5C */ ULONG DynamicAvailable; /* 0x60 */
ULONG DynamicAvailable; /* 0x60 */ ULONG DefaultOwnerIndex; /* 0x64 */
ULONG DefaultOwnerIndex; /* 0x64 */ PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */
PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */ PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */
PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */ PSID PrimaryGroup; /* 0x70 */
PSID PrimaryGroup; /* 0x70 */ PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */
PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */ PULONG DynamicPart; /* 0x78 */
PULONG DynamicPart; /* 0x78 */ PACL DefaultDacl; /* 0x7C */
PACL DefaultDacl; /* 0x7C */ TOKEN_TYPE TokenType; /* 0x80 */
TOKEN_TYPE TokenType; /* 0x80 */ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */ ULONG TokenFlags; /* 0x88 */
ULONG TokenFlags; /* 0x88 */ BOOLEAN TokenInUse; /* 0x8C */
ULONG TokenInUse; /* 0x8C */ PVOID ProxyData; /* 0x90 */
PVOID ProxyData; /* 0x90 */ PVOID AuditData; /* 0x94 */
PVOID AuditData; /* 0x94 */ LUID OriginatingLogonSession; /* 0x98 */
LUID OriginatingLogonSession; /* 0x98 */ ULONG VariablePart; /* 0xA0 */
UCHAR VariablePart[1]; /* 0xA0 */
} TOKEN, *PTOKEN; } TOKEN, *PTOKEN;
typedef struct _AUX_DATA
{
PPRIVILEGE_SET PrivilegeSet;
GENERIC_MAPPING GenericMapping;
ULONG Reserved;
} AUX_DATA, *PAUX_DATA;
#endif #endif