//---------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 2000. // // File: cumiconn.hxx // // Contents: Header file for CUmiConnection. // // History: 03-06-00 SivaramR Created. // //---------------------------------------------------------------------------- #ifndef __CUMICONN_H__ #define __CUMICONN_H__ class CUmiConnection : INHERIT_TRACKING, public IUmiConnection { public: CUmiConnection(void); ~CUmiConnection(void); HRESULT FInit(void); DECLARE_STD_REFCOUNTING STDMETHODIMP QueryInterface( REFIID iid, LPVOID *ppInterface ); STDMETHODIMP GetLastStatus( ULONG uFlags, ULONG *puSpecificStatus, REFIID riid, LPVOID *pStatusObj ); STDMETHODIMP GetInterfacePropList( ULONG uFlags, IUmiPropList **pPropList ); STDMETHODIMP Open( IUmiURL *pURL, ULONG uFlags, REFIID TargetIID, LPVOID *ppInterface ); static HRESULT CUmiConnection::CreateConnection( REFIID iid, LPVOID *ppInterface ); // Methods of IUmiPropList - return error as there are no object // properties on a connection object. STDMETHODIMP Put( LPCWSTR pszName, ULONG uFlags, UMI_PROPERTY_VALUES *pProp ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP Get( LPCWSTR pszName, ULONG uFlags, UMI_PROPERTY_VALUES **ppProp ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP GetAs( LPCWSTR pszName, ULONG uFlags, ULONG uCoercionType, UMI_PROPERTY_VALUES **ppProp ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP FreeMemory( ULONG uReserved, LPVOID pMem ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP GetAt( LPCWSTR pszName, ULONG uFlags, ULONG uBufferLength, LPVOID pExistingMem ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP GetProps( LPCWSTR *pszNames, ULONG uNameCount, ULONG uFlags, UMI_PROPERTY_VALUES **pProps ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP PutProps( LPCWSTR *pszNames, ULONG uNameCount, ULONG uFlags, UMI_PROPERTY_VALUES *pProps ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP PutFrom( LPCWSTR pszName, ULONG uFlags, ULONG uBufferLength, LPVOID pExistingMem ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } STDMETHODIMP Delete( LPCWSTR pszName, ULONG uFlags ) { SetLastStatus(UMI_E_NOTIMPL); RRETURN(UMI_E_NOTIMPL); } private: void SetLastStatus(ULONG ulStatus); HRESULT GetUserName(LPWSTR *ppszUserName); HRESULT GetPassword(LPWSTR *ppszPassword); HRESULT GetBindFlags(DWORD *pdwBindFlags); HRESULT CheckObject( IUnknown *pUnknown, DWORD dwNumComps, LPWSTR *ppszClasses ); IUmiPropList *m_pIUmiPropList; CUmiPropList *m_pCUmiPropList; ULONG m_ulErrorStatus; IADsOpenDSObject *m_pIADsOpenDSObj; BOOL m_fAlreadyOpened; LPWSTR m_pszComputerName; LPWSTR m_pszDomainName; }; #endif // __CUMICONN_H__