1--body oncopy="return false" onselectstart="return false"-->
|
|
||
6. Стандартные дескрипторы ввода-вывода |
||
При создании новой консоли система создает три дескриптора, которые обозначаются stdin, stdout, stderr и называются соответственно стандартными дескрипторами ввода, вывода и ошибки. Дескриптор stdin связывается с буфером ввода, а дескрипторы stdout и stderr связываются с буфером экрана. Эти дескрипторы используются в функциях, предназначенных для работы с консолью. Значения стандартных дескрипторов ввода-вывода можно получить, используя функцию GetstdHandie, которая имеет следующий прототип: где параметр dwStdHandle может принимать одно из следующих значений: При успешном завершении функция GetstdHandie возвращает требуемый дескриптор, а в случае неудачи — значение invalid_handle_value. Установить значения стандартных дескрипторов ввода-вывода можно при помощи функции setstdHandie, которая имеет следующий прототип: Обычно функция setstdHandie используется для перенаправления потоков стандартного ввода-вывода. В этом случае дескрипторы стандартных потоков ввода-вывода могут быть определены ВЫЗОВОМ функции CreateFile, которая в качестве имени файла (параметр lpNameFile) принимает одно из значений: conin$ или conout$. Остальные параметры устанавливаются следующим образом. Для входного потока CONIN$: Для выходного потока CONOUT$: В обоих случаях параметры dwFlagsAndAttributes и hTemplateFile игнорируется, а параметр IpSecurityAttributes используется только для того, чтобы сделать консоль наследуемой. |
||
|
||
6 |