Edit

Share via


IOMMU_DOMAIN_ATTACH_PASID_DEVICE callback function (wdm.h)

IOMMU_DOMAIN_ATTACH_PASID_DEVICE attaches a PASID sub-device to an existing domain.

Syntax

IOMMU_DOMAIN_ATTACH_PASID_DEVICE IommuDomainAttachPasidDevice;

NTSTATUS IommuDomainAttachPasidDevice(
  PIOMMU_DMA_DOMAIN Domain,
  PIOMMU_DMA_PASID_DEVICE PasidDevice
)
{...}

Parameters

Domain

[in] Handle to the domain that the sub-device will attach to.

PasidDevice

[in] Pointer to the IOMMU_DMA_PASID_DEVICE structure that represents the PASID sub-device to be attached.

Return value

Returns an NTSTATUS value. Possible values include:

Return code Description
STATUS_SUCCESS On successful sub-device attachment to the domain.
STATUS_INSUFFICIENT_RESOURCES Not enough memory to allocate a cached device for attach/detach bookkeeping.
STATUS_INVALID_PARAMETER_1 The device is not allowed to attach to the domain type provided.
STATUS_UNSUCCESSFUL The sub-device is already attached to a domain.
STATUS_ACCESS_DENIED The sub-device is currently not allowed to attach to this domain.

Remarks

It is the driver's responsibility to ensure that this function is not called concurrently with any of the following on the same device:

Requirements

Requirement Value
Header wdm.h
IRQL PASSIVE_LEVEL

See also

IOMMU_PASID_DEVICE_CREATE

IOMMU_DOMAIN_DETACH_PASID_DEVICE