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

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

DeviceConfig

[Em, 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

[] Um ponteiro para o token opaco que representa o IOMMU_DMA_DEVICEcriado.

Valor de retorno

STATUS_SUCCESS se a operação for bem-sucedida. Os valores de retorno de erro possíveis 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á por trá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 os 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á por trás de uma IOMMU.

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

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

Observações

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

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2022
cabeçalho wdm.h (inclua Wdm.h)

Consulte também

IOMMU_DEVICE_CREATION_CONFIGURATION

IOMMU_DEVICE_DELETE

DMA_IOMMU_INTERFACE_V2

DMA_IOMMU_INTERFACE_EX