问题标签 [queryinterface]

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.

0 投票
2 回答
440 浏览

c# - C# -对象铸造

据我所知,如果我们在处理COM接口,任何简单的转换通常都会触发QueryInterface例程,该例程用于确定对象是否实际实现了相应的COM接口。

因此,以下代码(取决于编译器和优化)可能会触发内部QueryInterface对象转换实现:


问:

假设我有一个通用List<T>实例:

现在,我是否有强有力的保证以下代码不会触发QueryInterface基于 - 的演员表?

  • 在此处使用ArrayList而不是List<T>实际上会导致执行强制转换,因为您必须IComInterface从无类型object实例中获取相应的内容。

  • 但是,对于泛型,我想,一切都应该在没有强制转换的情况下完成,但我实际上并不确定它们在表面下是如何工作的。

  • 是否有可能List<T>仍然以某种方式对object类型进行操作(因此,将QueryInterface在所描述的场景中调用基于 - 的演员表)?

  • 如果上一个问题的答案是“否”,那么是否真的不能保证任何可能的情况都一样IList<T>

0 投票
1 回答
876 浏览

mysql - Rails 3 ActiveRecord 从单表中选择父子递归

我有一个名为类别的表,其中表结构和数据是

(其中parent_id是另一行的id )

展示如何使用Rails3 Activerecord 查询接口获取父/子结果。(或任何其他解决方案)。

如果我搜索计算机,我如何获得该父类别下的所有子项 -> 超级子项。

谢谢你

0 投票
1 回答
906 浏览

web-services - 方法中的参数太多...(在 Delphi XE 中从 WSDL 连接到 WebService)

有一个外部的Web 服务,分别需要客户端给他。基于 WSDL 标准的外壳 Embarcadero RAD Studio XE (Delphi XE) 创建了一个通常运行良好的单元,但在这种情况下有一个警告 - 在其中一个函数转移到 100 多个参数。当您在运行时创建用于调用 Web 服务的对象时,会出现错误“方法‘方法名称’中的参数过多”。如果参数的数量减少到 61,那么一切都开始工作 - 调用 Web 服务运行良好并返回响应。为什么会这样?翻了internet,结果却为零。

0 投票
1 回答
339 浏览

c# - 在托管 COM 服务器中记录对 QueryInterface 的调用

我按照此处的示例创建了一个 C# 进程外 COM 服务器。

我的服务器是从我无法控制的第三方应用程序中使用的。为了找出他们在加载我的组件时需要哪些接口,我想记录他们对 QueryInterface 方法的所有调用。但是,因为我使用的是 .NET,所以我无法自己实现 IUnknown::QueryInterface - 它是由 CCW(COM 可调用包装器)自动提供的。

有没有办法为我的 C# COM 服务器记录对 QueryInterface 的所有调用?

0 投票
1 回答
691 浏览

c# - 尝试获取类方法指针时的 E_NOINTERFACE

我正在从 C++ 非托管代码中调用 C# 方法。我从数组中返回的类实例中获取值时遇到问题。

我已经稍微简化了代码

这是有问题的方法。

这是 IScOrder 接口

这是 ScOrder 的实现

这是 C++ 代码,在我之前的请求中得到 Zdeslav Vojkovic 的帮助后。问题在评论中描述

  • 我没有使用 ATL 或 MFC。
  • C++ tlb 文件是通过 regasm 生成的。

COM 初始化和调用 GetOrders 方法效果很好

感谢 Zdeslav,我发现我可以在 order(punk) 中进行调试:

所以我走进秩序(朋克)看看那里发生了什么。我进入了一个“comip.h”

...然后我进入了 _QueryInterface(p) 实现,也在 comip.h

现在这里的问题是返回的“hr”的值是 E_NOINTERFACE ...这是不对的。

我不是 C++ 或 COM 专家...请帮助 :)

0 投票
4 回答
5422 浏览

c# - 如何获取 dll 函数的 id(内存地址)?

我想在 C#“NvAPI_DRS_EnumProfiles”中使用来自 nvapi 的函数。我必须使用函数的 id 调用 QueryInterface(id) 。一切正常,我在网上找到了我需要的其他功能的 id,但我找不到这个单一功能的 id,我不知道如何获得它。我尝试了很多东西,甚至一个打印内存地址的 c 程序都不起作用。

我的代码看起来像这样:http ://www.drivenbynostalgia.com/files/SOP.cs

谢谢您的帮助 :)

0 投票
1 回答
1497 浏览

ruby - 配置 Mongoid 关系以返回已排序的对象

我有两个具有 1-n 关系的类。像这样:

现在,当我打电话时,band.members我得到了成员对象。我想要的是,如果我打电话band.members.last得到最后加入的成员。我通过定义<=>方法Member和排序来实现这一点joined

我怎样才能使这种行为默认?我不想避免额外的排序调用。这可能吗?如果可以,怎么做?

0 投票
2 回答
1327 浏览

c++ - 处理 CoCreateInstance 返回值

下面是一个创建 COM 对象的代码示例:

我在某处看到检查是否CoCreateInstance()成功应该如下所示:

如果我只检查hr呢?还不够吗?我也应该检查一下filter != nullptr吗?

这个问题还涉及其他 COM 方法,例如QueryInterface().

0 投票
1 回答
306 浏览

c++ - QueryInterface() 可以在成功时为我们提供 nullptr 吗?

想象一个情况:

我想知道,是否pControl可以在最后一个块中为 nullptr {...}。问题出现了,因为我看到了这段代码:

我认为那部分&& pControl是多余的。我对吗?

0 投票
1 回答
2428 浏览

ruby-on-rails - 带有活动记录查询界面的模糊搜索

我在我的 Rails 应用程序中有一个模糊搜索,我想要的 sql 是这样的:

我试过这样做:

它失败了,在控制台中记录了:

最后我尝试了这个

有效。

但我认为它不喜欢rails方式,有没有更好的方法呢?