您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ AssertComRCReturn函数代码示例

51自学网 2021-06-01 19:47:43
  C++
这篇教程C++ AssertComRCReturn函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AssertComRCReturn函数的典型用法代码示例。如果您正苦于以下问题:C++ AssertComRCReturn函数的具体用法?C++ AssertComRCReturn怎么用?C++ AssertComRCReturn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了AssertComRCReturn函数的21个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: destroyClientListener

int destroyClientListener(ComNatListenerPtr& listener, const ComVirtualBoxClientPtr& vboxclientptr){    if (listener)    {        ComPtr<IEventSource> esVBox;        HRESULT hrc = vboxclientptr->COMGETTER(EventSource)(esVBox.asOutParam());        AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);        if (!esVBox.isNull())        {            hrc = esVBox->UnregisterListener(listener);            AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);        }        listener.setNull();    }    return VINF_SUCCESS;}
开发者ID:miguelinux,项目名称:vbox,代码行数:16,


示例2: AssertComRCReturn

int VBoxNetBaseService::init(){    if (isMainNeeded())    {        HRESULT hrc = com::Initialize();        AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);        hrc = virtualboxClient.createInprocObject(CLSID_VirtualBoxClient);        AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);        hrc = virtualboxClient->COMGETTER(VirtualBox)(virtualbox.asOutParam());        AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    }    return VINF_SUCCESS;}
开发者ID:svn2github,项目名称:virtualbox,代码行数:16,


示例3: autoCaller

bool ParallelPort::i_hasDefaults(){    /* sanity */    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), true);    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    if (!m->bd->fEnabled)    {        /* Could be default, check the IO base and IRQ. */        switch (m->bd->ulSlot)        {            case 0:                if (m->bd->ulIOBase == 0x378 && m->bd->ulIRQ == 7)                    return true;                break;            case 1:                if (m->bd->ulIOBase == 0x278 && m->bd->ulIRQ == 5)                    return true;                break;            default:                AssertMsgFailed(("Parallel port slot %u exceeds limit/n", m->bd->ulSlot));                break;        }        /* Detect old-style defaults (0x378, irq 4) in any slot, they are still         * in place for many VMs created by old VirtualBox versions. */        if (m->bd->ulIOBase == 0x378 && m->bd->ulIRQ == 4)            return true;    }    return false;}
开发者ID:miguelinux,项目名称:vbox,代码行数:34,


示例4: autoCaller

/** * Returns a medium format object corresponding to the given file extension or * null if no such format. * * @param aExt   File extension. * * @return ComObjPtr<MediumFormat> */ComObjPtr<MediumFormat> SystemProperties::i_mediumFormatFromExtension(const Utf8Str &aExt){    ComObjPtr<MediumFormat> format;    AutoCaller autoCaller(this);    AssertComRCReturn (autoCaller.rc(), format);    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    bool fFound = false;    for (MediumFormatList::const_iterator it = m_llMediumFormats.begin();         it != m_llMediumFormats.end() && !fFound;         ++it)    {        /* MediumFormat is all const, no need to lock */        MediumFormat::StrArray aFileList = (*it)->i_getFileExtensions();        for (MediumFormat::StrArray::const_iterator it1 = aFileList.begin();             it1 != aFileList.end();             ++it1)        {            if ((*it1).compare(aExt, Utf8Str::CaseInsensitive) == 0)            {                format = *it;                fFound = true;                break;            }        }    }    return format;}
开发者ID:jeppeter,项目名称:vbox,代码行数:39,


示例5: Assert

