Share via


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

추가 정보

DXGI 인터페이스

IDXGIObject