如何检查是否已调用OleInitialize?

3

我想编写一个Delphi函数来注册dll文件。在执行注册之前,我希望该函数检查是否已经调用了OleInitialize函数。我猜我试图避免初始化两次的后果,因为我不确定它们可能会是什么。我担心我的函数不能像regsvr32.exe一样处理各种类型的dll文件。


2
如果你的函数需要初始化 COM,并且你不确定它是否已经被初始化,那么在文档中记录函数的前置条件之一是应用程序必须已经初始化它。然后你的函数就不必担心这个问题了。 - Rob Kennedy
1个回答

8
请查看文档:

返回值
[...]
S_FALSE - 在该单元中,COM库已经初始化。

...还有:

通常,在单元上只会初始化一次COM库。后续调用将成功,只要它们不尝试更改单元的并发模型,但将返回S_FALSE


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接