IOMMU_DOMAIN_DETACH_DEVICE callback function (wdm.h)

Detaches a device from an existing domain.

Syntax

IOMMU_DOMAIN_DETACH_DEVICE IommuDomainDetachDevice;

NTSTATUS IommuDomainDetachDevice(
  [_In_] PIOMMU_DMA_DOMAIN Domain,
  [_In_] PDEVICE_OBJECT PhysicalDeviceObject,
  [_In_] ULONG InputMappingId
)
{...}

Parameters

[_In_] Domain

A pointer to the handle to the domain.

[_In_] PhysicalDeviceObject

A pointer the physical device object (PDO) in the device stack of the device.

[_In_] InputMappingId

The input mapping for the device's desired stream.

Return value

Return STATUS_SUCCESS if the operation succeeds. Otherwise, return an appropriate NTSTATUS Values error code. For more information, see NTSTATUS Values.

Remarks

It is driver's responsibility to ensure that this function is not called concurrently with IOMMU_DOMAIN_ATTACH_DEVICE or IOMMU_SET_DEVICE_FAULT_REPORTING calls on the same device.

InputMappingId is used only for ACPI-enumerated devices on ARM64. For all other cases, this value must be zero.

If multiple devices are simultaneously attached using the MappingCount value specified in the IOMMU_DOMAIN_ATTACH_DEVICE call, then those devices can only be detached as a group by specifying an InputMappingId value that is equal to the InputMappingIdBase value of [IOMMU_DOMAIN_ATTACH_DEVICE] used when attaching.

This is deprecated. Consider using IOMMU_DOMAIN_DETACH_DEVICE_EX and DMA_IOMMU_INTERFACE_EX.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1803
Header wdm.h (include Wdm.h)