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

파이프라인의 스트림 출력 단계에 대한 대상 출력 버퍼를 설정합니다.

구문

void SOSetTargets(
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppSOTargets,
  [in, optional] const UINT   *pOffsets
);

매개 변수

[in] NumBuffers

형식: UINT

디바이스에 바인딩할 버퍼 수입니다. 최대 4개의 출력 버퍼를 설정할 수 있습니다. 호출에 의해 4개 미만이 정의되면 나머지 버퍼 슬롯이 NULL로 설정됩니다. 설명 부분을 참조하세요.

[in, optional] ppSOTargets

형식: ID3D11Buffer*

디바이스에 바인딩할 출력 버퍼 배열( ID3D11Buffer 참조)입니다. 버퍼는 D3D11_BIND_STREAM_OUTPUT 플래그를 사용하여 만들어졌어야 합니다.

[in, optional] pOffsets

형식: const UINT*

각 버퍼에 대해 하나의 오프셋인 ppSOTargets의 출력 버퍼에 대한 오프셋 배열입니다. 오프셋 값은 바이트여야 합니다.

반환 값

없음

설명

오프셋이 -1이면 스트림 출력 버퍼가 추가되고, 이전 스트림 출력 패스에서 버퍼에 기록된 마지막 위치 이후에도 계속됩니다.

현재 쓰기에 바인딩된 버퍼를 사용하여 이 메서드를 호출하면 버퍼를 입력 및 출력으로 동시에 바인딩할 수 없으므로 NULL 을 효과적으로 바인딩할 수 있습니다.

디버그 계층은 리소스가 입력 및 출력으로 동시에 바인딩되지 않을 때마다 경고를 생성하지만 런타임에서 잘못된 데이터가 사용되는 것을 방지하지는 않습니다.

메서드는 전달된 인터페이스에 대한 참조를 보유합니다. 이는 Direct3D 10의 디바이스 상태 동작과 다릅니다.

Direct3D의 다른 리소스 메서드와 달리 현재 바인딩된 모든 대상은 를 호출 SOSetTargets(0, nullptr, nullptr);하여 바인딩되지 않습니다.

Windows Phone 8: 이 API가 지원됩니다.

요구 사항

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

추가 정보

ID3D11DeviceContext