Операционные системы. Учебное пособие. Марапулец Ю.В. - 164 стр.

UptoLike

Составители: 

(sockets) или динамического обмена данными (DDE), которые будут рассмотрены далее.
Эти технологии позволяют реализовать безопасный канал для обмена информацией.
Windows поддерживает 14 стандартных форматов данных буфера обмена, опреде-
ленных в файле WinUser.H. Это форматы:
CF_BITMAP CF_OEMTEXT CF_TEXT
CF_DIB CF_PALETTE CF_TIFF
CF_DIF CF_PENDATA CF_UNICODETEXT
CF_ENHMETAFILE CF_RIFF CF_WAVE
CF_METAFILEPICT CF_SYLK
В файле WinUser.H определен также ряд специальных форматов, или флагов фор-
мата. Кроме того, каждое приложение может предложить собственный пользователь-
ский формат данных буфера обмена, которые будут рассмотрены далее. Но для боль-
шинства целей вполне достаточно стандартных форматов. Рассмотрим эти форматы
более подробно.
Текстовые форматы. Простейший формат данных буфера обмена - это текстовый
формат CF_TEXT, который состоит из набора строк ANSI-символов, заканчивающегося
нулевым символом. Каждая строка завершается символами возврата каретки (0x0D) и
перевода строки (0x0A). Формат CF_OEMTEXT представляет собой набор OEM-
символов. Формат CF_UNICODETEXT использует 32-разрядные символы набора
Unicode.
Передав текст в буфер обмена, исходное приложение не имеет возможности об-
ратиться к этому тексту, не запросив доступ к буферу.
Формат растровых изображений. Формат CF_BITMAP служит для хранения
растровых изображений путем передачи буферу обмена дескриптора изображения. За-
писав изображение в буфер, исходное приложение не имеет возможности обратиться к
этому изображению, не запросив доступ к буферу обмена.
Форматы метафайлов. Формат CF_METAFILEPICT служит для обмена мета-
файлами, находящимися в памяти (а не на диске), между различными приложениями.
Этот формат использует структуру METAFILEPICT, которая определена в файле
WinGDI.H следующим образом:
typedef struct tagMETAFILEPICT
{
LONG mm;
LONG xExt;
LONG yExt;
HMETAFILE hMF;
} METAFILEPICT, FAR *LPMETAFILEPICT;
Первые три поля этой структуры отображают различия, наблюдаемые при переда-
че метафайлов посредством буфера обмена и через дисковые файлы. Первое поле, mm,
указывает предпочтительный режим отображения. Второе и третье поля, xExt и уExt,
задают ширину и высоту содержащегося в метафайле изображения. Поле hMF содержит
дескриптор метафайла.
Формат CF_ENHMETAFILE аналогичен формату CF_METAFILEPICT, но в отли-
чие от последнего он идентифицирует метафайл, в котором используются расширенные
команды форматирования.
DIB-формат. Формат CF_DIB применяется для передачи в буфер обмена DIB-
файлов (аппаратно-независимых растровых изображений). DIB-изображение записыва-
166
(sockets) или динамического обмена данными (DDE), которые будут рассмотрены далее.
Эти технологии позволяют реализовать безопасный канал для обмена информацией.
     Windows поддерживает 14 стандартных форматов данных буфера обмена, опреде-
ленных в файле WinUser.H. Это форматы:

CF_BITMAP                   CF_OEMTEXT                 CF_TEXT
CF_DIB                      CF_PALETTE                 CF_TIFF
CF_DIF                      CF_PENDATA                 CF_UNICODETEXT
CF_ENHMETAFILE              CF_RIFF                    CF_WAVE
CF_METAFILEPICT             CF_SYLK

     В файле WinUser.H определен также ряд специальных форматов, или флагов фор-
мата. Кроме того, каждое приложение может предложить собственный пользователь-
ский формат данных буфера обмена, которые будут рассмотрены далее. Но для боль-
шинства целей вполне достаточно стандартных форматов. Рассмотрим эти форматы
более подробно.
     Текстовые форматы. Простейший формат данных буфера обмена - это текстовый
формат CF_TEXT, который состоит из набора строк ANSI-символов, заканчивающегося
нулевым символом. Каждая строка завершается символами возврата каретки (0x0D) и
перевода строки (0x0A). Формат CF_OEMTEXT представляет собой набор OEM-
символов. Формат CF_UNICODETEXT использует 32-разрядные символы набора
Unicode.
       Передав текст в буфер обмена, исходное приложение не имеет возможности об-
ратиться к этому тексту, не запросив доступ к буферу.
     Формат растровых изображений. Формат CF_BITMAP служит для хранения
растровых изображений путем передачи буферу обмена дескриптора изображения. За-
писав изображение в буфер, исходное приложение не имеет возможности обратиться к
этому изображению, не запросив доступ к буферу обмена.
     Форматы метафайлов. Формат CF_METAFILEPICT служит для обмена мета-
файлами, находящимися в памяти (а не на диске), между различными приложениями.
Этот формат использует структуру METAFILEPICT, которая определена в файле
WinGDI.H следующим образом:

typedef struct tagMETAFILEPICT
{
       LONG mm;
       LONG xExt;
       LONG yExt;
       HMETAFILE hMF;
} METAFILEPICT, FAR *LPMETAFILEPICT;

     Первые три поля этой структуры отображают различия, наблюдаемые при переда-
че метафайлов посредством буфера обмена и через дисковые файлы. Первое поле, mm,
указывает предпочтительный режим отображения. Второе и третье поля, xExt и уExt,
задают ширину и высоту содержащегося в метафайле изображения. Поле hMF содержит
дескриптор метафайла.
     Формат CF_ENHMETAFILE аналогичен формату CF_METAFILEPICT, но в отли-
чие от последнего он идентифицирует метафайл, в котором используются расширенные
команды форматирования.
     DIB-формат. Формат CF_DIB применяется для передачи в буфер обмена DIB-
файлов (аппаратно-независимых растровых изображений). DIB-изображение записыва-

                                       166