次の方法で共有


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

軽減された範囲のクエリを実行するために呼び出されます。

備考

このインターフェイスは省略可能ですが、仮想関数にハードウェア リソースがあり、VM に直接公開しても安全ではない GPU に対して実装する必要があります。 ドライバーが軽減策を使用する場合は、軽減策を実装するユーザー モード エミュレーション DLL も提供する必要があります。 KMD は、軽減された範囲に再マップが必要であると判断し、DxgkCbMitigatedRangeUpdate コールバックを指定して Dxgkrnl に通知することができます。 Dxgkrnl は、軽減された範囲を非同期的に再列挙します。

必要条件

要件 価値
ヘッダー dispmprt.h