Compartir a través de


Estructura DDLOCKOUT (ddkmapi.h)

La estructura DDLOCKOUT contiene una descripción de la superficie.

Sintaxis

typedef struct _DDLOCKOUT {
  DWORD ddRVal;
  DWORD dwSurfHeight;
  DWORD dwSurfWidth;
  LONG  lSurfPitch;
  PVOID lpSurface;
  DWORD SurfaceCaps;
  DWORD dwFormatFlags;
  DWORD dwFormatFourCC;
  DWORD dwFormatBitCount;
  union {
    DWORD dwRBitMask;
    DWORD dwYBitMask;
  };
  union {
    DWORD dwGBitMask;
    DWORD dwUBitMask;
  };
  union {
    DWORD dwBBitMask;
    DWORD dwVBitMask;
  };
} DDLOCKOUT, *LPDDLOCKOUT;

Miembros

ddRVal

Especifica la ubicación en la que Microsoft DirectDraw escribe el valor devuelto de la función DxApi para DD_DXAPI_LOCK operaciones. Un código de retorno de DD_OK indica que se ha realizado correctamente.

dwSurfHeight

dwSurfWidth

Especifique las dimensiones de la superficie, en píxeles.

lSurfPitch

Especifica la distancia, en bytes, al inicio de la siguiente línea.

lpSurface

Apunta a la memoria expuesta.

SurfaceCaps

Indica un conjunto de marcas que especifican las funciones de la superficie. Este miembro se puede establecer en una o varias de las marcas siguientes:

