Source code of Windows XP (NT5)
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.

112 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1995-1997 Microsoft Corporation
  3. Module Name:
  4. surrogat.hxx
  5. Abstract:
  6. Author:
  7. DKays
  8. Revision History:
  9. --*/
  10. #ifndef __SURROGAT_HXX__
  11. #define __SURROGAT_HXX__
  12. class CSurrogateList;
  13. class CSurrogateListEntry;
  14. extern CSurrogateList * gpSurrogateList;
  15. //
  16. // CSurrogateList
  17. //
  18. class CSurrogateList : public CList
  19. {
  20. public:
  21. CSurrogateListEntry *
  22. Lookup(
  23. IN CToken * pToken,
  24. IN BOOL bRemoteActivation,
  25. IN BOOL bClientImpersonating,
  26. IN WCHAR * pwszWinstaDesktop,
  27. IN WCHAR * pwszAppid
  28. );
  29. CSurrogateListEntry *
  30. Lookup(
  31. IN const CProcess * pProcess
  32. );
  33. void
  34. Insert(
  35. IN CSurrogateListEntry * pServerListEntry
  36. );
  37. BOOL
  38. InList(
  39. IN CSurrogateListEntry * pSurrogateListEntry
  40. );
  41. };
  42. //
  43. // CSurrogateListEntry
  44. //
  45. class CSurrogateListEntry : public CListElement, public CReferencedObject
  46. {
  47. friend class CSurrogateList;
  48. public:
  49. CSurrogateListEntry(
  50. IN WCHAR * pwszAppid,
  51. IN CServerListEntry * pServerListEntry
  52. );
  53. ~CSurrogateListEntry();
  54. BOOL
  55. Match(
  56. IN CToken * pToken,
  57. IN BOOL bRemoteActivation,
  58. IN BOOL bClientImpersonating,
  59. IN WCHAR * pwszWinstaDesktop,
  60. IN WCHAR * pwszAppid
  61. );
  62. BOOL
  63. LoadDll(
  64. IN ACTIVATION_PARAMS * pActParams,
  65. OUT HRESULT * phr
  66. );
  67. inline CServerListEntry *
  68. ServerListEntry()
  69. {
  70. _pServerListEntry->Reference();
  71. return _pServerListEntry;
  72. }
  73. inline CProcess *
  74. Process()
  75. {
  76. #if 1 // #ifndef _CHICAGO_
  77. return _pServerListEntry->_pServerProcess;
  78. #else
  79. return gpProcess;
  80. #endif
  81. }
  82. private:
  83. CServerListEntry * _pServerListEntry;
  84. WCHAR _wszAppid[40];
  85. };
  86. #endif