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

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

c# - MIDL が tlb を作成できない場合はどうしますか?

C# インプロセス サーバーを作成しようとしていますsbtsv.idl(これは Windows 8 SDK に含まれています)。私が見つけたほとんどすべての指示ではMIDL.tlbファイルtlbimportを作成してからプロキシ dll を作成するように指示されています。

ただし、IDL にセクションが含まれていない場合、libraryファイル.tlb生成されず、セクションは含まれsbtsv.idlませんlibrary

ライブラリ内に作成したいインターフェースを宣言したIDLファイルを自作してみた

ただし、実行しようとするとMIDL、次のエラーが発生します

クラスとインターフェースを手作業で書かなければならないと思っていますが、これが機能するのに何か間違ったことをしていないかどうかを確認したかったのです。

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

c# - C# で IntPtr としてマーシャリングされるポインターを返す COM インターフェイスを作成する

ポインターを返すことができる MIDL で COM インターフェイスを宣言したいと考えています ( のようにID3D11Blob)。RPC 呼び出し用にスタブが生成されるため、COM ではポインタが特別なものであることを理解しています。RPC は必要ありませんが、C# から COM サーバーにアクセスしたいだけです。IntPtr問題は、C# スタブが?を返すような方法でインターフェイスを宣言できるかどうかです。[local]ポインターを有効にするために追加しようとしましvoidたが、それだけでは十分ではありません。

インターフェイスは、MIDL のように見える必要があります

そしてC#のように

これは可能ですか?もしそうなら、どのように?

前もって感謝します、クリストフ

編集:質問を言い換えると:なぜ

なり

byteC#で最初のパラメータが単一になるのを避けるにはどうすればよいですか?

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

visual-studio-2010 - Microsoft RPC 経由で構造体を渡す

RPC クライアントからサーバーに構造を渡すために接続しているときにエラーが発生しました。クライアントが Output3 プロシージャを呼び出します。

IDL での定義:

ヘッダーで生成:

サーバー側での実装:

クライアント側のコード:

何が間違っている可能性がありますか?

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

c++ - Windows C - MIDL プロトコルを使用して unsigned char の動的に割り当てられたメモリへの参照によってポインターを渡す

MIDL プロトコル (RPC) を使用しており、unsigned char の割り当てられたメモリへの参照によってポインターを渡そうとしています。ただし、配列の最初の属性のみが正しい値で埋められています。

中間コード:

サーバーコード:

クライアントコード:

出力:

すべての配列を参照渡しするにはどうすればよいですか?

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

c# - Managed から COM に UDT の SAFEARRAY を渡す E_INVALIDARG 例外

同様の問題がここに何度も投稿されていますが、なぜこの COM Exception が発生するのかわかりません。

次のような IDL ファイルがあります。

現在、TMask 構造体には TAction フィールドが含まれています。

tlbimp (/sysarray 引数なし) を使用して相互運用アセンブリを作成し、IDecoToniConfig.set_Masks() の署名は次のとおりです。

しかし、次を使用してC#側から呼び出すと:

私は得る:

なんで?