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 더미 페이지로 회전합니다.
- DisconnectReasonDoorbellStatusCpuVirtualAddress 작성하여 UMD가 초인종 연결이 끊어지고 그 이유를 알 수 있도록 합니다.
자세한 내용은 사용자 모드 작업 제출참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 버전 24H2(WDDM 3.2) |
헤더 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |