問題タブ [midl]
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.
com - stdole2.tlbとは
stdole32.tlbにはすべての基本型定義が含まれており、MIDLを使用する場合は、すべてのlibがそれをインポートする必要があります。しかし、ATL DLLプロジェクトを作成したとき、libファイルは次のようになります。
stdole2.tlbの内容をグーグルで検索できませんか?stdole32.tlbが含まれていますか?そして、他に何がありますか?誰かが私が見つけるのを手伝ってくれますか?
c++ - Windows 非同期 RPC C++ MIDL
2 つの単純な RPC 関数を定義するクライアントから MIDL で生成された C++ RPC インターフェイスがあります。
シンプルな C++ アプリケーションからサーバーと通信しようとしています。ヘッダー ファイルしかありません。プログラムを正常にリンクするには、クライアント スタブも必要ですか?
.net - TlbImpがDIA用のこのCOMインターフェイスを.NETに正しくインポートしないのはなぜですか?
.NETで使用するためにMicrosoftのDIASDKをインポートしようとしました。
これはほとんどの部分で正しく機能しているようですが、何らかの理由で、一部のインターフェイス(たとえばIDiaEnumFrameData
)が含まれていませんが、残りのインターフェイスは問題なく含まれています。
(インターフェイスは、Cファイルとヘッダーファイルに存在していても、.DLLファイルにも.TLBファイルにも存在しません。)
これを引き起こしているのは何ですか?
com - MIDLに空のコクラスのCLSIDを出力させるにはどうすればよいですか?
プロジェクトのIDLファイルのライブラリブロックに次のような宣言があります。
このクラスが実装する唯一のインターフェイスは、標準のMicrosoft定義のインターフェイス(IPersistPropertyBag2など)です。それらを「MyClass」の定義に含めると、タイプライブラリに吸い込まれてしまいますが、これは望ましくありません。問題は、上記のようにインターフェイスリストを空のままにすると、MIDLが生成されたヘッダーファイルまたはタイプライブラリにクラスを含めないことです。
したがって、問題は、MIDLにタイプライブラリに「MyClass」を含めるように強制するにはどうすればよいですか?
または、さらに良い方法:MIDLにコクラス内の特定のインターフェイスをタイプライブラリから除外させるにはどうすればよいですか?
visual-studio - VS6 の MIDL タブ
Visual Studio 6 C++ プロジェクトのビルドを担当しています (これ自体が問題であることは承知しています...)。IDL ファイルをプロジェクトに追加しましたが、プロジェクトまたはファイル自体の MIDL タブが表示されません。MIDL タブを表示するにはどうすればよいですか? ありがとうございました。
windows - 誰が私のRPCを呼び出しましたか?
Microsoft RPCサーバーを構築していますが、RPC関数を呼び出したユーザーを特定する方法があるかどうか疑問に思っていました。(つまり、RPCメソッドを呼び出したプロセスを実行しているユーザー)
midl - MIDL を使用して x86 と x64 の両方のコードを生成する方法は?
MIDL を使用して x86 と x64 の両方のコードを生成するにはどうすればよいですか?
Visual Studio 2010 で IDL ファイルを作成しました。製品を x86 モードでコンパイルし、その後 x64 でコンパイルすると、IDL ファイルを「タッチ」して、x64 に関連するコードを再生成する必要があります。両方のコードを同じファイルに生成するように MIDL に指示することはできますか?
c# - IDLライブラリにC#インターフェイスを含める
C#でインターフェイスを定義しています。例:
これをIDLのライブラリ定義に含めたいと思います。C#インターフェイスから.tlbを生成し、importlibに含めることで、これを実現しようとしました。ただし、idlファイルをコンパイルすると、ライブラリにこのインターフェイスが表示されませんが、idlファイルをインポートしてこのライブラリで定義した他のすべてのインターフェイスが表示されます。
要約すると、私は知りたいです:
- IDLライブラリにC#インターフェイスを含めることは可能ですか?
- もしそうなら、どうすればこれを行うことができますか?
すべての回答を歓迎します。ご回答ありがとうございました。
visual-c++ - 別の (単純な) ものから継承する単純なインターフェイスを作成すると、エラー MIDL5004 が発生する
次の非常に単純なインターフェイスがあります。
この MIDL を WinRT 用にコンパイルしようとすると、次のエラーが発生します。
エラーMIDL5004 : インターフェイスは IInspectable から継承する必要があります: ICitizen
WinRT の下で COM がどうなったのか、私は本当に困惑しています。インターフェイスを別のインターフェイスから継承するような単純なことがもはや不可能な場合、どうすればそれを使用してアプリケーションを設計できますか?
WinRT の MIDL のドキュメントを検索しましたが、見つかりませんでした!! Google でエラー MIDL5004 を検索しても、結果が表示されません。
Microsoft の誰かが、IInspectable から継承する別のインターフェイスを継承するインターフェイスを作成する方法を説明できますか。別のテストでは、C++/CX で同じインターフェイスを作成し、IPerson から継承する ICitizen インターフェイスを作成できました。WinRT の MIDL でこれが許可されなくなった理由は、これが COM アーキテクチャの基盤であり、インターフェイスの階層を作成するためです。
ご意見ありがとうございます O. Rouit
com - COM InterOp を介して複数のインターフェイスを公開する CoClass にアクセスする方法は?
以下のように説明されている CoClass があります。
だから私の質問は:
- 両方のインターフェイスを表示するのに、インターフェイス
tlbimp
のみを公開するのはなぜですか?IFoo
oleview.exe
tlbimp
インターフェイスのみを公開[default]
し、その理由は? (MSDN によると、[default]
「マクロ言語による使用を意図しています。」 )- このケースを MIDL/COM でモデル化するにはどうすればよいですか? 継承の代わりに関連付けを使用する必要がありますか?