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
[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 포함) |