📄 shareaza.idl
字号:
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 + -