//---------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 2000. // // File: cumicurs.hxx // // Contents: Header file for CUmiCursor. // // History: 03-16-00 SivaramR Created. // //---------------------------------------------------------------------------- #ifndef __CUMICURS_H__ #define __CUMICURS_H__ class CUmiCursor : INHERIT_TRACKING, public IUmiCursor { public: CUmiCursor(void); ~CUmiCursor(void); DECLARE_STD_REFCOUNTING HRESULT FInit(IUnknown *pCont, CWinNTCredentials *pCredentials); STDMETHODIMP QueryInterface( REFIID iid, LPVOID *ppInterface ); STDMETHODIMP GetLastStatus( ULONG uFlags, ULONG *puSpecificStatus, REFIID riid, LPVOID *pStatusObj ); STDMETHODIMP GetInterfacePropList( ULONG uFlags, IUmiPropList **pPropList ); STDMETHODIMP SetIID( REFIID riid ); STDMETHODIMP Reset(void); STDMETHODIMP Next( ULONG uNumRequested, ULONG *puNumReturned, LPVOID *ppObjects ); STDMETHODIMP Count( ULONG *puNumObjects ); STDMETHODIMP Previous( ULONG uFlags, LPVOID *pObj ); static HRESULT CreateCursor( CWinNTCredentials *pCredentials, IUnknown *pCont, REFIID iid, LPVOID *ppInterface ); // Methods of IUmiPropList - return error as there are no object // properties on a cursor 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 GetFilter(VARIANT *pvFilter); IUmiPropList *m_pIUmiPropList; ULONG m_ulErrorStatus; IID *m_pIID; IUnknown *m_pUnkInner; IEnumVARIANT *m_pEnumerator; CWinNTCredentials* m_pCreds; }; #endif // __CUMICURS_H__