Compartilhar via


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

...

Anotações de SAL 2.0 para drivers do Windows