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

如何在dll中为内部类生成c#类文件,c#,winapi,dllimport,twain,C#,Winapi,Dllimport,Twain,总之,我试图调用c#项目中DLL中定义的API。代码如下所示 [DllImport("twain_32.dll", EntryPoint="#1")] <Function declaration> TW_UINT16 FAR PASCAL DSM_Entry( pTW_IDENTITY pOrigin, pTW_IDENTITY pDest, TW

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

[DllImport("twain_32.dll", EntryPoint="#1")]
<Function declaration>
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\u标识
?是否有任何工具可以将所有这些类型定义导出到c#类代码。类似于C++中的头文件<代码> .h/代码>?谢谢。

没有自动执行此操作的工具,但有一个名为的网站,提供了大量的p/Invoke签名和示例。对于您的问题,以下是链接:


此外,还有一些开源库可以将本机功能封装到托管类中,如:or,因此查看它们的源代码,您可能会找到您需要的所有定义。

没有能够自动执行此操作的工具,但有一个名为的站点提供了大量的p/Invoke签名和示例。对于您的问题,以下是链接:


此外,还有一些开源库可以将本机功能封装到托管类中,如:or,因此查看它们的源代码,您可能会找到所有需要的定义。

PInvoke.net是一个很好的资源

它们有一些TWAIN_32 lib调用+用于
pTW_IDENTITY


PInvoke.net是一个很好的资源

它们有一些TWAIN_32 lib调用+用于
pTW_IDENTITY


查找库的文档和头文件,并进行翻译。你在哪里找到这个函数原型的?@DavidHeffernan我在twain的头文件(c++)中找到了它。但我不知道如何将引用的类型转换为c代码。我原以为会有一些工具使它更容易工作。谢谢,不用工具。自己翻译,或者看看你是否找不到现有的。例如TwainDotNet。重新发明轮子毫无意义。你的一个可能是方的!!;-):这正是我所担心的!我认为再发明一辆车没有意义p查找库的文档和头文件,并进行翻译。你在哪里找到这个函数原型的?@DavidHeffernan我在twain的头文件(c++)中找到了它。但我不知道如何将引用的类型转换为c代码。我原以为会有一些工具使它更容易工作。谢谢,不用工具。自己翻译,或者看看你是否找不到现有的。例如TwainDotNet。重新发明轮子毫无意义。你的一个可能是方的!!;-):这正是我所担心的!我认为再发明一辆车没有意义P@Eoin:是的,哈哈,那是相当同步的!谢谢你们两位。这就是我需要的。感谢那些为我们做了伟大工作的人,否则我们不得不这么做很多次。@Groo好答案+1@Eoin:是的,哈哈,那是相当同步的!谢谢你们两位。这就是我需要的。感谢那些为我们做了伟大工作的人,否则我们不得不这么做很多次。@Groo好答案+1.