我已经
#include "Windows.h"
#include "Winbase.h"
了,
甚至连
#pragma comment(lib, "kernel32.lib")
也用上了。但是还是出现错误:error C2065: 'SetFilePointerEx' : undeclared identifier环境:windows xp sp3 , vc6.0如何解决?
#include "Windows.h"
#include "Winbase.h"
了,
甚至连
#pragma comment(lib, "kernel32.lib")
也用上了。但是还是出现错误:error C2065: 'SetFilePointerEx' : undeclared identifier环境:windows xp sp3 , vc6.0如何解决?
解决方案 »
- 这个并口过滤驱动该如何写???80分奉上
- 真心求你耐心讲讲下面的 类函数中定义static变量的意图,真心求真心的你
- 有人可以给我一个vc++开发的含有结构体的dll被vb调用的例子源代码吗?谢谢
- 安全数组SAFEARRAY转成CString类型数组出错
- 为什么IXMLDOMDocument,IXMLDOMNode的get_text(BSTR*)方法会把子节点节点的Text也读出来?如何只读当前节点的文本,不读子节点的文本
- 某天看到这么一个程序,动态显示,不解,求答
- CDialog在标题栏中的的窗口如何隐藏掉?
- WideCharToMultiByte这个函数怎么用啊?
- 编译问题
- 网络问题:如果想拦截WinSocket,到底应该替换哪个文件??
- MFC编程里面的各个文件该如何使用呢? (送分题)
- 关于将char数组类型的数据绘制成图片问题,在线等
Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Unsupported.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
在查找到SetFilePointerEx的声明,然后自己声明一次。
把lib加入链接嚣的选项中
#include "Windows.h"
#pragma comment(lib, "kernel32.lib")
typedef BOOL (__stdcall *SetFilePointerEx)(
HANDLE hFile,
LARGE_INTEGER liDistanceToMove,
PLARGE_INTEGER lpNewFilePointer,
DWORD dwMoveMethod);
问题是如果我将以上全部都做了的话,就会报错误:
error C2564: 'int (__stdcall *)(void *,union _LARGE_INTEGER,union _LARGE_INTEGER *,unsigned long)' : function-style conversion to builtin type takes only one argument我感觉好像是最后一个函数声明有问题
typedef BOOL (__stdcall *pSetFilePointerEx)(
HANDLE hFile,
LARGE_INTEGER liDistanceToMove,
PLARGE_INTEGER lpNewFilePointer,
DWORD dwMoveMethod);
函数声明 HINSTANCE h=::LoadLibrary("Kernel32.dll");
if(!h)return; pSetFilePointerEx SetFilePointerEx=(pSetFilePointerEx)::GetProcAddress(h,"SetFilePointerEx");
if(!SetFilePointerEx){::FreeLibrary(h);return;}
获取DLL的函数地址直接使用