Admin Production ni-theme
Current Publication

CA_VariantGetCStringBuf

LabWindows/CVI

CA_VariantGetCStringBuf

HRESULT CA_VariantGetCStringBuf (VARIANT *variant, char buffer[], size_t bufferSize);

Purpose

Converts the BSTR string in the variant you specify into a C-style string and copies the string into a buffer parameter.

If buffer is not large enough to hold the string, CA_VariantGetCStringBuf copies (bufferSize - 1) characters into the buffer, followed by an ASCII NUL byte.

On success, CA_VariantGetCStringBuf releases the contents of the variant and marks it as empty.

CA_VariantGetCStringBuf returns an error if the variant does not contain a BSTR value.

Parameters

Input
Name Type Description
bufferSize size_t Number of bytes in buffer.
Output
Name Type Description
variant VARIANT Pointer to a variant that contains a BSTR value.

CA_VariantGetCStringBuf marks the variant as empty on success.
buffer char [] Buffer into which CA_VariantGetCStringBuf copies the C-style string it converts from the BSTR in the variant.

Return Value

Name Type Description
status HRESULT A value indicating whether an error occurred. Negative error codes indicate function failure.

If the function succeeds, it returns a positive value representing the number of bytes, excluding the ASCII NUL byte, that it copied into the buffer.

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 5.0 and later