Condividi tramite


DMA IO Misue _Kernel_IoGetDmaAdapter_ annotazione per i driver

Usare l'annotazione _Kernel_IoGetDmaAdapter_ per indirizzare gli strumenti di analisi del codice per cercare l'uso improprio dei puntatori DMA.

Se una funzione chiama un'interfaccia annotata con l'annotazione _Kernel_IoGetDmaAdapter_, deve avere la logica di ripetizione dei tentativi, in modo che i tentativi si verifichino finché la funzione non riesce.

La routine IoGetDmaAdapter potrebbe restituire meno del numero richiesto di registri e il chiamante deve procedere usando il numero effettivo, non il numero richiesto.

_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

...

Annotazioni SAL 2.0 per i driver Windows