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
[入力]作成された IOMMU_DMA_DEVICE が表すデバイスの物理デバイス オブジェクトへのポインター。
DeviceConfig
[入力、省略可能]システムに応じて、デバイスの作成に必要な構成の一覧への省略可能なポインター。 現時点では、これは 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 |
Header | wdm.h (Wdm.h を含む) |