/** * Sets the new code scanner enabled flag. * * @returns COM status code * @param aEnable new code scanner enabled flag */ STDMETHODIMP MachineDebugger::COMSETTER(CSAMEnabled) (BOOL aEnable) { LogFlowThisFunc(("enable=%d\n", aEnable)); AutoCaller autoCaller(this); if (FAILED(autoCaller.rc())) return autoCaller.rc(); AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); if (queueSettings()) { // queue the request mCsamEnabledQueued = aEnable; return S_OK; } Console::SafeVMPtr pVM(mParent); if (FAILED(pVM.rc())) return pVM.rc(); int vrc; if (aEnable) vrc = CSAMEnableScanning (pVM); else vrc = CSAMDisableScanning (pVM); if (RT_FAILURE(vrc)) { /** @todo handle error case */ } return S_OK; }
/** * Sets the new code scanner enabled flag. * * @returns COM status code * @param enable new code scanner enabled flag */ STDMETHODIMP MachineDebugger::COMSETTER(CSAMEnabled)(BOOL enable) { LogFlow(("MachineDebugger:SetCSAMEnabled: %d\n", enable)); if (!fFlushMode) { // check if the machine is running if (machineState != VMSTATE_RUNNING) { // queue the request csamEnabledQueued = enable; return S_OK; } } if (!gpVM) return E_FAIL; if (enable) CSAMEnableScanning(gpVM); else CSAMDisableScanning(gpVM); return E_NOTIMPL; }