Функция CreateConsoleScreenBuffer


Функция CreateConsoleScreenBuffer создает экранный буфер консоли.

Синтаксис

HANDLE CreateConsoleScreenBuffer(
DWORD dwDesiredAccess,     // флажок доступа
DWORD dwShareMode,         // режим совместного использования буфера
CONST SECURITY_ATTRIBUTES * lpSecurityAttributes,
       // SD (указатель атрибутов
       // безопасности)
DWORD dwFlags,             // тип буфера
LPVOID lpScreenBufferData  // зарезервировано

); 

Параметры

dwDesiredAccess

Определяет доступ к экранному буферу консоли. Этот параметр может быть одно или несколько нижеследующих значений.

 

Значение

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

GENERIC_READ

Запрашивает доступ для чтения в экранном буфере консоли, включая процесс, чтобы читать данные из буфера. 

GENERIC_WRITE

Запрашивает доступ для записи в экранном буфере консоли, включая процесс, чтобы записать данные в буфер. 

 

За большей информацией обратитесь к статье Защита буфера и права доступа в консоли.

dwShareMode

Определяет, как этот экранный буфер консоли может быть совместно использован. Этот параметр , может быть нулевой, указывая, что буфер не может совместно использоваться или он может иметь одно или несколько нижеследующих значений.

 

Значение

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

FILE_SHARE_READ

Другие операции открытия могут быть выполнены на экранном буфере консоли для доступа к чтению. 

FILE_SHARE_WRITE

Другие операции открытия могут быть выполнены на экранном буфере консоли для доступа к записи.

lpSecurityAttributes

Указатель на структуру SECURITY_ATTRIBUTES, которая выясняет, может ли возвращенный дескриптор быть унаследован дочерними процессами. Если lpSecurityAttributes имеет значение ПУСТО (NULL), дескриптор не может быть унаследован.

Windows NT/2000/XP: член lpSecurityDescriptor структуры устанавливает дескриптор защиты для нового экранного буфера консоли. Если lpSecurityAttributes имеет значение ПУСТО (NULL), экранный буфер консоли получает заданный по умолчанию дескриптор защиты. ACLы в заданном по умолчанию дескрипторе защиты для экранного буфера консоли исходят из того, первичный или заимствованный маркер прав создателя.

Windows 95: член lpSecurityDescriptor структуры игнорируется.

dwFlags

Определяет тип создаваемого экранного буфера консоли. Единственный поддерживаемый тип экранного буфера является CONSOLE_TEXTMODE_BUFFER.

lpScreenBufferData

Зарезервирован; должен быть ПУСТО (NULL).

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

Если функция завершается успешно, возвращаемое значение является дескриптор нового экранного буфера консоли.

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

Замечания

Консоль может иметь многочисленные экранные буферы, но только один активный экранный буфер. К неактивным экранным буферам можно обращаться для чтения и записи, но только активный экранный буфер отображается на экране. Чтобы новый экранный буфер сделать активным, используйте функцию SetConsoleActiveScreenBuffer.

Вызывающий процесс может использовать возвращенный дескриптор в любой функции, которая требует дескриптора экранного буфера консоли, зависящего от ограничений доступа, определяемых параметром dwDesiredAccess.

Вызывающий процесс может использовать функцию DuplicateHandle, чтобы создать продублированный дескриптор экранного буфера, который имеет другой доступ или наследственность от первоначального дескриптора. Однако функция DuplicateHandle не может использоваться для создания дубликата, который является правильным для другого процесса (кроме как через наследование).

Чтобы закрыть дескриптор экранного буфера консоли, используйте функцию CloseHandle.

Пример кода

За примером кода обратитесь к статье Чтение и запись блоков символов и атрибутов.

Смотри также

Обзор консольных приложений, Функции консоли, CloseHandle, DuplicateHandle, GetConsoleScreenBufferInfo, SECURITY_ATTRIBUTES, SetConsoleActiveScreenBuffer, SetConsoleScreenBufferSize

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1  и старше

Windows Me

Да

Windows 98

Да

Windows 95

Да

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

Kernel32.lib

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

 

- объявлено в

Wincon.h

- включено в

Windows.h

Unicode

Нет

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

Не имеется

 

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

Hosted by uCoz