James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1314回复:2

VC中 FARPROC 的用法请教

楼主#
更多 发布于:2002-06-24 14:25
我查看了一下FRAPROC在windef.h中的定义如下:

typedef int (FAR WINAPI *FARPROC)();

这应该是定义了一个返回int的函数指针。那么我该如何使用它呢?
我在程序中进行如下定义:
BOOL (FARPROC *ProvVerifyImage)(LPCSTR lpszImage, BYTE* pData );编译时这一句出错。

请教大虾,能否讲一下FARPROC定义的含义及用法?
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-24 15:22
这是一个函数指针啊!他没有参数
例如你有一个这样的函数
int
a()
{
}

那么你可以这样
FARPROC  b=a;
调用的时候就是可以b()了
James.Ji
驱动老牛
驱动老牛
  • 注册日期2001-09-17
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分-9分
  • 威望-8点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-24 15:42
老鼠:
我试了一下,但必须这样才能通过:
FARPROC b=(FARPROC)a;

我又试了一下:
int
a(int c)
{
}
FARPROC b=(FARPROC)a;
b(4);

结果能够进入到函数内部,但出函数a()是栈错误。
这样的情况该如何调用?

 


 
车到山前必有路。 虽然有些土,却是我最有感触的一句话。
游客

返回顶部