/* static */int NativeEventQueue::init(){    Assert(sMainQueue == NULL);    Assert(RTThreadIsMain(RTThreadSelf()));    try    {        sMainQueue = new NativeEventQueue();        AssertPtr(sMainQueue);#ifdef VBOX_WITH_XPCOM        /* Check that it actually is the main event queue, i.e. that           we're called on the right thread. */        nsCOMPtr<nsIEventQueue> q;        nsresult rv = NS_GetMainEventQ(getter_AddRefs(q));        AssertComRCReturn(rv, VERR_INVALID_POINTER);        Assert(q == sMainQueue->mEventQ);        /* Check that it's a native queue. */        PRBool fIsNative = PR_FALSE;        rv = sMainQueue->mEventQ->IsQueueNative(&fIsNative);        Assert(NS_SUCCEEDED(rv) && fIsNative);#endif // VBOX_WITH_XPCOM    }    catch (std::bad_alloc &ba)    {        NOREF(ba);        return VERR_NO_MEMORY;    }    return VINF_SUCCESS;}
开发者ID:caidongyun,项目名称:tray,代码行数:32,


示例6: autoCaller

STDMETHODIMP Session::OnShowWindow(BOOL aCheck, BOOL *aCanShow, LONG64 *aWinId){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);#ifndef VBOX_COM_INPROC_API_CLIENT    AssertReturn(mConsole, VBOX_E_INVALID_OBJECT_STATE);#endif    if (mState != SessionState_Locked)    {        /* the call from Machine issued when the session is open can arrive         * after the session starts closing or gets closed. Note that when         * aCheck is false, we return E_FAIL to indicate that aWinId we return         * is not valid */        *aCanShow = FALSE;        *aWinId = 0;        return aCheck ? S_OK : E_FAIL;    }#ifndef VBOX_COM_INPROC_API_CLIENT    return mConsole->onShowWindow(aCheck, aCanShow, aWinId);#else    return S_OK;#endif}
开发者ID:bayasist,项目名称:vbox,代码行数:29,


示例7: autoCaller

/** *  Returns true if the given USB device matches to at least one of *  this controller's USB device filters. * *  A HostUSBDevice specific version. * *  @note Locks this object for reading. */bool USBDeviceFilters::i_hasMatchingFilter(const ComObjPtr<HostUSBDevice> &aDevice, ULONG *aMaskedIfs){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), false);    /* It is not possible to work with USB device if there is no USB controller present. */    if (!m->pParent->i_isUSBControllerPresent())        return false;    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    /* apply self filters */    for (DeviceFilterList::const_iterator it = m->llDeviceFilters->begin();         it != m->llDeviceFilters->end();         ++it)    {        AutoWriteLock filterLock(*it COMMA_LOCKVAL_SRC_POS);        if (aDevice->i_isMatch((*it)->i_getData()))        {            *aMaskedIfs = (*it)->i_getData().mMaskedIfs;            return true;        }    }    return false;}
开发者ID:mcenirm,项目名称:vbox,代码行数:34,


示例8: LogFlowThisFuncEnter

STDMETHODIMP Session::GetRemoteConsole(IConsole **aConsole){    LogFlowThisFuncEnter();    AssertReturn(aConsole, E_POINTER);    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mState != SessionState_Unlocked, VBOX_E_INVALID_VM_STATE);#ifndef VBOX_COM_INPROC_API_CLIENT    AssertMsgReturn(mType == SessionType_WriteLock && !!mConsole,                    ("This is not a direct session!/n"),                    VBOX_E_INVALID_OBJECT_STATE);    /* return a failure if the session already transitioned to Closing     * but the server hasn't processed Machine::OnSessionEnd() yet. */    if (mState != SessionState_Locked)        return VBOX_E_INVALID_VM_STATE;    mConsole.queryInterfaceTo(aConsole);    LogFlowThisFuncLeave();    return S_OK;#else  /* VBOX_COM_INPROC_API_CLIENT */    AssertFailed();    return VBOX_E_INVALID_OBJECT_STATE;#endif /* VBOX_COM_INPROC_API_CLIENT */}
开发者ID:bayasist,项目名称:vbox,代码行数:33,


示例9: autoCaller

bool USBDeviceFilter::i_isModified(){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), false);    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    return m_fModified;}
开发者ID:svn2github,项目名称:virtualbox,代码行数:8,


示例10: autoCaller

STDMETHODIMP Session::EnableVMMStatistics(BOOL aEnable){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    mConsole->enableVMMStatistics(aEnable);    return S_OK;}
开发者ID:quiquetux,项目名称:jokte-ba-as,代码行数:9,


示例11: DECLCALLBACK

DECLCALLBACK(int) VBoxNetBaseService::Data::recvLoop(RTTHREAD, void *pvUser){    VBoxNetBaseService *pThis = static_cast<VBoxNetBaseService *>(pvUser);    HRESULT hrc = com::Initialize();    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    pThis->doReceiveLoop();    return VINF_SUCCESS;}
开发者ID:svn2github,项目名称:virtualbox,代码行数:11,


