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 |