Annotation DMA IO Misue _Kernel_IoGetDmaAdapter_ pour les pilotes
Utilisez l’annotation _Kernel_IoGetDmaAdapter_ pour indiquer aux outils d’analyse du code de rechercher une mauvaise utilisation des pointeurs DMA.
Si une fonction appelle une interface annotée avec l’annotation _Kernel_IoGetDmaAdapter_, elle doit avoir une logique de nouvelle tentative telle que les nouvelles tentatives se produisent jusqu’à ce que la fonction réussisse.
La routine IoGetDmaAdapter peut retourner un nombre inférieur au nombre de registres demandé, et l’appelant doit continuer à utiliser le numéro réel, et non le numéro demandé.
_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
...
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour