/** @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
);
in
);
//
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);
{
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(
)(
,
);
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
)();
{
return E_NOTIMPL;
}
/** @} */
private:
dtrace-probes
dtrace-probes
Unknown string parameter value: generating=''