DXGKDDI_PROTECTED_CALLBACK 콜백 함수(dispmprt.h)
DxgkProtectedCallback 콜백 루틴은 디스플레이 미니포트 드라이버에 의해 구현되며 디스플레이 어댑터에 대한 모든 액세스가 차단되는 경우 보호된 상태 동안 DxgkCbExcludeAdapterAccess에서 호출됩니다.
구문
DXGKDDI_PROTECTED_CALLBACK DxgkddiProtectedCallback;
void DxgkddiProtectedCallback(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] PVOID ProtectedCallbackContext,
[in] NTSTATUS ProtectionStatus
)
{...}
매개 변수
[in] MiniportDeviceContext
디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수는 이전에 DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.
[in] ProtectedCallbackContext
DxgkCbExcludeAdapterAccess에 대한 이전 호출에서 지정한 드라이버 정의 정보에 대한 포인터입니다.
[in] ProtectionStatus
디스플레이 어댑터의 보호된 상태 상태입니다. STATUS_SUCCESS 어댑터가 액세스로부터 보호되었습니다. 오류 상태 코드는 어댑터가 보호되지 않음을 나타냅니다.
반환 값
없음
설명
DxgkProtectedCallback은 상태 매개 변수 ProtectionStatus에 표시된 대로 디스플레이 어댑터에 대한 모든 액세스가 중단된 경우에만 호출해야 합니다.
드라이버는 콜백 루틴 중에 다음 조건이 충족되는지 확인해야 합니다.
- 디바이스의 모든 인터럽트는 사용하지 않도록 설정되며, CPU에서 큐에 대기되었지만 아직 서비스되지 않은 모든 DPC를 포함하여 보류 중인 모든 인터럽트는 처리됩니다.
- 모든 쓰기 결합 메모리 및 기타 캐시 관련 상태가 플러시되었습니다.
- 발생하는 ACPI 또는 BIOS/SMI 이벤트는 하드웨어에 액세스하지 않습니다.
- 연결된 어댑터 상태 구성의 모든 어댑터 간에 일관성이 달성됩니다.
- 레지스터 및 디스플레이 모드를 포함한 어댑터는 DxgkProtectedCallback 루틴에서 반환될 때 발생하는 DMA 버퍼를 처리하기 위해 적절한 상태로 유지됩니다. 드라이버는 애플리케이션의 표시 상태 또는 기능을 변경해서는 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
대상 플랫폼 | 데스크톱 |
머리글 | dispmprt.h(Dispmprt.h 포함) |
IRQL | PASSIVE_LEVEL |