다음을 통해 공유


DXGKCB_DISCONNECTDOORBELL 콜백 함수(d3dkmddi.h)

중요

일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

KMD는 DxgkCbDisconnectDoorbell 을 호출하여 Dxgkrnl 에 KMD가 하드웨어 큐에서 이전에 연결된 초인종의 연결을 끊어야 한다고 알립니다.

구문

DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;

NTSTATUS DxgkcbDisconnectdoorbell(
  INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}

매개 변수

pArgs

[in] 연결을 끊을 초인종을 설명하는 DXGKARGCB_DISCONNECTDOORBELL 구조체에 대한 포인터입니다.

반환 값

DxgkCbDisconnectDoorbellDxgkrnlhHwQueue에 연결된 hDoorbell을 찾을 수 없거나 DisconnectReasonD3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX 값 중 하나가 아닌 경우 STATUS_INVALID_PARAMETER 반환합니다. 다른 모든 경우에서 이 함수는 초인종 연결이 이미 끊어진 경우에도 성공합니다.

설명

KMD는 초인종 연결을 끊어야 할 때 Dxgkrnl 에 알리기 위해 이 함수를 호출합니다. KMD는 이 콜백에서 돌아온 후에만 실제 초인종 주소의 연결이 끊어지도록 고려해야 합니다.

Dxgkrnl 은 가상 주소의 매핑을 해제하고 초인종을 연결이 끊어진 것으로 표시합니다. 특히 Dxgkrnl 은 다음 단계를 수행하여 초인종의 연결을 끊습니다.

  • UMD가 더 이상 실제 초인종 위치에 쓸 수 없도록 사용자 모드 DoorbellCpuVirtualAddress 를 더미 페이지로 회전합니다.
  • UMD가 초인종의 연결이 끊어지고 그 이유를 알 수 있도록 DisconnectReasonDoorbellStatusCpuVirtualAddress 에 씁니다.

자세한 내용은 사용자 모드 작업 제출을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11 버전 24H2(WDDM 3.2)
머리글 d3dkmddi.h
IRQL PASSIVE_LEVEL

추가 정보

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell