Поделиться через


функция обратного вызова IOMMU_PASID_DEVICE_CREATE (wdm.h)

IOMMU_PASID_DEVICE_CREATE принимает маркер IOMMU_DMA_DEVICE и создает новое подустройство PASID, представляющее только что назначенный ASID.

Синтаксис

IOMMU_PASID_DEVICE_CREATE IommuPasidDeviceCreate;

NTSTATUS IommuPasidDeviceCreate(
  PIOMMU_DMA_DEVICE DmaDevice,
  PIOMMU_DMA_PASID_DEVICE *PasidDeviceOut,
  PULONG AsidOut
)
{...}

Параметры

DmaDevice

[in] Указатель на маркер IOMMU_DMA_DEVICE, из которого создаются вложенные устройства.

[in] Указатель на маркер IOMMU_DMA_DEVICE, из которого создаются вложенные устройства.

PasidDeviceOut

[out] Указатель на непрозрачную структуру IOMMU_DMA_PASID_DEVICE, представляющую только что созданное под устройство IOMMU DMA PASID.

AsidOut

[out] Указатель на удержание PASID, назначаемого системой.

Возвращаемое значение

IOMMU_PASID_DEVICE_CREATE возвращает значение NTSTATUS. Возможные значения включают:

Код возврата Описание
STATUS_SUCCESS Подустройство успешно создано. PasidDeviceOut возвращает допустимый указатель.
STATUS_INVALID_PARAMETER_1 Предоставленный маркер устройства не настроен для DMA или PASID с тегами PASID.
СТАТУС_НЕДОСТАТОЧНЫЕ_РЕСУРСЫ Недостаточно памяти для выделения IOMMU_DMA_PASID_DEVICE структуры.
STATUS_NONE_MAPPED Не удалось выделить ASID.

Требования

Требование Ценность
Заголовок wdm.h
IRQL пассивный уровень

См. также

IOMMU_PASID_DEVICE_DELETE

IOMMU_DOMAIN_ATTACH_PASID_DEVICE

IOMMU_DOMAIN_DETACH_PASID_DEVICE