Windows API 调用中 Long 变量类型的 Null 值是什么?

发布于 2024-11-10 07:26:17 字数 117 浏览 2 评论 0原文

愚蠢的问题。我认为这应该是0,但我似乎找不到它。

那么,如果我想将 Null 值传递给 Windows API 调用(这恰好是在 VB6 中),我会使用什么值? 我认为是 0,但我猜可能是 VBNull。

Stupid question. I think this should be 0, but I can't seem to find it.

So, if I want to pass a Null value to a Windows API call (this happens to be in VB6), what value would I use?
I think 0, but I guess it could be VBNull.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不弃不离 2024-11-17 07:26:17

如果 API 参数是 LONG(而不是 LPVOID),请尝试传递零长整数文字 0&

If the API argument is a LONG (and not, say, an LPVOID), try passing the zero long integer literal 0&.

浅紫色的梦幻 2024-11-17 07:26:17

通常,这将是一个空指针,而不是空值。

那么就看实际使用的Declare语法了。如果声明的参数是 ByRef ... As ... 项,那么您会说 ByVal 0& (或有时 vbNullString)你的电话。

但是,如果您在声明中将指针声明为 ByVal ... As Long(与 VarPtr()StrPtr() 等一起使用)。 )只需在调用中使用 0& 就是您想要的。

Often this would be a null pointer and not a null value.

Then it depends on the Declare syntax actually used. If the declared argument was a ByRef ... As ... item then you'd say ByVal 0& (or sometimes vbNullString) in your call.

However if you declared pointers as ByVal ... As Long in the declaration (for use with VarPtr(), StrPtr(), etc.) simply using 0& in the call is what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文