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.
 
 
 
 
 
 

114 lines
2.1 KiB

/*++
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