[id(6), helpstring(P_EX"div two double, no retval")] HRESULTCER_Div_NR([in] doubleFacA, [in] doubleFacB, [out] double*Res, [out] VARIANT_BOOL* pbErg); };
You see two types of functions: one with return value ([out, retval] for the last parameter, this should be the normal case) and one without (only [out], only for testing). These functions are part of the "KalibOle" object, so this object has to be created first. A small snippet in LabVIEW which calls two test functions (one with return value, one without) looks then like this:
Whereas the function without return value (CER_Sub_NR in this case) runs without any problems, the function with return value (CER_Add) returns with error -2147352562 (0x8002000E) in <error out>. This is the COM error code DISP_E_BADPARAMCOUNT (listed here: https://msdn.microsoft.com/en-us/library/windows/desktop/dd542644(v=vs.85).aspx) and means that the number of parameters is insufficient ("Unzulässige Parameteranzahl" in german).
We crawled the whole forum for hints and tricks, but it seems that
a.) LabVIEW is able to handle COM components automatically
b.) the usage of a return value is regular practice
Of course we have the suspicion that something goes wrong with the parameter handling, but we have no idea why the function with a return value fails whereas the function without a return value succeeds.