Méthode IDirect3DResource9 ::SetPrivateData (d3d9helper.h)

Associe des données à la ressource destinée à être utilisée par l’application, et non par Direct3D. Les données sont transmises par valeur et plusieurs jeux de données peuvent être associés à une seule ressource.

Syntaxe

HRESULT SetPrivateData(
  [in] REFGUID    refguid,
  [in] const void *pData,
  [in] DWORD      SizeOfData,
  [in] DWORD      Flags
);

Paramètres

[in] refguid

Type : REFGUID

Référence à l’identificateur global unique qui identifie les données privées à définir.

[in] pData

Type : const void*

Pointeur vers une mémoire tampon qui contient les données à associer à la ressource.

[in] SizeOfData

Type : DWORD

Taille de la mémoire tampon sur pData, en octets.

[in] Flags

Type : DWORD

Valeur qui décrit le type de données transmises ou indique à l’application que les données doivent être invalidées lorsque la ressource change.

Élément Description
(aucun) Si aucun indicateur n’est spécifié, Direct3D 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 Direct3D est automatiquement libérée, le cas échéant.
D3DSPD_IUNKNOWN Les données de pData sont un pointeur vers une interface IUnknown . SizeOfData doit être défini sur la taille d’un pointeur vers IUnknown, c’est-à-dire sizeof(IUnknown*). Direct3D appelle automatiquement IUnknown via pData lorsque les données privées sont détruites. Les données privées seront détruites par un appel ultérieur à IDirect3DResource9 ::SetPrivateData avec le même GUID, un appel ultérieur à IDirect3DResource9 ::FreePrivateData, ou lorsque l’objet IDirect3D9 est libéré. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Remarques

Direct3D ne gère pas la mémoire sur pData. Si cette mémoire tampon a été allouée dynamiquement, il incombe à l’application appelante de libérer la mémoire.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9helper.h (incluez D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DResource9