示例12: autoCaller

STDMETHODIMP Session::SaveStateWithReason(Reason_T aReason, IProgress **aProgress){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mState == SessionState_Locked, VBOX_E_INVALID_VM_STATE);    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);    AssertReturn(mConsole, VBOX_E_INVALID_OBJECT_STATE);    return mConsole->saveState(aReason, aProgress);}
开发者ID:apaka,项目名称:vbox,代码行数:12,


示例13: createClientListener

int createClientListener(ComNatListenerPtr& listener, const ComVirtualBoxClientPtr& vboxclientptr,                         NATNetworkEventAdapter *adapter, /* const */ ComEventTypeArray& events){    ComObjPtr<NATNetworkListenerImpl> obj;    HRESULT hrc = obj.createObject();    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    hrc = obj->init(new NATNetworkListener(), adapter);    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    ComPtr<IEventSource> esVBox;    hrc = vboxclientptr->COMGETTER(EventSource)(esVBox.asOutParam());    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    listener = obj;    hrc = esVBox->RegisterListener(listener, ComSafeArrayAsInParam(events), true);    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    return VINF_SUCCESS;}
开发者ID:miguelinux,项目名称:vbox,代码行数:21,


示例14: LogFlowThisFunc

STDMETHODIMP Session::OnStorageDeviceChange(IMediumAttachment *aMediumAttachment, BOOL aRemove){    LogFlowThisFunc(("/n"));    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mState == SessionState_Locked, VBOX_E_INVALID_VM_STATE);    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);    return mConsole->onStorageDeviceChange(aMediumAttachment, aRemove);}
开发者ID:quiquetux,项目名称:jokte-ba-as,代码行数:13,


示例15: LogFlowThisFunc

STDMETHODIMP Session::OnDragAndDropModeChange(DragAndDropMode_T aDragAndDropMode){    LogFlowThisFunc(("/n"));    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mState == SessionState_Locked, VBOX_E_INVALID_VM_STATE);    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);    return mConsole->onDragAndDropModeChange(aDragAndDropMode);}
开发者ID:apaka,项目名称:vbox,代码行数:13,


示例16: configGetBoundryAddress

static inline int configGetBoundryAddress(const ComDhcpServerPtr& dhcp, bool fUpperBoundry, RTNETADDRIPV4& boundryAddress){    boundryAddress.u = INADDR_ANY;    HRESULT hrc;    com::Bstr strAddress;    if (fUpperBoundry)        hrc = dhcp->COMGETTER(UpperIP)(strAddress.asOutParam());    else        hrc = dhcp->COMGETTER(LowerIP)(strAddress.asOutParam());    AssertComRCReturn(hrc, VERR_INTERNAL_ERROR);    return RTNetStrToIPv4Addr(com::Utf8Str(strAddress).c_str(), &boundryAddress);}
开发者ID:mcenirm,项目名称:vbox,代码行数:14,


示例17: AssertReturn

STDMETHODIMP Session::GetPID(ULONG *aPid){    AssertReturn(aPid, E_POINTER);    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    *aPid = (ULONG)RTProcSelf();    AssertCompile(sizeof(*aPid) == sizeof(RTPROCESS));    return S_OK;}
开发者ID:apaka,项目名称:vbox,代码行数:14,


示例18: switch

HRESULT VBoxNetDhcp::HandleEvent(VBoxEventType_T aEventType, IEvent *pEvent){    switch (aEventType)    {        case VBoxEventType_OnHostNameResolutionConfigurationChange:            fetchAndUpdateDnsInfo();            break;        case VBoxEventType_OnNATNetworkStartStop:        {            ComPtr <INATNetworkStartStopEvent> pStartStopEvent = pEvent;            com::Bstr networkName;            HRESULT hrc = pStartStopEvent->COMGETTER(NetworkName)(networkName.asOutParam());            AssertComRCReturn(hrc, hrc);            if (networkName.compare(getNetworkName().c_str()))                break; /* change not for our network */            BOOL fStart = TRUE;            hrc = pStartStopEvent->COMGETTER(StartEvent)(&fStart);            AssertComRCReturn(hrc, hrc);            if (!fStart)                shutdown();            break;        }        case VBoxEventType_OnVBoxSVCAvailabilityChanged:        {            shutdown();            break;        }        default: break; /* Shut up MSC. */    }    return S_OK;}
开发者ID:svn2github,项目名称:virtualbox,代码行数:37,


