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. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 설명 |
---|---|
|
제공된 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 포함) |