Compartilhar via


IOMMU_DEVICE_CREATE função de retorno de chamada (wdm.h)

Usa um objeto de dispositivo físico e cria um token opaco que representa o IOMMU_DMA_DEVICE que pode ser usado com as APIs de interface IOMMU.

Sintaxe

IOMMU_DEVICE_CREATE IommuDeviceCreate;

NTSTATUS IommuDeviceCreate(
  PDEVICE_OBJECT DeviceObject,
  PIOMMU_DEVICE_CREATION_CONFIGURATION DeviceConfig,
  PIOMMU_DMA_DEVICE *DmaDeviceOut
)
{...}

Parâmetros

DeviceObject

[In] Um ponteiro para o objeto de dispositivo físico do dispositivo que o IOMMU_DMA_DEVICE criado representará.

DeviceConfig

[In, opcional] Um ponteiro opcional para uma lista de configurações que podem ser necessárias para a criação do dispositivo, dependendo do sistema. Atualmente, isso é necessário para dispositivos ACPI no ARM64.

DmaDeviceOut

[Out] Um ponteiro para o token opaco que representa o IOMMU_DMA_DEVICE criado.

Retornar valor

STATUS_SUCCESS se a operação for bem-sucedida. Os possíveis valores retornados por erro incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_INVALID_PARAMETER
O PDO fornecido representa um dispositivo que não está atrás de uma IOMMU.
STATUS_INVALID_PARAMETER_2
As entradas fornecidas não correspondem ao suporte do sistema.
STATUS_INSUFFICIENT_RESOURCES
A rotina falhou ao alocar recursos necessários para uma estrutura **IOMMU_DMA_DEVICE**.
STATUS_UNSUCCESSFUL
A interface IOMMU subjacente não é implementada corretamente para a função 'GetDeviceId'.
STATUS_NOT_FOUND
O PDO fornecido representa um dispositivo que não está atrás de uma IOMMU.

Se o dispositivo não for encontrado atrás de um IOMMU, ele já deverá ter acesso direto à memória física e a plataforma não está em conformidade com o DMA Guard.

Para obter mais informações, consulte Valores NTSTATUS.

Comentários

Os dispositivos ACPI em sistemas ARM64 devem fornecer mapeamentos de entrada por meio do DeviceConfig parâmetro . Todos os outros tipos de dispositivo em sistemas ARM64 e qualquer dispositivo em sistemas não ARM64 NÃO devem fornecer nenhuma configuração de dispositivo; caso contrário, a chamada falhará no STATUS_INVALID_PARAMETER_2.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho wdm.h (include Wdm.h)

Confira também

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX