您的位置:首页 > 其它

NPAPI运行流程

2015-09-23 14:19 127 查看
从dll导出def文件可得

NP_GetEntryPoints @1

NP_Initialize @2

NP_Shutdown @3

NP_GetMIMEDescription
@4

函数1是浏览器获取插件回调函数,这些函数是由插件实现。

函数2是浏览器给插件设置回调函数,这些是浏览器实现的。

函数3是插件关闭的时候由浏览器调用。

NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs)

{

if(pFuncs == NULL)

return NPERR_INVALID_FUNCTABLE_ERROR;

if(pFuncs->size < sizeof(NPPluginFuncs))

return NPERR_INVALID_FUNCTABLE_ERROR;

pFuncs->version = (NP_VERSION_MAJOR << 8) | NP_VERSION_MINOR;

pFuncs->newp = NPP_New;

pFuncs->destroy = NPP_Destroy;

pFuncs->setwindow = NPP_SetWindow;

pFuncs->newstream = NPP_NewStream;

pFuncs->destroystream = NPP_DestroyStream;

pFuncs->asfile = NPP_StreamAsFile;

pFuncs->writeready = NPP_WriteReady;

pFuncs->write = NPP_Write;

pFuncs->print = NPP_Print;

pFuncs->event = NPP_HandleEvent;

pFuncs->urlnotify = NPP_URLNotify;

pFuncs->getvalue = NPP_GetValue;

pFuncs->setvalue = NPP_SetValue;

pFuncs->javaClass = NULL;

return NPERR_NO_ERROR;

}

NPP_New是浏览器调用创建插件的调用,从这里开始创建插件对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: