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 |