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.

200 lines
4.0 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996 - 1997
  5. //
  6. // File: ciisapp.hxx
  7. //
  8. // Contents: CIISApp object
  9. //
  10. // History: 20-7-97 SophiaC Created.
  11. //
  12. //----------------------------------------------------------------------------
  13. class CIISApp;
  14. class CIISApp : INHERIT_TRACKING,
  15. public IISApp3,
  16. public IPrivateUnknown,
  17. public IPrivateDispatch,
  18. public IADsExtension,
  19. public INonDelegatingUnknown
  20. {
  21. public:
  22. /* IUnknown methods */
  23. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  24. DECLARE_DELEGATING_REFCOUNTING
  25. //
  26. // INonDelegatingUnkown methods declaration for NG_QI, definition for
  27. // NG_AddRef adn NG_Release.
  28. //
  29. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  30. const IID&,
  31. void **
  32. );
  33. DECLARE_NON_DELEGATING_REFCOUNTING
  34. DECLARE_IDispatch_METHODS
  35. DECLARE_IPrivateUnknown_METHODS
  36. DECLARE_IPrivateDispatch_METHODS
  37. STDMETHOD(Operate)(
  38. THIS_
  39. DWORD dwCode,
  40. VARIANT varUserName,
  41. VARIANT varPassword,
  42. VARIANT varReserved
  43. );
  44. STDMETHOD(PrivateGetIDsOfNames)(
  45. THIS_
  46. REFIID riid,
  47. OLECHAR FAR* FAR* rgszNames,
  48. unsigned int cNames,
  49. LCID lcid,
  50. DISPID FAR* rgdispid) ;
  51. STDMETHOD(PrivateInvoke)(
  52. THIS_
  53. DISPID dispidMember,
  54. REFIID riid,
  55. LCID lcid,
  56. WORD wFlags,
  57. DISPPARAMS FAR* pdispparams,
  58. VARIANT FAR* pvarResult,
  59. EXCEPINFO FAR* pexcepinfo,
  60. unsigned int FAR* puArgErr
  61. ) ;
  62. DECLARE_IADs_METHODS
  63. CIISApp::CIISApp();
  64. CIISApp::~CIISApp();
  65. static
  66. HRESULT
  67. CIISApp::CreateApp(
  68. IUnknown *pUnkOuter,
  69. REFIID riid,
  70. void **ppvObj
  71. );
  72. static
  73. HRESULT
  74. CIISApp::AllocateAppObject(
  75. IUnknown *pUnkOuter,
  76. CCredentials& Credentials,
  77. CIISApp ** ppApp
  78. );
  79. HRESULT
  80. CIISApp::InitializeAppObject(
  81. LPWSTR pszServerName,
  82. LPWSTR pszPath
  83. );
  84. HRESULT
  85. CIISApp::InitWamAdm(
  86. LPWSTR pszServerName
  87. );
  88. HRESULT
  89. CIISApp::IISCheckApp(
  90. METADATA_HANDLE hObjHandle
  91. );
  92. HRESULT
  93. CIISApp::IISGetState(
  94. METADATA_HANDLE hObjHandle,
  95. PDWORD pdwState
  96. );
  97. HRESULT
  98. CIISApp::IISSetState(
  99. METADATA_HANDLE hObjHandle,
  100. DWORD dwState
  101. );
  102. STDMETHOD(AppCreate) (
  103. THIS_ VARIANT_BOOL bSetInProcFlag
  104. );
  105. STDMETHOD(AppCreate2) (
  106. IN LONG lAppMode
  107. );
  108. STDMETHOD(AppCreate3) (
  109. IN LONG lAppMode,
  110. VARIANT bstrAppPoolId,
  111. VARIANT bCreatePool
  112. );
  113. STDMETHOD(AppDelete) (
  114. THIS
  115. );
  116. STDMETHOD(AppDeleteRecursive) (
  117. THIS
  118. );
  119. STDMETHOD(AppUnLoad) (
  120. THIS
  121. );
  122. STDMETHOD(AppUnLoadRecursive) (
  123. THIS
  124. );
  125. STDMETHOD(AppDisable) (
  126. THIS
  127. );
  128. STDMETHOD(AppDisableRecursive) (
  129. THIS
  130. );
  131. STDMETHOD(AppEnable) (
  132. THIS
  133. );
  134. STDMETHOD(AppEnableRecursive) (
  135. THIS
  136. );
  137. STDMETHOD(AppGetStatus) (
  138. THIS_ DWORD * pdwStatus
  139. );
  140. STDMETHOD(AppGetStatus2) (
  141. THIS_ LONG * lpStatus
  142. );
  143. STDMETHOD(AspAppRestart) (
  144. THIS
  145. );
  146. protected:
  147. IADs FAR * _pADs;
  148. LPWSTR _pszServerName;
  149. LPWSTR _pszMetaBasePath;
  150. BOOL _fDispInitialized;
  151. CAggregateeDispMgr FAR * _pDispMgr;
  152. CCredentials _Credentials;
  153. IMSAdminBase *_pAdminBase; //interface pointer
  154. IWamAdmin * _pWamAdmin;
  155. IWamAdmin2 * _pWamAdmin2;
  156. IIISApplicationAdmin * _pAppAdmin;
  157. };