Здравствуйте, 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> //для примера
}
или самое простое решение: переименуйте свой модкль в *.с