다음을 통해 공유


PFND3D11DDI_COPYSTRUCTURECOUNT 콜백 함수(d3d10umddi.h)

CopyStructureCount 함수는 추가 버퍼 UAV(순서가 지정되지 않은 액세스 뷰)의 채워진 부분(즉, 채워진 크기 값)의 항목 수를 대상 버퍼에 오프셋으로 복사합니다.

구문

PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;

void Pfnd3d11ddiCopystructurecount(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HRESOURCE unnamedParam2,
  UINT unnamedParam3,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam4
)
{...}

매개 변수

unnamedParam1

hDevice [in]

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

hDstBuffer [in]

UAV의 채워진 크기 값을 복사할 대상 버퍼에 대한 핸들입니다. 이 대상 버퍼를 만들려면 런타임에서 이전에 D3D11DDIARG_CREATERESOURCE 구조체의 ResourceDimension 멤버가 D3D10DDIRESOURCE_BUFFER 값으로 설정된 드라이버의 CreateResource(D3D11) 함수를 호출해야 합니다.

unnamedParam3

DstAlignedByteOffset [in]

hDstBuffer 매개 변수가 지정하는 대상 버퍼에 대한 4바이트 정렬 오프셋(바이트)입니다. CopyStructureCounthSrcView 매개 변수가 지정하는 추가 버퍼 뷰의 채워진 크기 값을 hDstBuffer의 이 오프셋에 복사합니다. DstAlignedByteOffset은 4의 배수여야 합니다.

unnamedParam4

hSrcView [in]

원본에 대한 핸들은 추가 버퍼 뷰여야 하는 UAV를 추가합니다. CopyStructureCount 는 이 뷰의 채워진 크기 값을 hDstBuffer 매개 변수가 지정하는 대상 버퍼에 복사합니다. 이 추가 버퍼 보기를 만들려면 런타임에서 이전에 D3D11_DDI_BUFFER_UAV_FLAG_APPEND 플래그가 설정된 드라이버의 CreateUnorderedAccessView 함수를 호출해야 합니다.

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

D3DDDIERR_DEVICEREMOVED 경우를 제외하고 드라이버에 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수를 호출할 때 D3DDDIERR_DEVICEREMOVED 경우를 제외하고 오류를 전달하는 경우 Direct3D 런타임은 오류가 중요하다고 결정합니다. 디바이스가 제거되더라도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 CopyStructureCount (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.

CopyStructureCount 는 추가 버퍼 UAV(스택과 같은 구조체에 대한 푸시 및 팝업 작업을 지원하는 UAV)의 채워진 크기 값을 가져와서 이 값을 대상 버퍼에 오프셋으로 복사합니다. 그래픽 하드웨어는 4바이트 채워진 크기 값을 사용하여 추가 버퍼 UAV에 채워지는 데이터의 양을 추적합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 CopyStructureCount는 Windows 7 운영 체제부터 지원됩니다.
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb