38 lines
871 B
C++
38 lines
871 B
C++
|
///////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Microsoft WMIOLE DB Provider
|
||
|
//
|
||
|
// (C) Copyright 1999 Microsoft Corporation. All Rights Reserved.
|
||
|
//
|
||
|
// IGetSess.CPP IGetSession interface implementation
|
||
|
//
|
||
|
///////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#include "headers.h"
|
||
|
|
||
|
STDMETHODIMP CImpIGetSession::GetSession(REFIID riid,IUnknown ** ppSession)
|
||
|
{
|
||
|
HRESULT hr = E_FAIL;
|
||
|
|
||
|
CSetStructuredExceptionHandler seh;
|
||
|
|
||
|
TRY_BLOCK;
|
||
|
|
||
|
// Seriliaze the object
|
||
|
CAutoBlock cab(m_pObj->GetCriticalSection());
|
||
|
|
||
|
// Clear Error information
|
||
|
g_pCError->ClearErrorInfo();
|
||
|
|
||
|
|
||
|
if( m_pObj->m_pCreator != NULL)
|
||
|
{
|
||
|
hr = m_pObj->m_pCreator->QueryInterface(riid,(void **)ppSession);
|
||
|
}
|
||
|
|
||
|
hr = hr == S_OK ? hr :g_pCError->PostHResult(hr,&IID_IGetSession);
|
||
|
|
||
|
CATCH_BLOCK_HRESULT(hr,L"IGetSession::GetSession");
|
||
|
return hr;
|
||
|
}
|