Память и буфер обмена


Объект в памяти, который должен поместиться в буфер обмена, должен быть назначен при помощи использования функции GlobalAlloc с флажком GMEM_MOVEABLE.

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

Функция, освобождающая объект Формат буфера обмена
DeleteMetaFile

CF_DSPENHMETAFILE
CF_DSPMETAFILEPICT
CF_ENHMETAFILE
CF_METAFILEPICT
 

DeleteObject

CF_BITMAP
CF_DSPBITMAP
CF_PALETTE
 

GlobalFree

CF_DIB
CF_DIBV5
CF_DSPTEXT
CF_OEMTEXT
CF_TEXT
CF_UNICODETEXT
 

Не имеется

CF_OWNERDISPLAY

Когда буфер обмена освобождается от объекта CF_OWNERDISPLAY,  приложение само должно освобождать объект памяти.

 

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

Hosted by uCoz