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