問題タブ [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


Q:

一般的なList<T>インスタンスがあるとします:

QueryInterfaceさて、次のコードがベースのキャストをトリガーしないという強い保証はありますか?

  • ArrayListここで代わりに使用すると、型のないインスタンスからList<T>対応するものを取得する必要があるため、実際にキャストが実行されます。IComInterfaceobject

  • ただし、ジェネリックの場合は、キャストせずにすべてを行う必要があると思いますが、実際にはそれらが表面下でどのように機能するかはわかりません。

  • List<T>どういうわけか型で動作する可能性はありますか(したがって、説明されているシナリオでベースobjectのキャストを呼び出します)?QueryInterface

  • 前の質問に対する答えが「いいえ」の場合、どの可能性についても同じことを保証できないというのは本当IList<T>ですか?

0 投票する
1 に答える
876 参照

mysql - Rails 3 ActiveRecord単一テーブルからの親子再帰の選択

テーブル構造とデータがあるカテゴリと呼ばれるテーブルがあります

(ここで、parent_idは別の行のIDです)

Rails3 Activerecord query interfaceを使用して親子の結果を取得する方法を示します。(またはその他のソリューション)。

コンピューターを検索すると、すべての子を取得するにはどうすればよいですか->その親カテゴリの下のスーパーチャイルド。

ありがとうございました

0 投票する
1 に答える
906 参照

web-services - メソッドのパラメータが多すぎます... (Delphi XE で WSDL から WebService に接続しています)

外部の Web サービスがあり、それぞれ、彼にクライアントが必要です。シェル Embarcadero RAD Studio XE (Delphi XE) の WSDL 標準に基づいて、通常はうまく機能するユニットが作成されましたが、この場合、100 以上のパラメーターに転送される関数の 1 つに注意が必要です。実行時に Web サービスを呼び出すためのオブジェクトを作成すると、「メソッド 'メソッド名' のパラメーターが多すぎます」というエラーが発生します。パラメータの数が 61 に減ると、すべてが機能し始めます。Web サービスの呼び出しは正常に実行され、応答が返されます。なぜこうなった?インターネットを回したが、結果はゼロ。

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 の実装です

これは、前回のリクエストで Zdeslav Vojkovic の助けを借りて作成した C++ コードです。問題はコメントに記載されています

  • 私はATLもMFCも使用していません。
  • C++ tlb ファイルは regasm によって生成されます。

COM の初期化と GetOrders メソッドの呼び出しはうまく機能します

Zdeslav のおかげで、注文 (パンク) 内でデバッグできることがわかりました。

それで、そこで何が起こっているのかを見るために、オーダー(パンク)に足を踏み入れました。「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) を呼び出す必要があります。すべてが正常に機能しており、Web 上で必要な他の機能の ID を見つけましたが、この単一の機能の ID が見つからず、取得方法もわかりません。私は非常に多くのことを試しましたが、メモリアドレスを出力するcプログラムでさえ機能しませんでした。

私のコードは次のようになります: http://www.drivenbynostalgia.com/files/SOP.cs

ご協力ありがとうございました :)

0 投票する
2 に答える
1327 参照

c++ - CoCreateInstance の戻り値の処理

COM オブジェクトを作成するコード サンプルを次に示します。

CoCreateInstance()成功したかどうかのチェックは次のようになるはずだとどこかで見ました:

のみをチェックするとどうなりhrますか?それで十分ではないでしょうか?私もそれをチェックする必要がありfilter != nullptrますか?

この質問は、のような他の COM メソッドにも関係しQueryInterface()ます。

0 投票する
1 に答える
2428 参照

ruby-on-rails - アクティブ レコード クエリ インターフェイスによるあいまい検索

Railsアプリであいまい検索を行っていますが、必要なSQLは次のとおりです。

私はこのようにそれをやろうとしました:

失敗し、コンソールに記録されました:

最後に私はこれを試しました

出来た。

しかし、レールのやり方が気に入らないと思います。それを行うより良い方法はありますか?