5edf7c19

Интерфейс IDirectDrawSurface


Объект DirectDrawSurface представляет часть памяти, которая содержит данные. Эти данные находятся в форме, понятой аппаратным средствам дисплея, представляемыми объектом DirectDraw, который создал объект DirectDrawSurface. Объект DirectDrawSurface создается методом IDirectDraw:: CreateSurface. Не требуется, чтобы  объект DirectDrawSurface находился в оперативной памяти дисплея платы дисплея. Если это определенно не установлено в течение создания объекта DirectDrawSurface, объект DirectDraw поместит объект DirectDrawSurface туда, где  может быть достигнута самая лучшая эффективность для  данной запрошенной возможности.

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

Объекты DirectDrawSurface распознаются как интегрированные с остальной частью компонентов системы дисплея Windows. Объекты DirectDrawSurface могут создавать программы обработки  к контексту устройства GDI  (HDC), которые позволяют функциям GDI писать в поверхностную память, представляемой объектом DirectDrawSurface. GDI чувствует эти HDC как контексты устройства памяти и для них допускаются аппаратные акселераторы, если они находятся в памяти дисплея.


COM модель, которую использует DirectDraw использования определяет, что, обеспечивая новые интерфейсы, могут быть добавлены новые функциональные возможности. Эта версия DirectDraw предоставляет два новых интерфейса, интерфейс IDirectDraw2 и интерфейс IDirectDrawSurface2.

Следующий пример показывает, как создать интерфейс IDirectDrawSurface2:

LPDIRECTDRAWSURFACE lpSurf;

LPDIRECTDRAWSURFACE2 lpSurf2;

// Создают поверхности

memset( &ddsd, 0, sizeof ( ddsd ) );

ddsd.dwSize = sizeof( ddsd );

ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;

ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN |


Содержание раздела