181 lines
3.7 KiB
C++
181 lines
3.7 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// 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__
|
|
|