OMG. Ještě jednou: v době Windows 95 spousta HW nebyla PnP, a na spoustu věcí nebyly drivery, takže Windows o existenci daného HW nevěděly - neměly seznam jeho I/O portů a bufferů. Detekovat kam program sahá jen není problém. Problém je, co s tou informací udělat, když nemáte driver, a nevíte co na tom portu visí (a nebo nevisí). Navíc aplikace nemusí běžet v jediném procesu, a s HW si může povídat víc procesů najednou. Navíc otázkám na povolení přístupu k HW nebude uživatel rozumět, tak jako nerozumí dotazům firewallu. Navíc u full screen aplikace budete těžko zobrazovat dotaz. Navíc to neřeší problém driverů psaných pro DOS. Je to past vedle pasti, (c) mechanik Luboš, a proto MS touhle cestou nešel. Nabídnul virtualizaci běžného HW, s tím že zbytek se nedal efektivně řešit, a aplikacím se proto přístup neblokoval.
Samozřejmě v NT to bylo (a je) jinak: aplikace psaná pro DOS nebo staré Windows buď použila virtualizovaný HW, nebo měla smůlu. To je samozřejmě jediný konzistentní přístup, ale nebudou vám fungovat drivery psané pro DOS, ani aplikace komunikující napřímo s HW.