Condividi tramite


Metodo IDXGIObject::SetPrivateData (dxgi.h)

Imposta i dati definiti dall'applicazione sull'oggetto e associa i dati a un GUID.

Sintassi

HRESULT SetPrivateData(
  [in] REFGUID    Name,
       UINT       DataSize,
  [in] const void *pData
);

Parametri

[in] Name

Tipo: REFGUID

GUID che identifica i dati. Usare questo GUID in una chiamata a GetPrivateData per ottenere i dati.

DataSize

Tipo: UINT

Dimensioni dei dati dell'oggetto.

[in] pData

Tipo: const void*

Puntatore ai dati dell'oggetto.

Valore restituito

Tipo: HRESULT

Restituisce uno dei valori DXGI_ERROR .

Commenti

SetPrivateData crea una copia dei dati specificati e la archivia con l'oggetto .

I dati privati archiviati nell'oggetto SetPrivateData occupano lo stesso spazio di archiviazione dei dati privati archiviati da oggetti Direct3D associati, ad esempio da un dispositivo Microsoft Direct3D 11 tramite ID3D11Device::SetPrivateData o da un dispositivo figlio Direct3D 11 tramite ID3D11DeviceChild::SetPrivateData.

Il livello di debug segnala perdite di memoria tramite l'output di un elenco di puntatori dell'interfaccia a oggetti insieme ai relativi nomi descrittivi. Il nome descrittivo> predefinito è "<senza nome". È possibile impostare il nome descrittivo in modo che sia possibile determinare se il puntatore dell'interfaccia dell'oggetto corrispondente ha causato la perdita. Per impostare il nome descrittivo, usare il metodo SetPrivateData e il GUID dei dati privati noti (WKPDID_D3DDebugObjectName) in D3Dcommon.h. Ad esempio, per assegnare a pContext un nome descrittivo di Nome personale, usare il codice seguente:


static const char c_szName[] = "My name";
hr = pContext->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );

È possibile usare WKPDID_D3DDebugObjectName per tenere traccia delle perdite di memoria e comprendere le caratteristiche delle prestazioni delle applicazioni. Queste informazioni vengono riflesse nell'output del livello di debug correlato alle perdite di memoria (ID3D11Debug::ReportLiveDeviceObjects) e con la traccia degli eventi di Windows aggiunti a Windows 8.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione dxgi.h
Libreria DXGI.lib

Vedi anche

Interfacce DXGI

IDXGIObject