共用方式為


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

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

DmaDeviceOut

[Out]表示所建立 IOMMU_DMA_DEVICE之不透明標記的指標。

傳回值

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

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

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

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

備註

ARM64 系統上的 ACPI 裝置必須透過 DeviceConfig 參數提供輸入對應。 ARM64 系統上所有其他裝置類型,以及非 ARM64 系統上的任何裝置 都不應該 提供任何裝置組態;否則,呼叫會在 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