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 |