问题标签 [iunknown]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - VB6 到 C#:IUnknown
我在 VB6 中有一个属性,我正在尝试将其转换为 C#。如下:
m_coll
是私有变量,现在是 aArrayList
而不是前者Collection
。
m_coll
正在填充我自己的类对象之一。如您所见,此属性属于IUnknown类型。
在这一点上我可能只是没有正确思考,但是在 C# 中是否有与这种属性等效的东西?
delphi - 从 IShellLibrary 添加、删除文件夹
我正在尝试编写两个函数来从IShellLibrary
. 我从这个开始,但该函数在System._IntfClear
:
第一次机会例外在 $000007FEFE 168BC4。带有消息“c0000005 ACCESS_VIOLATION”的异常类 $C0000005。
这SHAddFolderPathToLibrary
是导致异常的行
我想我需要将库名称添加到函数中?
iunknown - 使用上传的文件自动生成图像
我必须创建一堆 jpeg 图像,它们具有相同的模板,只有几个组件会根据用户而变化。我想知道用来做这个的最好的软件/语言是什么?
例如:我必须生成一个 2443x2443 的 jpeg。只有名称和配置文件描述会改变。这些更改将由用户提供。
php - yii 属性“CWebUser.bootstrap”未定义,无法访问gii
我有一个使用 yii 框架的网站。首先,在我启动并运行网站后,我想安装引导程序(yii-bootstrap-2.1.0.r355.zip)。然而,这并不顺利。
我收到以下错误“未定义属性“CWebUser.bootstrap”。”
Bootstrap 扩展被放置为 /blog/protected/extensions/bootstrap
我的主要配置文件看起来像这样
);
excel - 如何在 VBA 中实现自定义可迭代类
我想在我的类中添加一个特性,这样我就可以在 for-each 循环中使用它们。
我写了我想要迭代的 hashmaps、arraylists、队列、集合等等。现在我正在寻找一种方法来实现 IUnknown 类来构建自定义迭代器。
我已经知道如何使用
但是所有这些示例都基于我不想使用的 Collection 类。
我想关注的是尝试实现 IUnknown 接口,但我还没有找到任何关于如何做到这一点的参考资料。
我在 Java、C++、C# 等方面有丰富的经验,所以我认为即使在 VBA 中也必须有一种方法来实现它,甚至可能使用 API 调用之类的东西。
c++ - 当我的程序终止时,我是否应该总是在 COM 指针上调用 Release?
我知道现代 Windows 版本会在程序终止后回收以前使用 等获取的内存malloc
,new
但是 COM 对象呢?我应该obj->Release()
在程序退出时调用它们,还是系统会为我这样做?
我猜它:这取决于. 对于进程外 COM,我可能应该总是调用Release()
,但对于进程内 COM,我认为这并不重要,因为 COM 对象在程序终止后无论如何都会死掉。
runtime-error - ConnectEx 返回 false 并且 WSAGetLastError 返回 0
这个片段是一个函数的一部分,当套接字连接(或连接)时应该返回 true,如果有任何失败则返回 false。
我不明白为什么 rc 和 err 总是为零,无论块的实际结果如何。如果参数正确(上面的顺序),尽管指示失败(我看到套接字与 netstat 连接),此块仍然有效。但是如果我调整参数,通过将重叠更改为 NULL 或将套接字更改为 -1,函数返回相同的值。
interface - 为什么 AddRef() 和 Release() 的返回类型不是 HRESULT
最近开始学习COM。在 COM 中,函数的返回类型应该是 HRESULT。已阅读有关IUnknown 函数的HRESULT
问题GetLastError()
,但为什么,AddRef()
并Release()
有返回类型ULONG
?
我想出了AddRef()
(几乎)总是从 调用的答案QueryInterface()
,而客户不应该调用它。而对于Release()
,它的返回值永远不会被检查。
虽然我可以与 - 因为AddRef()
- 客户可能会遇到他不得不称之为的情况来争论我自己的答案。并且由于客户可以访问该功能,客户不会调用它的保证是什么。
for Release()
- 同样,用户可以检查它的返回类型,因为他可以
请说清楚。
也像 --> 它的约定是为 COM 相关函数设置 HRESULT 返回类型,而不是强制 --> 如果这是真的,它将停止我大脑中的混乱。
c# - 如何使用 C# 将 IUnknown 参数传递给 COM 接口?
我有一个这样定义的 COM 接口
如何IUnknown
使用 C# 传递对象?