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 |
---|---|
|
O PDO fornecido representa um dispositivo que não está por trás de uma IOMMU. |
|
As entradas fornecidas não correspondem ao suporte do sistema. |
|
A rotina falhou ao alocar os 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á 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) |