Condividi tramite


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

Vedi anche

IDirect3DVolume9

IDirect3DVolume9::FreePrivateData

IDirect3DVolume9::GetPrivateData