使用 Delphi 中的 RasGetEntryProperties 确定 RasEntry 结构大小
我正在尝试创建 DUN 条目。
我正在使用 null 的 lpRasEntry 参数调用 RasGetEntryProperties。这应该在 lpdwEntryInfoSize 参数中返回结构大小。相反,它会返回错误 - ERROR_INVALID_SIZE。
如何调用RasGetEntryProperties函数获取RasEntry结构体大小?
I'm trying to create a DUN entry.
I am calling RasGetEntryProperties with a lpRasEntry parameter of null. This should return the structure size in the lpdwEntryInfoSize parameter. Instead it returns an error - ERROR_INVALID_SIZE.
How do I call the RasGetEntryProperties function to get the RasEntry structure size?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文档说
Error_Invalid_Size
是当RasEntry
记录的dwSize
字段不正确时出现错误。如果该函数能够读取该字段,则您没有像您声称的那样为 lpRasEntry 参数提供空指针。 Microsoft 文档说“null”,而在 Delphi 中,保留字nil
指定空指针。不要与名为Null< 的函数混淆/代码>
;它指定特殊的
Variant
值。根据文档,您应该具有如下代码:
您询问函数需要多大的缓冲区(在
RasBufferSize
中),然后告诉它您期望它填充多大的缓冲区(在 RasEntry.dwSize 中)。dwSize
字段告诉函数您期望接收的结构版本。The documentation says that
Error_Invalid_Size
is the error when thedwSize
field fo theRasEntry
record is incorrect. If the function was able to read that field, then you did not provide a null pointer for thelpRasEntry
parameter as you claim you did. The Microsoft documentation says "null," and in Delphi, the reserved wordnil
designates the null pointer. Do not get confused with the function namedNull
; it designates the specialVariant
value.Based on the documentation, you should have code like this:
You ask the function how large a buffer it requires (in
RasBufferSize
), and then you tell it how large a buffer you're expecting it to fill (inRasEntry.dwSize
). ThedwSize
field tells the function what version of the structure you're expecting to receive.