Marca Significado
DDSCAPS_3DDEVICE Esta superficie se puede usar para la representación 3D. Las aplicaciones pueden usar esta marca para asegurarse de que un dispositivo que solo se pueda representar en un montón determinado tenga superficies fuera de la pantalla asignadas desde el montón correcto. Si se establece esta marca para un montón, la superficie no se asigna desde ese montón.
DDSCAPS_ALLOCONLOAD La memoria de la superficie no se asigna hasta que la aplicación carga la superficie mediante el método IDirect3DDevice7::Load .
DDSCAPS_ALPHA Esta superficie contiene información alfa. El formato de píxel debe consultarse para determinar si esta superficie contiene solo información alfa o información alfa entrelazada con datos de color de píxel (como RGBA o YUVA).
DDSCAPS_BACKBUFFER Esta superficie es el búfer de reserva de una estructura de volteo de superficie. Normalmente, esta funcionalidad se establece mediante el método CreateSurface de la aplicación cuando se usa la marca DDSCAPS_FLIP. Solo la superficie que precede inmediatamente a la superficie DDSCAPS_FRONTBUFFER tiene esta funcionalidad establecida. Las demás superficies se identifican como búferes de reserva por la presencia de la marca de DDSCAPS_FLIP, su orden de datos adjuntos y la ausencia de las funcionalidades de DDSCAPS_FRONTBUFFER y DDSCAPS_BACKBUFFER. Si esta funcionalidad se envía al método CreateSurface de la aplicación, se crea un búfer de reserva independiente. Después de llamar a este método, esta superficie se podría adjuntar a un búfer frontal, otro búfer de reserva o ambos para formar una estructura de superficie voltear. Para obtener más información, consulte el método AddAttachedSurface en la documentación del SDK de DirectX. DirectDraw admite un número arbitrario de superficies en una estructura de volteo.
DDSCAPS_COMPLEX Se describe una superficie compleja. Una superficie compleja da como resultado la creación de más de una superficie. Las superficies adicionales se adjuntan a la superficie raíz. La estructura compleja solo se puede destruir mediante la destrucción de la raíz.
DDSCAPS_FLIP Esta superficie forma parte de una estructura de volteo de superficie. Cuando esta funcionalidad se pasa al método CreateSurface de la aplicación, se crean un búfer frontal y uno o varios búferes de reserva. DirectDraw establece el bit de DDSCAPS_FRONTBUFFER en la superficie del búfer frontal y el bit de DDSCAPS_BACKBUFFER en la superficie adyacente a la superficie del búfer frontal. El miembro dwBackBufferCount de la estructura DDSURFACEDESC debe establecerse en al menos 1 para que la llamada al método se realice correctamente. La funcionalidad DDSCAPS_COMPLEX siempre debe establecerse al crear varias superficies mediante el método CreateSurface .
DDSCAPS_FRONTBUFFER Esta superficie es el búfer frontal de una estructura de volteo de superficie. Normalmente, este indicador se establece mediante el método CreateSurface de la aplicación cuando se establece la funcionalidad DDSCAPS_FLIP. Si esta funcionalidad se envía al método CreateSurface , se crea un búfer frontal independiente. Esta superficie no tendrá la funcionalidad DDSCAPS_FLIP. Se puede adjuntar a otros búferes atrás para formar una estructura de volteo mediante el método AddAttachedSurface de la aplicación.
DDSCAPS_HWCODEC Esta superficie debe ser capaz de tener una secuencia descomprimida por el hardware.
DDSCAPS_LIVEVIDEO Esta superficie debe ser capaz de recibir vídeo en directo.
DDSCAPS_LOCALVIDMEM Esta superficie existe en true, memoria de visualización local en lugar de memoria de visualización no local. Si se especifica esta marca, también se debe especificar DDSCAPS_VIDEOMEMORY. Esta marca no se puede usar con la marca DDSCAPS_NONLOCALVIDMEM.
DDSCAPS_MIPMAP Esta superficie es un nivel de un mapa mip. Esta superficie se conectará a otras superficies de DDSCAPS_MIPMAP para formar el mapa mip. Esto se puede hacer explícitamente mediante la creación de una serie de superficies y adjuntarlas mediante el método AddAttachedSurface de la aplicación o implícitamente por el método CreateSurface de la aplicación. Si se establece esta funcionalidad, también se debe establecer DDSCAPS_TEXTURE.
DDSCAPS_MODEX Esta superficie es una superficie X de 320 x 200 o 320 x 240.
DDSCAPS_NONLOCALVIDMEM Esta superficie existe en la memoria de visualización no local en lugar de en la memoria de visualización local verdadera. Si se especifica esta marca, también se debe especificar DDSCAPS_VIDEOMEMORY marca. No se puede usar con la marca DDSCAPS_LOCALVIDMEM.
DDSCAPS_OFFSCREENPLAIN Esta superficie es cualquier superficie fuera de pantalla que no sea una superposición, textura, z-buffer, búfer frontal, búfer de reserva o superficie alfa. Se usa para identificar superficies sin formato.
DDSCAPS_OPTIMIZED No implementado actualmente.
DDSCAPS_OVERLAY Esta superficie es una superposición. Puede ser o no visible directamente en función de si actualmente se superpone a la superficie principal. DDSCAPS_VISIBLE se puede usar para determinar si se superpone en este momento.
DDSCAPS_OWNDC Esta superficie tendrá una asociación de contexto de dispositivo (DC) durante un largo período.
DDSCAPS_PALETTE Este controlador de dispositivo permite crear y conectar objetos DirectDrawPalette únicos a esta superficie.
DDSCAPS_PRIMARYSURFACE La superficie es la superficie principal. Representa lo que es visible para el usuario en este momento.
DDSCAPS_PRIMARYSURFACELEFT Esta superficie es la superficie primaria del ojo izquierdo. Representa lo que es visible para el ojo izquierdo del usuario en el momento. Cuando se crea esta superficie, la superficie con la funcionalidad DDSCAPS_PRIMARYSURFACE representa lo que ve el ojo derecho del usuario.
DDSCAPS_STANDARDVGAMODE Esta superficie es una superficie de modo VGA estándar y no una superficie ModeX. Esta marca no se puede usar en combinación con la marca DDSCAPS_MODEX.
DDSCAPS_SYSTEMMEMORY Esta memoria expuesta se asignó en memoria del sistema.
DDSCAPS_TEXTURE Esta superficie se puede usar como textura 3D. No indica si la superficie se está usando para ese propósito.
DDSCAPS_VIDEOMEMORY Esta superficie existe en la memoria de presentación.
DDSCAPS_VIDEOPORT Esta superficie puede recibir datos de un puerto de vídeo de hardware.
DDSCAPS_VISIBLE Los cambios realizados en esta superficie son visibles inmediatamente. Siempre se establece para la superficie principal, así como para superposiciones mientras se superponen y mapas de textura mientras se están texturando.
DDSCAPS_WRITEONLY Solo se permite el acceso de escritura a la superficie. El acceso de lectura desde la superficie puede generar un error de protección general (GPF), pero los resultados leídos de esta superficie no son significativos.
DDSCAPS_ZBUFFER Esta superficie es el búfer z. El búfer z contiene información que no se puede mostrar. En su lugar, contiene información de profundidad de bits que se usa para determinar qué píxeles están visibles y cuáles están ocultos.

