Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

51 lines
1.0 KiB

//+---------------------------------------------------------------------------
//
// File: guidmap.cpp
//
// Contents: IActiveIMMAppEx::GetGuidAtom routines
//
//----------------------------------------------------------------------------
#include "private.h"
#include "context.h"
#include "globals.h"
#include "cdimm.h"
//
// IActiveIMMAppEx::GetGuidAtom method
//
STDMETHODIMP CActiveIMM::GetGuidAtom(HIMC hIMC, BYTE bAttr, TfGuidAtom* pGuidAtom)
{
if (pGuidAtom == NULL) {
return E_INVALIDARG;
}
*pGuidAtom = TF_INVALID_GUIDATOM;
HRESULT hr;
CActiveIMM *pActiveIMM;
if (pActiveIMM = GetTLS())
{
if (pActiveIMM->_IsRealIme(NULL))
return E_FAIL;
}
else
return E_UNEXPECTED;
DIMM_IMCLock imc(hIMC);
if (FAILED(hr=imc.GetResult())) {
return hr;
}
if (imc->m_pContext != NULL) {
return imc->m_pContext->GetGuidAtom(hIMC, bAttr, pGuidAtom);
}
return E_UNEXPECTED;
}