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 de para las operaciones de DD_DXAPI_LOCK. Un código devuelto 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 línea siguiente.

lpSurface

Apunta a la memoria de la superficie.

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:

Bandera 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 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, la aplicación establece esta funcionalidad método createSurface cuando se usa la marca DDSCAPS_FLIP. Solo la superficie que precede inmediatamente a la superficie DDSCAPS_FRONTBUFFER tiene este conjunto de funcionalidades. Las otras superficies se identifican como búferes de reserva por la presencia de la marca 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 retroceso 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 destruyendo la raíz.
DDSCAPS_FLIP Esta superficie forma parte de una estructura de volteo de superficie. Cuando esta funcionalidad se pasa al método de CreateSurface de la aplicación, se crean un búfer frontal y uno o varios búferes de reserva. DirectDraw establece el DDSCAPS_FRONTBUFFER bit en la superficie del búfer frontal y el DDSCAPS_BACKBUFFER bit en la superficie adyacente a la superficie del búfer frontal. El miembro dwBackBufferCount del 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, esta marca se establece mediante el método CreateSur face 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 de reserva 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 poder recibir vídeo en directo.
DDSCAPS_LOCALVIDMEM Esta superficie existe en true, memoria de presentació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 adjuntará 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 320x200 o 320x240.
DDSCAPS_NONLOCALVIDMEM Esta superficie existe en la memoria de presentación no local en lugar de en la memoria de visualización local true. Si se especifica esta marca, se debe especificar también 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 Actualmente no se ha implementado.
DDSCAPS_OVERLAY Esta superficie es una superposición. Puede o no estar directamente visible 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 adjuntar 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 principal 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 de superficie se asignó en la memoria del sistema.
DDSCAPS_TEXTURE Esta superficie se puede usar como textura 3D. No indica si la superficie se usa para ese fin.
DDSCAPS_VIDEOMEMORY Esta superficie existe en la memoria para mostrar.
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 de lectura 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:

Bandera 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 fuera de las superficies del mapa de golpes; La máscara de bits de la parte de luminancia del píxel se indica a continuación mediante el dwBumpLuminanceBitCount miembro 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 superficies alfa; A continuación, la profundidad de bits se indica mediante el dwLuminanceBitCount miembro 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 color de 8 bits indizado.
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 Z.
DDPF_YUV Los datos YUV de 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 de 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 bits V.

Requisitos

Requisito Valor
encabezado de ddkmapi.h (incluya Ddkmapi.h)

Consulte también

DD_DXAPI_LOCK

dxApi