80 lines
2.1 KiB
C
80 lines
2.1 KiB
C
|
// Copyright (c) 1996-2000 Microsoft Corporation
|
||
|
|
||
|
// RemoteProxyFactory.h : Declaration of the CRemoteProxyFactory
|
||
|
|
||
|
#ifndef __REMOTEPROXYFACTORY_H_
|
||
|
#define __REMOTEPROXYFACTORY_H_
|
||
|
|
||
|
#include "resource.h" // main symbols
|
||
|
#include "oleacc_p.h"
|
||
|
|
||
|
extern "C" {
|
||
|
BOOL GetStateImageMapEnt_SameBitness( HWND hwnd, int iImage, DWORD * pdwState, DWORD * pdwRole );
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CRemoteProxyFactory
|
||
|
class ATL_NO_VTABLE CRemoteProxyFactory :
|
||
|
public CComObjectRootEx<CComSingleThreadModel>,
|
||
|
#ifdef _WIN64
|
||
|
public CComCoClass<CRemoteProxyFactory, &CLSID_RemoteProxyFactory64>,
|
||
|
#else
|
||
|
public CComCoClass<CRemoteProxyFactory, &CLSID_RemoteProxyFactory32>,
|
||
|
#endif
|
||
|
public IDispatchImpl<IRemoteProxyFactory, &IID_IRemoteProxyFactory, &LIBID_REMOTEPROXY6432Lib>
|
||
|
{
|
||
|
public:
|
||
|
CRemoteProxyFactory(){}
|
||
|
|
||
|
#ifdef _WIN64
|
||
|
DECLARE_REGISTRY_RESOURCEID( IDR_REMOTEPROXYFACTORY64 )
|
||
|
#else
|
||
|
DECLARE_REGISTRY_RESOURCEID( IDR_REMOTEPROXYFACTORY32 )
|
||
|
#endif
|
||
|
DECLARE_NOT_AGGREGATABLE(CRemoteProxyFactory)
|
||
|
|
||
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||
|
|
||
|
BEGIN_COM_MAP(CRemoteProxyFactory)
|
||
|
COM_INTERFACE_ENTRY(IRemoteProxyFactory)
|
||
|
COM_INTERFACE_ENTRY(IDispatch)
|
||
|
END_COM_MAP()
|
||
|
|
||
|
// IRemoteProxyFactory
|
||
|
public:
|
||
|
|
||
|
STDMETHOD(AccessibleProxyFromWindow)(
|
||
|
/*[in]*/ DWORD dwhwnd,
|
||
|
/*[in]*/ long lObjectId,
|
||
|
/*[out]*/ IUnknown **ppUnk
|
||
|
)
|
||
|
{
|
||
|
return CreateStdAccessibleObject(
|
||
|
(HWND)LongToHandle( dwhwnd )
|
||
|
, lObjectId
|
||
|
, IID_IUnknown
|
||
|
, reinterpret_cast<void **>(ppUnk));
|
||
|
}
|
||
|
|
||
|
STDMETHOD(GetStateImageMapEnt)(
|
||
|
/* [in] */ DWORD dwhwnd,
|
||
|
/* [in] */ long iImage,
|
||
|
/* [out] */ DWORD *pdwState,
|
||
|
/* [out] */ DWORD *pdwRole
|
||
|
)
|
||
|
{
|
||
|
if( GetStateImageMapEnt_SameBitness( (HWND)LongToHandle( dwhwnd ), iImage,
|
||
|
pdwState,
|
||
|
pdwRole ) )
|
||
|
{
|
||
|
return S_OK;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return S_FALSE;
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif //__REMOTEPROXYFACTORY_H_
|