1 //#define TSF_DEBUG_OUTPUT
\r
5 using System.Diagnostics;
\r
6 using System.Reflection;
\r
7 using System.Runtime.InteropServices;
\r
8 using System.Globalization;
\r
10 using DotNetTextStore.UnmanagedAPI.TSF;
\r
11 using DotNetTextStore.UnmanagedAPI.TSF.TextStore;
\r
12 using DotNetTextStore.UnmanagedAPI.WinDef;
\r
13 using DotNetTextStore.UnmanagedAPI.WinError;
\r
15 namespace DotNetTextStore
\r
17 public sealed class TextStore2 : TextStoreBase, IDisposable, ITextStoreACP2, ITfContextOwnerCompositionSink
\r
20 public void Dispose()
\r
22 base.Dispose(false);
\r
23 GC.SuppressFinalize(this);
\r
26 protected override void CreateThreadMgr()
\r
28 if (_threadMgr == null)
\r
30 Type clsid = Marshal.GetTypeFromCLSID(TfDeclarations.CLSID_TF_ThreadMgr);
\r
31 ITfThreadMgr2 threadMgr = Activator.CreateInstance(clsid) as ITfThreadMgr2;
\r
33 if (threadMgr == null)
\r
35 const string message = "スレッドマネージャーの生成に失敗しました。";
\r
36 Debug.WriteLine(message);
\r
37 throw new COMException(message, HRESULT.E_NOTIMPL);
\r
40 this._threadMgr = threadMgr;
\r