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 개체에 의해 저장된 개인 데이터와 동일한 스토리지 공간을 차지합니다(예: ID3D11Device::SetPrivateData를 통한 Microsoft Direct3D 11 디바이스 또는 ID3D11DeviceChild::SetPrivateData를 통한 Direct3D 11 자식 디바이스).
디버그 계층은 친숙한 이름과 함께 개체 인터페이스 포인터 목록을 출력하여 메모리 누수에 대해 보고합니다. 기본 식별 이름은 "<이름 없음>"입니다. 식별 이름을 설정하여 해당 개체 인터페이스 포인터가 누수의 원인이 되었는지 확인할 수 있습니다. 친숙한 이름을 설정하려면 SetPrivateData 메서드와 D3Dcommon.h에 있는 잘 알려진 프라이빗 데이터 GUID(WKPDID_D3DDebugObjectName)를 사용합니다. 예를 들어 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 |