Share via


Anotación de _Kernel_IoGetDmaAdapter_ misue de E/S de DMA para controladores

Use la anotación _Kernel_IoGetDmaAdapter_ para dirigir las herramientas de análisis de código para buscar el uso incorrecto de los punteros DMA.

Si una función llama a una interfaz anotada con la anotación _Kernel_IoGetDmaAdapter_, tendrá lógica de reintento para que los reintentos se produzcan hasta que la función se realice correctamente.

La rutina IoGetDmaAdapter podría devolver menos del número solicitado de registros y es necesario que el autor de la llamada continúe usando el número real, no el 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

...

Anotaciones SAL 2.0 para controladores de Windows