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.

58 lines
1.4 KiB

  1. /**************************************************************************\
  2. * Module Name: funcprv.cpp
  3. *
  4. * Copyright (c) 1985 - 2000, Microsoft Corporation
  5. *
  6. * Implementation of function provider.
  7. *
  8. * History:
  9. * 11-April-2000 weibz Created
  10. \**************************************************************************/
  11. #include "private.h"
  12. #include "globals.h"
  13. #include "softkbdimx.h"
  14. #include "funcprv.h"
  15. #include "helpers.h"
  16. #include "immxutil.h"
  17. #include "fnsoftkbd.h"
  18. //////////////////////////////////////////////////////////////////////////////
  19. //
  20. // CFunctionProvider
  21. //
  22. //////////////////////////////////////////////////////////////////////////////
  23. CFunctionProvider::CFunctionProvider(CSoftkbdIMX *pimx) : CFunctionProviderBase(pimx->_GetId())
  24. {
  25. Init(CLSID_SoftkbdIMX, L"SoftkbdIMX TFX");
  26. _pimx = pimx;
  27. }
  28. //+---------------------------------------------------------------------------
  29. //
  30. // GetFunction
  31. //
  32. //----------------------------------------------------------------------------
  33. STDAPI CFunctionProvider::GetFunction(REFGUID rguid, REFIID riid, IUnknown **ppunk)
  34. {
  35. *ppunk = NULL;
  36. if (!IsEqualIID(rguid, GUID_NULL))
  37. return E_NOINTERFACE;
  38. if (IsEqualIID(riid, IID_ITfFnSoftKbd))
  39. {
  40. *ppunk = new CFnSoftKbd(this);
  41. }
  42. if (*ppunk)
  43. return S_OK;
  44. return E_NOINTERFACE;
  45. }