共用方式為


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

IOMMU_FLUSH_DOMAIN函式的指標,會排清符合此定義域之所有專案的 TLB。

FlushDomainByVaList

IOMMU_FLUSH_DOMAIN_VA_LIST函式的指標,針對符合指定網域的 ASID 和所提供清單中的其中一個位址的所有專案排清 TLB。

QueryInputMappings

IOMMU_QUERY_INPUT_MAPPINGS函式的指標,它會嘗試尋找對指定裝置有效的輸入對應標識元,並使用這些標識符填入提供的緩衝區。

MapLogicalRangeEx

IOMMU_MAP_LOGICAL_RANGE_EX函式的指標,會將頁面範圍對應至指定網域的位址空間。

UnmapLogicalRange

取消對應頁面範圍的 IOMMU_UNMAP_LOGICAL_RANGE 函式指標。

MapIdentityRangeEx

IOMMU_MAP_IDENTITY_RANGE_EX函式的指標,會為所提供網域中提供的實體位址建立識別對應。

UnmapIdentityRangeEx

IOMMU_UNMAP_IDENTITY_RANGE_EX函式的指標,會刪除指定實體地址的識別對應。

SetDeviceFaultReportingEx

IOMMU_SET_DEVICE_FAULT_REPORTING_EX函式的指標,可設定已連結至網域之裝置上的裝置錯誤報告狀態。

ConfigureDomain

設定網域以供使用 之IOMMU_DOMAIN_CONFIGURE 函式的指標。

QueryAvailableDomainTypes

IOMMU_DEVICE_QUERY_DOMAIN_TYPES函式的指標,會根據平臺和 DMA Guard 原則等環境因素,查詢允許裝置連結的可用網域類型。

RegisterInterfaceStateChangeCallback

IOMMU_REGISTER_INTERFACE_STATE_CHANGE_CALLBACK函式的指標,可讓呼叫端在發生與 IOMMU 介面相關的任何狀態變更時註冊要叫用的回呼。

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_DEVICE_CREATE 函式指標,並建立 IOMMU_DMA_DEVICE

DeleteDevice

刪除IOMMU_DMA_DEVICE IOMMU_DEVICE_DELETE式的指標。

規格需求

需求
最低支援的伺服器 Windows Server 2022
標頭 wdm.h (包含 Wdm.h)

另請參閱

DMA_IOMMU_INTERFACE_EX