Méthode IDirectDrawSurface7 ::SetPrivateData (ddraw.h)
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.
Syntaxe
HRESULT SetPrivateData(
[in] REFGUID unnamedParam1,
[in] LPVOID unnamedParam2,
[in] DWORD unnamedParam3,
[in] DWORD unnamedParam4
);
Paramètres
[in] unnamedParam1
Référence à (C++) ou à l’adresse de (C) l’identificateur global unique qui identifie les données privées à définir.
[in] unnamedParam2
Pointeur vers une mémoire tampon qui contient les données à associer à la surface.
[in] unnamedParam3
Valeur de taille de la mémoire tampon au niveau de lpData, en octets.
[in] unnamedParam4
Valeur qui peut être définie sur l’un des indicateurs suivants. Ces indicateurs décrivent le type de données transmises ou demandent que les données soient invalidées lorsque la surface change.
(aucun)
Si aucun indicateur n’est spécifié, DirectDraw alloue de la mémoire pour contenir les données dans la mémoire tampon et copie les données dans la nouvelle mémoire tampon. La mémoire tampon allouée par DirectDraw est automatiquement libérée, le cas échéant.
DDSPD_IUNKNOWNPOINTER
Les données de lpData sont un pointeur vers une interface IUnknown . DirectDraw appelle automatiquement la méthode IUnknown ::AddRef de cette interface. Lorsque ces données ne sont plus nécessaires, DirectDraw appelle automatiquement la méthode IUnknown ::Release de cette interface.
DDSPD_VOLATILE
La mémoire tampon au niveau de lpData n’est valide que si la surface reste inchangée. Si le contenu de la surface change, les appels suivants à la méthode IDirectDrawSurface7 ::GetPrivateData retournent DDERR_EXPIRED.
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
- DDERR_OUTOFMEMORY
Remarques
DirectDraw ne gère pas la mémoire au niveau de lpData. Si cette mémoire tampon a été allouée dynamiquement, l’appelant doit libérer la mémoire.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | ddraw.h |
Bibliothèque | Ddraw.lib |
DLL | Ddraw.dll |