DXGKCB_DISCONNECTDOORBELL 콜백 함수(d3dkmddi.h)
중요
일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
KMD는 DxgkCbDisconnectDoorbell 을 호출하여 Dxgkrnl 에 KMD가 하드웨어 큐에서 이전에 연결된 초인종의 연결을 끊어야 한다고 알립니다.
구문
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
매개 변수
pArgs
[in] 연결을 끊을 초인종을 설명하는 DXGKARGCB_DISCONNECTDOORBELL 구조체에 대한 포인터입니다.
반환 값
DxgkCbDisconnectDoorbell은 Dxgkrnl이 hHwQueue에 연결된 hDoorbell을 찾을 수 없거나 DisconnectReason이 D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX 값 중 하나가 아닌 경우 STATUS_INVALID_PARAMETER 반환합니다. 다른 모든 경우에서 이 함수는 초인종 연결이 이미 끊어진 경우에도 성공합니다.
설명
KMD는 초인종 연결을 끊어야 할 때 Dxgkrnl 에 알리기 위해 이 함수를 호출합니다. KMD는 이 콜백에서 돌아온 후에만 실제 초인종 주소의 연결이 끊어지도록 고려해야 합니다.
Dxgkrnl 은 가상 주소의 매핑을 해제하고 초인종을 연결이 끊어진 것으로 표시합니다. 특히 Dxgkrnl 은 다음 단계를 수행하여 초인종의 연결을 끊습니다.
- UMD가 더 이상 실제 초인종 위치에 쓸 수 없도록 사용자 모드 DoorbellCpuVirtualAddress 를 더미 페이지로 회전합니다.
- UMD가 초인종의 연결이 끊어지고 그 이유를 알 수 있도록 DisconnectReason 을 DoorbellStatusCpuVirtualAddress 에 씁니다.
자세한 내용은 사용자 모드 작업 제출을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 버전 24H2(WDDM 3.2) |
머리글 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |