IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE コールバック関数 (wdm.h)
将来のマッピングに使用できる論理アドレス空間を事前割り当てします。 これにより、ドライバーは、将来のマップ呼び出しまたはマップ解除呼び出しの転送の進行状況を保証する機能が付与されます。
構文
IOMMU_RESERVE_LOGICAL_ADDRESS_RANGE IommuReserveLogicalAddressRange;
NTSTATUS IommuReserveLogicalAddressRange(
[in] PIOMMU_DMA_DOMAIN Domain,
[in] SIZE_T Size,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS ExplicitLogicalAddress,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS MinLogicalAddress,
[in, optional] PIOMMU_DMA_LOGICAL_ADDRESS MaxLogicalAddress,
[out] PIOMMU_DMA_LOGICAL_ADDRESS_TOKEN *LogicalAddressToken
)
{...}
パラメーター
[in] Domain
予約済み論理アドレスが属する IOMMU_DMA_DOMAIN へのポインター。 ドメインの種類は DomainTypeTranslate である必要があります。 ドメインの種類の詳細については、「 IOMMU_DMA_DOMAIN_TYPE」を参照してください。
[in] Size
予約する論理アドレス範囲のサイズ (バイト単位)。 この値は、ページの総数を表す必要があります。
[in, optional] ExplicitLogicalAddress
予約する必要があるドメイン論理アドレス。 ドメインが登録済みの論理アロケーターで作成されていない場合は、このフィールドが必要です。 明示的な論理アドレス割り当てをサポートしない登録済み論理アロケーターを使用してドメインが作成された場合、このフィールドは NULL である必要があります。
[in, optional] MinLogicalAddress
予約可能な最小 (包括的) 許容論理アドレス。 ドメインが登録済みの論理アロケーターで作成されていない場合、このフィールドは無視されます。
[in, optional] MaxLogicalAddress
予約できる最大 (包括的) 許容される論理アドレス。 ドメインが登録済みの論理アロケーターで作成されていない場合、このフィールドは無視されます。
[out] LogicalAddressToken
予約済みの論理アドレス範囲を表す IOMMU_DMA_LOGICAL_ADDRESS_TOKEN を返します。
戻り値
操作 が成功した場合にSTATUS_SUCCESSします。 考えられるエラーの戻り値には、次の状態コードが含まれます。
リターン コード | 説明 |
---|---|
STATUS_INVALID_PARAMETER_1 | 指定されたドメインの種類が DomainTypeTranslate ではありません。 |
STATUS_INVALID_PARAMETER_2 | 指定されたサイズは、PAGE_SIZEの倍数ではありません。 |
STATUS_INVALID_PARAMETER_3 | 指定された ExplicitLogicalAddress はページアラインされていません。 |
STATUS_INVALID_PARAMETER_MIX | 指定された最小論理アドレスと最大論理アドレスを満たできませんでした。 |
STATUS_IN_USE | ExplicitLogicalAddress は既にマップされているか、部分的にマップされています。 |
STATUS_NOT_SUPPORTED | 明示的な論理アドレス割り当てを許可しない論理アロケーターを持つドメインに対して ExplicitLogicalAddress が提供されました。 または、論理アロケーターがないドメインに ExplicitLogicalAddress が指定されませんでした。 |
詳細については、「 NTSTATUS 値」を参照してください。
注釈
論理アドレス トークンは、 IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE経由で解放できます。
論理アドレス トークンには、論理アドレス範囲の一部が、 IOMMU_MAP_RESERVED_LOGICAL_RANGE と IOMMU_UNMAP_RESERVED_LOGICAL_RANGEを介して物理アドレスにマップされ、物理アドレスからマップ解除されている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のサーバー | Windows Server 2022 |
Header | wdm.h (Wdm.h を含む) |
こちらもご覧ください
IOMMU_DMA_LOGICAL_ADDRESS_TOKEN
IOMMU_FREE_RESERVED_LOGICAL_ADDRESS_RANGE