다음을 통해 공유


DXGKDDI_SUBMITCOMMAND 콜백 함수(d3dkmddi.h)

DxgkDdiSubmitCommand 함수는 DMA(직접 메모리 액세스) 버퍼를 하드웨어 명령 실행 단위에 제출합니다.

구문

DXGKDDI_SUBMITCOMMAND DxgkddiSubmitcommand;

NTSTATUS DxgkddiSubmitcommand(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SUBMITCOMMAND pSubmitCommand
)
{...}

매개 변수

[in] hAdapter

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Microsoft DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.

[in] pSubmitCommand

디스플레이 미니포트 드라이버가 하드웨어 명령 실행 단위에 제출하는 DMA 버퍼를 설명하는 DXGKARG_SUBMITCOMMAND 구조체에 대한 포인터입니다.

반환 값

DxgkDdiSubmitCommand 는 성공적으로 완료되면 STATUS_SUCCESS 반환합니다. 드라이버가 오류 코드를 반환하는 경우 운영 체제로 인해 시스템 버그 검사가 발생합니다. 설명 부분을 참조하세요.

설명

페이징 작업은 시스템 작업으로 간주되므로 특정 애플리케이션 컨텍스트 또는 그래픽 컨텍스트와 연결되지 않습니다. 따라서 페이징 작업에 대한 제출이면 pSubmitCommand 매개 변수가 가리키는 DXGKARG_SUBMITCOMMAND 구조체의 hDevice 멤버에 지정된 NULL을 사용하여 DxgkDdiSubmitCommand 함수가 호출됩니다.

그러나 특정 하드웨어 및 드라이버의 아키텍처에 내부적으로 디바이스가 있어야 하는 경우 드라이버는 어댑터 초기화 중에 디바이스를 내부적으로 만들어야 하며 페이징 작업에 사용할 시스템 기본 디바이스로 디바이스를 내부적으로 유지해야 합니다.

드라이버는 DXGKARG_SUBMITCOMMAND SubmissionFenceId 멤버에 제공된 값을 링 버퍼의 펜스 명령에 쓸 수 있습니다. 펜스 명령에 대한 자세한 내용은 펜스 식별자 제공을 참조하세요.

드라이버가 오류 코드를 반환하는 경우 DirectX 그래픽 커널 하위 시스템에서 시스템 버그 검사가 발생합니다. 크래시 덤프 파일에서 오류는 다음 네 개의 매개 변수가 있는 BugCheck 0x119 메시지로 표시됩니다.

  • 0x2(오류의 원인을 식별)
  • 실패한 드라이버 호출에서 반환된 NTSTATUS 오류 코드
  • DXGKARG_SUBMITCOMMAND 구조체에 대한 포인터
  • 내부 스케줄러 데이터 구조에 대한 포인터

DxgkDdiSubmitCommand 는 IRQL = DISPATCH_LEVEL 실행되므로 비페이지화되어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 d3dkmddi.h
IRQL DISPATCH_LEVEL

추가 정보

DXGKARG_SUBMITCOMMAND

DxgkDdiAddDevice