Partager via


Structure DDLOCKOUT (ddkmapi.h)

La structure DDLOCKOUT contient une description de la surface.

Syntaxe

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;

Membres

ddRVal

Spécifie l’emplacement dans lequel Microsoft DirectDraw écrit la valeur de retour de la fonction DxApi pour les opérations de DD_DXAPI_LOCK. Un code de retour de DD_OK indique la réussite.

dwSurfHeight

dwSurfWidth

Spécifiez les dimensions de la surface, en pixels.

lSurfPitch

Spécifie la distance, en octets, au début de la ligne suivante.

lpSurface

Pointe vers la mémoire de surface.

SurfaceCaps

Indique un ensemble d’indicateurs qui spécifient les fonctionnalités de la surface. Ce membre peut être défini sur un ou plusieurs des indicateurs suivants :

Drapeau Signification
DDSCAPS_3DDEVICE Cette surface peut être utilisée pour le rendu 3D. Les applications peuvent utiliser cet indicateur pour s’assurer qu’un appareil qui peut uniquement s’afficher sur un certain tas possède des surfaces hors écran allouées à partir du tas approprié. Si cet indicateur est défini pour un tas, la surface n’est pas allouée à partir de ce tas.
DDSCAPS_ALLOCONLOAD La mémoire de l’aire n’est pas allouée tant que la surface n’est pas chargée par l’application à l’aide de la méthode IDirect3DDevice7 ::Load.
DDSCAPS_ALPHA Cette surface contient des informations alpha. Le format de pixel doit être interrogé pour déterminer si cette surface contient uniquement des informations alpha ou alpha entrelacées avec des données de couleur de pixel (telles que RVBA ou YUVA).
DDSCAPS_BACKBUFFER Cette surface est la mémoire tampon arrière d’une structure de glissement de surface. En règle générale, cette fonctionnalité est définie par la méthode CreateSurface de l’application lorsque l’indicateur de DDSCAPS_FLIP est utilisé. Seule la surface qui précède immédiatement la surface DDSCAPS_FRONTBUFFER a cette fonctionnalité définie. Les autres surfaces sont identifiées comme des mémoires tampons de retour en présence de l’indicateur de DDSCAPS_FLIP, de leur ordre de pièce jointe et de l’absence des fonctionnalités de DDSCAPS_FRONTBUFFER et de DDSCAPS_BACKBUFFER. Si cette fonctionnalité est envoyée à la méthode CreateSurface de l’application, une mémoire tampon back autonome est en cours de création. Une fois cette méthode appelée, cette surface peut être attachée à une mémoire tampon avant, à une autre mémoire tampon arrière ou à la fois pour former une structure de surface de glissement. Pour plus d’informations, consultez la méthode AddAttachedSurface dans la documentation du Kit de développement logiciel (SDK) DirectX. DirectDraw prend en charge un nombre arbitraire de surfaces dans une structure de glissement.
DDSCAPS_COMPLEX Une surface complexe est décrite. Une surface complexe entraîne la création de plusieurs surfaces. Les surfaces supplémentaires sont attachées à la surface racine. La structure complexe ne peut être détruite qu’en détruisant la racine.
DDSCAPS_FLIP Cette surface fait partie d’une structure de glissement de surface. Lorsque cette fonctionnalité est transmise à la méthode createSurface de l’application de l’application, une mémoire tampon frontale et une ou plusieurs mémoires tampons de retour sont créées. DirectDraw définit le bit DDSCAPS_FRONTBUFFER sur la surface de mémoire tampon avant et le bit DDSCAPS_BACKBUFFER sur la surface adjacente à la surface de la mémoire tampon avant. Le membre dwBackBufferCount de la structure DDSURFACEDESC doit être défini sur au moins 1 pour que l’appel de méthode réussisse. La fonctionnalité DDSCAPS_COMPLEX doit toujours être définie lors de la création de plusieurs surfaces à l’aide de la méthode CreateSurface .
DDSCAPS_FRONTBUFFER Cette surface est la mémoire tampon avant d’une structure de glissement de surface. Cet indicateur est généralement défini par la méthode CreateSurface de l’application lorsque la fonctionnalité de DDSCAPS_FLIP est définie. Si cette fonctionnalité est envoyée à la méthode CreateSurface, une mémoire tampon frontale autonome est créée. Cette surface n’aura pas la fonctionnalité de DDSCAPS_FLIP. Il peut être attaché à d’autres mémoires tampons de retour pour former une structure de glissement à l’aide de la méthode addAttachedSurface de l’application.
DDSCAPS_HWCODEC Cette surface doit pouvoir avoir un flux décompressé par le matériel.
DDSCAPS_LIVEVIDEO Cette surface doit être en mesure de recevoir une vidéo en direct.
DDSCAPS_LOCALVIDMEM Cette surface existe en true, la mémoire d’affichage locale plutôt que la mémoire d’affichage non locale. Si cet indicateur est spécifié, DDSCAPS_VIDEOMEMORY doit également être spécifié. Cet indicateur ne peut pas être utilisé avec l’indicateur DDSCAPS_NONLOCALVIDMEM.
DDSCAPS_MIPMAP Cette surface est un niveau de mipmap. Cette surface sera attachée à d’autres surfaces DDSCAPS_MIPMAP pour former le mipmap. Cela peut être fait explicitement en créant un certain nombre de surfaces et en les attachant à l’aide de la méthode AddAttachedSurface de l’application ou implicitement par la méthode createSurface de l’application. Si cette fonctionnalité est définie, DDSCAPS_TEXTURE doit également être définie.
DDSCAPS_MODEX Cette surface est une surface de 320 x 200 ou 320 x 240 mode X.
DDSCAPS_NONLOCALVIDMEM Cette surface existe en mémoire d’affichage non locale plutôt que true, mémoire d’affichage locale. Si cet indicateur est spécifié, DDSCAPS_VIDEOMEMORY indicateur doit également être spécifié. Cela ne peut pas être utilisé avec l’indicateur de DDSCAPS_LOCALVIDMEM.
DDSCAPS_OFFSCREENPLAIN Cette surface est toute surface hors écran qui n’est pas une superposition, une texture, une mémoire tampon z, une mémoire tampon avant, une mémoire tampon arrière-tampon ou une surface alpha. Il est utilisé pour identifier les surfaces simples.
DDSCAPS_OPTIMIZED Non implémenté actuellement.
DDSCAPS_OVERLAY Cette surface est une superposition. Elle peut ou non être directement visible selon qu’elle est actuellement superposée sur la surface primaire. DDSCAPS_VISIBLE pouvez être utilisé pour déterminer s’il est superposé à l’instant.
DDSCAPS_OWNDC Cette surface aura une association de contexte d’appareil (DC) pendant une longue période.
DDSCAPS_PALETTE Ce pilote de périphérique permet aux objets DirectDrawPalette uniques d’être créés et attachés à cette surface.
DDSCAPS_PRIMARYSURFACE La surface est la surface principale. Il représente ce qui est visible pour l’utilisateur à l’instant.
DDSCAPS_PRIMARYSURFACELEFT Cette surface est la surface primaire de l’œil gauche. Il représente ce qui est visible à l’œil gauche de l’utilisateur à l’instant. Lorsque cette surface est créée, la surface avec la fonctionnalité DDSCAPS_PRIMARYSURFACE représente ce qui est vu par l’œil droit de l’utilisateur.
DDSCAPS_STANDARDVGAMODE Cette surface est une surface standard en mode VGA, et non une surface ModeX. Cet indicateur ne peut pas être utilisé en combinaison avec l’indicateur de DDSCAPS_MODEX.
DDSCAPS_SYSTEMMEMORY Cette mémoire de surface a été allouée dans la mémoire système.
DDSCAPS_TEXTURE Cette surface peut être utilisée comme texture 3D. Elle n’indique pas si la surface est utilisée à cet effet.
DDSCAPS_VIDEOMEMORY Cette surface existe en mémoire d’affichage.
DDSCAPS_VIDEOPORT Cette surface peut recevoir des données à partir d’un port vidéo matériel.
DDSCAPS_VISIBLE Les modifications apportées à cette surface sont immédiatement visibles. Il est toujours défini pour la surface principale, ainsi que pour les superpositions pendant qu’elles sont superposées et les cartes de texture pendant qu’elles sont textures.
DDSCAPS_WRITEONLY Seul l’accès en écriture est autorisé à la surface. L’accès en lecture à partir de la surface peut générer une erreur de protection générale (GPF), mais les résultats de lecture de cette surface ne sont pas significatifs.
DDSCAPS_ZBUFFER Cette surface est la mémoire tampon z. La mémoire tampon z contient des informations qui ne peuvent pas être affichées. Au lieu de cela, il contient des informations de profondeur de bits utilisées pour déterminer quels pixels sont visibles et qui sont masqués.

