0

Every time I try to load DLL (COM) I get the following error:

LDR: LdrpWalkImportDescriptor() failed to probe for its manifest, ntstatus 0xc0150002

I searched a lot but found nothing. Please I really believe in this site experts and I hope to get a solution to this problem.

I know that the problem is from manifest file but I really don't know what is it and how to fix this

I use VS2010 C++ and LoadLibrary

4

3 回答 3

2

这是来自 ntstatus.h 的错误代码的描述:

//
// MessageId: STATUS_SXS_CANT_GEN_ACTCTX
//
// MessageText:
//
// Windows was not able to process the application binding information.
// Please refer to your System Event Log for further information.
//
#define STATUS_SXS_CANT_GEN_ACTCTX       ((NTSTATUS)0xC0150002L)

查看 Windows 事件日志以获取更多信息。一个非常常见的错误是 DLL 需要的 CRT 运行时库没有安装在您的机器上。如果这没有帮助,请发布您在问题中看到的内容。或者联系 COM 组件供应商或作者寻求支持,这是最好的方式。

于 2011-05-01T18:17:11.147 回答
1

Com dll 未使用 loadlibrary 加载。当您为库中实现的对象执行 CoCreateInstance 时,系统会自行加载它们。

问题似乎是缺少 com dll 所依赖的 dll。

于 2011-05-01T18:11:44.303 回答
0

Google 为这个错误生成的第一个第二个链接都表明它通常是由运行时库版本控制引起的。两者都早于 VS2010,但我会从寻找类似问题开始。您是否尝试过复制第一篇文章中描述的分析步骤?

(DLL 是您创建的吗?如果不是,也许它实际上是用 VS2008 构建的并且与该帖子完全对应?如果是这样,也许您可​​以尝试那里推荐的编译调整。)

于 2011-05-01T18:16:50.707 回答