DMA_IOMMU_INTERFACE_V2 構造体 (wdm.h)
IOMMU バージョン 2 (V2) 関数のセットを含む構造体。
構文
typedef struct _DMA_IOMMU_INTERFACE_V2 {
PIOMMU_DOMAIN_CREATE_EX CreateDomainEx;
PIOMMU_DOMAIN_DELETE DeleteDomain;
PIOMMU_DOMAIN_ATTACH_DEVICE_EX AttachDeviceEx;
PIOMMU_DOMAIN_DETACH_DEVICE_EX DetachDeviceEx;
PIOMMU_FLUSH_DOMAIN FlushDomain;
PIOMMU_FLUSH_DOMAIN_VA_LIST FlushDomainByVaList;
PIOMMU_QUERY_INPUT_MAPPINGS QueryInputMappings;
PIOMMU_MAP_LOGICAL_RANGE_EX MapLogicalRangeEx;
PIOMMU_UNMAP_LOGICAL_RANGE UnmapLogicalRange;
PIOMMU_MAP_IDENTITY_RANGE_EX MapIdentityRangeEx;
PIOMMU_UNMAP_IDENTITY_RANGE_EX UnmapIdentityRangeEx;
PIOMMU_SET_DEVICE_FAULT_REPORTING_EX SetDeviceFaultReportingEx;
PIOMMU_DOMAIN_CONFIGURE ConfigureDomain;
PIOMMU_DEVICE_QUERY_DOMAIN_TYPES QueryAvailableDomainTypes;
PIOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK RegisterInterfaceStateChangeCallback;
PIOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK UnregisterInterfaceStateChangeCallback;
PIOMMU_RESERVE_LOGICAL_ADDRESS_RANGE ReserveLogicalAddressRange;
PIOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE FreeReservedLogicalAddressRange;
PIOMMU_MAP_RESERVED_LOGICAL_RANGE MapReservedLogicalRange;
PIOMMU_UNMAP_RESERVED_LOGICAL_RANGE UnmapReservedLogicalRange;
PIOMMU_DEVICE_CREATE CreateDevice;
PIOMMU_DEVICE_DELETE DeleteDevice;
} DMA_IOMMU_INTERFACE_V2, *PDMA_IOMMU_INTERFACE_V2;
メンバー
CreateDomainEx
DMA 再マッピング デバイス ドメインを作成する IOMMU_DOMAIN_CREATE_EX 関数へのポインター。
DeleteDomain
デバイス ドメインを削除する IOMMU_DOMAIN_DELETE 関数へのポインター。
AttachDeviceEx
デバイスをドメインにアタッチする IOMMU_DOMAIN_ATTACH_DEVICE_EX 関数へのポインター。
DetachDeviceEx
ドメインからデバイスをデタッチする IOMMU_DOMAIN_DETACH_DEVICE_EX 関数へのポインター。
FlushDomain
このドメインに一致するすべてのエントリの TLB をフラッシュする IOMMU_FLUSH_DOMAIN 関数へのポインター。
FlushDomainByVaList
指定した ドメインの ASID と指定したリスト内のいずれかのアドレスに一致するすべてのエントリの TLB をフラッシュするIOMMU_FLUSH_DOMAIN_VA_LIST関数へのポインター。
QueryInputMappings
指定したデバイスに対して有効な入力マッピング ID を検索し、指定されたバッファーにそれらの ID を設定しようとする、 IOMMU_QUERY_INPUT_MAPPINGS 関数へのポインター。
MapLogicalRangeEx
指定したドメインのアドレス空間にページの範囲をマップする IOMMU_MAP_LOGICAL_RANGE_EX 関数へのポインター。
UnmapLogicalRange
ページの範囲のマップを解除する IOMMU_UNMAP_LOGICAL_RANGE 関数へのポインター。
MapIdentityRangeEx
指定されたドメイン内の 指定 された物理アドレスの ID マッピングを作成するIOMMU_MAP_IDENTITY_RANGE_EX関数へのポインター。
UnmapIdentityRangeEx
指定した物理アドレスの ID マッピングを削除する IOMMU_UNMAP_IDENTITY_RANGE_EX 関数へのポインター。
SetDeviceFaultReportingEx
ドメインに既に接続されているデバイスのデバイス障害報告状態を設定する IOMMU_SET_DEVICE_FAULT_REPORTING_EX 関数へのポインター。
ConfigureDomain
使用するドメインを構成する IOMMU_DOMAIN_CONFIGURE 関数へのポインター。
QueryAvailableDomainTypes
プラットフォームや DMA Guard ポリシーなどの環境要因に応じて、デバイスがアタッチできる使用可能な種類のドメインを照会する IOMMU_DEVICE_QUERY_DOMAIN_TYPES関数への ポインター。
RegisterInterfaceStateChangeCallback
IOMMU インターフェイスに関連する状態変更が発生するたびに呼び出し元が呼び出すコールバックを登録できるようにする、IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK関数へのポインター。
UnregisterInterfaceStateChangeCallback
呼び出し元が登録済みのコールバックを登録解除できるようにする IOMMU_UNREGISTER_INTERFACE_STATE_CHANGE_CALLBACK 関数へのポインター。
ReserveLogicalAddressRange
将来のマッピングに使用できる論理アドレス空間を事前割り当てする IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE 関数へのポインター。
FreeReservedLogicalAddressRange
論理アドレス トークンを解放する IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE 関数へのポインター。
MapReservedLogicalRange
予約された論理範囲をマップする IOMMU_MAP_RESERVED_LOGICAL_RANGE 関数へのポインター。
UnmapReservedLogicalRange
以前にマップされた予約済み論理範囲のマップを解除する IOMMU_UNMAP_RESERVED_LOGICAL_RANGE関数への ポインター。
CreateDevice
物理デバイス オブジェクトを受け取り、 IOMMU_DMA_DEVICE を作成する IOMMU_DEVICE_CREATE関数へのポインター。
DeleteDevice
IOMMU_DMA_DEVICEを削除するIOMMU_DEVICE_DELETE関数へのポインター。
要件
要件 | 値 |
---|---|
サポートされている最小のサーバー | Windows Server 2022 |
Header | wdm.h (Wdm.h を含む) |