ITfContext::RequestEditSession メソッド (msctf.h)
ドキュメントのテキストとプロパティへのアクセスを取得します。
構文
HRESULT RequestEditSession(
[in] TfClientId tid,
[in] ITfEditSession *pes,
[in] DWORD dwFlags,
[out] HRESULT *phrSession
);
パラメーター
[in] tid
編集セッションを確立するクライアントを識別する TfClientId 値を格納します。
[in] pes
編集セッションを実行するために 呼び出される ITfEditSession インターフェイスへのポインター。
[in] dwFlags
次の値のうち 1 つ以上が含まれます。
[out] phrSession
セッション編集要求の結果を受け取る HRESULT 値のアドレス。 受け取る値は、要求された編集セッションの種類によって異なります。
- 非同期編集セッションが要求され、確立できる場合は、TF_S_ASYNCを受け取ります。
- 同期編集セッションが要求され、確立できない場合は、TF_E_SYNCHRONOUSを受信します。
- TF_ES_READWRITE フラグを指定し、ドキュメントが読み取り専用の場合は、TS_E_READONLYを受け取ります。
- 同期編集セッションが確立された場合、 ITfEditSession::D oEditSession の戻り値を受け取ります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
値 | 説明 |
---|---|
|
メソッドは正常に実行されました。 phrSession には、 メソッドの結果データが多く含まれています。 |
|
呼び出し元は、既にロックを保持している別のテキスト サービスのコンテキスト内にあります。 |
|
コンテキストがドキュメント スタックにありません。 |
|
1 つ以上のパラメーターが無効です。 |
|
メモリ割り当てエラーが発生しました。 |
解説
保留中の非同期編集セッションは、受信した順序で処理されます。 同期編集セッションは、保留中の非同期編集セッションの前に処理されます。
テキスト サービスは、読み取り専用セッション内で書き込みアクセス セッションが要求されない場合、既存の編集セッションのコンテキスト内で編集セッションを要求できます。 別のテキスト サービスによって確立された編集セッションのコンテキスト内でこのメソッドを呼び出すと、TF_E_LOCKEDで失敗します。
次のいずれかの通知を処理するときに同期読み取り/書き込み要求が行われた場合、失敗します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | msctf.h |
[DLL] | Msctf.dll |
再頒布可能パッケージ | Windows 2000 Professional の TSF 1.0 |
関連項目
ITfContext インターフェイス、 ITfEditSession インターフェイス、 ITfStatusSink::OnStatusChange、 ITfTextEditSink::OnEndEdit、 ITfTextLayoutSink::OnLayoutChange