Metodo IDirect3DResource9::SetPrivateData (d3d9helper.h)

Associa i dati alla risorsa destinata all'uso dall'applicazione, non da Direct3D. I dati vengono passati per valore e è possibile associare più set di dati a una singola risorsa.

Sintassi

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

Parametri

[in] refguid

Tipo: REFGUID

Riferimento all'identificatore univoco globale che identifica i dati privati da impostare.

[in] pData

Tipo: const void*

Puntatore a un buffer che contiene i dati da associare alla risorsa.

[in] SizeOfData

Tipo: DWORD

Dimensioni del buffer in pData, in byte.

[in] Flags

Tipo: DWORD

Valore che descrive il tipo di dati passato o indica all'applicazione che i dati devono essere invalidati quando la risorsa cambia.

Elemento Descrizione
(nessuno) Se non vengono specificati flag, Direct3D alloca la memoria per contenere i dati all'interno del buffer e copia i dati nel nuovo buffer. Il buffer allocato da Direct3D viene liberato automaticamente, in base alle esigenze.
D3DSPD_IUNKNOWN I dati in pData sono un puntatore a un'interfaccia IUnknown . SizeOfData deve essere impostato sulle dimensioni di un puntatore su IUnknown, ovvero sizeof(IUnknown*). Direct3D chiama automaticamente IUnknown tramite pData quando i dati privati vengono eliminati. I dati privati verranno eliminati da una chiamata successiva a IDirect3DResource9::SetPrivateData con lo stesso GUID, una chiamata successiva a IDirect3DResource9::FreePrivateData o quando l'oggetto IDirect3D9 viene rilasciato. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se il metodo ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Commenti

Direct3D non gestisce la memoria in pData. Se questo buffer è stato allocato in modo dinamico, è responsabilità dell'applicazione chiamante liberare la memoria.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DResource9