如何在dll中为内部类生成c#类文件

时间:2013-09-18 11:24:29

标签: c# winapi dllimport twain

所有,我试图调用c#项目中DLL中定义的API。代码如下所示。

[DllImport("twain_32.dll", EntryPoint="#1")]
<Function declaration>

我知道这个twain_32.dll中有很多公共类型,

我知道dll中定义的函数如下所示。

TW_UINT16 FAR PASCAL DSM_Entry( pTW_IDENTITY pOrigin,
                                  pTW_IDENTITY pDest,
                                  TW_UINT32    DG,
                                  TW_UINT16    DAT,
                                  TW_UINT16    MSG,
                                  TW_MEMREF    pData);

我不知道我应该在c#中定义哪个类来代表pTW_IDENTITY?是否有任何工具可以将所有这些类型定义导出到c#类代码。像c ++中的头文件.h?感谢。

2 个答案:

答案 0 :(得分:2)

PInvoke.net是一个很好的资源。

他们有一些TWAIN_32 lib调用的例子+ pTW_IDENTITY

的结构

http://www.pinvoke.net/default.aspx/twain_32.TwIdentity

答案 1 :(得分:1)

没有自动执行此操作的工具,但有一个名为pinvoke.net的网站,它提供了大量的P / Invoke签名和示例。对于您的问题,请点击以下链接:TwIdentity (twain_32)

此外,还有一些开源库可以将本机功能包装到托管类中,例如:Saraff.Twain.NETtwain-in-dotnet,因此查看源代码时,您可能会找到所需的所有定义。