在我的应用程序中使用NPAPI插件

时间:2014-01-12 19:23:24

标签: c++ npapi browser-plugin

我想在我的应用程序中使用NPAPI插件,我创建了一个函数,由浏览器提供插件。加载库,初始化和启动,一切顺利,直到它来到一个函数NPP_New。此函数使崩溃,因为NPP指针(尝试改为指定0 - 该函数返回错误代码2“无效实例”而不是崩溃)。我认为内存访问存在问题。发现了几种内存共享方式,但在这种情况下我不确切知道什么是合适的。

// ...
char szMimeType[] = "application/x-some-plugin";
NPP_t npp; npp.pdata = 0; npp.ndata = &npp;
UINT result = NPP_New(szMimeType, &npp, NP_FULL, 0, 0, 0, NULL);
// ...

1 个答案:

答案 0 :(得分:0)

@Georg Fritzsche,你是对的!问题在于指向NPN_函数。变量NPNetscapeFuncs pNpnFuncs在我的一个函数中创建并填充为局部函数,因此在函数完成时被销毁。当我做pNpnFuncs全局变量时 - 一切都很好。