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,省略可能]システムに応じて、デバイスの作成に必要な構成の一覧への省略可能なポインター。 現時点では、これは ARM64 上の ACPI デバイスに必要です。
DmaDeviceOut
[アウト]作成された IOMMU_DMA_DEVICEを表す不透明なトークンへのポインター。
操作が成功したかどうかを STATUS_SUCCESS します。 考えられるエラー戻り値には、次の状態コードが含まれます。
リターン コード | 形容 |
---|---|
|
指定された PDO は、IOMMU の背後にないデバイスを表します。 |
|
指定された入力がシステムサポートと一致しません。 |
|
ルーチンは、**IOMMU_DMA_DEVICE** 構造体に必要なリソースを割り当てませんでした。 |
|
基になる IOMMU インターフェイスが 'GetDeviceId' 関数に対して正しく実装されていません。 |
|
指定された PDO は、IOMMU の背後にないデバイスを表します。
IOMMU の背後にデバイスが見つからない場合は、既に直接の物理メモリ アクセスが必要であり、プラットフォームは DMA Guard に準拠していません。 |
詳細については、「NTSTATUS 値 を参照してください。
ARM64 システム上の ACPI デバイスは、DeviceConfig
パラメーターを介して入力マッピングを提供する必要があります。 ARM64 システム上の他のすべてのデバイスの種類と、ARM64 以外のシステム上のすべてのデバイスは、デバイス構成を提供 しないでください。それ以外の場合、呼び出しは STATUS_INVALID_PARAMETER_2で失敗します。
要件 | 価値 |
---|---|
サポートされる最小サーバー | Windows Server 2022 |
ヘッダー | wdm.h (Wdm.h を含む) |