C# インプロセス サーバーを作成しようとしていますsbtsv.idl
(これは Windows 8 SDK に含まれています)。私が見つけたほとんどすべての指示ではMIDL
、.tlb
ファイルtlbimport
を作成してからプロキシ dll を作成するように指示されています。
ただし、IDL にセクションが含まれていない場合、library
ファイルは.tlb
生成されず、セクションは含まれsbtsv.idl
ませんlibrary
。
ライブラリ内に作成したいインターフェースを宣言したIDLファイルを自作してみた
#include "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\sbtsv.idl"
[uuid(43250D0C-BBC6-4109-BCD2-6F61F0D3B611)]
library sbtsvClientLib
{
interface ITsSbResourceNotification;
};
ただし、実行しようとするとMIDL
、次のエラーが発生します
Microsoft (R) 32b/64b MIDL コンパイラ バージョン 8.00.0603 Copyright (c) Microsoft Corporation. 全著作権所有。 .\sbtsvClientLib.idl を処理中 sbtsvClientLib.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\um\oaidl.idl oaidl.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\um\objidl.idl objidl.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\um\unknwn.idl unknwn.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\shared\wtypes.idl wtypes.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\shared\wtypesbase.idl wtypesbase.idl C:\Program Files (x86)\Windows Kits\8.1\include\shared\basetsd.h を処理中 basetsd.h C:\Program Files (x86)\Windows Kits\8.1\include\shared\guiddef.h の処理中 guiddef.h 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\um\SessdirPublicTypes.idl SessdirPublicTypes.idl 処理中 C:\Program Files (x86)\Windows Kits\8.1\include\um\oaidl.acf oaidl.acf midl\oleaut32.dll: エラー MIDL2020: タイプ ライブラリの生成エラー: SetFuncAndParamNames に失敗しました: put_State (0x8002802C)
クラスとインターフェースを手作業で書かなければならないと思っていますが、これが機能するのに何か間違ったことをしていないかどうかを確認したかったのです。