問題タブ [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.
c# - C# -オブジェクトのキャスト
私の知る限り、COM
インターフェイスを扱っている場合、単純なキャストは通常QueryInterface
、オブジェクトが実際に対応するCOM
インターフェイスを実装しているかどうかを判断するために使用されるルーチンをトリガーします。
したがって、次のコードは、コンパイラと最適化に応じて、内部オブジェクト キャストの実装で をトリガーする可能性があります。QueryInterface
Q:
一般的なList<T>
インスタンスがあるとします:
QueryInterface
さて、次のコードがベースのキャストをトリガーしないという強い保証はありますか?
ArrayList
ここで代わりに使用すると、型のないインスタンスからList<T>
対応するものを取得する必要があるため、実際にキャストが実行されます。IComInterface
object
ただし、ジェネリックの場合は、キャストせずにすべてを行う必要があると思いますが、実際にはそれらが表面下でどのように機能するかはわかりません。
List<T>
どういうわけか型で動作する可能性はありますか(したがって、説明されているシナリオでベースobject
のキャストを呼び出します)?QueryInterface
前の質問に対する答えが「いいえ」の場合、どの可能性についても同じことを保証できないというのは本当
IList<T>
ですか?
mysql - Rails 3 ActiveRecord単一テーブルからの親子再帰の選択
テーブル構造とデータがあるカテゴリと呼ばれるテーブルがあります
(ここで、parent_idは別の行のIDです)
Rails3 Activerecord query interfaceを使用して親子の結果を取得する方法を示します。(またはその他のソリューション)。
コンピューターを検索すると、すべての子を取得するにはどうすればよいですか->その親カテゴリの下のスーパーチャイルド。
ありがとうございました
web-services - メソッドのパラメータが多すぎます... (Delphi XE で WSDL から WebService に接続しています)
外部の Web サービスがあり、それぞれ、彼にクライアントが必要です。シェル Embarcadero RAD Studio XE (Delphi XE) の WSDL 標準に基づいて、通常はうまく機能するユニットが作成されましたが、この場合、100 以上のパラメーターに転送される関数の 1 つに注意が必要です。実行時に Web サービスを呼び出すためのオブジェクトを作成すると、「メソッド 'メソッド名' のパラメーターが多すぎます」というエラーが発生します。パラメータの数が 61 に減ると、すべてが機能し始めます。Web サービスの呼び出しは正常に実行され、応答が返されます。なぜこうなった?インターネットを回したが、結果はゼロ。
c# - マネージ COM サーバーで QueryInterface への呼び出しをログに記録する
こちらの例に従って、C# アウトプロセス COM サーバーを作成しました。
私のサーバーは、私が制御できないサードパーティのアプリケーションから使用されています。コンポーネントをロードするときにどのインターフェースを要求するかを調べるために、すべての呼び出しを QueryInterface メソッドに記録したいと考えています。ただし、私は .NET を使用しているため、IUnknown::QueryInterface を自分で実装することはできません。代わりに、CCW (COM 呼び出し可能ラッパー) によって自動的に提供されます。
C# COM サーバーの QueryInterface へのすべての呼び出しをログに記録する方法はありますか?
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 の専門家ではありません...助けてください :)
c# - dll関数のID(メモリアドレス)を取得するには?
C#「NvAPI_DRS_EnumProfiles」でnvapiの関数を使いたいです。関数の id で QueryInterface(id) を呼び出す必要があります。すべてが正常に機能しており、Web 上で必要な他の機能の ID を見つけましたが、この単一の機能の ID が見つからず、取得方法もわかりません。私は非常に多くのことを試しましたが、メモリアドレスを出力するcプログラムでさえ機能しませんでした。
私のコードは次のようになります: http://www.drivenbynostalgia.com/files/SOP.cs
ご協力ありがとうございました :)
c++ - CoCreateInstance の戻り値の処理
COM オブジェクトを作成するコード サンプルを次に示します。
CoCreateInstance()
成功したかどうかのチェックは次のようになるはずだとどこかで見ました:
のみをチェックするとどうなりhr
ますか?それで十分ではないでしょうか?私もそれをチェックする必要がありfilter != nullptr
ますか?
この質問は、のような他の COM メソッドにも関係しQueryInterface()
ます。
ruby-on-rails - アクティブ レコード クエリ インターフェイスによるあいまい検索
Railsアプリであいまい検索を行っていますが、必要なSQLは次のとおりです。
私はこのようにそれをやろうとしました:
失敗し、コンソールに記録されました:
最後に私はこれを試しました
出来た。
しかし、レールのやり方が気に入らないと思います。それを行うより良い方法はありますか?