summaryrefslogtreecommitdiffstats
path: root/ComLightLib/server/freeThreadedMarshaller.cpp
blob: fc1ea80f4208479680505bde342ef1a56f281f45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "freeThreadedMarshaller.h"
#ifdef _MSC_VER
#include <combaseapi.h>

HRESULT ComLight::details::createFreeThreadedMarshaller( IUnknown* pUnkOuter, IUnknown** ppUnkMarshal )
{
	return ::CoCreateFreeThreadedMarshaler( (LPUNKNOWN)pUnkOuter, (LPUNKNOWN *)ppUnkMarshal );
}

bool ComLight::details::queryMarshallerInterface( REFIID riid, void **ppvObject, IUnknown* marshaller )
{
	if( riid != IID_IMarshal || nullptr == marshaller )
		return false;
	const HRESULT hr = marshaller->QueryInterface( IID_IMarshal, ppvObject );
	return SUCCEEDED( hr ) ? true : false;
}
#endif