dwFormatFlags

Spécifie un ensemble d’indicateurs de contrôle facultatifs. Ce membre peut être défini sur une combinaison des indicateurs suivants :

Drapeau Signification
DDPF_ALPHA Le format de pixel décrit une surface alpha seule.
DDPF_ALPHAPIXELS La surface contient des informations de canal alpha au format pixel.
DDPF_ALPHAPREMULT Réservé à l’utilisation du système.
DDPF_BUMPDUDV Les données dUdV de la carte de choc au format de pixel sont valides.
DDPF_BUMPLUMINANCE Les données de luminance au format pixel sont valides. Cet indicateur est utilisé lors de la suspension des surfaces de la carte de choc ; le masque de bits de la partie de luminosité du pixel est ensuite indiqué par le membre dwBumpLuminanceBitCount de la structure DDPIXELFORMAT.
DDPF_COMPRESSED La surface accepte les données de pixels au format spécifié et la compresse pendant l’opération d’écriture.
DDPF_FOURCC Le code FOURCC est valide.
DDPF_LUMINANCE Les données De Luminance au format de pixel sont valides. Cet indicateur est utilisé uniquement pour la luminance ou la luminance ainsi que les surfaces alpha ; la profondeur du bit est ensuite indiquée par le membre dwLuminanceBitCount de la structure DDPIXELFORMAT.
DDPF_PALETTEINDEXED1 La surface est indexée de couleur 1 bits.
DDPF_PALETTEINDEXED2 La surface est indexée en couleur 2 bits.
DDPF_PALETTEINDEXED4 La surface est indexée de couleur 4 bits.
DDPF_PALETTEINDEXED8 La surface est indexée en couleur 8 bits.
DDPF_PALETTEINDEXEDTO8 La surface est de couleur 1, 2 ou 4 bits indexée à une palette 8 bits.
DDPF_RGB Les données RVB de la structure de format de pixels sont valides.
DDPF_RGBTOYUV La surface accepte les données RVB et les traduit pendant l’opération d’écriture en données YUV. Le format des données à écrire est contenu dans la structure de format de pixels. L’indicateur DDPF_RGB est défini.
DDPF_STENCILBUFFER La surface contient des informations de gabarit ainsi que les informations Z.
DDPF_YUV Les données YUV de la structure de format de pixels sont valides.
DDPF_ZBUFFER Le format de pixel décrit une surface z-buffer uniquement.
DDPF_ZPIXELS La surface est au format RVBZ.

dwFormatFourCC

Spécifie le code FOURCC . Pour plus d’informations sur les codes FOURCC, consultez la documentation du Kit de développement logiciel (SDK) DirectX.

dwFormatBitCount

Spécifie le nombre de bits par pixel (4, 8, 16, 24 ou 32) des données RVB ou YUV.

dwRBitMask

Spécifie le masque pour les bits rouges.

dwYBitMask

Spécifie le masque pour les bits Y.

dwGBitMask

Spécifie le masque pour les bits verts.

dwUBitMask

Spécifie le masque pour les bits U.

dwBBitMask

Spécifie le masque pour les bits bleus.

dwVBitMask

Spécifie le masque pour les bits V.

Exigences

Exigence Valeur
d’en-tête ddkmapi.h (include Ddkmapi.h)

Voir aussi

DD_DXAPI_LOCK

DxApi