blob: 8ef774ebacc00b46bdd3a9515b8c05ee0d6fb4f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#ifdef _MSC_VER
#include "../comLightCommon.h"
namespace ComLight
{
namespace details
{
HRESULT createFreeThreadedMarshaller( IUnknown* pUnkOuter, IUnknown** ppUnkMarshal );
bool queryMarshallerInterface( REFIID riid, void **ppvObject, IUnknown* marshaller );
}
}
#define DECLARE_FREE_THREADED_MARSHALLER() \
private: \
ComLight::CComPtr<ComLight::IUnknown> m_freeThreadedMarshaller; \
protected: \
HRESULT internalFinalConstruct() \
{ \
return ComLight::details::createFreeThreadedMarshaller( getUnknown(), &m_freeThreadedMarshaller ); \
} \
bool queryExtraInterfaces( REFIID riid, void **ppvObject ) const \
{ \
return ComLight::details::queryMarshallerInterface( riid, ppvObject, m_freeThreadedMarshaller ); \
}
#else
#define DECLARE_FREE_THREADED_MARSHALLER()
#endif
|