Interfaz IDirectDrawSurface7 (ddraw.h)

Las aplicaciones usan los métodos de la interfaz IDirectDrawSurface7 para crear objetos DirectDrawSurface y trabajar con variables de nivel de sistema. Esta sección es una referencia a los métodos de esta interfaz.

Herencia

La interfaz IDirectDrawSurface7 hereda de la interfaz IUnknown . IDirectDrawSurface7 también tiene estos tipos de miembros:

Métodos

La interfaz IDirectDrawSurface7 tiene estos métodos.

 
IDirectDrawSurface7::AddAttachedSurface

Adjunta la superficie z-buffer especificada a esta superficie.
IDirectDrawSurface7::AddOverlayDirtyRect

El método IDirectDrawSurface7::AddOverlayDirtyRect no está implementado actualmente.
IDirectDrawSurface7::Blt

Realiza una transferencia de bloques de bits (bitblt). Este método no admite el almacenamiento en búfer z ni la combinación alfa durante las operaciones bitblt.
IDirectDrawSurface7::BltBatch

El método IDirectDrawSurface7::BltBatch no está implementado actualmente.
IDirectDrawSurface7::BltFast

Realiza una copia de origen bitblt o bitblt transparente mediante una clave de color de origen o una clave de color de destino.
IDirectDrawSurface7::ChangeUniquenessValue

Actualiza manualmente el valor de unicidad de esta superficie.
IDirectDrawSurface7::D eleteAttachedSurface

Desasocia una o varias superficies adjuntas.
IDirectDrawSurface7::EnumAttachedSurfaces

Enumera todas las superficies que están conectadas a esta superficie.
IDirectDrawSurface7::EnumOverlayZOrders

Enumera las superficies de superposición en el destino especificado. Puede enumerar las superposiciones en orden de front-to-back o back-to-front.
IDirectDrawSurface7::Flip

Hace que la memoria de superficie asociada a la superficie DDSCAPS_BACKBUFFER se asote a la superficie del búfer frontal.
IDirectDrawSurface7::FreePrivateData

Libera los datos privados especificados asociados a esta superficie.
IDirectDrawSurface7::GetAttachedSurface

Obtiene la superficie adjunta que tiene las funcionalidades especificadas e incrementa el recuento de referencias de la interfaz recuperada.
IDirectDrawSurface7::GetBltStatus

Obtiene el estado de una operación de transferencia de bloques de bits (bitblt).
IDirectDrawSurface7::GetCaps

Recupera las funcionalidades de esta superficie. Estas funcionalidades no están necesariamente relacionadas con las funcionalidades del dispositivo de visualización.
IDirectDrawSurface7::GetClipper

Recupera el objeto DirectDrawClipper asociado a esta superficie e incrementa el recuento de referencias del clipper devuelto.
IDirectDrawSurface7::GetColorKey

Recupera el valor de clave de color de esta superficie.
IDirectDrawSurface7::GetDC

Crea un identificador compatible con GDI de un contexto de dispositivo para esta superficie.
IDirectDrawSurface7::GetDDInterface

Recupera una interfaz para el objeto DirectDraw que se usó para crear esta superficie.
IDirectDrawSurface7::GetFlipStatus

Recupera el estado sobre si esta superficie ha terminado su proceso de volteo.
IDirectDrawSurface7::GetLOD

Recupera el nivel máximo de detalle (LOD) establecido actualmente para una superficie de mapa mip administrado. Este método solo se realiza correctamente en texturas administradas.
IDirectDrawSurface7::GetOverlayPosition

Recupera las coordenadas de visualización de esta superficie. Este método se usa en una superficie de superposición visible y activa (es decir, una superficie que tiene establecida la marca DDSCAPS_OVERLAY).
IDirectDrawSurface7::GetPalette

Recupera el objeto DirectDrawPalette asociado a esta superficie e incrementa el recuento de referencias de la paleta devuelta.
IDirectDrawSurface7::GetPixelFormat

Recupera el formato de color y píxel de esta superficie.
IDirectDrawSurface7::GetPriority

Recupera la prioridad de administración de texturas para esta textura. Este método solo se realiza correctamente en texturas administradas.
IDirectDrawSurface7::GetPrivateData

Copia los datos privados asociados a esta superficie en un búfer proporcionado.
IDirectDrawSurface7::GetSurfaceDesc

Recupera una descripción de esta superficie en su condición actual.
IDirectDrawSurface7::GetUniquenessValue

Recupera el valor de unicidad actual para esta superficie.
IDirectDrawSurface7::Initialize

Inicializa un objeto DirectDrawSurface.
IDirectDrawSurface7::IsLost

Determina si se ha liberado la memoria expuesta asociada a un objeto DirectDrawSurface.
IDirectDrawSurface7::Lock

Obtiene un puntero a la memoria expuesta.
IDirectDrawSurface7::P ageLock

