“班级未注册”是哪个班级?

2024-04-30

考虑这段代码:

try {
    ISomeObject pObj(__uuidof(SomeClass));
    ISomeObject pObj2(__uuidof(SomeOtherClass));
} catch ( _com_error& e ) {
    // Log what failed
}

IE。我有一段代码可以实例化我的对象。 有时(错误的安装)它会失败,因为某些类没有正确注册。 (我没有特别的问题,只是在这里进行一般性讨论。)

是否有某种方法可以从捕获的异常或其他方式中了解哪个类失败了? A 考虑过制作一个自己的包装器,它存储一个变量,例如gLastCreateAttemptUuid,但感觉很麻烦。

另外,假设 SomeClass 又尝试实例化其他未注册的东西。那么我们能找出根本问题吗?


CoCreateInstance() 调用者有责任提供有关其尝试实例化的内容的足够信息 - ATL 和 Native COM 支持都没有内置的功能。

您可以调用其 CreateInstance() 方法,而不是调用使用类 id 进行参数化的智能指针构造函数 - 它具有完全相同的参数集,但不会抛出异常。然后,您可以检查 HRESULT 并处理错误,并向错误处理程序提供您刚刚使用的类 ID。

但是,如果问题发生在您无法控制的代码中,它将对您没有帮助。极端情况下你可以使用过程监控器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx监视注册表查询并检测哪个类 ID 导致了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“班级未注册”是哪个班级? 的相关文章

随机推荐

  • 如何打印/存储非 ASCII 字符(unicode?)

    我正在阅读大量的音乐家档案 其中许多艺术家的名字中都有奇怪的字符 因为他们可能来自德国或其他一些具有非 ASCII 字符的国家 我希望能够将这些音乐家的名字存储在列表中并将它们打印到控制台 如何打印从文本文件读入的带有奇怪字符的字符串 让我
  • 我们可以通过编程方式访问 iOS 系统设置的常规/辅助功能/字幕和字幕吗?

    我必须使用 iOS 设置应用程序中的字幕和字幕系统设置 有什么办法 我们可以通过编程来获取它 您可以使用 UIAccessibilityIsClosedCaptioningEnabled 方法来了解 iOS 设置 gt 常规 gt 辅助功能
  • 删除 Eclipse 图形布局中的 Android 状态栏

    如何删除 Eclipse 图形布局中 android 模拟器的状态栏 我的应用程序设置为以全屏模式运行 但我在布局方面遇到了困难 因为状态栏出现在 Eclipse 的图形布局中 您只需更改下拉列表中的主题 或者用 Android 术语来说可
  • 使内容适合 div 的宽度

    如何使文本适合 div 的宽度 这是我的代码 div class column a href class user thumbnail img src width 100px height 100px a span class name t
  • ImageMagick - 向图像添加白色透明覆盖层

    我需要拍摄一张正常的图像 并添加白色透明覆盖层 使其看起来像这样 不要注意转换后图像上的文本或它是原始图像的裁剪版本这一事实 我需要简单地将顶部转换为完全相同的图像 只是使用白色透明的覆盖层 我还需要它是一个 cli 命令 更新答案 这更容
  • 如何在Sql Server 2008全文搜索中忽略html标签

    我正在使用 SQL Server 2008 全文搜索引擎开发一个知识库项目 项目包含在文章和文件中 其中每篇文章都有多个文件 在这些文章中 全部内容是纯html 现在 我在 SQL Server 2008 上成功创建了全文目录和索引 并且我
  • Python sched.scheduler 超过最大递归深度

    我最近开始学习 Python 我正在制作的简单应用程序的一部分包括一个在其自己的线程中运行的带有 hh mm ss 显示的计时器 环顾网络 我发现了两种实现此目的的方法 使用 sched scheduler 使用threading Time
  • 创建自定义 BigDecimal 类型

    在我的应用程序中 所有 BigDecimal 数字都被缩放为具有两位小数 换句话说 每次我在代码中创建一个新的 BigDecimal 时 我也需要使用方法scale BigDecimal x BigDecimal ZERO x setSca
  • 如何在 Rails Admin 中隐藏添加新选项

    我正在自定义 Rails Admin https github com sferik rails admin https github com sferik rails admin 我需要禁用 隐藏某些型号的 添加新 选项 任何帮助都会为我
  • Python:使用html解析器提取特定数据

    我开始使用 Python 中的 HTMLParser 从网站中提取数据 我得到了我想要的一切 除了两个 HTML 标签内的文本 以下是 HTML 标签的示例 a href http wold livingsources org vocabu
  • 当我在 Excel 中运行宏时标题被切断

    我在主电子表格中设置了一个标题 在其中运行不同的宏以对信息进行不同的排序 当我运行宏时 标题的底部部分被切断 我的标题确实包含图像 不确定这是否与之有关 我还在所有宏中运行以下代码部分来格式化第一行信息 Rows 1 1 WrapText
  • 将日期时间转换为时间跨度

    我想转换一个DateTime实例化为TimeSpan举例来说 可能吗 我环顾四周 但找不到我想要的东西 我只找到了时差 更具体地说 我想转换DateTime实例以毫秒为单位 然后将其保存到IsolatedStorage 中 您可以只使用日期
  • Smalltalk 和 IoC

    我看到很多 Net 和 Java 的 IoC 框架 有谁知道为什么 Smalltalk 没有等效的框架 这更像是一个哲学问题 我想知道 Smalltalk 的做事方式中是否有某些东西排除了 IoC 框架的必要性 MVC http en wi
  • 更改 Word 文档的页边距

    我创建了一个带有按钮的 Web 部件 单击该按钮后会生成一个包含特定列表的列表项值的 Word 文档 我希望能够更改文档的边距 顶部 底部边距 但我不确定如何继续 谁能阐明如何实现这一目标 到目前为止 我的代码如下 void Generat
  • 从 ggplot 转换时,plotly 会删除分组图例(按颜色、按符号)

    我不太明白为什么当我转换由ggplot to plotly using ggplotly The 情节帮助页面 https plotly com ggplot2 legend 没有任何信息 我认为他们的示例在该页面上甚至无法正常工作 任何帮
  • GLSL - 计算表面法线

    我有一个用 GLSL 编写的简单顶点着色器 我想知道是否有人可以帮助我计算表面的法线 我正在 升级 一个平面 所以当前的灯光模型看起来 很奇怪 这是我当前的代码 varying vec4 oColor varying vec3 oEyeNo
  • 在 R 中生成具有不同样本大小的多项式随机变量

    我需要生成具有不同样本大小的多项随机变量 假设我已经生成了样本大小 如下所示 samplesize c 50 45 40 48 然后我需要根据这个不同的样本大小生成多项随机变量 我尝试使用 for 循环并使用 apply 函数 sapply
  • 将表达式转换为带有扭曲的合取范式

    我有一个必须与之交互的库 它基本上充当数据源 检索数据时 我可以将特殊的 过滤表达式 传递给该库 稍后将其转换为 SQL WHERE 部分 这些表达方式非常有限 它们必须是合取范式 喜欢 A or B or C and D or E or
  • readRDS 无法读入 R 中的文件。是否有替代方案?

    我正在尝试读取从此处下载的 RDS 文件 https github com jheng5 googleCharts tree master inst examples bubble https github com jcheng5 goog
  • “班级未注册”是哪个班级?

    考虑这段代码 try ISomeObject pObj uuidof SomeClass ISomeObject pObj2 uuidof SomeOtherClass catch com error e Log what failed I