gpt4 book ai didi

c# - 标记为受限的函数或接口(interface),或者函数使用了 Visual Basic 不支持的自动化类型

转载 作者:太空狗 更新时间:2023-10-29 22:17:35 26 4
gpt4 key购买 nike

这个错误在 VB6 中意味着什么?

Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic.

当我调用 windows xp 及更高版本的 dll 的特定方法(在 system32 中称为 upnp.dll)时,我一直得到它

最佳答案

这是从类型库中检索到的 FindByType() 的声明:

    HRESULT FindByType(
[in] BSTR bstrTypeURI,
[in] unsigned long dwFlags,
[out, retval] IUPnPDevices** pDevices);

注意第二个参数,unsigned long。 VB6 不支持无符号类型。这在 VB.NET 或 C# 中不是问题,它们确实支持它们。

如果您安装了 Windows SDK,这个问题是可以解决的。如果你有最新版本的 Visual Studio,你应该有它。使用 Visual Studio 命令提示符,然后:

  • 运行 oleview.exe c:\windows\system32\upnp.dll
  • 键入Ctrl+A、Ctrl+C复制类型库内容
  • 运行 notepad.exe,Ctrl+V。搜索“未签名”并将其删除。有两个。
  • 将文件保存到名为 upnp.idl 的临时目录
  • 运行 midl upnp.idl/tlb upnp.tlb
  • 将生成的 upnp.tlb 复制到您的项目目录

您现在可以添加 upnp.tlb 而不是 upnp.dll,您应该不会再收到错误。 -

关于c# - 标记为受限的函数或接口(interface),或者函数使用了 Visual Basic 不支持的自动化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3965767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com