Méthode IDirect3DResource9 ::SetPrivateData (d3d9.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 à pData, en octets.
[in] Flags
Type : DWORD
Valeur qui décrit le type de données passées 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 sont détruites par un appel ultérieur à IDirect3DResource9 ::SetPrivateData avec le même GUID, par 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 | d3d9.h (inclure D3D9.h) |
Bibliothèque | D3D9.lib |