You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.1 KiB
94 lines
2.1 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1997.
|
|
//
|
|
// File: context.h
|
|
//
|
|
// Contents: Security Context structures and manipulation
|
|
//
|
|
// Classes:
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 2-24-97 RichardW Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __CONTEXT_H__
|
|
#define __CONTEXT_H__
|
|
|
|
|
|
typedef enum _XTCB_CONTEXT_TYPE {
|
|
XtcbContextClient,
|
|
XtcbContextServer,
|
|
XtcbContextClientMapped,
|
|
XtcbContextServerMapped
|
|
} XTCB_CONTEXT_TYPE ;
|
|
|
|
typedef enum _XTCB_CONTEXT_STATE {
|
|
ContextFirstCall,
|
|
ContextSecondCall,
|
|
ContextThirdCall
|
|
} XTCB_CONTEXT_STATE ;
|
|
|
|
#define XTCB_CONTEXT_CHECK 'txtC'
|
|
|
|
typedef struct _XTCB_CONTEXT_CORE {
|
|
ULONG Check ;
|
|
XTCB_CONTEXT_TYPE Type ;
|
|
XTCB_CONTEXT_STATE State ;
|
|
LONG RefCount ;
|
|
ULONG Attributes ;
|
|
UCHAR RootKey[ SEED_KEY_SIZE ];
|
|
UCHAR InboundKey[ SEED_KEY_SIZE ];
|
|
UCHAR OutboundKey[ SEED_KEY_SIZE ];
|
|
ULONG InboundNonce ;
|
|
ULONG OutboundNonce ;
|
|
ULONG CoreTokenHandle ;
|
|
} XTCB_CONTEXT_CORE, * PXTCB_CONTEXT_CORE ;
|
|
|
|
typedef struct _XTCB_CONTEXT {
|
|
XTCB_CONTEXT_CORE Core ;
|
|
LSA_SEC_HANDLE CredHandle ;
|
|
HANDLE Token ;
|
|
} XTCB_CONTEXT, * PXTCB_CONTEXT ;
|
|
|
|
NTSTATUS
|
|
XtcbInitializeContexts(
|
|
VOID
|
|
);
|
|
|
|
PXTCB_CONTEXT
|
|
XtcbCreateContextRecord(
|
|
XTCB_CONTEXT_TYPE Type,
|
|
PXTCB_CRED_HANDLE Handle
|
|
);
|
|
|
|
|
|
VOID
|
|
XtcbDeleteContextRecord(
|
|
PXTCB_CONTEXT Context
|
|
);
|
|
|
|
NTSTATUS
|
|
XtcbMapContextToUser(
|
|
PXTCB_CONTEXT Context,
|
|
PSecBuffer ContextBuffer
|
|
);
|
|
|
|
BOOL
|
|
XtcbRefContextRecord(
|
|
PXTCB_CONTEXT Context
|
|
);
|
|
|
|
VOID
|
|
XtcbDerefContextRecordEx(
|
|
PXTCB_CONTEXT Context,
|
|
LONG RefBy
|
|
);
|
|
|
|
#define XtcbDerefContextRecord( C ) XtcbDerefContextRecordEx( C, 1 );
|
|
|
|
|
|
#endif // __CONTEXT_H__
|