Compartilhar via


Método IDirect3DResource9::SetPrivateData (d3d9helper.h)

Associa dados ao recurso que se destina a ser usado pelo aplicativo, não pelo Direct3D. Os dados são passados por valor e vários conjuntos de dados podem ser associados a um único recurso.

Sintaxe

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

Parâmetros

[in] refguid

Tipo: REFGUID

Referência ao identificador global exclusivo que identifica os dados privados a serem definidos.

[in] pData

Tipo: const void*

Ponteiro para um buffer que contém os dados a serem associados ao recurso.

[in] SizeOfData

Tipo: DWORD

Tamanho do buffer em pData, em bytes.

[in] Flags

Tipo: DWORD

Valor que descreve o tipo de dados que está sendo passado ou indica ao aplicativo que os dados devem ser invalidados quando o recurso é alterado.

Item Descrição
(none) Se nenhum sinalizador for especificado, o Direct3D alocará memória para manter os dados dentro do buffer e copiará os dados para o novo buffer. O buffer alocado pelo Direct3D é liberado automaticamente, conforme apropriado.
D3DSPD_IUNKNOWN Os dados em pData são um ponteiro para uma interface IUnknown . SizeOfData deve ser definido como o tamanho de um ponteiro para IUnknown, ou seja, sizeof(IUnknown*). O Direct3D chama automaticamente IUnknown por meio de pData quando os dados privados são destruídos. Os dados privados serão destruídos por uma chamada subsequente para IDirect3DResource9::SetPrivateData com o mesmo GUID, uma chamada subsequente para IDirect3DResource9::FreePrivateData ou quando o objeto IDirect3D9 for liberado. Para obter mais informações, consulte Comentários.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Comentários

O Direct3D não gerencia a memória em pData. Se esse buffer foi alocado dinamicamente, é responsabilidade do aplicativo de chamada liberar a memória.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DResource9