CreatePseudoConsole 関数

呼び出しプロセスの新しい疑似コンソール オブジェクトを作成します。

構文

HRESULT WINAPI CreatePseudoConsole(
    _In_ COORD size,
    _In_ HANDLE hInput,
    _In_ HANDLE hOutput,
    _In_ DWORD dwFlags,
    _Out_ HPCON* phPC
);

パラメーター

サイズ [in]
疑似コンソールの初期作成時に使用される文字数でのウィンドウ/バッファーの分析コード。 これは、ResizePseudoConsole で後で調整できます。

hInput [in]
デバイスへのユーザーによる入力を表すデータのストリームへのオープン ハンドル。 これは現在、同期 I/O に制限されています。

hOutput [in]
デバイスからのアプリケーション出力を表すデータのストリームへのオープン ハンドル。 これは現在、同期 I/O に制限されています。

dwFlags [in]
値は次のいずれかになります。

Value 説明
0 標準の疑似コンソール作成を実行します。
PSEUDOCONSOLE_INHERIT_CURSOR (DWORD)1 作成された疑似コンソール セッションは、親コンソールのカーソル位置の継承を試みます。

phPC [out]
新しい疑似コンソール デバイスへのハンドルを受信する場所へのポインター。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

この関数は、主にコマンド ライン ユーザー インターフェイス (CUI) アプリケーションのターミナル ウィンドウを試みるアプリケーションで使用されます。 呼び出し元は、出力ストリームに関する情報を表示し、ユーザーによる入力を収集して入力ストリームにシリアル化する責任を負います。

UTF-8 としてエンコードされた入力ストリームと出力ストリームには、仮想ターミナル シーケンスとインタリーブされたプレーン テキストが含まれています。

出力ストリームでは、呼び出しアプリケーションによって仮想ターミナル シーケンスをデコードしてレイアウトし、表示ウィンドウにプレーン テキストを表示できます。

入力ストリームでは、プレーン テキストはユーザーが入力する標準キーボードのキーを表します。 より複雑な操作は、Ctrl キーとマウスの動きを、このストリームに埋め込まれた仮想ターミナル シーケンスとしてエンコードすることによって表されます。

操作が完了したら、この関数によって作成されたハンドルを ClosePseudoConsole で閉じる必要があります。

PSEUDOCONSOLE_INHERIT_CURSOR を使用する場合、呼び出しアプリケーションは、hOutput で受信し hInput で返信するカーソル情報の要求を転送または解釈して、バックグラウンド スレッドで非同期的にカーソル状態の要求に応答する準備をする必要があります。 これを行わないと、疑似コンソール システムの別の要求を行っている間に呼び出しアプリケーションがハングする可能性があります。

この関数を使用した疑似コンソール セッションの確立に関する完全なチュートリアルについては、「疑似コンソール セッションの作成」を参照してください。

要件

   
サポートされている最小のクライアント Windows 10 October 2018 Update (バージョン 1809)[デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2019 [デスクトップ アプリのみ]
ヘッダー ConsoleApi.h (WinCon.h 経由、Windows.h をインクルード)
ライブラリ Kernel32.lib
[DLL] Kernel32.dll

関連項目

Pseudoconsoles

Pseudoconsole セッションの作成

ResizePseudoConsole

ClosePseudoConsole