CA_MethodInvokeVEx
HRESULT CA_MethodInvokeVEx (CAObjHandle objectHandle, ERRORINFO *errorInfo, const IID *interfaceId, int methodId, unsigned int returnType, void *returnValue, size_t parameterCount, unsigned int parameterTypes[], va_list parametersList);
Purpose
![]() |
Note This function is used by the functions generated by the ActiveX Controller Instrument Driver Wizard. It is not intended to be used directly. |
Calls the methods of an ActiveX server. Unlike CA_MethodInvokeEx, you pass the ActiveX function arguments as elements of a variable argument list (va_list).
Parameters
Input | ||
Name | Type | Description |
objectHandle | CAObjHandle | An ActiveX object handle returned in an output parameter of an ActiveX server function or a function in the Creating ActiveX Objects class in this library. |
interfaceId | const IID * | The interface id specifying the type of interface pointer to be used
for the method access. You must pass the UUID of an interface implemented by the object passed in the objectHandle parameter or zero to indicate the current interface id that is stored in that object handle. |
methodId | int | The Id of the method being called. This Id can be obtained from the object's type library. |
returnType | unsigned int | The type of the return value of the function. The return value can be any of the data types for variants and safe arrays except CAVT_NULL. |
parameterCount | size_t | The number of arguments to be passed to the ActiveX server function. |
parameterTypes | unsigned int [] | An array of parameter type descriptions. The size of the array must
match the value passed in the parameterCount parameter. Each entry in the array can consist of any of the data types for variants and safe arrays except CAVT_NULL. If the parameter is a reference parameter, you can bitwise OR all the constants with the data type modifiers except for CAVT_EMPTY and CAVT_NULL. |
parametersList | va_list | The list of arguments to the ActiveX server function passed as a
variable argument list initialized with the va_start macro. The number of arguments in the list must match the count passed in the parameterCount parameter. |
Output | ||
Name | Type | Description |
errorInfo | ERRORINFO | When the ActiveX server method invoked by this function fails with the error code DISP_E_EXCEPTION, descriptive information about the error code is stored in this parameter. The descriptive information includes the error code, source, and description. The information also can include a help file and help file context. When the ActiveX server method invoked by this function fails with the error codes DISP_E_PARAMNOTFOUND, DISP_E_TYPEMISMATCH, or E_INVALIDARG, the parameter position of the invalid argument can be stored in the errorParamPos member of this parameter. This parameter can be NULL. |
returnValue | void * | The value returned by the ActiveX server function. Pass the address of a variable of the type specified in the returnType parameter. |
Return Value
Name | Type | Description |
status | HRESULT | A value indicating whether an error occurred. Negative error codes indicate function failure. Error codes are defined in CVIversion\include\cviauto.h and <Program Files>\National Instruments\Shared\MSDTRedistributables\SDKHeaderFiles\8.1\winerror.h. The LabWindows/CVI ActiveX Library explicitly returns error codes. Other error codes in winerror.h are generated by ActiveX servers and passed on to you by the LabWindows/CVI ActiveX Library. You can use CA_GetAutomationErrorString to get the description of an error code or CA_DisplayErrorInfo to display the description of the error code. |
Additional Information
Library: ActiveX Library
Include file: cviauto.h
LabWindows/CVI compatibility: LabWindows/CVI 6.0 and later