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 |