dwFormatFlags

Especifica un conjunto de marcas de control opcionales. Este miembro se puede establecer en una combinación de las marcas siguientes:

Marca Significado
DDPF_ALPHA El formato de píxel describe una superficie de solo alfa.
DDPF_ALPHAPIXELS La superficie tiene información del canal alfa en formato de píxel.
DDPF_ALPHAPREMULT Reservado para uso del sistema.
DDPF_BUMPDUDV Los datos de dUdV de mapa de aumento en el formato de píxeles son válidos.
DDPF_BUMPLUMINANCE Los datos de luminancia en formato de píxeles son válidos. Esta marca se utiliza al colgar la luminancia de las superficies de mapa de rectángulos; La máscara de bits de la parte de la luminancia del píxel se indica a continuación mediante el miembro dwBumpLuminanceBitCount de la estructura DDPIXELFORMAT .
DDPF_COMPRESSED La superficie acepta datos de píxeles en el formato especificado y los comprime durante la operación de escritura.
DDPF_FOURCC El código FOURCC es válido.
DDPF_LUMINANCE Los datos de luminancia en formato de píxeles son válidos. Esta marca se utiliza solo para la luminancia o la luminancia más las superficies alfa; A continuación, la profundidad de bits se indica mediante el miembro dwLuminanceBitCount de la estructura DDPIXELFORMAT.
DDPF_PALETTEINDEXED1 La superficie tiene un color de 1 bits indizado.
DDPF_PALETTEINDEXED2 La superficie tiene un color de 2 bits indizado.
DDPF_PALETTEINDEXED4 La superficie tiene un color de 4 bits indizado.
DDPF_PALETTEINDEXED8 La superficie tiene un índice de color de 8 bits.
DDPF_PALETTEINDEXEDTO8 La superficie tiene un color de 1, 2 o 4 bits indexado a una paleta de 8 bits.
DDPF_RGB Los datos RGB de la estructura de formato de píxeles son válidos.
DDPF_RGBTOYUV La superficie acepta datos RGB y los traduce durante la operación de escritura en datos YUV. El formato de los datos que se van a escribir se encuentra en la estructura de formato de píxel. Se establece la marca DDPF_RGB.
DDPF_STENCILBUFFER La superficie contiene información de galería de símbolos junto con la información de Z.
DDPF_YUV Los datos de YUV en la estructura de formato de píxeles son válidos.
DDPF_ZBUFFER El formato de píxel describe una superficie de solo búfer z.
DDPF_ZPIXELS La superficie está en formato RGBZ.

dwFormatFourCC

Especifica el código FOURCC . Para obtener más información sobre los códigos FOURCC, consulte la documentación del SDK de DirectX.

dwFormatBitCount

Especifica el número de bits por píxel (4, 8, 16, 24 o 32) de los datos RGB o YUV.

dwRBitMask

Especifica la máscara para bits rojos.

dwYBitMask

Especifica la máscara para bits Y.

dwGBitMask

Especifica la máscara para bits verdes.

dwUBitMask

Especifica la máscara para bits U.

dwBBitMask

Especifica la máscara para bits azules.

dwVBitMask

Especifica la máscara para los bits V.

Requisitos

Requisito Valor
Header ddkmapi.h (incluya Ddkmapi.h)

Consulte también

DD_DXAPI_LOCK

DxApi