30#include <rtl/ustring.hxx>
43 if (!pArgs || pArgs->
Count() != 2)
48 if (
pOut->IsCurrency())
50 pOut->PutCurrency(nValue);
53 if (!
pOut->IsObject())
63 if (pProps->
Count() != 2)
67 if (!pLow || !pLow->
IsLong() ||
68 !pHigh || !pHigh->
IsLong())
70 pLow->
PutLong(nValue & 0xffffffff);
78 sal_Int64 nNanoSecsPerSec = 1000.0*1000*1000;
79 if (aFuncName == u
"QueryPerformanceFrequency")
80 return returnInt64InOutArg(pArgs, rRetVal, nNanoSecsPerSec);
82 else if (aFuncName == u
"QueryPerformanceCounter")
85 osl_getSystemTime( &aNow );
86 sal_Int64 nStamp = aNow.Nanosec + aNow.Seconds * nNanoSecsPerSec;
87 return returnInt64InOutArg(pArgs, rRetVal, nStamp);
95 std::u16string_view aFuncName, std::u16string_view aDllName,
97 SAL_UNUSED_PARAMETER
bool )
99 if (aDllName ==
u"kernel32")
100 return builtin_kernel32(aFuncName, pArgs, rRetVal);
109#if defined(_WIN32) && !defined(_ARM64_)
110SbiDllMgr::~SbiDllMgr() =
default;
ErrCode Call(std::u16string_view function, std::u16string_view library, SbxArray *arguments, SbxVariable &result, bool cdeclConvention)
void FreeDll(OUString const &library)
SbxVariable * Get(sal_uInt32)
SbxArray * GetProperties()
bool PutInteger(sal_Int16)
#define ERRCODE_BASIC_BAD_ARGUMENT
#define ERRCODE_BASIC_NOT_IMPLEMENTED