共用方式為


IDXGIObject::SetPrivateData 方法 (dxgi.h)

將應用程式定義的資料設定為 物件,並將該資料與 GUID 產生關聯。

語法

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

參數

[in] Name

類型: REFGUID

識別資料的 GUID。 在 GetPrivateData 的呼叫中使用此 GUID 來取得資料。

DataSize

類型: UINT

物件資料的大小。

[in] pData

類型: const void*

物件的資料的指標。

傳回值

類型: HRESULT

傳回其中一個 DXGI_ERROR 值。

備註

SetPrivateData 會建立指定資料的複本,並將它與 物件一起儲存。

SetPrivateData儲存在 物件中的私用資料會佔用與相關聯 Direct3D (物件儲存的相同儲存空間,例如,Microsoft Direct3D 11 裝置透過ID3D11Device::SetPrivateData或 Direct3D 11 子裝置透過ID3D11DeviceChild::SetPrivateData) 所儲存的儲存空間。

偵錯 會藉由輸出物件介面指標清單及其易記名稱來報告記憶體流失。 預設易記名稱為 「 < 未命名 > 」。 您可以設定易記名稱,以便判斷對應的物件介面指標是否造成流失。 若要設定易記名稱,請使用 SetPrivateData 方法和已知的私用資料 GUID (WKPDID_D3DDebugObjectName) D3Dcommon.h 中。 例如,若要為 pCoNtext 提供 我的名稱的易記名稱,請使用下列程式碼:


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

您可以使用 WKPDID_D3DDebugObjectName 來追蹤記憶體流失,並瞭解應用程式的效能特性。 這項資訊會反映在與記憶體流失相關的偵錯 輸出中, (ID3D11Debug::ReportLiveDeviceObjects) ,以及我們已新增至 Windows 8 之 Windows 事件的事件追蹤

需求

   
目標平台 Windows
標頭 dxgi.h
程式庫 DXGI.lib

另請參閱

DXGI 介面

IDXGIObject