Anotação de _Kernel_IoGetDmaAdapter_ de _Kernel_IoGetDmaAdapter_ de E/S de DMA para drivers
Use a anotação _Kernel_IoGetDmaAdapter_ para direcionar as ferramentas de análise de código para procurar uso indevido de ponteiros de DMA.
Se uma função chamar uma interface anotada com a anotação _Kernel_IoGetDmaAdapter_, ela terá lógica de repetição de modo que ocorram novas tentativas até que a função seja bem-sucedida.
A rotina IoGetDmaAdapter pode retornar menos do que o número solicitado de registros, e o chamador é obrigado a continuar usando o número real, não o número solicitado.
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTKERNELAPI
struct _DMA_ADAPTER *
IoGetDmaAdapter(
_In_opt_ PDEVICE_OBJECT PhysicalDeviceObject, // required for PnP drivers
_In_ struct _DEVICE_DESCRIPTION *DeviceDescription,
_Out_ _When_(return!=0, _Kernel_IoGetDmaAdapter_ _At_(*NumberOfMapRegisters, _Must_inspect_result_))
PULONG NumberOfMapRegisters
...