Impide que una superficie de memoria del sistema se pagina mientras una operación de transferencia de bloques de bits (bitblt) que usa transferencias de acceso directo a memoria (DMA) hacia o desde la memoria del sistema está en curso.
IDirectDrawSurface7::P ageUnlock

Desbloquea una superficie de memoria del sistema, que luego permite paginarlo.
IDirectDrawSurface7::ReleaseDC

Libera el identificador de un contexto de dispositivo que se obtuvo anteriormente mediante el método IDirectDrawSurface7::GetDC.
IDirectDrawSurface7::Restore

Restaura una superficie que se ha perdido. Esto ocurre cuando se libera la memoria expuesta asociada al objeto DirectDrawSurface.
IDirectDrawSurface7::SetClipper

Adjunta un objeto clipper a, o elimina uno de esta superficie.
IDirectDrawSurface7::SetColorKey

Establece el valor de clave de color del objeto DirectDrawSurface si el hardware admite claves de color por superficie.
IDirectDrawSurface7::SetLOD

Establece el nivel máximo de detalle (LOD) para una superficie de mapa mip administrado. Este método solo se realiza correctamente en texturas administradas.
IDirectDrawSurface7::SetOverlayPosition

Cambia las coordenadas de visualización de una superficie superpuesta.
IDirectDrawSurface7::SetPalette

Adjunta un objeto de paleta a (o desasocia uno de) una superficie. La superficie usa esta paleta para todas las operaciones posteriores. El cambio de paleta tiene lugar inmediatamente, sin tener en cuenta el tiempo de actualización.
IDirectDrawSurface7::SetPriority

Asigna la prioridad de administración de texturas para esta textura. Este método solo se realiza correctamente en texturas administradas.
IDirectDrawSurface7::SetPrivateData

Asocia datos a la superficie que está pensada para su uso por la aplicación, no por DirectDraw. Los datos se pasan por valor y se pueden asociar varios conjuntos de datos a una sola superficie.
IDirectDrawSurface7::SetSurfaceDesc

Establece las características de una superficie existente.
IDirectDrawSurface7::Unlock

Notifica a DirectDraw que las manipulaciones de superficie directa están completas.
IDirectDrawSurface7::UpdateOverlay

Cambia la posición o modifica los atributos visuales de una superficie superpuesta. Estas superficies deben tener establecida la marca DDSCAPS_OVERLAY.
IDirectDrawSurface7::UpdateOverlayDisplay

El método IDirectDrawSurface7::UpdateOverlayDisplay no está implementado actualmente.
IDirectDrawSurface7::UpdateOverlayZOrder

Establece el orden z de una superposición.

Comentarios

Los métodos de la interfaz IDirectDrawSurface7 se pueden organizar en los siguientes grupos:

Grupo Métodos
Asignar memoria Inicializar, IsLost y Restaurar
Adjuntar superficies AddAttachedSurface, DeleteAttachedSurface, EnumAttachedSurfaces y GetAttachedSurface
BitBltting Blt, BltBatch, BltFast y GetBltStatus
Keying de color GetColorKey y SetColorKey
Contextos de dispositivo GetDC y ReleaseDC
Voltear Flip y GetFlipStatus
Superficies de bloqueo Bloquear, PageLock, PageUnlock y Desbloquear
Varios GetDDInterface
Superposiciones AddOverlayDirtyRect, EnumOverlayZOrders, GetOverlayPosition, SetOverlayPosition, UpdateOverlay, UpdateOverlayDisplay y UpdateOverlayZOrder
Datos de superficie privada FreePrivateData, GetPrivateData y SetPrivateData
Funcionalidades de Surface GetCaps
Clipper de Surface GetClipper y SetClipper
Características de superficie ChangeUniquenessValue, GetPixelFormat, GetSurfaceDesc, GetUniquenessValue y SetSurfaceDesc
Paletas de Superficie GetPalette y SetPalette
Texturas GetLOD, GetPriority, SetLOD y SetPriority
 

La interfaz IDirectDrawSurface7 amplía las características de las versiones anteriores de la interfaz ofreciendo métodos que ofrecen una mejor administración de superficies y facilidad de uso. Muchos métodos de esta interfaz aceptan parámetros ligeramente diferentes que sus homólogos en versiones anteriores de la interfaz. Siempre que un método de interfaz IDirectDrawSurface3 pueda aceptar una estructura DDSURFACEDESC o una interfaz IDirectDrawSurface3 , los métodos de IDirectDrawSurface7 aceptan una estructura DDSURFACEDESC2 o una interfaz IDirectDrawSurface7 , en su lugar.

Utilice el tipo de datos LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 o LPDIRECTDRAWSURFACE7 para declarar una variable que apunte a varias interfaces de objeto DirectDrawSurface. El archivo de encabezado Ddraw.h declara estos tipos de datos con el código siguiente:


typedef struct IDirectDrawSurface     FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2    FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3    FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4    FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7    FAR *LPDIRECTDRAWSURFACE7;

Requisitos

   
Plataforma de destino Windows
Encabezado ddraw.h