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

另请参阅

DxgkCbExcludeAdapterAccess