示例19: autoCaller

/** * Sets the cancelation callback, checking for cancelation first. * * @returns Success indicator. * @retval  true on success. * @retval  false if the progress object has already been canceled or is in an *          invalid state * * @param   pfnCallback     The function to be called upon cancelation. * @param   pvUser          The callback argument. */bool Progress::i_setCancelCallback(void (*pfnCallback)(void *), void *pvUser){    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), false);    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);    i_checkForAutomaticTimeout();    if (mCanceled)        return false;    m_pvCancelUserArg   = pvUser;    m_pfnCancelCallback = pfnCallback;    return true;}
开发者ID:mcenirm,项目名称:vbox,代码行数:26,


示例20: autoCaller

STDMETHODIMP Session::AccessGuestProperty(IN_BSTR aName, IN_BSTR aValue, IN_BSTR aFlags,                                          BOOL aIsSetter, BSTR *aRetValue, LONG64 *aRetTimestamp, BSTR *aRetFlags){#ifdef VBOX_WITH_GUEST_PROPS# ifndef VBOX_COM_INPROC_API_CLIENT    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    if (mState != SessionState_Locked)        return setError(VBOX_E_INVALID_VM_STATE,                        tr("Machine is not locked by session (session state: %s)."),                        Global::stringifySessionState(mState));    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);    CheckComArgStrNotEmptyOrNull(aName);    if (!aIsSetter && !VALID_PTR(aRetValue))        return E_POINTER;    if (!aIsSetter && !VALID_PTR(aRetTimestamp))        return E_POINTER;    if (!aIsSetter && !VALID_PTR(aRetFlags))        return E_POINTER;    /* aValue can be NULL for a setter call if the property is to be deleted. */    if (aIsSetter && (aValue != NULL) && !VALID_PTR(aValue))        return setError(E_INVALIDARG, tr("Invalid value pointer"));    /* aFlags can be null if it is to be left as is */    if (aIsSetter && (aFlags != NULL) && !VALID_PTR(aFlags))        return setError(E_INVALIDARG, tr("Invalid flags pointer"));    /* If this session is not in a VM process fend off the call. The caller     * handles this correctly, by doing the operation in VBoxSVC. */    if (!mConsole)        return E_ACCESSDENIED;    if (!aIsSetter)        return mConsole->getGuestProperty(aName, aRetValue, aRetTimestamp, aRetFlags);    else        return mConsole->setGuestProperty(aName, aValue, aFlags);# else  /* VBOX_COM_INPROC_API_CLIENT */    /** @todo This is nonsense, non-VM API users shouldn't need to deal with this     *        method call, VBoxSVC should be clever enough to see that the     *        session doesn't have a console! */    return E_ACCESSDENIED;# endif /* VBOX_COM_INPROC_API_CLIENT */#else  /* VBOX_WITH_GUEST_PROPS */    ReturnComNotImplemented();#endif /* VBOX_WITH_GUEST_PROPS */}
开发者ID:eaas-framework,项目名称:virtualbox,代码行数:48,


示例21: LogFlowThisFunc

STDMETHODIMP Session::OnClipboardModeChange(ClipboardMode_T aClipboardMode){    LogFlowThisFunc(("/n"));    AutoCaller autoCaller(this);    AssertComRCReturn(autoCaller.rc(), autoCaller.rc());    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);    AssertReturn(mState == SessionState_Locked, VBOX_E_INVALID_VM_STATE);    AssertReturn(mType == SessionType_WriteLock, VBOX_E_INVALID_OBJECT_STATE);#ifndef VBOX_COM_INPROC_API_CLIENT    AssertReturn(mConsole, VBOX_E_INVALID_OBJECT_STATE);    return mConsole->onClipboardModeChange(aClipboardMode);#else    return S_OK;#endif}
开发者ID:eaas-framework,项目名称:virtualbox,代码行数:18,



注:本文中的AssertComRCReturn函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ AssertComRCReturnRC函数代码示例
C++ AssertArg函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。