Partager via


Méthode IDirect3DVolume9 ::SetPrivateData (d3d9.h)

Associe des données au volume destiné à être utilisé par l’application, et non par Direct3D.

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 au volume.

[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 une interface IUnknown , sizeof(IUnknown*). Direct3D appelle automatiquement IUnknown via pData et IUnknown lorsque les données privées sont détruites. Les données privées seront détruites par un appel ultérieur à IDirect3DVolume9 ::SetPrivateData avec le même GUID, un appel ultérieur à IDirect3DVolume9 ::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.

Les données sont transmises par valeur et plusieurs jeux de données peuvent être associés à un seul volume.

Configuration requise

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

Voir aussi

IDirect3DVolume9

IDirect3DVolume9 ::FreePrivateData

IDirect3DVolume9 ::GetPrivateData