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.

236 lines
5.0 KiB

  1. #define COMPUTER_USER 1
  2. #define DOMAIN_USER 2
  3. class CNWCOMPATUser;
  4. class CNWCOMPATUser : INHERIT_TRACKING,
  5. public CCoreADsObject,
  6. public ISupportErrorInfo,
  7. public IADsUser,
  8. public IADsPropertyList
  9. {
  10. public:
  11. /* IUnknown methods */
  12. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  13. DECLARE_STD_REFCOUNTING
  14. DECLARE_IDispatch_METHODS
  15. NW_DECLARE_ISupportErrorInfo_METHODS
  16. DECLARE_IADs_METHODS
  17. DECLARE_IADsUser_METHODS
  18. DECLARE_IADsPropertyList_METHODS
  19. CNWCOMPATUser::CNWCOMPATUser();
  20. CNWCOMPATUser::~CNWCOMPATUser();
  21. static
  22. HRESULT
  23. CNWCOMPATUser::CreateUser(
  24. BSTR Parent,
  25. ULONG ParentType,
  26. BSTR ServerName,
  27. BSTR UserName,
  28. CCredentials &Credentials,
  29. DWORD dwObjectState,
  30. REFIID riid,
  31. void **ppvObj
  32. );
  33. static
  34. HRESULT
  35. CNWCOMPATUser::AllocateUserObject(
  36. CNWCOMPATUser ** ppUser
  37. );
  38. STDMETHOD(GetInfo)(
  39. THIS_ BOOL fExplicit,
  40. DWORD dwPropertyID
  41. ) ;
  42. STDMETHODIMP
  43. CNWCOMPATUser::SetInfo(
  44. THIS_ DWORD dwPropertyID
  45. );
  46. protected:
  47. HRESULT
  48. CNWCOMPATUser::SetBusinessInfo(
  49. NWCONN_HANDLE hConn
  50. );
  51. HRESULT
  52. CNWCOMPATUser::SetAccountRestrictions(
  53. NWCONN_HANDLE hConn
  54. );
  55. HRESULT
  56. CNWCOMPATUser::ExplicitGetInfo(
  57. NWCONN_HANDLE hConn,
  58. BOOL fExplicit
  59. );
  60. HRESULT
  61. CNWCOMPATUser::ImplicitGetInfo(
  62. NWCONN_HANDLE hConn,
  63. DWORD dwPropertyID,
  64. BOOL fExplicit
  65. );
  66. HRESULT
  67. CNWCOMPATUser::GetBusinessInfo(
  68. NWCONN_HANDLE hConn,
  69. DWORD dwPropertyID,
  70. BOOL fExplicit
  71. );
  72. HRESULT
  73. CNWCOMPATUser::GetAccountRestrictions(
  74. NWCONN_HANDLE hConn,
  75. DWORD dwPropertyID,
  76. BOOL fExplicit
  77. );
  78. HRESULT
  79. CNWCOMPATUser::GetAccountStatistics(
  80. NWCONN_HANDLE hConn,
  81. DWORD dwPropertyID,
  82. BOOL fExplicit
  83. );
  84. HRESULT
  85. CNWCOMPATUser::GetProperty_FullName(
  86. NWCONN_HANDLE hConn,
  87. BOOL fExplicit
  88. );
  89. HRESULT
  90. CNWCOMPATUser::GetProperty_AccountDisabled(
  91. NWCONN_HANDLE hConn,
  92. LC_STRUCTURE LoginCtrlStruct,
  93. BOOL fExplicit
  94. );
  95. HRESULT
  96. CNWCOMPATUser::GetProperty_AccountExpirationDate(
  97. NWCONN_HANDLE hConn,
  98. LC_STRUCTURE LoginCtrlStruct,
  99. BOOL fExplicit
  100. );
  101. HRESULT
  102. CNWCOMPATUser::GetProperty_CanAccountExpire(
  103. NWCONN_HANDLE hConn,
  104. LC_STRUCTURE LoginCtrlStruct,
  105. BOOL fExplicit
  106. );
  107. HRESULT
  108. CNWCOMPATUser::GetProperty_GraceLoginsAllowed(
  109. NWCONN_HANDLE hConn,
  110. LC_STRUCTURE LoginCtrlStruct,
  111. BOOL fExplicit
  112. );
  113. HRESULT
  114. CNWCOMPATUser::GetProperty_GraceLoginsRemaining(
  115. NWCONN_HANDLE hConn,
  116. LC_STRUCTURE LoginCtrlStruct,
  117. BOOL fExplicit
  118. );
  119. HRESULT
  120. CNWCOMPATUser::GetProperty_IsAccountLocked(
  121. NWCONN_HANDLE hConn,
  122. LC_STRUCTURE LoginCtrlStruct,
  123. BOOL fExplicit
  124. );
  125. HRESULT
  126. CNWCOMPATUser::GetProperty_LoginHours(
  127. NWCONN_HANDLE hConn,
  128. LC_STRUCTURE LoginCtrlStruct,
  129. BOOL fExplicit
  130. );
  131. HRESULT
  132. CNWCOMPATUser::GetProperty_IsAdmin(
  133. NWCONN_HANDLE hConn,
  134. BOOL fExplicit
  135. );
  136. HRESULT
  137. CNWCOMPATUser::GetProperty_MaxLogins(
  138. NWCONN_HANDLE hConn,
  139. LC_STRUCTURE LoginCtrlStruct,
  140. BOOL fExplicit
  141. );
  142. HRESULT
  143. CNWCOMPATUser::GetProperty_CanPasswordExpire(
  144. NWCONN_HANDLE hConn,
  145. LC_STRUCTURE LoginCtrlStruct,
  146. BOOL fExplicit
  147. );
  148. HRESULT
  149. CNWCOMPATUser::GetProperty_PasswordExpirationDate(
  150. NWCONN_HANDLE hConn,
  151. LC_STRUCTURE LoginCtrlStruct,
  152. BOOL fExplicit
  153. );
  154. HRESULT
  155. CNWCOMPATUser::GetProperty_PasswordMinimumLength(
  156. NWCONN_HANDLE hConn,
  157. LC_STRUCTURE LoginCtrlStruct,
  158. BOOL fExplicit
  159. );
  160. HRESULT
  161. CNWCOMPATUser::GetProperty_PasswordRequired(
  162. NWCONN_HANDLE hConn,
  163. LC_STRUCTURE LoginCtrlStruct,
  164. BOOL fExplicit
  165. );
  166. HRESULT
  167. CNWCOMPATUser::GetProperty_RequireUniquePassword(
  168. NWCONN_HANDLE hConn,
  169. LC_STRUCTURE LoginCtrlStruct,
  170. BOOL fExplicit
  171. );
  172. HRESULT
  173. CNWCOMPATUser::GetProperty_BadLoginAddress(
  174. NWCONN_HANDLE hConn,
  175. LC_STRUCTURE LoginCtrlStruct,
  176. BOOL fExplicit
  177. );
  178. HRESULT
  179. CNWCOMPATUser::GetProperty_LastLogin(
  180. NWCONN_HANDLE hConn,
  181. LC_STRUCTURE LoginCtrlStruct,
  182. BOOL fExplicit
  183. );
  184. BSTR _ServerName;
  185. BSTR _szHostServerName;
  186. ULONG _ParentType;
  187. CDispatchMgr FAR * _pDispMgr;
  188. CPropertyCache FAR * _pPropertyCache;
  189. CCredentials _Credentials;
  190. NWCONN_HANDLE _hConn;
  191. };