Пытаюсь использовать winnt.h в драйвере. Понадобились оттуда структуры (ну не описывать же заново весь PE-формат). При попытке подключения его получаю кучу ошибок: Гуглил, нашел решения вида: убрать хидеры в свое пространство имен, сделал так: Код (Text): namespace NT { extern "C" { #pragma warning(disable:4005) #pragma warning(disable:4200) #include <windows.h> #include <winnt.h> #pragma warning(default:4005) #pragma warning(default:4200) } } , но появились новые ошибки: Подскажите, пожалуйста.
Forever Спасибо, так и сделал. Но хотелось бы услышать ответ про winnt.h. Как одновременно с ntddk.h его заставить работать? Просто интересно.
Ну либо шаманить с неймспейсами (в конце концов заработает,проверял), но гораздо проще описать нужные структуры/функции вручную. МС как назло сделали ддк и сдк несовместимыми (и вообще у них для использования _всего_ нужно подключить один заголовочный файл - это плохая идеология. как надо было сделать - см. STL)
ddk и sdk еще хрен с ним а вот когда ntddk.h несовместим блин с ntifs.h а в дрове юзаются оба - вот тут уже маму билли вспоминаю очень громко
Great Подскажи, как описать ф-цию DeviceIoControl в драйвере, если подключен ntifs.h, у меня не получается.
n0name Это понятно. Вопрос в том, как подключить windows.h совместно с ntifs.h. Они, видимо, несовместимы.
IceFire FSCTL_GET_NTFS_VOLUME_DATA в ntifs.h есть ZwDeviceIoControlFile и всякие функции для работы с irp тоже есть чего еще нужно неясно