Я пытаюсь использовать MS IME на сервере, чтобы получить некоторую японскую информацию в приложении silverlight. Приложение обращается к серверу с помощью WCF, но при вызове CoCreateInstance для создания IFELanguage2 оно дает мне -2147467262. Тот же код, который я использую на сервере, на самом деле прекрасно работает в приложении WPF.
Вот код,
// ...omit
Guid imeGuid;
int errCode = Ole32.CLSIDFromString("MSIME.Japan", out imeGuid);
WinBase.CheckError(errCode);
Guid feLangIID = new Guid(Constants.IID_IFELanguage2);
IntPtr ppv;
errCode = Ole32.CoCreateInstance(imeGuid, IntPtr.Zero, Ole32.CLSCTX.CLSCTX_ALL, feLangIID, out ppv);
WinBase.CheckError(errCode); // errCode is 2147467262
IFELanguage IfeLanguage = Marshal.GetTypedObjectForIUnknown(ppv, typeof(IFELanguage)) as IFELanguage;
errCode = IfeLanguage.Open();
WinBase.CheckError(errCode);
// ...omit
Нужно ли что-либо настраивать для использования MS IME на стороне сервера? Я запускаю приложение в следующей среде,
IIS7
.NET Framework 4.0
Windows 7 Pro 64 бит
VS2010
Заранее спасибо,
yokyo