vb中调用api时,参数传入传出的问题。

ghyd 2006-08-06 07:27:06
我在vb中调用api函数:deviceiocontrol。在msdn中是如下定义的:
BOOL DeviceIoControl(
HANDLE hDevice, // handle to device
DWORD dwIoControlCode, // operation
LPVOID lpInBuffer, // input data buffer
DWORD nInBufferSize, // size of input data buffer
LPVOID lpOutBuffer, // output data buffer
DWORD nOutBufferSize, // size of output data buffer
LPDWORD lpBytesReturned, // byte count
LPOVERLAPPED lpOverlapped // overlapped information
);
其中,参数lpOutBuffer是个void类型的指针,在vb中对应的定义为“Any”。
在vb中传这个指针给这个函数,然后在这个api函数中赋一个“Long”型的数值给该指针所指向的地址。
问题是,我在vb中怎么进行声明和调用,才可以正确读取到api函数传回来的数值?
...全文
296 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pigsanddogs 2006-08-10
  • 打赏
  • 举报
回复
shengming 不要带 byval
传递的时候也不要带byval
申明一个type
type youstruct
a as long
b as long
end type
dim parma as yourstruct
call API(parma)
ghyd 2006-08-09
  • 打赏
  • 举报
回复
我提的 那个问题已经自行解决了.
现在有隔新问题: 就是,vb调用api函数,要传个数据结构给api的参数,那么 需要怎么进行声明,和使用呢?
winehero 2006-08-06
  • 打赏
  • 举报
回复
有个例子,用于截获IP数据包,申明调用都有,供你参考:
http://www.xuevb.net/modules/news/article.php?storyid=545
boywang 2006-08-06
  • 打赏
  • 举报
回复
要看你调用的功能。
api函数传回来的数值类型和功能号有关。具体看ddk或者是sdk。

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