0

所有,我试图调用在 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# 类代码。.h像C++ 中的头文件?谢谢。

4

2 回答 2

2

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

他们有一些 TWAIN_32 库调用的例子 + 一个结构pTW_IDENTITY

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

于 2013-09-18T11:28:06.153 回答
1

没有可以自动执行此操作的工具,但是有一个名为pinvoke.net的站点提供了许多 P/Invoke 签名和示例。对于您的问题,这里是链接:TwIdentity (twain_32)

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

于 2013-09-18T11:27:55.930 回答