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 将异步重新枚举缓解的范围。

要求

要求 价值
标头 dispmprt.h