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
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;
|
|
}
|