Метод IDXGIObject::SetPrivateData (dxgi.h)
Задает определяемые приложением данные для объекта и связывает эти данные с ИДЕНТИФИКАТОРом GUID.
Синтаксис
HRESULT SetPrivateData(
[in] REFGUID Name,
UINT DataSize,
[in] const void *pData
);
Параметры
[in] Name
Тип: REFGUID
Идентификатор GUID, идентифицирующий данные. Используйте этот GUID в вызове GetPrivateData для получения данных.
DataSize
Тип: UINT
Размер данных объекта.
[in] pData
Тип: const void*
Указатель на данные объекта.
Возвращаемое значение
Тип: HRESULT
Возвращает одно из значений DXGI_ERROR .
Комментарии
SetPrivateData создает копию указанных данных и сохраняет их вместе с объектом .
Частные данные, хранящиеся в объекте SetPrivateData , занимают то же место, что и частные данные, которые хранятся связанными объектами Direct3D (например, устройством Microsoft Direct3D 11 через ID3D11Device::SetPrivateData или дочерним устройством Direct3D 11 через ID3D11DeviceChild::SetPrivateData).
Уровень отладки сообщает об утечках памяти, выводя список указателей интерфейса объекта вместе с понятными именами. По умолчанию используется понятное имя unnamed<>. Можно задать понятное имя, чтобы определить, вызвал ли утечку соответствующий указатель интерфейса объекта. Чтобы задать понятное имя, используйте метод SetPrivateData и известный GUID частных данных (WKPDID_D3DDebugObjectName), который находится в D3Dcommon.h. Например, чтобы присвоить pContext понятное имя My name, используйте следующий код:
static const char c_szName[] = "My name";
hr = pContext->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );
Вы можете использовать WKPDID_D3DDebugObjectName для отслеживания утечек памяти и понимания характеристик производительности приложений. Эти сведения отражаются в выходных данных уровня отладки , связанного с утечками памяти (ID3D11Debug::ReportLiveDeviceObjects), а также в трассировке событий Windows, добавленных в Windows 8.
Требования
Целевая платформа | Windows |
Header | dxgi.h |
Библиотека | DXGI.lib |