/****************************************************************** DFSReplica.H -- WMI provider class definition Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved Description: Win32 Dfs Replica Provider *******************************************************************/ #ifndef _CDFSREPLICA_H_ #define _CDFSREPLICA_H_ #define DFSREPLICA_ALL_PROPS 0xFFFFFFFF #define DFSREPLICA_PROP_LinkName 0x00000001 #define DFSREPLICA_PROP_ServerName 0x00000002 #define DFSREPLICA_PROP_ShareName 0x00000004 #define DFSREPLICA_PROP_State 0x00000008 class CDfsReplica : public Provider { private: HRESULT EnumerateAllReplicas ( MethodContext *pMethodContext, DWORD dwPropertiesReq ); HRESULT LoadDfsReplica ( DWORD dwPropertiesReq, CInstance *pInstance, LPWSTR lpLinkName, PDFS_STORAGE_INFO pRepBuf ); HRESULT FindAndSetDfsReplica ( LPCWSTR a_EntryPath, LPCWSTR a_ServerName, LPCWSTR a_ShareName, DWORD dwPropertiesReq, CInstance *pInstance, DWORD eOperation, bool &bRoot ); HRESULT GetKeys(const CInstance *pInstance, CHString &sKey1, CHString &sKey2, CHString &sKey3); protected: HRESULT EnumerateInstances ( MethodContext *pMethodContext, long lFlags = 0L ) ; HRESULT GetObject ( CInstance *pInstance, long lFlags, CFrameworkQuery& Query ) ; HRESULT PutInstance ( const CInstance& Instance, long lFlags = 0L ) ; HRESULT DeleteInstance ( const CInstance& Instance, long lFlags = 0L ) ; public: CDfsReplica ( LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace ); virtual ~CDfsReplica () ; private: CHString m_ComputerName; enum { eGet,eDelete,eAdd }; enum DFS_REPLICA_STATE { DFS_REPLICA_STATE_UNASSIGNED = 0, DFS_REPLICA_STATE_ONLINE, DFS_REPLICA_STATE_OFFLINE, DFS_REPLICA_STATE_UNREACHABLE }; } ; #endif