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 |
---|---|
|
O PDO fornecido representa um dispositivo que não está atrás de uma IOMMU. |
|
As entradas fornecidas não correspondem ao suporte do sistema. |
|
A rotina falhou ao alocar recursos necessários para uma estrutura **IOMMU_DMA_DEVICE**. |
|
A interface IOMMU subjacente não é implementada corretamente para a função 'GetDeviceId'. |
|
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) |