Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 1995-1997 Microsoft Corporation
Module Name:
surrogat.hxx
Abstract:
Author:
DKays
Revision History:
--*/
#ifndef __SURROGAT_HXX__
#define __SURROGAT_HXX__
class CSurrogateList; class CSurrogateListEntry;
extern CSurrogateList * gpSurrogateList;
//
// CSurrogateList
//
class CSurrogateList : public CList { public: CSurrogateListEntry * Lookup( IN CToken * pToken, IN BOOL bRemoteActivation, IN BOOL bClientImpersonating, IN WCHAR * pwszWinstaDesktop, IN WCHAR * pwszAppid ); CSurrogateListEntry * Lookup( IN const CProcess * pProcess );
void Insert( IN CSurrogateListEntry * pServerListEntry );
BOOL InList( IN CSurrogateListEntry * pSurrogateListEntry );
BOOL RemoveMatchingEntry( IN CServerListEntry* pServerListEntry );
};
//
// CSurrogateListEntry
//
class CSurrogateListEntry : public CListElement, public CReferencedObject { friend class CSurrogateList;
public: CSurrogateListEntry( IN WCHAR * pwszAppid, IN CServerListEntry * pServerListEntry ); ~CSurrogateListEntry();
BOOL Match( IN CToken * pToken, IN BOOL bRemoteActivation, IN BOOL bClientImpersonating, IN WCHAR * pwszWinstaDesktop, IN WCHAR * pwszAppid );
BOOL LoadDll( IN ACTIVATION_PARAMS * pActParams, OUT HRESULT * phr );
inline CServerListEntry * ServerListEntry() { _pServerListEntry->Reference(); return _pServerListEntry; }
inline CProcess * Process() { return _pServerListEntry->_pServerProcess; }
private: CServerListEntry * _pServerListEntry; WCHAR _wszAppid[40];
};
#endif
|