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 つ以上が含まれます。

説明
TF_ES_ASYNCDONTCARE
編集セッションは、TSF マネージャーの裁量により、同期的または非同期的に行うことができます。 マネージャーは、パフォーマンスを向上させるために同期編集セッションをスケジュールしようとします。 この値をTF_ES_ASYNC値またはTF_ES_SYNC値と組み合わせることはできません。
TF_ES_SYNC
編集セッションは同期である必要があります。要求は失敗します (TF_E_SYNCHRONOUS)。 このフラグは、成功が期待できる文書化された状況 (キーストローク処理など) でのみ使用する必要があります。 そうしないと、呼び出しが失敗する可能性があります。 この値をTF_ES_ASYNCDONTCARE値またはTF_ES_ASYNC値と組み合わせることはできません。
TF_ES_READ
コンテキストへの読み取り専用アクセスを要求します。
TF_ES_READWRITE
コンテキストへの読み取り/書き込みアクセスを要求します。
TF_ES_ASYNC
編集セッションは非同期であるか、要求が失敗する必要があります。 この値をTF_ES_ASYNCDONTCARE値またはTF_ES_SYNC値と組み合わせることはできません。

[out] phrSession

セッション編集要求の結果を受け取る HRESULT 値のアドレス。 受け取る値は、要求された編集セッションの種類によって異なります。

  • 非同期編集セッションが要求され、確立できる場合は、TF_S_ASYNCを受け取ります。
  • 同期編集セッションが要求され、確立できない場合は、TF_E_SYNCHRONOUSを受信します。
  • TF_ES_READWRITE フラグを指定し、ドキュメントが読み取り専用の場合は、TS_E_READONLYを受け取ります。
  • 同期編集セッションが確立された場合、 ITfEditSession::D oEditSession の戻り値を受け取ります。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

説明
S_OK
メソッドは正常に実行されました。 phrSession には、 メソッドの結果データが多く含まれています。
TF_E_LOCKED
呼び出し元は、既にロックを保持している別のテキスト サービスのコンテキスト内にあります。
TF_E_DISCONNECTED
コンテキストがドキュメント スタックにありません。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
E_OUTOFMEMORY
メモリ割り当てエラーが発生しました。

解説

保留中の非同期編集セッションは、受信した順序で処理されます。 同期編集セッションは、保留中の非同期編集セッションの前に処理されます。

テキスト サービスは、読み取り専用セッション内で書き込みアクセス セッションが要求されない場合、既存の編集セッションのコンテキスト内で編集セッションを要求できます。 別のテキスト サービスによって確立された編集セッションのコンテキスト内でこのメソッドを呼び出すと、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::OnStatusChangeITfTextEditSink::OnEndEditITfTextLayoutSink::OnLayoutChange