Admin Production ni-theme
Current Publication

CA_MethodInvoke

LabWindows/CVI

CA_MethodInvoke

HRESULT CA_MethodInvoke (CAObjHandle objectHandle, ERRORINFO *errorInfo, int methodId, unsigned int returnType, void *returnValue, size_t parameterCount, unsigned int parameterTypes[], ...);

Purpose

Note    This function has been superseded by CA_MethodInvokeEx. The new function takes an additional parameter for interface id. Calling this function is equivalent to passing 0 for the interfaceId parameter.

Invokes an ActiveX server method. Unlike CA_MethodInvokeV, CA_MethodInvoke accepts arguments to the server operation as comma-separated parameters.

Note    This function is used by the functions generated by the ActiveX Controller Wizard. It is not intended to be used directly.

Parameters

Input
Name Type Description
objectHandle CAObjHandle 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.
methodId int ID of the method you call; located in the server type library.
returnType unsigned int Data type of the return value of the server method.

returnType can be any of the fundamental data types for variants, safe arrays, and properties except CAVT_NULL.
parameterCount size_t Number of arguments you pass that follow parameterTypes.
parameterTypes unsigned int [] An array of parameter type descriptions.

The size of the array must match the value passed in the parameterCount parameter.

parameterTypes can contain any of the fundamental data types for variants, safe arrays, and properties except CAVT_NULL or CAVT_EMPTY.

You can use the CAVT_ARRAY modifier on all data types except CAVT_CSTRING and CAVT_OBJHANDLE. For parameters you pass by reference, you can use the CAVT_BYREFI, CAVT_BYREFO, or CAVT_BYREFIO modifier.
automationFunctionParameters ... Arguments to the ActiveX server method. You must separate multiple arguments with commas.

The number of arguments passed 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 the server method returns. Pass a pointer to a variable of the data type returnType specifies.

Return Value

Name Type Description
status HRESULT A value indicating whether an error occurred. Function failure is indicated by a negative error code.

Error codes are defined in CVIversion\include\cviauto.h and <Program Files>\National Instruments\Shared\MSDTRedistributables\SDKHeaderFiles\8.1\winerror.h.

You can use CA_GetAutomationErrorString to get the description of an error code or CA_DisplayErrorInfo to display the description of the error code. If the error code is DISP_E_EXCEPTION (0x80020009 or -2147352567), then the errorInfo parameter contains additional error information. You can use CA_DisplayErrorInfo to display the error information.

Additional Information

Library: ActiveX Library

Include file: cviauto.h

LabWindows/CVI compatibility: LabWindows/CVI 5.0 and later