Вот наконец-таки заинсталлил WDK.6000, но появилась проблема. Не собираются исходники для w2k. Пишет следующие чего в 3790.1830 не наблюдаслоь
вообщем даже простой драйвер у которого есть только DriverEntry которая вызывает ExAllocateFromNPagedLookasideList, не собирается и пишет о error LNK2019. Может кто попробует собрать простой драйвер с этой функцией
а что там аттачить... вот например: Код (Text): #include <ntddk.h> PNPAGED_LOOKASIDE_LIST pNPagedLL; LIST_ENTRY ListHead; NTSTATUS DriverEntry (IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath ) { NTSTATUS status = STATUS_DEVICE_CONFIGURATION_ERROR; pNPagedLL = ExAllocatePool(NonPagedPool, sizeof(NPAGED_LOOKASIDE_LIST)); if (NULL != pNPagedLL) { ExInitializeNPagedLookasideList(pNPagedLL, NULL, NULL, 0, sizeof(ULONG), NULL, 0); InitializeListHead(&ListHead); } ExAllocateFromNPagedLookasideList(pNPagedLL); return status; } Могу даже полный лог сборки привести, правда он большеват, но если надо выложу
Если ты его в VS собираешь, подключил что-то типа hal.lib ntoskrnl.lib int64.lib msvcrt.lib kernel32.lib? По крайней мере InterlockedPushEntrySList требует последней.
1. либо нет библиотеки с указанными символами 2. либо указанные символы экспортируются с другими именами
да, только экспортируются эти ф-ции по именам _InterlockedPushEntrySList@8 и _InterlockedPopEntrySList@4... а кое-кто пытается найти их по несколько другим именам, перепутав _cdecl и _stdcall.
Ну так что теперь делать то??? Пробовал подключать разные либы где встречатеся эта ф-я Код (Text): #pragma comment(lib, "*.lib") толку ноль. Может кто ткнет носом меня, а то как то нехорошо уже получается...
Возможно, у тебя где-то определена _WINBASE_. Либо убирай её, либо попробуй так: Код (Text): #define _WIN2K_COMPAT_SLIST_USAGE #include <ntddk.h> InterlockedPopEntrySList и т.п. есть как в ядре (макрос), так и в юзере (функция) и компилятор у тебя подсовывает линкеру юзерный вариант.