Hej Vikki,
Hvis Windows rapporterer en IOMMU- eller Kernel DMA Protection-fejl, er problemet ofte, at enhedsdriveren ikke er valideret til DMA-omlægning, hvilket Windows kræver for sikkert at kunne kontrollere hukommelsesadgang for PCIe-enheder. Enheder, der ikke er DMA-remapping-kompatible, kan blive blokeret fra at få adgang til visse hukommelsesområder, når Kernel DMA Protection er aktiveret.
For at kontrollere kompatibilitet under udviklingen, skal du først verificere at Kernel DMA Protection er aktiveret på testsystemet, og gennemgå Event Viewer for enhedsinitialisering, Plug and Play og DMA-relaterede hændelser. Disse logfiler kan hjælpe med at identificere, om Windows blokerer enheden på grund af DMA's sikkerhedskrav.
Microsofts anbefalede tilgang er at sikre, at driveren eksplicit understøtter DMA-omlægning og tilmelder sig gennem driverens INF-konfiguration. Du bør også bruge Driver Verifier DMA-kontroller under valideringen, da dette kan opdage DMA-overholdelsesproblemer før implementering.
Håber det hjælper!
Harry