/*++ Copyright (C) Microsoft Corporation, 1991 - 1999 Module Name: secsvr.hxx Abstract: This file contains an abstraction to the security support for servers. Author: Michael Montague (mikemon) 11-Apr-1992 Revision History: --*/ #ifndef __SECSVR_HXX__ #define __SECSVR_HXX__ class SSECURITY_CONTEXT : public SECURITY_CONTEXT /*++ Class Description: Fields: --*/ { public: SSECURITY_CONTEXT( CLIENT_AUTH_INFO * myAuthInfo, unsigned AuthContextId, BOOL fUseDatagram, RPC_STATUS * pStatus ); void DeletePac ( void PAPI * Pac ); RPC_STATUS AcceptFirstTime ( IN SECURITY_CREDENTIALS * Credentials, IN SECURITY_BUFFER_DESCRIPTOR PAPI * InputBufferDescriptor, IN OUT SECURITY_BUFFER_DESCRIPTOR PAPI * OutputBufferDescriptor, IN unsigned long AuthenticationLevel, IN unsigned long DataRepresentation, IN unsigned long NewContextNeededFlag ); RPC_STATUS AcceptThirdLeg ( IN unsigned long DataRepresentation, IN SECURITY_BUFFER_DESCRIPTOR PAPI * BufferDescriptor, OUT SECURITY_BUFFER_DESCRIPTOR PAPI * OutBufferDescriptor ); unsigned long InquireAuthorizationService ( ); RPC_AUTHZ_HANDLE InquirePrivileges ( ); RPC_STATUS ImpersonateClient ( ); void RevertToSelf ( ); void GetDceInfo ( RPC_AUTHZ_HANDLE __RPC_FAR * PacHandle, unsigned long __RPC_FAR * AuthzSvc ); }; inline SSECURITY_CONTEXT::SSECURITY_CONTEXT( CLIENT_AUTH_INFO * myAuthInfo, unsigned AuthContextId, BOOL fUseDatagram, RPC_STATUS * pStatus ) : SECURITY_CONTEXT(myAuthInfo, AuthContextId, fUseDatagram, pStatus) { } #endif // __SECSVR_HXX__