阅读:1365回复:2
新手求教:在DriverStudio生新的驱动框架中ZwQueryDirectoryFile函数时报连接错误,而在C写的框架中就没问题
定义的原码如下:
extern NTSYSAPI NTSTATUS NTAPI ZwQueryDirectoryFile( IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, OUT PVOID FileInformationBuffer, IN ULONG FileInformationBufferLength, IN FILE_INFORMATION_CLASS FileInfoClass, IN BOOLEAN bReturnOnlyOneEntry, IN PUNICODE_STRING PathMask OPTIONAL, IN BOOLEAN bRestartQuery); 引用如下: NTSTATUS Filehide::DriverEntry(PUNICODE_STRING RegistryPath) { ... RealZwQueryDirectoryFile=(REALZWQUERYDIRECTORYFILE)(SYSTEMSERVICE(ZwQueryDirectoryFile)); ... } 报错为: ilehide.obj : error LNK2019: unresolved external symbol \"__declspec(dllimport) long __stdcall ZwQueryDirectoryFile(void *,void *,void (__stdcall*)(void *,struct _IO_STATUS_BLOCK *,unsigned long),void *,struct _IO_STATUS_BLOCK *,void *,unsigned long ,enum _FILE_INFORMATION_CLASS,unsigned char,struct _UNICODE_STRING *,unsigned char)\" (__imp_?ZwQueryDirectoryFile@@YGJPAX0P6GX0PAU_IO_STATUS_BLOCK@@K@Z010KW4_FILE_INFORMATION_CLASS@@EPAU_UNICODE_STRING@@E@Z) referenced in function \"public: virtual l ong __thiscall Filehide::DriverEntry(struct _UNICODE_STRING *)\" (?DriverEntry@Filehide@@UAEJPAU_UNICODE_STRING@@@Z) 请高人指点,而在C写的框架中如此引用就没问题 |
|
沙发#
发布于:2003-10-22 09:48
很明显,你忘了加extern \"C\"
|
|
板凳#
发布于:2003-10-22 11:13
原来是加了extern \"C\"的,不行,现在又试了一下也是不行.
我没有用DS了,程序到是都编译成功,可没有INI文件,也没有GUID,怎么安装和调试了,新的问题又出来了 |
|