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 |
---|---|
|
提供的 PDO 代表不在 IOMMU 後方的裝置。 |
|
提供的輸入不符合系統支援。 |
|
例程無法配置 **IOMMU_DMA_DEVICE** 結構所需的資源。 |
|
'GetDeviceId' 函式未正確實作基礎 IOMMU 介面。 |
|
提供的 PDO 代表不在 IOMMU 後方的裝置。
如果裝置在 IOMMU 後方找不到,則它應該已經有直接的實體記憶體存取權,而且平臺不符合 DMA Guard 規範。 |
如需詳細資訊,請參閱 NTSTATUS值。
備註
ARM64 系統上的 ACPI 裝置必須透過 DeviceConfig
參數提供輸入對應。 ARM64 系統上所有其他裝置類型,以及非 ARM64 系統上的任何裝置 都不應該 提供任何裝置組態;否則,呼叫會在 STATUS_INVALID_PARAMETER_2失敗。
規格需求
需求 | 值 |
---|---|
最低支援的伺服器 | Windows Server 2022 |
標頭 | wdm.h (包含 Wdm.h) |