/** @file * * DO NOT EDIT! This is a generated file. * Generated from: src/VBox/Main/idl/VirtualBox.xidl * Generator: src/VBox/Main/idl/apiwrap-server.xsl */ /* * Copyright (C) 2010-2023 Oracle and/or its affiliates. * * This file is part of VirtualBox base platform packages, as * available from https://www.virtualbox.org. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, in version 3 of the * License. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see <https://www.gnu.org/licenses>. * * SPDX-License-Identifier: GPL-3.0-only */ #ifndef RT_WITHOUT_PRAGMA_ONCE # pragma once #endif #include "VirtualBoxBase.h" #include "Wrapper.h" : public VirtualBoxBase { Q_OBJECT public: DECLARE_PROTECT_FINAL_CONSTRUCT() COM_INTERFACE_ENTRY(ISupportErrorInfo) END_COM_MAP() public: virtual void i_callHook(const char *a_pszFunction) { RT_NOREF_PV(a_pszFunction); } private: DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP( ); /* Shuts up MSC warning C4625. */ }; #include "LoggingNew.h" #ifdef VBOX_WITH_DTRACE_R3_MAIN # include "dtrace/VBoxAPI.h" #endif #ifdef VBOX_WITH_XPCOM #endif // VBOX_WITH_XPCOM IN_ BSTR IUnknown * * const com::Utf8Str & const com::Guid & const ComPtr<IUnknown> & const * %p %zu %p %RU32 %p void * int void * * Interface is empty which causes midl generated proxy stubs to crash. Please add a dummy: <attribute name="midlDoesNotLikeEmptyInterfaces" readonly="yes" type="boolean"/> Otherwise oops in emitInterface ComSafeArrayIn( ComSafeArrayOut( , a ) * a const std::vector< > & * a * a = ComSafeArraySize( * * a ) Tmp (uint32_t) .array().size(), NULL /*for now*/ .str().c_str() .uuid().toStringCurly().c_str() (void *) .ptr() (void *) .ptr() * a != FALSE 0, 0 0 * a != FALSE 0, 0 0 a != FALSE 0, 0 0 *a != FALSE uint32_t a_c , *a_pa a_ yes yes yes Array ComTypeInConverter<IUnknown> ComTypeOutConverter<IUnknown> Array BSTRInConverter BSTROutConverter Array UuidInConverter UuidOutConverter Array ComTypeInConverter ComTypeOutConverter Array InConverter OutConverter Tmp ( ComSafeArrayInArg( ComSafeArrayOutArg( a ) ); Tmp .array() .str() .uuid() .ptr() .ptr() Oops #1 a != FALSE out ) RT_OVERRIDE; in ) RT_OVERRIDE; // AutoCaller &aAutoCaller, ) = 0; AutoCaller &aAutoCaller, ) = 0; out ) { #if 0 /* This is a dummy attribute */ LogRelFlow(("{%p} %s: enter \n", this, )); i_callHook(__FUNCTION__); // Clear error info, to make in-process calls behave the same as // cross-apartment calls or out-of-process calls. VirtualBoxBase::clearError(); HRESULT hrc; try { CheckComArgOutPointerValidThrow(a ); #ifdef VBOX_WITH_DTRACE_R3_MAIN this); #endif AutoLimitedCaller AutoCaller autoCaller(this); hrc = autoCaller.hrc(); if (SUCCEEDED(hrc)) { autoCaller, ); } #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 0 /*normal*/, out ); #endif } catch (HRESULT hrc2) { hrc = hrc2; #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 1 /*hrc exception*/, ); #endif } catch (...) { hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 9 /*unhandled exception*/, ); #endif } LogRelFlow(("{%p} %s: leave hrc=%Rhrc\n", this, , hrc)); return hrc; #else /* dummy attribute */ NOREF(aMidlDoesNotLikeEmptyInterfaces); return E_FAIL; #endif /* dummy attribute */ } in ) { LogRelFlow(("{%p} %s: enter \n", this, )); i_callHook(__FUNCTION__); // Clear error info, to make in-process calls behave the same as // cross-apartment calls or out-of-process calls. VirtualBoxBase::clearError(); HRESULT hrc; try { #ifdef VBOX_WITH_DTRACE_R3_MAIN this, in ); #endif AutoLimitedCaller AutoCaller autoCaller(this); hrc = autoCaller.hrc(); if (SUCCEEDED(hrc)) { autoCaller, ); } #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 0 /*normal*/, in ); #endif } catch (HRESULT hrc2) { hrc = hrc2; #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 1 /*hrc exception*/, ); #endif } catch (...) { hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 9 /*unhandled exception*/, ); #endif } LogRelFlow(("{%p} %s: leave hrc=%Rhrc\n", this, hrc)); return hrc; } probe *a_pThis); probe , uint32_t a_hrc, int32_t enmWhy, out ); probe ); probe , uint32_t a_hrc, int32_t enmWhy, in ); // // * @{ */ STDMETHOD(COMGETTER(InternalAndReservedAttribute ))(ULONG *aReserved) RT_OVERRIDE; { NOREF(aReserved); return E_NOTIMPL; } Otherwise oops in emitAttributes /** @} */ #ifdef VBOX_WITH_XPCOM #ifndef VBOX_WITH_XPCOM Otherwise oops in emitTargetBegin: target= #endif /* VBOX_WITH_XPCOM */ #endif /* !VBOX_WITH_XPCOM */ Otherwise oops in emitTargetEnd target= STDMETHOD( )( , ) RT_OVERRIDE; virtual HRESULT ( AutoCaller &aAutoCaller , , ) = 0; , ) { LogRelFlow(("{%p} %s: enter \n", this , )); i_callHook(__FUNCTION__); // Clear error info, to make in-process calls behave the same as // cross-apartment calls or out-of-process calls. VirtualBoxBase::clearError(); HRESULT hrc; try { CheckComArgOutPointerValidThrow(a ); #ifdef VBOX_WITH_DTRACE_R3_MAIN this , ); #endif AutoLimitedCaller AutoCaller autoCaller(this); hrc = autoCaller.hrc(); if (SUCCEEDED(hrc)) { autoCaller , , ); } #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 0 /*normal*/ , ); #endif } catch (HRESULT hrc2) { hrc = hrc2; #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 1 /*hrc exception*/ , ); #endif } catch (...) { hrc = VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS); #ifdef VBOX_WITH_DTRACE_R3_MAIN this, hrc, 9 /*unhandled exception*/ , ); #endif } LogRelFlow(("{%p} %s: leave hrc=%Rhrc\n", this , , hrc)); return hrc; } probe , ); probe , uint32_t a_hrc, int32_t enmWhy , ); // // * @{ */ STDMETHOD(InternalAndReservedMethod )() RT_OVERRIDE; { return E_NOTIMPL; } /** @} */ private: dtrace-probes dtrace-probes Unknown string parameter value: generating=''