VirtualBox

儲存庫 vbox 的更動 62770


忽略:
時間撮記:
2016-7-31 下午05:10:35 (8 年 以前)
作者:
vboxsync
訊息:

Main/cbining: warnings

位置:
trunk/src/VBox/Main/cbinding
檔案:
修改 3 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/cbinding/VBoxCAPI.cpp

    r60063 r62770  
    6969VBoxUtf8ToUtf16(const char *pszString, BSTR *ppwszString)
    7070{
     71    *ppwszString = NULL;
    7172    if (!pszString)
    72     {
    73         *ppwszString = NULL;
    7473        return VINF_SUCCESS;
    75     }
    7674#ifdef VBOX_WITH_XPCOM
    7775    return RTStrToUtf16(pszString, ppwszString);
     
    7977    PRTUTF16 pwsz;
    8078    int vrc = RTStrToUtf16(pszString, &pwsz);
    81     *ppwszString = ::SysAllocString(pwsz);
    82     RTUtf16Free(pwsz);
     79    if (RT_SUCCESS(vrc))
     80    {
     81        *ppwszString = ::SysAllocString(pwsz);
     82        if (!*ppwszString)
     83            vrc = VERR_NO_STR_MEMORY;
     84        RTUtf16Free(pwsz);
     85    }
    8386    return vrc;
    8487#endif /* !VBOX_WITH_XPCOM */
     
    102105#ifdef VBOX_WITH_XPCOM
    103106    RTUtf16Free(pwszString);
    104 #else /* !VBOX_WITH_XPCOM */
     107#else
    105108    ::SysFreeString(pwszString);
    106 #endif /* !VBOX_WITH_XPCOM */
     109#endif
    107110}
    108111
     
    120123#ifdef VBOX_WITH_XPCOM
    121124        nsMemory::Free(pwsz);
    122 #else /* !VBOX_WITH_XPCOM */
     125#else
    123126        ::SysFreeString(pwsz);
    124 #endif /* !VBOX_WITH_XPCOM */
     127#endif
    125128    }
    126129}
     
    254257#ifndef VBOX_WITH_XPCOM
    255258    SafeArrayUnaccessData(psa);
    256 #endif /* !VBOX_WITH_XPCOM */
     259#endif
    257260    return S_OK;
    258261}
     
    317320#ifndef VBOX_WITH_XPCOM
    318321    SafeArrayUnaccessData(psa);
    319 #endif /* !VBOX_WITH_XPCOM */
     322#endif
    320323    return S_OK;
    321324}
  • trunk/src/VBox/Main/cbinding/capiidl.xsl

    r62486 r62770  
    9696
    9797#ifdef _WIN32
     98# pragma warning(push)
     99# pragma warning(disable:4668 4255) /* -Wall and windows.h */
    98100# undef COBJMACROS
    99101# define COBJMACROS
    100102# include "Windows.h"
     103# pragma warning(pop)
    101104#endif /* _WIN32 */
    102105
  • trunk/src/VBox/Main/cbinding/tstCAPIGlue.c

    r62485 r62770  
    3232# include <unistd.h>
    3333# include <sys/poll.h>
     34#endif
     35#ifdef ___iprt_cdefs_h
     36# error "not supposed to involve any IPRT or VBox headers here."
    3437#endif
    3538
     
    432435 * @param   virtualBox ptr to IVirtualBox object
    433436 * @param   session    ptr to ISession object
    434  * @param   id         identifies the machine to start
    435437 */
    436 static void registerActiveEventListener(IVirtualBox *virtualBox, ISession *session, BSTR machineId)
     438static void registerActiveEventListener(IVirtualBox *virtualBox, ISession *session)
    437439{
    438440    IConsole *console = NULL;
     
    446448        if (SUCCEEDED(rc) && es)
    447449        {
    448             static const ULONG interestingEvents[] =
    449                 {
    450                     VBoxEventType_OnMousePointerShapeChanged,
    451                     VBoxEventType_OnMouseCapabilityChanged,
    452                     VBoxEventType_OnKeyboardLedsChanged,
    453                     VBoxEventType_OnStateChanged,
    454                     VBoxEventType_OnAdditionsStateChanged,
    455                     VBoxEventType_OnNetworkAdapterChanged,
    456                     VBoxEventType_OnSerialPortChanged,
    457                     VBoxEventType_OnParallelPortChanged,
    458                     VBoxEventType_OnStorageControllerChanged,
    459                     VBoxEventType_OnMediumChanged,
    460                     VBoxEventType_OnVRDEServerChanged,
    461                     VBoxEventType_OnUSBControllerChanged,
    462                     VBoxEventType_OnUSBDeviceStateChanged,
    463                     VBoxEventType_OnSharedFolderChanged,
    464                     VBoxEventType_OnRuntimeError,
    465                     VBoxEventType_OnCanShowWindow,
    466                     VBoxEventType_OnShowWindow
    467                 };
     450            static const ULONG s_auInterestingEvents[] =
     451            {
     452                VBoxEventType_OnMousePointerShapeChanged,
     453                VBoxEventType_OnMouseCapabilityChanged,
     454                VBoxEventType_OnKeyboardLedsChanged,
     455                VBoxEventType_OnStateChanged,
     456                VBoxEventType_OnAdditionsStateChanged,
     457                VBoxEventType_OnNetworkAdapterChanged,
     458                VBoxEventType_OnSerialPortChanged,
     459                VBoxEventType_OnParallelPortChanged,
     460                VBoxEventType_OnStorageControllerChanged,
     461                VBoxEventType_OnMediumChanged,
     462                VBoxEventType_OnVRDEServerChanged,
     463                VBoxEventType_OnUSBControllerChanged,
     464                VBoxEventType_OnUSBDeviceStateChanged,
     465                VBoxEventType_OnSharedFolderChanged,
     466                VBoxEventType_OnRuntimeError,
     467                VBoxEventType_OnCanShowWindow,
     468                VBoxEventType_OnShowWindow
     469            };
    468470            SAFEARRAY *interestingEventsSA = NULL;
    469471            IEventListenerDemo *consoleListener = NULL;
     
    471473            /* The VirtualBox API expects enum values as VT_I4, which in the
    472474             * future can be hopefully relaxed. */
    473             interestingEventsSA = g_pVBoxFuncs->pfnSafeArrayCreateVector(VT_I4, 0, sizeof(interestingEvents) / sizeof(interestingEvents[0]));
    474             g_pVBoxFuncs->pfnSafeArrayCopyInParamHelper(interestingEventsSA, &interestingEvents, sizeof(interestingEvents));
     475            interestingEventsSA = g_pVBoxFuncs->pfnSafeArrayCreateVector(VT_I4, 0,
     476                                                                           sizeof(s_auInterestingEvents)
     477                                                                         / sizeof(s_auInterestingEvents[0]));
     478            g_pVBoxFuncs->pfnSafeArrayCopyInParamHelper(interestingEventsSA, &s_auInterestingEvents,
     479                                                        sizeof(s_auInterestingEvents));
    475480
    476481            consoleListener = calloc(1, sizeof(IEventListenerDemo));
     
    499504
    500505                    while (!g_fStop)
    501                     {
    502506                        g_pVBoxFuncs->pfnProcessEventQueue(250);
    503                     }
    504507
    505508#ifdef WIN32
     
    510513                }
    511514                else
    512                 {
    513515                    printf("Failed to register event listener.\n");
    514                 }
    515516                IEventSource_UnregisterListener(es, (IEventListener *)consoleListener);
    516517#ifdef WIN32
     
    521522            }
    522523            else
    523             {
    524524                printf("Failed while allocating memory for console event listener.\n");
    525             }
    526525            g_pVBoxFuncs->pfnSafeArrayDestroy(interestingEventsSA);
    527526            IEventSource_Release(es);
    528527        }
    529528        else
    530         {
    531529            printf("Failed to get the event source instance.\n");
    532         }
    533530        IConsole_Release(console);
    534531    }
     
    542539 * @param   virtualBox ptr to IVirtualBox object
    543540 * @param   session    ptr to ISession object
    544  * @param   id         identifies the machine to start
    545541 */
    546 static void registerPassiveEventListener(IVirtualBox *virtualBox, ISession *session, BSTR machineId)
     542static void registerPassiveEventListener(ISession *session)
    547543{
    548544    IConsole *console = NULL;
     
    550546
    551547    rc = ISession_get_Console(session, &console);
    552     if ((SUCCEEDED(rc)) && console)
     548    if (SUCCEEDED(rc) && console)
    553549    {
    554550        IEventSource *es = NULL;
     
    556552        if (SUCCEEDED(rc) && es)
    557553        {
    558             static const ULONG interestingEvents[] =
    559                 {
    560                     VBoxEventType_OnMousePointerShapeChanged,
    561                     VBoxEventType_OnMouseCapabilityChanged,
    562                     VBoxEventType_OnKeyboardLedsChanged,
    563                     VBoxEventType_OnStateChanged,
    564                     VBoxEventType_OnAdditionsStateChanged,
    565                     VBoxEventType_OnNetworkAdapterChanged,
    566                     VBoxEventType_OnSerialPortChanged,
    567                     VBoxEventType_OnParallelPortChanged,
    568                     VBoxEventType_OnStorageControllerChanged,
    569                     VBoxEventType_OnMediumChanged,
    570                     VBoxEventType_OnVRDEServerChanged,
    571                     VBoxEventType_OnUSBControllerChanged,
    572                     VBoxEventType_OnUSBDeviceStateChanged,
    573                     VBoxEventType_OnSharedFolderChanged,
    574                     VBoxEventType_OnRuntimeError,
    575                     VBoxEventType_OnCanShowWindow,
    576                     VBoxEventType_OnShowWindow
    577                 };
     554            static const ULONG s_auInterestingEvents[] =
     555            {
     556                VBoxEventType_OnMousePointerShapeChanged,
     557                VBoxEventType_OnMouseCapabilityChanged,
     558                VBoxEventType_OnKeyboardLedsChanged,
     559                VBoxEventType_OnStateChanged,
     560                VBoxEventType_OnAdditionsStateChanged,
     561                VBoxEventType_OnNetworkAdapterChanged,
     562                VBoxEventType_OnSerialPortChanged,
     563                VBoxEventType_OnParallelPortChanged,
     564                VBoxEventType_OnStorageControllerChanged,
     565                VBoxEventType_OnMediumChanged,
     566                VBoxEventType_OnVRDEServerChanged,
     567                VBoxEventType_OnUSBControllerChanged,
     568                VBoxEventType_OnUSBDeviceStateChanged,
     569                VBoxEventType_OnSharedFolderChanged,
     570                VBoxEventType_OnRuntimeError,
     571                VBoxEventType_OnCanShowWindow,
     572                VBoxEventType_OnShowWindow
     573            };
    578574            SAFEARRAY *interestingEventsSA = NULL;
    579575            IEventListener *consoleListener = NULL;
     
    581577            /* The VirtualBox API expects enum values as VT_I4, which in the
    582578             * future can be hopefully relaxed. */
    583             interestingEventsSA = g_pVBoxFuncs->pfnSafeArrayCreateVector(VT_I4, 0, sizeof(interestingEvents) / sizeof(interestingEvents[0]));
    584             g_pVBoxFuncs->pfnSafeArrayCopyInParamHelper(interestingEventsSA, &interestingEvents, sizeof(interestingEvents));
     579            interestingEventsSA = g_pVBoxFuncs->pfnSafeArrayCreateVector(VT_I4, 0,
     580                                                                           sizeof(s_auInterestingEvents)
     581                                                                         / sizeof(s_auInterestingEvents[0]));
     582            g_pVBoxFuncs->pfnSafeArrayCopyInParamHelper(interestingEventsSA, &s_auInterestingEvents,
     583                                                        sizeof(s_auInterestingEvents));
    585584
    586585            rc = IEventSource_CreateListener(es, &consoleListener);
     
    643642                }
    644643                else
    645                 {
    646644                    printf("Failed to register event listener.\n");
    647                 }
    648645                IEventSource_UnregisterListener(es, (IEventListener *)consoleListener);
    649646                IEventListener_Release(consoleListener);
    650647            }
    651648            else
    652             {
    653649                printf("Failed to create an event listener instance.\n");
    654             }
    655650            g_pVBoxFuncs->pfnSafeArrayDestroy(interestingEventsSA);
    656651            IEventSource_Release(es);
    657652        }
    658653        else
    659         {
    660654            printf("Failed to get the event source instance.\n");
    661         }
    662655        IConsole_Release(console);
    663656    }
     
    675668{
    676669    IErrorInfo *ex;
    677     HRESULT rc2 = S_OK;
     670    HRESULT rc2;
    678671    fprintf(stderr, "%s: %s (rc=%#010x)\n", pszExecutable, pszErrorMsg, (unsigned)rc);
    679672    rc2 = g_pVBoxFuncs->pfnGetException(&ex);
     
    682675        IVirtualBoxErrorInfo *ei;
    683676        rc2 = IErrorInfo_QueryInterface(ex, &IID_IVirtualBoxErrorInfo, (void **)&ei);
    684         if (FAILED(rc2))
    685             ei = NULL;
    686         if (ei)
     677        if (SUCCEEDED(rc2) && ei != NULL)
    687678        {
    688679            /* got extended error info, maybe multiple infos */
     
    717708                IVirtualBoxErrorInfo_Release(ei);
    718709                ei = ei_next;
    719             }
    720             while (ei);
     710            } while (ei);
    721711        }
    722712
     
    813803             * Ignore it if you need a more basic sample. */
    814804#ifdef USE_ACTIVE_EVENT_LISTENER
    815             registerActiveEventListener(virtualBox, session, id);
    816 #else /* !USE_ACTIVE_EVENT_LISTENER */
    817             registerPassiveEventListener(virtualBox, session, id);
    818 #endif /* !USE_ACTIVE_EVENT_LISTENER */
     805            registerActiveEventListener(virtualBox, session);
     806#else
     807            registerPassiveEventListener(session);
     808#endif
    819809        }
    820810        IProgress_Release(progress);
     
    872862     * Iterate through the collection.
    873863     */
    874 
    875864    for (i = 0; i < machineCnt; ++i)
    876865    {
     
    900889        }
    901890        else
    902         {
    903891            printf("\tName:        <inaccessible>\n");
    904         }
    905892
    906893        {
     
    958945     * Let the user chose a machine to start.
    959946     */
    960 
    961947    printf("Type Machine# to start (0 - %u) or 'quit' to do nothing: ",
    962         (unsigned)(machineCnt - 1));
     948           (unsigned)(machineCnt - 1));
    963949    fflush(stdout);
    964950
     
    980966     * Don't forget to release the objects in the array.
    981967     */
    982 
    983968    for (i = 0; i < machineCnt; ++i)
    984969    {
     
    986971
    987972        if (machine)
    988         {
    989973            IMachine_Release(machine);
    990         }
    991974    }
    992975    g_pVBoxFuncs->pfnArrayOutFree(machines);
     
    1003986    BSTR        versionUtf16     = NULL;
    1004987    BSTR        homefolderUtf16  = NULL;
    1005     HRESULT    rc;     /* Result code of various function (method) calls. */
     988    HRESULT     rc;     /* Result code of various function (method) calls. */
     989    (void)argc;
    1006990
    1007991    printf("Starting main()\n");
     
    10611045
    10621046    /* 1. Revision */
    1063 
    10641047    rc = IVirtualBox_get_Revision(vbox, &revision);
    10651048    if (SUCCEEDED(rc))
     
    10691052
    10701053    /* 2. Version */
    1071 
    10721054    rc = IVirtualBox_get_Version(vbox, &versionUtf16);
    10731055    if (SUCCEEDED(rc))
     
    10831065
    10841066    /* 3. Home Folder */
    1085 
    10861067    rc = IVirtualBox_get_HomeFolder(vbox, &homefolderUtf16);
    10871068    if (SUCCEEDED(rc))
     
    11041085     * Do as mom told us: always clean up after yourself.
    11051086     */
    1106 
    11071087#ifdef USE_ACTIVE_EVENT_LISTENER
    11081088# ifdef WIN32
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette