如何在VB.Net中使用P \ Invoke

时间:2011-10-30 14:08:03

标签: vb.net pinvoke

我有很多C ++ API,我想在VB.Net中使用P \ Invoke访问它们。以下是为某些API编写的C包装器。任何人都可以告诉我如何使用P \ Invoke来访问这些方法在VB.Net。

在wrapper.h中:

typedef void * VERIFY_HANDLE;
extern VERIFY_HANDLE Verify_Create();
extern void VERIFY_SetVerified(VERIFY_HANDLE, bool);
extern bool VERIFY_GetVerified(VERIFY_HANDLE);
/* etc, etc */

在wrapper.c中:

#include "wrapper.h"
#include "Verify.h"
VERIFY_HANDLE Verify_Create() { return (VERIFY_HANDLE) new Verify(); }
void SetVerified(VERIFY_HANDLE h, bool b) { ((Verify *)h)->SetVerified(b); }
bool GetVerified(VERIFY_HANDLE h) { return ((Verify *)h)->GetVerified();  }

1 个答案:

答案 0 :(得分:2)

免费P/Invoke Interop Assistant可以自动从该C头文件创建Vb.Net P / Invoke代码。