Metodo IDirect3DVolume9::SetPrivateData (d3d9helper.h)
Associa i dati al volume destinato all'uso da parte dell'applicazione, non da Direct3D.
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 contenente i dati da associare al volume.
[in] SizeOfData
Tipo: DWORD
Dimensioni del buffer in byte in pData.
[in] Flags
Tipo: DWORD
Valore che descrive il tipo di dati da passare o indica all'applicazione che i dati devono essere invalidati quando viene modificata la risorsa.
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, a seconda delle esigenze. |
D3DSPD_IUNKNOWN | I dati in pData sono un puntatore a un'interfaccia IUnknown . SizeOfData deve essere impostato sulle dimensioni di un puntatore a un'interfaccia IUnknown , sizeof(IUnknown*). Direct3D chiama automaticamente IUnknown tramite pData e IUnknown quando i dati privati vengono eliminati definitivamente. I dati privati verranno eliminati definitivamente da una chiamata successiva a IDirect3DVolume9::SetPrivateData con lo stesso GUID, una chiamata successiva a IDirect3DVolume9::FreePrivateData o quando viene rilasciato l'oggetto IDirect3D9 . Per altre informazioni, vedere la sezione Osservazioni. |
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene 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.
I dati vengono passati per valore e a un singolo volume possono essere associati più set di dati.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |