什么是”ByRef参数类型不符“错误?

chxlp 2004-02-27 11:27:24
我的一段关于读出注册表值的程序老是报错:ByRef参数类型不符,能帮我看看是什么原因吗?谢谢!
模块里:Public Function ReadValue(mainkey As Long, keyname As String, value As String) As String
Dim phkResult As Long
Dim re As Long
Dim buffer As String
Dim size As Long
On Error GoTo err
If RegOpenKeyEx(mainkey, keyname, 0, KEY_ALL_ACCESS, phkResult) <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
re = RegQueryValueEx(phkResult, value, 0, REG_SZ, 0&, size)
If re <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
buffer = String$(size - 1, 0)

re = RegQueryValueEx(phkResult, value, 0, REG_SZ, buffer, size)
If re <> ERROR_SUCCESS Then
Call RegCloseKey(phkResult)
End If
ReadValue = buffer '返回函数值
err:
Call RegCloseKey(phkResult)
End Function

调用中的出错语句:
ret = ReadValue(HKEY_LOCAL_MACHINE,“SYSTEM\ControlSet001\Control\Session Manager\Environment", ”Path“)
每次出错都把光标定位在HKEY_LOCAL_MACHINE上。
...全文
78 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
VB基础类
创建于2007-09-28

7491

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-02-27 11:27
社区公告
暂无公告