スペル チェック API について
世界中のユーザーにとって、テキスト入力は、ブログ、コメント、ツイート、インスタント メッセージング、またはその他の種類のテキスト入力のための最新のコンピューティング エクスペリエンスの一部です。 Windows 8では、コントロールを編集するためのスペル チェックが組み込まれています。
開発者は、アプリでスペル チェック API を使用して、使用可能なスペル チェック サービスを使用できます。 開発者は、プロバイダーになり、Windows のスペル チェック フレームワークに統合されるスペル チェックを作成することもできます。
Spell Checking API は、Windows コンポーネント オブジェクト モデル (COM) アプリの専門の C/C++ 開発者が使用するように設計されています。 Spell Checking API は、Windows または ASP.NET サービスでの使用はサポートされていません。
バージョン管理
スペル チェック API は、Windows 8またはWindows Server 2012以降で使用できます。 API への今後の追加は、既存のインターフェイスで QueryInterface を使用して決定できる新しいインターフェイスを作成することによって処理されます。
インターフェイス
すべてのインターフェイスは、使用されなくなったときに解放する必要があります。 返されるすべての (out パラメーター) LPWSTR 文字列 (および IEnumString の LPOLESTR 項目) は、使用されなくなったときに CoTaskMemFree を使用して解放する必要があります。
エラー処理
エラーは HRESULTとして返されます。 この API では、IErrorInfo と ISupportErrorInfo はサポートされていません。 誤った引数を除き、エラーは特にアクション可能ではありません。
標準 RPC エラー コードはアウトプロセスであるため、API 呼び出しによって返される場合があります。 標準 RPC タイムアウトが適用されます。
セキュリティ
スペル チェック API は、外部コード (スペル チェック プロバイダー) を読み込むことができます。 このコードはアウトプロセスで実行され、制限付きのセキュリティ コンテキストで実行されます。
辞書ファイル
追加、除外、オートコレクトの単語リストの内容を保持する言語のユーザー固有の辞書は、%AppData%\Microsoft\Spelling\<language タグ>の下にあります。 ファイル名は default.dic (Added)、default.exc (Excluded) 、default.acl (AutoCorrect) です。 ファイルは UTF-16 LE プレーンテキストであり、適切なバイトオーダーマーク (BOM) で始まる必要があります。 各行には、単語 ([追加済み] と [除外された単語] の一覧) またはオートコレクト ペアと、縦棒 ("|") で区切られた単語が含まれます。(オートコレクトの単語の一覧)。 ディレクトリに存在する他の .dic、.exc、および .acl ファイルは、スペル チェック サービスによって検出され、ユーザーの単語リストに追加されます。 これらのファイルは読み取り専用と見なされ、スペル チェック API によって変更されません。
スペル チェック プロバイダーのインストール
スペル チェック プロバイダーのインストールでは、使用するすべてのファイルを、SID (セキュリティ識別子) "ALL APPLICATION PACKAGES" からの読み取りアクセスを許可する場所に配置する必要があります。 "Program Files" の下のフォルダーにインストールすると問題なく動作します。 また、プロバイダーは、スペル チェック API に表示されるようにレジストリにいくつかのキーを設定する必要があります。 現在のユーザーまたはすべてのユーザーに対してのみインストールする必要があるかどうかに応じて、HKEY_CURRENT_USERハイブまたはHKEY_LOCAL_MACHINE ハイブのいずれかにできます。
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>
Default (REG_SZ) = <Name of the provider>
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\InprocServer32
ThreadingModel (REG_SZ) = "Both"
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\Version
Version (REG_SZ) = <Version>
Key: <Registry hive>\SOFTWARE\Microsoft\Spelling\Spellers\<Provider id string>
CLSID (REG_SZ) = <CLSID of the COM Server that implements the provider>
スペル チェック プロバイダーのサンプルでは、プロバイダーのインストールに必要な登録の例を示します。
スペル チェック プロバイダーの新しいスペル チェック オプションを作成する場合は、名前付けのガイダンスについては 、「IOptionDescription::Id」を 参照してください。
関連トピック