Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / lib / comsupp / comsupp.cpp
diff --git a/reactos/sdk/lib/comsupp/comsupp.cpp b/reactos/sdk/lib/comsupp/comsupp.cpp
deleted file mode 100644 (file)
index 0515222..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * PROJECT:         ReactOS crt library
- * LICENSE:         GPLv2+ - See COPYING in the top level directory
- * PURPOSE:         Compiler support for COM
- * PROGRAMMER:      Thomas Faber (thomas.faber@reactos.org)
- */
-
-#include <stdarg.h>
-
-#define WIN32_NO_STATUS
-#define _INC_WINDOWS
-
-#include <windef.h>
-#include <winbase.h>
-#include <comdef.h>
-
-/* comdef.h */
-typedef void WINAPI COM_ERROR_HANDLER(HRESULT, IErrorInfo *);
-static COM_ERROR_HANDLER *com_error_handler;
-
-void WINAPI _com_raise_error(HRESULT hr, IErrorInfo *perrinfo)
-{
-    throw _com_error(hr, perrinfo);
-}
-
-void WINAPI _set_com_error_handler(COM_ERROR_HANDLER *phandler)
-{
-    com_error_handler = phandler;
-}
-
-void WINAPI _com_issue_error(HRESULT hr)
-{
-    com_error_handler(hr, NULL);
-}
-
-void WINAPI _com_issue_errorex(HRESULT hr, IUnknown *punk, REFIID riid)
-{
-    void *pv;
-    IErrorInfo *perrinfo = NULL;
-
-    if (SUCCEEDED(punk->QueryInterface(riid, &pv)))
-    {
-        ISupportErrorInfo *pserrinfo = static_cast<ISupportErrorInfo *>(pv);
-        if (pserrinfo->InterfaceSupportsErrorInfo(riid) == S_OK)
-            (void)GetErrorInfo(0, &perrinfo);
-        pserrinfo->Release();
-    }
-
-    com_error_handler(hr, perrinfo);
-}
-
-/* comutil.h */
-_variant_t vtMissing(DISP_E_PARAMNOTFOUND, VT_ERROR);
-
-namespace _com_util
-{
-
-BSTR WINAPI ConvertStringToBSTR(const char *pSrc)
-{
-    DWORD cwch;
-    BSTR wsOut(NULL);
-
-    if (!pSrc) return NULL;
-
-    /* Compute the needed size with the NULL terminator */
-    cwch = ::MultiByteToWideChar(CP_ACP, 0, pSrc, -1, NULL, 0);
-    if (cwch == 0) return NULL;
-
-    /* Allocate the BSTR (without the NULL terminator) */
-    wsOut = ::SysAllocStringLen(NULL, cwch - 1);
-    if (!wsOut)
-    {
-        ::_com_issue_error(HRESULT_FROM_WIN32(ERROR_OUTOFMEMORY));
-        return NULL;
-    }
-
-    /* Convert the string */
-    if (::MultiByteToWideChar(CP_ACP, 0, pSrc, -1, wsOut, cwch) == 0)
-    {
-        /* We failed, clean everything up */
-        cwch = ::GetLastError();
-
-        ::SysFreeString(wsOut);
-        wsOut = NULL;
-
-        ::_com_issue_error(!IS_ERROR(cwch) ? HRESULT_FROM_WIN32(cwch) : cwch);
-    }
-
-    return wsOut;
-}
-
-char* WINAPI ConvertBSTRToString(BSTR pSrc)
-{
-    DWORD cb, cwch;
-    char *szOut = NULL;
-
-    if (!pSrc) return NULL;
-
-    /* Retrieve the size of the BSTR with the NULL terminator */
-    cwch = ::SysStringLen(pSrc) + 1;
-
-    /* Compute the needed size with the NULL terminator */
-    cb = ::WideCharToMultiByte(CP_ACP, 0, pSrc, cwch, NULL, 0, NULL, NULL);
-    if (cb == 0)
-    {
-        cwch = ::GetLastError();
-        ::_com_issue_error(!IS_ERROR(cwch) ? HRESULT_FROM_WIN32(cwch) : cwch);
-        return NULL;
-    }
-
-    /* Allocate the string */
-    szOut = (char*)::operator new(cb * sizeof(char));
-    if (!szOut)
-    {
-        ::_com_issue_error(HRESULT_FROM_WIN32(ERROR_OUTOFMEMORY));
-        return NULL;
-    }
-
-    /* Convert the string and NULL-terminate */
-    szOut[cb - 1] = '\0';
-    if (::WideCharToMultiByte(CP_ACP, 0, pSrc, cwch, szOut, cb, NULL, NULL) == 0)
-    {
-        /* We failed, clean everything up */
-        cwch = ::GetLastError();
-
-        ::operator delete(szOut);
-        szOut = NULL;
-
-        ::_com_issue_error(!IS_ERROR(cwch) ? HRESULT_FROM_WIN32(cwch) : cwch);
-    }
-
-    return szOut;
-}
-
-}