Méthode IDirectDraw7 ::EnumSurfaces (ddraw.h)

Énumère toutes les surfaces existantes ou possibles qui répondent à la description de surface spécifiée.

Syntaxe

HRESULT EnumSurfaces(
  [in] DWORD                     unnamedParam1,
  [in] LPDDSURFACEDESC2          unnamedParam2,
  [in] LPVOID                    unnamedParam3,
  [in] LPDDENUMSURFACESCALLBACK7 unnamedParam4
);

Paramètres

[in] unnamedParam1

Combinaison d’un indicateur de type de recherche et d’un indicateur correspondant. L’indicateur de type de recherche détermine la façon dont la méthode recherche des surfaces correspondantes ; vous pouvez rechercher des surfaces qui peuvent être créées à l’aide de la description dans le paramètre lpDDSD2 ou des surfaces existantes qui correspondent déjà à cette description. L’indicateur de correspondance détermine si la méthode énumère toutes les surfaces, uniquement celles qui correspondent ou uniquement celles qui ne correspondent pas à la description dans le paramètre lpDDSD2 .

Indicateurs de type de recherche

DDENUMSURFACES_CANBECREATED

Énumère la première surface qui peut être créée et répond au critère de recherche. Cet indicateur ne peut être utilisé qu’avec l’indicateur DDENUMSURFACES_MATCH.

DDENUMSURFACES_DOESEXIST

Énumère les surfaces déjà existantes qui répondent au critère de recherche.

Indicateurs de correspondance

DDENUMSURFACES_ALL

Énumère toutes les surfaces qui répondent au critère de recherche. Cet indicateur ne peut être utilisé qu’avec l’indicateur de type de recherche DDENUMSURFACES_DOESEXIST.

DDENUMSURFACES_MATCH

Recherche une surface qui correspond à la description de la surface.

DDENUMSURFACES_NOMATCH

Recherche toute surface qui ne correspond pas à la description de la surface.

[in] unnamedParam2

Adresse d’une structure DDSURFACEDESC2 qui définit la surface d’intérêt. Ce paramètre peut être NULL si dwFlags inclut l’indicateur DDENUMSURFACES_ALL.

[in] unnamedParam3

Adresse d’une structure définie par l’application à passer à chaque membre d’énumération.

[in] unnamedParam4

Adresse de la fonction EnumSurfacesCallback7 que la procédure d’énumération appelle chaque fois qu’une correspondance est trouvée.

Valeur retournée

Si la méthode réussit, la valeur de retour est DD_OK.

En cas d’échec, la méthode peut retourner l’une des valeurs d’erreur suivantes :

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

Remarques

Si l’indicateur DDENUMSURFACES_CANBECREATED est défini, cette méthode tente de créer temporairement une surface qui répond au critère de recherche.

Lorsque vous utilisez l’indicateur DDENUMSURFACES_DOESEXIST, le nombre de références d’une surface énumérée est incrémenté. Si vous ne comptez pas utiliser la surface, veillez à utiliser IDirectDrawSurface7 ::Release pour la libérer après chaque énumération. Si vous utilisez la surface, relâchez-la lorsqu’elle n’est plus nécessaire.

Cette méthode diffère de ses équivalents dans les versions d’interface précédentes en ce qu’elle accepte un pointeur vers une fonction EnumSurfacesCallback7 , plutôt qu’une fonction EnumSurfacesCallback ou EnumSurfacesCallback2 .

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête ddraw.h
Bibliothèque Ddraw.lib
DLL Ddraw.dll

Voir aussi

IDirectDraw7