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 |