(далее под термином "Windows" подразумеваются ОС подсемейства Windows NT: NT, 2000, XP)
Windows не даёт прямого доступа к оборудованию на уровне пользовательских приложений. Вместо этого она предоставляет интерфейс к ним в виде библиотек функций. Так и должно быть: во первых, в условиях многозадачности необходима диспетчеризация запросов к разделяемому аппаратному ресурсу, во вторых ОС обеспечивает достаточный уровень абстрагирования для единообразного обращения с классом устройств, например, звуковых карт, в третьих - ОС обеспечивает таким образом необходимый уровень защиты самой себя и приложений от ошибочных действий последних. Кроме того, современное оборудование сложно и внутри класса несовместимо по наборам управляющих регистров - тебе придётся создавать свою библиотеку драйверов, но ведь она уже есть в Windows!
Мораль: прямое программировние оборудования при работе в Windows нужно только при разработке нового устройства, совместимого с самим собой.