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.

148 lines
2.8 KiB

  1. class CWinNTDomain;
  2. class CWinNTDomain : INHERIT_TRACKING,
  3. public CCoreADsObject,
  4. public ISupportErrorInfo,
  5. public IADsDomain,
  6. public IADsContainer,
  7. public IADsPropertyList,
  8. public INonDelegatingUnknown,
  9. public IADsExtension
  10. {
  11. public:
  12. /* IUnknown methods */
  13. STDMETHOD(QueryInterface)(
  14. THIS_ REFIID riid,
  15. LPVOID FAR* ppvObj
  16. );
  17. STDMETHODIMP_(ULONG) AddRef(void);
  18. STDMETHODIMP_(ULONG) Release(void);
  19. // INonDelegatingUnknown methods
  20. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  21. const IID&,
  22. void **
  23. );
  24. DECLARE_NON_DELEGATING_REFCOUNTING
  25. DECLARE_IDispatch_METHODS
  26. DECLARE_ISupportErrorInfo_METHODS
  27. DECLARE_IADs_METHODS
  28. DECLARE_IADsContainer_METHODS
  29. DECLARE_IADsPropertyList_METHODS
  30. DECLARE_IADsDomain_METHODS
  31. DECLARE_IADsExtension_METHODS
  32. CWinNTDomain::CWinNTDomain();
  33. CWinNTDomain::~CWinNTDomain();
  34. static
  35. HRESULT
  36. CWinNTDomain::CreateDomain(
  37. BSTR Parent,
  38. BSTR DomainName,
  39. DWORD dwObjectState,
  40. REFIID riid,
  41. CWinNTCredentials& Credentials,
  42. void **ppvObj
  43. );
  44. static
  45. HRESULT
  46. CWinNTDomain::AllocateDomainObject(
  47. CWinNTDomain ** ppDomain
  48. );
  49. STDMETHOD(GetInfo)(
  50. THIS_ DWORD dwApiLevel,
  51. BOOL fExplicit
  52. ) ;
  53. STDMETHOD(ImplicitGetInfo)(void);
  54. HRESULT
  55. CWinNTDomain::UnMarshall(
  56. LPBYTE lpBuffer,
  57. DWORD dwApiLevel,
  58. BOOL fExplicit
  59. );
  60. HRESULT
  61. CWinNTDomain::UnMarshall_Level0(
  62. BOOL fExplicit,
  63. LPUSER_MODALS_INFO_0 pUserInfo0
  64. );
  65. HRESULT
  66. CWinNTDomain::UnMarshall_Level2(
  67. BOOL fExplicit,
  68. LPUSER_MODALS_INFO_2 pUserInfo2
  69. );
  70. HRESULT
  71. CWinNTDomain::UnMarshall_Level3(
  72. BOOL fExplicit,
  73. LPUSER_MODALS_INFO_3 pUserInfo3
  74. );
  75. STDMETHODIMP
  76. CWinNTDomain::SetInfo(
  77. THIS_ DWORD dwApiLevel
  78. );
  79. HRESULT
  80. CWinNTDomain::MarshallAndSet(
  81. LPWSTR szServerName,
  82. LPBYTE lpBuffer,
  83. DWORD dwApiLevel
  84. );
  85. HRESULT
  86. CWinNTDomain::Marshall_Set_Level0(
  87. LPWSTR szServerName,
  88. LPUSER_MODALS_INFO_0 pUserInfo0
  89. );
  90. HRESULT
  91. CWinNTDomain::Marshall_Set_Level2(
  92. LPWSTR szServerName,
  93. LPUSER_MODALS_INFO_2 pUserInfo2
  94. );
  95. HRESULT
  96. CWinNTDomain::Marshall_Set_Level3(
  97. LPWSTR szServerName,
  98. LPUSER_MODALS_INFO_3 pUserInfo3
  99. );
  100. protected:
  101. VARIANT _vFilter;
  102. CAggregatorDispMgr FAR * _pDispMgr;
  103. CADsExtMgr FAR * _pExtMgr;
  104. CPropertyCache FAR * _pPropertyCache;
  105. CWinNTCredentials _Credentials;
  106. };