Функция GetStdHandle


Функция GetStdHandle извлекает дескриптор для стандартного ввода данных, стандартного вывода или стандартной ошибки устройства.

Синтаксис

HANDLE GetStdHandle(

DWORD nStdHandle // ввод, вывод или ошибка устройства

);

Параметры

nStdHandle

[in] Стандартное устройство, для которого дескриптор должен быть возвращен. Этот параметр может быть одним из следующих значений.

Именованная константа

Предназначение

STD_INPUT_HANDLE

Дескриптор стандартного устройства ввода данных. Вначале, это - дескриптор консольного буфера ввода, CONIN$. 

STD_OUTPUT_HANDLE

Дескриптор устройства стандартного вывода. Вначале, это - дескриптор активного экранного буфера консоли, CONOUT$. 

STD_ERROR_HANDLE

Дескриптор стандартной ошибки устройства. Вначале, это - дескриптор активного экранного буфера консоли, CONOUT$. 

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - дескриптор определяемого устройства. Дескриптор имеет права доступа GENERIC_READ и GENERIC_WRITE, если приложение не использовало функцию SetStdHandle, чтобы установить стандартный дескриптор с меньшими правами доступа.

Если функция завершается с ошибкой, возвращаемое значение - флажок INVALID_HANDLE_VALUE. Чтобы получить расширенные данные об ошибках, вызовите функцию GetLastError.

Замечания

Дескрипторы, возвращенные функцией GetStdHandle, могут быть использованы прикладными программами, которым нужно читают из или записывать в консоль. Когда консоль создана, дескриптором стандартного ввода является дескриптор буфера ввода консоли, а стандартного вывода и обработки стандартной ошибки является дескриптор активного экранного буфера консоли. Эти дескрипторы могут быть использованы функциями ReadFile и WriteFile, или любой из консольных функций, которые обращаются к консольному буферу ввода или экранному буферу (например, функциям ReadConsoleInput, WriteConsole, или GetConsoleScreenBufferInfo).

Стандартные дескрипторы процесса могут быть переназначен вызовом функции SetStdHandle, в этом случае функция GetStdHandle возвращает переназначенный дескриптор. Если стандартные дескрипторы были переназначены, Вы можете задать значение CONIN$ при вызове к функции CreateFile, чтобы получить дескриптор для буфера ввода консоли. Точно так же Вы можете задать значение CONOUT$, чтобы получить дескриптор для активного экранного буфера консоли.

Код примера

Пример смотри в статье Чтение событий буфера вводимых данных.

Смотри также

Обзор консольных приложений, Функции консоли, CreateFile, GetConsoleScreenBufferInfo, ReadConsoleInput, ReadFile, SetStdHandle, WriteConsole, WriteFile

Размещение и совместимость GetStdHandle

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Kernel32.lib

Заголовочный файл

 

- объявлено в

Wincon.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz