다음을 통해 공유


DXGKDDI_SUBMITCOMMANDVIRTUAL 콜백 함수(d3dkmddi.h)

DxgkDdiSubmitCommandVirtual 명령은 가상 주소 지정을 지원하는 컨텍스트에 DMA 버퍼를 제출합니다.

통사론

DXGKDDI_SUBMITCOMMANDVIRTUAL DxgkddiSubmitcommandvirtual;

NTSTATUS DxgkddiSubmitcommandvirtual(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_SUBMITCOMMANDVIRTUAL pSubmitCommand
)
{...}

매개 변수

hAdapter

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 이전에 KMD(디스플레이 미니포트 드라이버)는 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Dxgkrnl에 이 핸들을 제공했습니다.

pSubmitCommand

작업을 설명하는 DXGKARG_SUBMITCOMMANDVIRTUAL 구조체에 대한 포인터입니다.

반환 값

설명
상태_성공 제출된 명령이 올바른 형식입니다.
STATUS_INVALID_PARAMETER (잘못된 매개변수 상태) DMA 또는 개인 데이터는 잘못된 형식으로 결정됩니다. 이 경우 OS는 호출 디바이스를 오류 상태로 만들고 이후의 모든 호출은 실패합니다. 이 호출에 전달된 SubmissionFenceId 값은 하드웨어의 모든 이전 패킷이 완료된 후 완료된 것으로 간주되며, 이때 마지막으로 완료된 펜스 ID의 드라이버 개념을 이 값으로 업데이트해야 합니다. 이 동작은이전 DxgkDdiRender 호출에서 데이터의 유효성을 검사하는 기능으로 인해 오류가 반환되지 않는 DxgkDdiSubmitCommand 호출과 다릅니다.

다른 모든 반환 값은 OS 버그 검사로 이어질 수 있습니다.

비고

DxgkDdiSubmitCommandVirtual 은 가상 메모리 주소 지정에서 작동하는 반면 DxgkDdiSubmitCommand 는 실제 메모리로 호출됩니다. DxgkDdiSubmitCommandVirtual 을 사용하면 드라이버가 메모리를 보다 유연하게 관리할 수 있습니다.

GPU는 이전에 다른 프로세스 또는 컨텍스트에 대해 다른 주소 공간으로 작업했을 수 있습니다. 드라이버는 특정 DMA 버퍼를 제출하기 전에 올바른 주소 공간이 복원되는지 확인해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 바탕 화면
헤더 d3dkmddi.h

참고 항목

DXGKARG_SUBMITCOMMANDVIRTUAL

DxgkDdiRender

DxgkDdiSubmitCommand