Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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:
- IOMMU_PASID_DEVICE_DELETE
- IOMMU_DOMAIN_DELETE
- IOMMU_DOMAIN_ATTACH_PASID_DEVICE
- IOMMU_DOMAIN_DETACH_PASID_DEVICE
Requirements
Requirement | Value |
---|---|
Header | wdm.h |
IRQL | PASSIVE_LEVEL |