Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
65
Src/ie_plugin/WinampFactory.cpp
Normal file
65
Src/ie_plugin/WinampFactory.cpp
Normal file
|
@ -0,0 +1,65 @@
|
|||
#include "WinampFactory.h"
|
||||
#include "Winamp.h"
|
||||
|
||||
//FileTypeRegistrar registrar;
|
||||
|
||||
WinampFactory::WinampFactory()
|
||||
{
|
||||
}
|
||||
|
||||
WinampFactory::~WinampFactory()
|
||||
{
|
||||
}
|
||||
|
||||
ULONG WinampFactory::AddRef()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
||||
ULONG WinampFactory::Release()
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
||||
HRESULT WinampFactory::QueryInterface(REFIID riid, void ** ppAny)
|
||||
{
|
||||
// IID_IUnknown is the REFIID of standard interface IUnknown
|
||||
if(riid == IID_IUnknown)
|
||||
{
|
||||
*ppAny = (IUnknown *)this;
|
||||
}
|
||||
else if(riid == IID_IClassFactory)
|
||||
{
|
||||
*ppAny = (IClassFactory *)this;
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppAny = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
((IUnknown *)(*ppAny))->AddRef();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT WinampFactory::LockServer(BOOL fLock)
|
||||
{
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT WinampFactory::CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, void **ppAny)
|
||||
{
|
||||
if(pUnkOuter != NULL)
|
||||
{
|
||||
return CLASS_E_NOAGGREGATION;
|
||||
}
|
||||
|
||||
Winamp *winamp = new Winamp;
|
||||
HRESULT hr = winamp->QueryInterface(riid, ppAny);
|
||||
if (FAILED(hr))
|
||||
delete winamp;
|
||||
return hr;
|
||||
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue