⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shareaza.idl

📁 著名的下载软件核心Shareaza
💻 IDL
📖 第 1 页 / 共 2 页
字号:
		HRESULT Stop();
		HRESULT GetState( [out] MediaState* pnState );
		
		HRESULT GetLength( [out] LONGLONG* pnLength );
		HRESULT GetPosition( [out] LONGLONG* pnPosition );
		HRESULT SetPosition( [in] LONGLONG nPosition );
		HRESULT GetSpeed( [out] DOUBLE* pnSpeed );
		HRESULT SetSpeed( [in] DOUBLE nSpeed );
		
		HRESULT GetPlugin( [out] IAudioVisPlugin** ppPlugin );
		HRESULT SetPlugin( [in] IAudioVisPlugin* pPlugin );
		HRESULT GetPluginSize( [out] LONG* pnSize );
		HRESULT SetPluginSize( [in] LONG nSize );
	};
	
	//
	// Audio Visualisation Plugin
	//

	typedef struct 
	{
		DWORD	nTime;
		BYTE	nWaveform[2][512];
		BYTE	nSpectrum[2][512];
	} SHAREAZAVISCHUNK;

	[ uuid(E788D125-4D41-4a35-A436-D1A1FD0C8EC9) ]
	interface IAudioVisPlugin : IUnknown
	{
		HRESULT Configure();
		HRESULT Create( [in] HWND hWnd );
		HRESULT Destroy();
		HRESULT Reposition( [in] RECT* prcWnd );
		
		HRESULT OnTrackOpen( [in] BSTR sName, [in] DWORD nLength );
		HRESULT OnTrackClose();
		HRESULT OnPlayStart();
		HRESULT OnPlayStop();
		HRESULT OnChunk( [in] SHAREAZAVISCHUNK* pChunk );
	};

	[ uuid(71045028-F95C-4c03-AB09-6D906DBFC731) ]
	interface IWrappedPluginControl : IUnknown
	{
		HRESULT Load( [in] BSTR sDLL, [in] LONG nIndex );
		HRESULT Unload();
		HRESULT Enumerate( [out] LPSAFEARRAY* ppArray );
	};

	//
	// Shareaza Object Model
	//

	interface IApplication;
	interface IUserInterface;
	interface ILibrary;

	[ uuid(8EBD0B6F-7BC4-44d1-BEC1-03E22DC2A587), dual, oleautomation ]
	interface IApplication : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Version( [out,retval] BSTR* psVersion );
		
		[id(10)] HRESULT CheckVersion( [in] BSTR sVersion );
		[id(11)] HRESULT CreateXML( [out,retval] ISXMLElement** ppXML );
		
		[id(20),propget] HRESULT UserInterface( [out,retval] IUserInterface** ppUserInterface );
		[id(21),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
	};

	//
	// User Interface Object Model
	//
	
	interface ISMenu;
	interface ISToolbar;
	interface ISToolbarItem;
	interface IGenericView;
	
	[ uuid(FCDE733E-DDA0-4849-AD83-D02B0F4D1DA3), dual, oleautomation ]
	interface IUserInterface : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT UserInterface( [out,retval] IUserInterface** ppUserInterface );
		
		[id(10)] HRESULT NewWindow( [in] BSTR bsName, [in] IPluginWindowOwner* pOwner, [out,retval] IPluginWindow** ppWindow );
		[id(11),propget] HRESULT MainWindowHwnd( [out,retval] HWND* phWnd );
		[id(12),propget] HRESULT ActiveView( [out,retval] IGenericView** ppView );
		
		[id(20)] HRESULT RegisterCommand( [in] BSTR bsName, [in] HICON hIcon, [out,retval] UINT* pnCommand );
		[id(21)] HRESULT AddFromString( [in] BSTR sXML );
		[id(22)] HRESULT AddFromResource( [in] HINSTANCE hInstance, [in] UINT nID );
		[id(23)] HRESULT AddFromXML( [in] ISXMLElement* pXML );
		
		[id(31)] HRESULT GetMenu( [in] BSTR bsName, [in] VARIANT_BOOL bCreate, [out,retval] ISMenu** ppMenu );
		[id(32)] HRESULT GetToolbar( [in] BSTR bsName, [in] VARIANT_BOOL bCreate, [out,retval] ISToolbar** ppToolbar );
		
	};
	
	typedef enum
	{
		mnuMenu, mnuSeparator, mnuCommand
	} SMenuType;
	
	[ uuid(D8C3C592-5AF4-44cf-8AA8-59038FE38812), dual, oleautomation ]
	interface ISMenu : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT UserInterface( [out,retval] IUserInterface** ppUserInterface );
		
		[id(-4),propget,restricted] HRESULT _NewEnum( [out,retval] IUnknown** ppEnum );
		[id(0),propget] HRESULT Item( [in] VARIANT vIndex, [out,retval] ISMenu** ppMenu );
		[id(3),propget] HRESULT Count( [out,retval] LONG* pnCount );
		
		[id(10),propget] HRESULT ItemType( [out,retval] SMenuType* pnType );
		[id(11),propget] HRESULT CommandID( [out,retval] LONG* pnCommandID );
		[id(11),propput] HRESULT CommandID( [in] LONG nCommandID );
		[id(12),propget] HRESULT Text( [out,retval] BSTR* psText );
		[id(12),propput] HRESULT Text( [in] BSTR sText );
		[id(13),propget] HRESULT HotKey( [out,retval] BSTR* psText );
		[id(13),propput] HRESULT HotKey( [in] BSTR sText );
		
		[id(30)] HRESULT Remove();
		[id(31)] HRESULT InsertSeparator( [in] LONG nPosition );
		[id(32)] HRESULT InsertMenu( [in] LONG nPosition, [in] BSTR sText, [out,retval] ISMenu** ppMenu );
		[id(33)] HRESULT InsertCommand( [in] LONG nPosition, [in] LONG nCommandID, [in] BSTR sText, [out,retval] ISMenu** ppMenu );
	};
	
	typedef enum
	{
		tbSeparator, tbButton, tbControl
	} SToolbarType;
	
	[ uuid(E02F505E-9649-4eb1-AB3F-56FFDFF5B92C), dual, oleautomation ]
	interface ISToolbar : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT UserInterface( [out,retval] IUserInterface** ppUserInterface );
		
		[id(-4),propget,restricted] HRESULT _NewEnum( [out,retval] IUnknown** ppEnum );
		[id(0),propget] HRESULT Item( [in] VARIANT vIndex, [out,retval] ISToolbarItem** ppItem );
		[id(3),propget] HRESULT Count( [out,retval] LONG* pnCount );
		
		[id(4)] HRESULT InsertSeparator( [in] LONG nPosition );
		[id(5)] HRESULT InsertButton( [in] LONG nPosition, [in] LONG nCommandID, [in] BSTR sText, [out,retval] ISToolbarItem** ppItem );
	};
	
	[ uuid(3A82A3A3-5560-4ece-B38A-D56E1E74642A), dual, oleautomation ]
	interface ISToolbarItem : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT UserInterface( [out,retval] IUserInterface** ppUserInterface );
		[id(3),propget] HRESULT Toolbar( [out,retval] ISToolbar** ppToolbar );
		
		[id(10),propget] HRESULT ItemType( [out,retval] SToolbarType* pnType );
		[id(11),propget] HRESULT CommandID( [out,retval] LONG* pnCommandID );
		[id(11),propput] HRESULT CommandID( [in] LONG nCommandID );
		[id(12),propget] HRESULT Text( [out,retval] BSTR* psText );
		[id(12),propput] HRESULT Text( [in] BSTR sText );
		
		[id(20)] HRESULT Remove();
	};
	
	[ uuid(EBAD02A1-E1B0-4961-9415-83267B2A5010), dual, oleautomation ]
	interface IGenericView : IDispatch
	{
		[id(1),propget] HRESULT Name( [out,retval] BSTR* psName );
		[id(2),propget] HRESULT Unknown( [out,retval] IUnknown** ppUnknown );
		[id(3),propget] HRESULT Param( [out,retval] LONG* pnParam );
		
		[id(4),propget] HRESULT Count( [out,retval] LONG* pnCount );
		[id(0),propget] HRESULT Item( [in] VARIANT vIndex, [out,retval] VARIANT* pvItem );
		[id(-4),propget,restricted] HRESULT _NewEnum( [out,retval] IUnknown** ppEnum );
	};

	//
	// Library Object Model
	//

	interface ILibraryFile;
	interface ILibraryFiles;
	interface ILibraryFolder;
	interface ILibraryFolders;

	[ uuid(1735A63C-099B-414c-9B22-817C2FC5EC34), dual, oleautomation ]
	interface ILibrary : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
		
		[id(10),propget] HRESULT Folders( [out,retval] ILibraryFolders** ppFolders );
		[id(11),propget] HRESULT Albums( [out,retval] IUnknown** ppAlbums );
		[id(12),propget] HRESULT Files( [out,retval] ILibraryFiles** ppFiles );
		
		[id(20)] HRESULT FindByName( [in] BSTR sName, [out,retval] ILibraryFile** ppFile );
		[id(21)] HRESULT FindByPath( [in] BSTR sPath, [out,retval] ILibraryFile** ppFile );
		[id(22)] HRESULT FindByURN( [in] BSTR sURN, [out,retval] ILibraryFile** ppFile );
		[id(23)] HRESULT FindByIndex( [in] LONG nIndex, [out,retval] ILibraryFile** ppFile );
	};
	
	[ uuid(43DF8D22-6F85-4d0a-B072-1C8BF8A57073), dual, oleautomation ]
	interface ILibraryFolders : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
		
		[id(-4),propget,restricted] HRESULT _NewEnum( [out,retval] IUnknown** ppEnum );
		[id(0),propget] HRESULT Item( [in] VARIANT vIndex, [out,retval] ILibraryFolder** ppFolder );
		[id(3),propget] HRESULT Count( [out,retval] LONG* pnCount );
	};
	
	[ uuid(49346C06-DC33-4975-978E-E807F7E41EF9), dual, oleautomation ]
	interface ILibraryFiles : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
		
		[id(-4),propget,restricted] HRESULT _NewEnum( [out,retval] IUnknown** ppEnum );
		[id(0),propget] HRESULT Item( [in] VARIANT vIndex, [out,retval] ILibraryFile** ppFile );
		[id(3),propget] HRESULT Count( [out,retval] LONG* pnCount );
	};
	
	[ uuid(8A6BC680-3451-4a78-8A01-B7DFC1D9A148), dual, oleautomation ]
	interface ILibraryFolder : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
		
		[id(10),propget] HRESULT Parent( [out,retval] ILibraryFolder** ppFolder );
		[id(11),propget] HRESULT Path( [out,retval] BSTR* psPath );
		[id(12),propget] HRESULT Name( [out,retval] BSTR* psPath );
		[id(13),propget] HRESULT Shared( [out,retval] STristate* pnValue );
		[id(13),propput] HRESULT Shared( [in] STristate nValue );
		[id(14),propget] HRESULT EffectiveShared( [out,retval] VARIANT_BOOL* pbValue );
		
		[id(20),propget] HRESULT Folders( [out,retval] ILibraryFolders** ppFolders );
		[id(21),propget] HRESULT Files( [out,retval] ILibraryFiles** ppFiles );
	};
	
	[ uuid(B663F7DE-E1C6-4fe6-92BD-D0549B7601E3), dual, oleautomation ]
	interface ILibraryFile : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		[id(2),propget] HRESULT Library( [out,retval] ILibrary** ppLibrary );
		
		[id(10),propget] HRESULT Folder( [out,retval] ILibraryFolder** ppFolder );
		[id(11),propget] HRESULT Path( [out,retval] BSTR* psPath );
		[id(12),propget] HRESULT Name( [out,retval] BSTR* psPath );
		[id(13),propget] HRESULT Shared( [out,retval] STristate* pnValue );
		[id(13),propput] HRESULT Shared( [in] STristate nValue );
		[id(14),propget] HRESULT EffectiveShared( [out,retval] VARIANT_BOOL* pbValue );
		
		[id(20),propget] HRESULT Size( [out,retval] LONG* pnSize );
		[id(21),propget] HRESULT Index( [out,retval] LONG* pnIndex );
		[id(22),propget] HRESULT URN( [in] BSTR sURN, [out,retval] BSTR* psURN );
		[id(23),propget] HRESULT MetadataAuto( [out,retval] VARIANT_BOOL* pbValue );
		[id(24),propget] HRESULT Metadata( [out,retval] ISXMLElement** ppXML );
		[id(24),propput] HRESULT Metadata( [in] ISXMLElement* pXML );
		
		[id(30)] HRESULT Execute();
		[id(31)] HRESULT SmartExecute();
		[id(32)] HRESULT Delete();
		[id(33)] HRESULT Rename( [in] BSTR sNewName );
		[id(34)] HRESULT Copy( [in] BSTR sNewPath );
		[id(35)] HRESULT Move( [in] BSTR sNewPath );
	};
	
	//
	// Web Object Models
	//
	
	[ uuid(CF66956E-901F-44D0-B5C6-FC6A436A030D), dual, oleautomation ]
	interface ICollectionHtmlView : IDispatch
	{
		[id(1),propget] HRESULT Application( [out,retval] IApplication** ppApplication );
		
		[id(11)] HRESULT Detect( [in] BSTR sURN, [out,retval] BSTR* psState );
		[id(12)] HRESULT Hover( [in] BSTR sURN );
		[id(13)] HRESULT Open( [in] BSTR sURN, [out,retval] VARIANT_BOOL* pbResult );
		[id(14)] HRESULT Enqueue( [in] BSTR sURN, [out,retval] VARIANT_BOOL* pbResult );
		[id(15)] HRESULT Download( [in] BSTR sMagnet, [out,retval] VARIANT_BOOL* pbResult );
		[id(16)] HRESULT DownloadAll();
		[id(17),propget] HRESULT MissingCount( [out,retval] LONG* pnCount );
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -