共用方式為


IOMMU_DEVICE_CREATE回呼函式 (wdm.h)

取得實體裝置物件,並建立不透明的令牌,代表可與IOMMU介面 API 搭配使用的 IOMMU_DMA_DEVICE

語法

IOMMU_DEVICE_CREATE IommuDeviceCreate;

NTSTATUS IommuDeviceCreate(
  PDEVICE_OBJECT DeviceObject,
  PIOMMU_DEVICE_CREATION_CONFIGURATION DeviceConfig,
  PIOMMU_DMA_DEVICE *DmaDeviceOut
)
{...}

參數

DeviceObject

[in]所建立 IOMMU_DMA_DEVICE 所建立之裝置實體裝置物件的指標。

DeviceConfig

[中,選擇性]視系統而定,裝置建立可能需要之組態清單的選擇性指標。 目前,ARM64 上的 ACPI 裝置需要此專案。

DmaDeviceOut

[out]代表所建立 IOMMU_DMA_DEVICE之不透明令牌的指標。

傳回值

如果作業成功,STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。

傳回碼 描述
STATUS_INVALID_PARAMETER
提供的 PDO 代表不在 IOMMU 後方的裝置。
STATUS_INVALID_PARAMETER_2
提供的輸入不符合系統支援。
STATUS_INSUFFICIENT_RESOURCES
例程無法配置 **IOMMU_DMA_DEVICE** 結構所需的資源。
STATUS_UNSUCCESSFUL
基礎 IOMMU 介面未針對 『GetDeviceId』 函式正確實作。
STATUS_NOT_FOUND
提供的 PDO 代表不在 IOMMU 後方的裝置。

如果裝置在 IOMMU 後方找不到,則它應該已經有直接的實體記憶體存取權,而且平臺不符合 DMA Guard 規範。

如需詳細資訊,請參閱 NTSTATUS 值

言論

ARM64 系統上的 ACPI 裝置必須透過 DeviceConfig 參數提供輸入對應。 ARM64 系統上的所有其他裝置類型,以及非 ARM64 系統上的任何裝置,都應該 NOT 提供任何裝置設定;否則,呼叫會在 STATUS_INVALID_PARAMETER_2失敗。

要求

要求 價值
支援的最低伺服器 Windows Server 2022
標頭 wdm.h (包括 Wdm.h)

另請參閱

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX