DXGKDDI_MITIGABLE_DEVICE_INTERFACE 结构 (dispmprt.h)

此设备接口指定需要截获和缓解的设备基址寄存器部分。

这些范围可能是受保护硬件的一部分,或者如果来宾虚拟机公开,可能会导致崩溃或攻击。 作为深层防御方法的一部分,这些敏感硬件区域不是由用户模式设备模拟器公开和保护的,而是由更受信任的内核模式设备驱动程序公开和保护。

语法

typedef struct _DXGKDDI_MITIGABLE_DEVICE_INTERFACE {
  IN USHORT                             Size;
  IN USHORT                             Version;
  OUT PVOID                             Context;
  OUT PINTERFACE_REFERENCE              InterfaceReference;
  OUT PINTERFACE_DEREFERENCE            InterfaceDereference;
  OUT PDXGKDDI_QUERYMITIGATEDRANGECOUNT DxgkDdiQueryMitigatedRangeCount;
  OUT PDXGKDDI_QUERYMITIGATEDRANGES     DxgkDdiQueryMitigatedRanges;
} DXGKDDI_MITIGABLE_DEVICE_INTERFACE, *PDXGKDDI_MITIGABLE_DEVICE_INTERFACE;

成员

Size

大小。

Version

表示DXGKDDI_MITIGABLE_DEVICE_INTERFACE_VERSION。

Context

设备上下文。

InterfaceReference

参考。

InterfaceDereference

引用。

DxgkDdiQueryMitigatedRangeCount

调用以查询缓解的范围计数。

DxgkDdiQueryMitigatedRanges

调用以查询缓解的范围。

注解

此接口是可选的,但必须针对虚拟函数具有硬件资源的任何 GPU 实现,这些资源不安全,无法直接公开给 VM。 如果驱动程序使用缓解措施,则它还必须提供实现缓解的用户模式仿真 DLL。 KMD 可以决定缓解的范围需要重新映射,并提供 DxgkCbMitigatedRangeUpdate 回调来通知 Dxgkrnl。 Dxgkrnl 将以异步方式重新枚举缓解的范围。

要求

要求
Header dispmprt.h