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 |