Re[5]: IOCTL драйвер вне стека
От: TarasCo  
Дата: 08.10.04 12:23
Оценка:
Здравствуйте, ArtSh, Вы писали:

AS>Здравствуйте, Аноним, Вы писали:



А>>NTSYSAPI

А>>NTSTATUS
А>>NTAPI
А>>NtDeviceIoControlFile(
А>> IN HANDLE FileHandle,
А>> IN HANDLE Event OPTIONAL,
А>> IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
А>> IN PVOID ApcContext OPTIONAL,
А>> OUT PIO_STATUS_BLOCK IoStatusBlock,
А>> IN ULONG IoControlCode,
А>> IN PVOID InputBuffer OPTIONAL,
А>> IN ULONG InputBufferLength,
А>> OUT PVOID OutputBuffer OPTIONAL,
А>> IN ULONG OutputBufferLength );


AS>После такого объявления, линкер ищет функцию(__imp_?NtDevice...), а в библиотеке есть (__imp__NtDevice...) что делать?



это потому что Вы на гадском С++ пишите , если так хочется тогда извольтес: extern "C"

я обычно переобъявляю так:

#ifdef __cplusplus
#define EXTERNC extern"C"
#else
#define EXTERNC
#endif


и пишу EXTERNC

или можно еще сишные заголовки так подключать:

extern "C" {
#include <ndis.h> //для примера
}

или самое простое решение: переименуйте свой модкль в *.с
Да пребудет с тобою сила
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.