#define COMPUTER_USER 1 #define DOMAIN_USER 2 class CNWCOMPATUser; class CNWCOMPATUser : INHERIT_TRACKING, public CCoreADsObject, public ISupportErrorInfo, public IADsUser, public IADsPropertyList { public: /* IUnknown methods */ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ; DECLARE_STD_REFCOUNTING DECLARE_IDispatch_METHODS NW_DECLARE_ISupportErrorInfo_METHODS DECLARE_IADs_METHODS DECLARE_IADsUser_METHODS DECLARE_IADsPropertyList_METHODS CNWCOMPATUser::CNWCOMPATUser(); CNWCOMPATUser::~CNWCOMPATUser(); static HRESULT CNWCOMPATUser::CreateUser( BSTR Parent, ULONG ParentType, BSTR ServerName, BSTR UserName, CCredentials &Credentials, DWORD dwObjectState, REFIID riid, void **ppvObj ); static HRESULT CNWCOMPATUser::AllocateUserObject( CNWCOMPATUser ** ppUser ); STDMETHOD(GetInfo)( THIS_ BOOL fExplicit, DWORD dwPropertyID ) ; STDMETHODIMP CNWCOMPATUser::SetInfo( THIS_ DWORD dwPropertyID ); protected: HRESULT CNWCOMPATUser::SetBusinessInfo( NWCONN_HANDLE hConn ); HRESULT CNWCOMPATUser::SetAccountRestrictions( NWCONN_HANDLE hConn ); HRESULT CNWCOMPATUser::ExplicitGetInfo( NWCONN_HANDLE hConn, BOOL fExplicit ); HRESULT CNWCOMPATUser::ImplicitGetInfo( NWCONN_HANDLE hConn, DWORD dwPropertyID, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetBusinessInfo( NWCONN_HANDLE hConn, DWORD dwPropertyID, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetAccountRestrictions( NWCONN_HANDLE hConn, DWORD dwPropertyID, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetAccountStatistics( NWCONN_HANDLE hConn, DWORD dwPropertyID, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_FullName( NWCONN_HANDLE hConn, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_AccountDisabled( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_AccountExpirationDate( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_CanAccountExpire( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_GraceLoginsAllowed( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_GraceLoginsRemaining( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_IsAccountLocked( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_LoginHours( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_IsAdmin( NWCONN_HANDLE hConn, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_MaxLogins( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_CanPasswordExpire( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_PasswordExpirationDate( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_PasswordMinimumLength( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_PasswordRequired( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_RequireUniquePassword( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_BadLoginAddress( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); HRESULT CNWCOMPATUser::GetProperty_LastLogin( NWCONN_HANDLE hConn, LC_STRUCTURE LoginCtrlStruct, BOOL fExplicit ); BSTR _ServerName; BSTR _szHostServerName; ULONG _ParentType; CDispatchMgr FAR * _pDispMgr; CPropertyCache FAR * _pPropertyCache; CCredentials _Credentials; NWCONN_HANDLE _hConn; };