GetStdHandle関数

指定された標準デバイス (標準入力、標準出力、または標準エラー) のハンドルを設定します。

構文

BOOL WINAPI SetStdHandle(
  _In_ DWORD  nStdHandle,
  _In_ HANDLE hHandle
);

パラメーター

nStdHandle [in]
ハンドルを設定する標準デバイス。 このパラメーターには、次の値のいずれかを指定できます。

意味
STD_INPUT_HANDLE ((DWORD)-10) 標準入力デバイスです。 初めは、コンソール入力バッファー CONIN$ です。
STD_OUTPUT_HANDLE ((DWORD)-11) 標準出力デバイスです。 初めは、アクティブなコンソール画面バッファー CONOUT$ です。
STD_ERROR_HANDLE ((DWORD)-12) 標準エラー デバイスです。 初めは、アクティブなコンソール画面バッファー CONOUT$ です。

Note

これらの定数の値は符号なし数値で (ただし、ヘッダー ファイルで符号付き数値からのキャストとして定義されます)、C コンパイラを利用して最大 32 ビット値の直下にそれらがロールオーバーされます。 ヘッダーを解析せず、定数を再定義する言語でこれらのハンドルとやり取りするときは、この制約に注意してください。 例として、((DWORD)-10) は実際には、符号なし数値 4294967286 です。

hHandle [in]
標準デバイスのハンドル。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

プロセスの標準ハンドルは SetStdHandle の呼び出しによってリダイレクトされている可能性があります。その場合、GetStdHandle はリダイレクトされたハンドルを返します。 標準ハンドルがリダイレクトされている場合は、CreateFile 関数の呼び出しで CONIN$ 値を指定して、コンソール入力バッファへのハンドルを取得できます。 同様に、CONOUT$ 値を指定して、コンソールのアクティブな画面バッファへのハンドルを取得できます。

例については、「リダイレクトされた入力と出力を使用した子プロセスの作成」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー ProcessEnv.h (Winbase.h 経由、Windows.h が含まれる)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

コンソール関数

コンソール ハンドル

CreateFile

GetStdHandle