创建插件 [英] Create Plugin

查看:65
本文介绍了创建插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮助我为VC ++中的Internet Download Accelerator创建某种示例插件.有示例插件的来源,但是在Delphi中[ dmtest_plugin.zip ]

Please help me to create some kind of example plugin for Internet Download Accelerator in VC++. There are sources for example plugin, but in Delphi [dmtest_plugin.zip]

推荐答案

我想您需要阅读此书,希望您会找到有用的信息:
实施自定义下载管理器 [ BitTorrent协议 [
I guess you need to read this, hopefully you will find the information useful:
Implementing a Custom Download Manager[^]

I''m trying to point you in the right direction, I know it''s not a full answer.

You may also be interested in the BitTorrent protocol[^] or something similar. It will not actually accelerate the download, but distribute the process. This may result in better download times. It''s just an idea ...

Regards
Espen Harlinn


Emm测试插件示例,他是我附件中的dmtest_plugin.zip :(
我需要用于VC ++上的Internet Download Accelerator的示例插件:(
Emm test example of a plugin he is dmtest_plugin.zip in my attach :(
I need example plugin for Internet Download Accelerator on VC++ :(


重写了DMPluginIntf​​.pas,是与否,我不知道
Rewritten DMPluginIntf.pas, true or not, I do not know
#pragma once
#pragma pack(push, 8)

#include <comdef.h>

struct __declspec(uuid("b412b405-0578-4b99-bb06-368cda0b2f8c"))
IDMInterface : IUnknown
{
	//выполнить какие-либо действия в ДМ
	virtual HRESULT __stdcall DoAction ( 		/*[in]*/ BSTR action,
												/*[in]*/ BSTR parameters,
												/*[out,retval]*/ BSTR * pVal ) = 0;
}

struct __declspec(uuid("959cd0d3-83fd-40f7-a75a-e5c6500b58df"))
IDMPlugIn : IUnknown
{
	//выполнить какие-либо действия в ДМ
	virtual HRESULT __stdcall getID ( 			/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetName ( 		/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetVersion ( 		/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetDescription ( 	/*[in]*/ BSTR language,
												/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetEmail ( 		/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetHomepage ( 	/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetCopyright ( 	/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall GetMinAppVersion (/*[out,retval]*/ BSTR * pVal ) = 0;
	
	virtual HRESULT __stdcall PluginInit ( 		/*[in]*/ IDmInterface * _IDmInterface ) = 0;

	virtual HRESULT __stdcall PluginConfigure ( /*[in]*/ BSTR params ) = 0;
	
	virtual HRESULT __stdcall BeforeUnload ( ) = 0;
	
	virtual HRESULT __stdcall EventRaised ( 	/*[in]*/ BSTR eventType,
												/*[in]*/ BSTR eventData,
												/*[out,retval]*/ BSTR * pVal ) = 0;
}

#pragma pack(pop)


这篇关于创建插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