diff options
Diffstat (limited to '7zip/Compress/Rar20/DllExports.cpp')
-rwxr-xr-x | 7zip/Compress/Rar20/DllExports.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/7zip/Compress/Rar20/DllExports.cpp b/7zip/Compress/Rar20/DllExports.cpp deleted file mode 100755 index 599d71c3..00000000 --- a/7zip/Compress/Rar20/DllExports.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// DLLExports.cpp - -#include "StdAfx.h" - -#include "Common/MyInitGuid.h" -#include "Common/ComTry.h" - -#include "Rar20Decoder.h" - -// {23170F69-40C1-278B-0403-020000000000} -DEFINE_GUID(CLSID_CCompressRar20Decoder, -0x23170F69, 0x40C1, 0x278B, 0x04, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00); - -extern "C" -BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) -{ - return TRUE; -} - -STDAPI CreateObject(const GUID *clsid, const GUID *iid, void **outObject) -{ - COM_TRY_BEGIN - *outObject = 0; - if (*clsid != CLSID_CCompressRar20Decoder) - return CLASS_E_CLASSNOTAVAILABLE; - if (*iid != IID_ICompressCoder) - return E_NOINTERFACE; - CMyComPtr<ICompressCoder> coder = (ICompressCoder *)new - NCompress::NRar20::CDecoder; - *outObject = coder.Detach(); - COM_TRY_END - return S_OK; -} - -STDAPI GetNumberOfMethods(UINT32 *numMethods) -{ - *numMethods = 1; - return S_OK; -} - -STDAPI GetMethodProperty(UINT32 index, PROPID propID, PROPVARIANT *value) -{ - if (index != 0) - return E_INVALIDARG; - ::VariantClear((tagVARIANT *)value); - switch(propID) - { - case NMethodPropID::kID: - { - const char id[] = { 0x04, 0x03, 0x02 }; - if ((value->bstrVal = ::SysAllocStringByteLen(id, sizeof(id))) != 0) - value->vt = VT_BSTR; - return S_OK; - } - case NMethodPropID::kName: - if ((value->bstrVal = ::SysAllocString(L"Rar20")) != 0) - value->vt = VT_BSTR; - return S_OK; - case NMethodPropID::kDecoder: - if ((value->bstrVal = ::SysAllocStringByteLen( - (const char *)&CLSID_CCompressRar20Decoder, sizeof(GUID))) != 0) - value->vt = VT_BSTR; - return S_OK; - } - return S_OK; -} |