Partager via


Interface IDirectDrawSurface7 (ddraw.h)

Les applications utilisent les méthodes de l’interface IDirectDrawSurface7 pour créer des objets DirectDrawSurface et utiliser des variables au niveau du système. Cette section est une référence aux méthodes de cette interface.

Héritage

L’interface IDirectDrawSurface7 hérite de l’interface IUnknown. IDirectDrawSurface7 a également les types de membres suivants :

Méthodes

L’interface IDirectDrawSurface7 utilise ces méthodes.

 
IDirectDrawSurface7::AddAttachedSurface

Attache la surface z-buffer spécifiée à cette surface.
IDirectDrawSurface7::AddOverlayDirtyRect

La méthode IDirectDrawSurface7::AddOverlayDirtyRect n’est actuellement pas implémentée.
IDirectDrawSurface7::Blt

Effectue un transfert de bloc de bits (bitblt). Cette méthode ne prend pas en charge la mise en mémoire tampon z ou la fusion alpha pendant les opérations bitblt.
IDirectDrawSurface7::BltBatch

La méthode IDirectDrawSurface7::BltBatch n’est actuellement pas implémentée.
IDirectDrawSurface7::BltFast

Effectue un bitblt de copie source ou un bitblt transparent à l’aide d’une clé de couleur source ou d’une clé de couleur de destination.
IDirectDrawSurface7::ChangeUniquenessValue

Met à jour manuellement la valeur d’unicité pour cette surface.
IDirectDrawSurface7::D eleteAttachedSurface

Détache une ou plusieurs surfaces attachées.
IDirectDrawSurface7::EnumAttachedSurfaces

Énumère toutes les surfaces qui sont attachées à cette surface.
IDirectDrawSurface7::EnumOverlayZOrders

Énumère les surfaces de superposition sur la destination spécifiée. Vous pouvez énumérer les superpositions dans l’ordre de l’avant vers l’arrière ou de l’arrière-plan.
IDirectDrawSurface7::Flip

Rend la mémoire de surface associée à l’DDSCAPS_BACKBUFFER surface est associée à la surface tampon avant.
IDirectDrawSurface7::FreePrivateData

Libère les données privées spécifiées qui sont associées à cette surface.
IDirectDrawSurface7::GetAttachedSurface

Obtient la surface attachée qui a les fonctionnalités spécifiées et incrémente le nombre de références de l’interface récupérée.
IDirectDrawSurface7::GetBltStatus

Obtient l’état d’une opération de transfert de bloc de bits (bitblt).
IDirectDrawSurface7::GetCaps

Récupère les fonctionnalités de cette surface. Ces fonctionnalités ne sont pas nécessairement liées aux fonctionnalités de l’appareil d’affichage.
IDirectDrawSurface7::GetClipper

Récupère l’objet DirectDrawClipper associé à cette surface et incrémente le nombre de références du clipper retourné.
IDirectDrawSurface7::GetColorKey

Récupère la valeur de la clé de couleur pour cette surface.
IDirectDrawSurface7::GetDC

Crée un handle compatible GDI d’un contexte d’appareil pour cette surface.
IDirectDrawSurface7::GetDDInterface

Récupère une interface vers l’objet DirectDraw utilisé pour créer cette surface.
IDirectDrawSurface7::GetFlipStatus

Récupère l’état indiquant si cette surface a terminé son processus de retournement.
IDirectDrawSurface7::GetLOD

Récupère le niveau maximal de détail (LOD) actuellement défini pour une surface mipmap managée. Cette méthode réussit uniquement sur les textures managées.
IDirectDrawSurface7::GetOverlayPosition

Récupère les coordonnées d’affichage de cette surface. Cette méthode est utilisée sur une surface de superposition visible et active (c’est-à-dire une surface sur laquelle l’indicateur DDSCAPS_OVERLAY est défini).
IDirectDrawSurface7::GetPalette

Récupère l’objet DirectDrawPalette associé à cette surface et incrémente le nombre de références de la palette retournée.
IDirectDrawSurface7::GetPixelFormat

Récupère la couleur et le format de pixel de cette surface.
IDirectDrawSurface7::GetPriority

Récupère la priorité de gestion des textures pour cette texture. Cette méthode réussit uniquement sur les textures managées.
IDirectDrawSurface7::GetPrivateData

Copie les données privées associées à cette surface dans une mémoire tampon fournie.
IDirectDrawSurface7::GetSurfaceDesc

Récupère une description de cette surface dans son état actuel.
IDirectDrawSurface7::GetUniquenessValue

Récupère la valeur d’unicité actuelle pour cette surface.
IDirectDrawSurface7::Initialize

Initialise un objet DirectDrawSurface.
IDirectDrawSurface7::IsLost

Détermine si la mémoire de surface associée à un objet DirectDrawSurface a été libérée.
IDirectDrawSurface7::Lock

Obtient un pointeur vers la mémoire de surface.
IDirectDrawSurface7::P ageLock

Empêche le paginage d’une surface de mémoire système pendant qu’une opération de transfert de bloc de bits (bitblt) qui utilise des transferts d’accès direct à la mémoire (DMA) vers ou depuis la mémoire système est en cours.
IDirectDrawSurface7::P ageUnlock

Déverrouille une surface de mémoire système, ce qui lui permet d’être paginée.
IDirectDrawSurface7::ReleaseDC

Libère le handle d’un contexte d’appareil précédemment obtenu à l’aide de la méthode IDirectDrawSurface7::GetDC.
IDirectDrawSurface7::Restore

Restaure une surface qui a été perdue. Cela se produit lorsque la mémoire de surface associée à l’objet DirectDrawSurface a été libérée.
IDirectDrawSurface7::SetClipper

Attache un objet clipper à cette surface ou en supprime un.
IDirectDrawSurface7::SetColorKey

Définit la valeur de clé de couleur de l’objet DirectDrawSurface si le matériel prend en charge les clés de couleur par surface.
IDirectDrawSurface7::SetLOD

Définit le niveau maximal de détail (LOD) pour une surface mipmap managée. Cette méthode réussit uniquement sur les textures managées.
IDirectDrawSurface7::SetOverlayPosition

Modifie les coordonnées d’affichage d’une surface de superposition.
IDirectDrawSurface7::SetPalette

Attache un objet de palette à une surface (ou en détache un). La surface utilise cette palette pour toutes les opérations suivantes. Le changement de palette a lieu immédiatement, sans tenir compte du moment de l’actualisation.
IDirectDrawSurface7::SetPriority

Affecte la priorité de gestion des textures pour cette texture. Cette méthode réussit uniquement sur les textures managées.
IDirectDrawSurface7::SetPrivateData

Associe des données à la surface destinée à être utilisées par l’application, et non par DirectDraw. Les données sont transmises par valeur et plusieurs jeux de données peuvent être associés à une surface unique.
IDirectDrawSurface7::SetSurfaceDesc

Définit les caractéristiques d’une surface existante.
IDirectDrawSurface7::Unlock

Avertit DirectDraw que les manipulations de surface directe sont terminées.
IDirectDrawSurface7::UpdateOverlay

Repositionne ou modifie les attributs visuels d’une surface de superposition. L’indicateur DDSCAPS_OVERLAY doit être défini sur ces surfaces.
IDirectDrawSurface7::UpdateOverlayDisplay

La méthode IDirectDrawSurface7::UpdateOverlayDisplay n’est actuellement pas implémentée.
IDirectDrawSurface7::UpdateOverlayZOrder

Définit l’ordre z d’une superposition.

Notes

Les méthodes de l’interface IDirectDrawSurface7 peuvent être organisées dans les groupes suivants :

Groupe Méthodes
Allocation de mémoire Initialiser, IsLost et Restaurer
Attachement de surfaces AddAttachedSurface, DeleteAttachedSurface, EnumAttachedSurfaces et GetAttachedSurface
BitBltting Blt, BltBatch, BltFast et GetBltStatus
Touche de couleur GetColorKey et SetColorKey
Contextes de périphérique GetDC et ReleaseDC
Renversant Flip et GetFlipStatus
Verrouillage des surfaces Verrouiller, PageLock, PageUnlock et Déverrouiller
Divers GetDDInterface
Superpositions AddOverlayDirtyRect, EnumOverlayZOrders, GetOverlayPosition, SetOverlayPosition, UpdateOverlayDisplay et UpdateOverlayZOrder
Données de surface privée FreePrivateData, GetPrivateData et SetPrivateData
Fonctionnalités de Surface GetCaps
Clipper Surface GetClipper et SetClipper
Caractéristiques de surface ChangeUniquenessValue, GetPixelFormat, GetSurfaceDesc, GetUniquenessValue et SetSurfaceDesc
Palettes Surface GetPalette et SetPalette
Textures GetLOD, GetPriority, SetLOD et SetPriority
 

L’interface IDirectDrawSurface7 étend les fonctionnalités des versions précédentes de l’interface en proposant des méthodes qui offrent une meilleure gestion des surfaces et une meilleure facilité d’utilisation. De nombreuses méthodes de cette interface acceptent des paramètres légèrement différents de leurs équivalents dans les anciennes versions de l’interface. Partout où une méthode d’interface IDirectDrawSurface3 peut accepter une structure DDSURFACEDESC ou une interface IDirectDrawSurface3 , les méthodes dans IDirectDrawSurface7 acceptent une structure DDSURFACEDESC2 ou une interface IDirectDrawSurface7 , à la place.

Utilisez le type de données LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 ou LPDIRECTDRAWSURFACE7 pour déclarer une variable qui pointe vers différentes interfaces d’objet DirectDrawSurface. Le fichier d’en-tête Ddraw.h déclare ces types de données avec le code suivant :


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;

Spécifications

   
Plateforme cible Windows
En-tête ddraw.h