Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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 | пассивный уровень |