WindowsXP-SP1/windows/oleacc/oleacc/propmgr_impl.h
2020-09-30 16:53:49 +02:00

209 lines
5.1 KiB
C++

// Copyright (c) 2000-2000 Microsoft Corporation
// --------------------------------------------------------------------------
//
// PropMgr_Impl
//
// Property manager class
//
// --------------------------------------------------------------------------
// PropMgrImpl.h : Declaration of the CPropMgr
#ifndef __PROPMGR_H_
#define __PROPMGR_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CPropMgr
// Internal class CPropMgrImpl does all the real work, CPropMgr just wraps it,
// and provides extra 'convenience' methods which are implemented in terms
// of CPropMgrImpl's core set of methods.
class CPropMgrImpl;
class ATL_NO_VTABLE CPropMgr :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CPropMgr, &CLSID_AccPropServices>,
public IAccPropServices
{
public:
DECLARE_REGISTRY_RESOURCEID(IDR_PROPMGR)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CPropMgr)
COM_INTERFACE_ENTRY(IAccPropServices)
END_COM_MAP()
CPropMgr();
~CPropMgr();
// IAccPropServices
HRESULT STDMETHODCALLTYPE SetPropValue (
const BYTE * pIDString,
DWORD dwIDStringLen,
MSAAPROPID idProp,
VARIANT var
);
HRESULT STDMETHODCALLTYPE SetPropServer (
const BYTE * pIDString,
DWORD dwIDStringLen,
const MSAAPROPID * paProps,
int cProps,
IAccPropServer * pServer,
AnnoScope annoScope
);
HRESULT STDMETHODCALLTYPE ClearProps (
const BYTE * pIDString,
DWORD dwIDStringLen,
const MSAAPROPID * paProps,
int cProps
);
// Quick OLEACC/HWND-based functionality
HRESULT STDMETHODCALLTYPE SetHwndProp (
HWND hwnd,
DWORD idObject,
DWORD idChild,
MSAAPROPID idProp,
VARIANT var
);
HRESULT STDMETHODCALLTYPE SetHwndPropStr (
HWND hwnd,
DWORD idObject,
DWORD idChild,
MSAAPROPID idProp,
LPCWSTR bstr
);
HRESULT STDMETHODCALLTYPE SetHwndPropServer (
HWND hwnd,
DWORD idObject,
DWORD idChild,
const MSAAPROPID * paProps,
int cProps,
IAccPropServer * pServer,
AnnoScope annoScope
);
HRESULT STDMETHODCALLTYPE ClearHwndProps (
HWND hwnd,
DWORD idObject,
DWORD idChild,
const MSAAPROPID * paProps,
int cProps
);
// Methods for composing/decomposing a HWND based IdentityString...
HRESULT STDMETHODCALLTYPE ComposeHwndIdentityString (
HWND hwnd,
DWORD idObject,
DWORD idChild,
BYTE ** ppIDString,
DWORD * pdwIDStringLen
);
HRESULT STDMETHODCALLTYPE DecomposeHwndIdentityString (
const BYTE * pIDString,
DWORD dwIDStringLen,
HWND * phwnd,
DWORD * pidObject,
DWORD * pidChild
);
// Quick OLEACC/HMENU-based functionality
HRESULT STDMETHODCALLTYPE SetHmenuProp (
HMENU hmenu,
DWORD idChild,
MSAAPROPID idProp,
VARIANT var
);
HRESULT STDMETHODCALLTYPE SetHmenuPropStr (
HMENU hmenu,
DWORD idChild,
MSAAPROPID idProp,
LPCWSTR bstr
);
HRESULT STDMETHODCALLTYPE SetHmenuPropServer (
HMENU hmenu,
DWORD idChild,
const MSAAPROPID * paProps,
int cProps,
IAccPropServer * pServer,
AnnoScope annoScope
);
HRESULT STDMETHODCALLTYPE ClearHmenuProps (
HMENU hmenu,
DWORD idChild,
const MSAAPROPID * paProps,
int cProps
);
// Methods for composing/decomposing a HMENU based IdentityString...
HRESULT STDMETHODCALLTYPE ComposeHmenuIdentityString (
HMENU hmenu,
DWORD idChild,
BYTE ** ppIDString,
DWORD * pdwIDStringLen
);
HRESULT STDMETHODCALLTYPE DecomposeHmenuIdentityString (
const BYTE * pIDString,
DWORD dwIDStringLen,
HMENU * phmenu,
DWORD * pidChild
);
private:
CPropMgrImpl * m_pMgrImpl;
};
void PropMgrImpl_Uninit();
#endif //__PROPMGR_H_