Функция
GetStdHandleФункция
GetStdHandle извлекает дескриптор для стандартного ввода данных, стандартного вывода или стандартной ошибки устройства.Синтаксис
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 |
Нет |
Замечания по платформе |
Не имеется |