Share via


ID3D11DeviceContext::GetData 메서드(d3d11.h)

GPU(그래픽 처리 장치)에서 비동기적으로 데이터를 가져옵니다.

구문

HRESULT GetData(
  [in]            ID3D11Asynchronous *pAsync,
  [out, optional] void               *pData,
  [in]            UINT               DataSize,
  [in]            UINT               GetDataFlags
);

매개 변수

[in] pAsync

형식: ID3D11Asynchronous*

GetData가 데이터를 검색하는 개체에 대한 ID3D11Asynchronous 인터페이스에 대한 포인터입니다.

[out, optional] pData

형식: void*

데이터를 받을 메모리의 주소입니다. NULL인 경우 GetData는 검사 상태 데만 사용됩니다. 데이터 출력의 형식은 비동기 인터페이스의 형식에 따라 달라집니다.

[in] DataSize

형식: UINT

검색할 데이터의 크기 또는 0입니다. pDataNULL인 경우 0이어야 합니다.

[in] GetDataFlags

형식: UINT

선택적 플래그입니다. 0 또는 D3D11_ASYNC_GETDATA_FLAG 열거된 플래그의 조합일 수 있습니다.

반환 값

형식: HRESULT

이 메서드는 Direct3D 11 반환 코드 중 하나를 반환합니다. S_OK 반환 값은 호출 애플리케이션이 액세스할 수 있도록 pData 의 데이터를 사용할 수 있음을 나타냅니다. S_FALSE 반환 값은 데이터를 아직 사용할 수 없음을 나타냅니다. 데이터를 아직 사용할 수 없는 경우 애플리케이션은 데이터를 사용할 수 있게 될 때까지 GetData 를 호출해야 합니다.

설명

지연된 컨텍스트의 쿼리는 조건자 그리기로 제한됩니다. 즉, 지연된 컨텍스트에서 ID3D11DeviceContext::GetData 를 호출하여 쿼리에 대한 데이터를 가져올 수 없습니다. 직접 컨텍스트에서만 GetData 를 호출하여 쿼리에 대한 데이터를 가져올 수 있습니다. 조건자 그리기의 경우 조건자 형식 쿼리의 결과는 GPU에서 사용되며 애플리케이션에 반환되지 않습니다. 조건자 및 조건자 그리기에 대한 자세한 내용은 D3D11DeviceContext::SetPredication을 참조하세요.

GetDataID3D11DeviceContext::Begin 및 ID3D11DeviceContext:: End 호출 간에 런타임이 수집 데이터를 검색합니다. 특정 쿼리에는 ID3D11DeviceContext::End 에 대한 호출만 필요합니다. 이 경우 GetData 에서 반환된 데이터는 ID3D11DeviceContext::End에 대한 마지막 호출까지 정확합니다. ID3D11DeviceContext::End 호출만 필요한 쿼리 및 각 쿼리에 대해 GetData가 검색하는 데이터 형식에 대한 자세한 내용은 D3D11_QUERY.

DataSize가 0인 경우 GetData는 검사 상태 데만 사용됩니다.

애플리케이션은 ID3D11DeviceContext::Begin을 호출하고, 일부 그래픽 명령을 실행하고, ID3D11DeviceContext::End를 호출한 다음, ID3D11DeviceContext::GetData 를 호출하여 BeginEnd 호출 사이에 발생한 일에 대한 데이터를 가져와 카운터 데이터를 수집합니다. 성능 카운터 유형에 대한 자세한 내용은 D3D11_COUNTER 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext