[in] Command string to send to the device.
QueryString
Performs a write and read of a string result as a single operation.
Syntax
Section titled “Syntax”virtual HRESULT QueryString(const CString& strCommand, CString& pResult, long lTimeout = CUR_TIMEOUT) abstract;
virtual HRESULT QueryString(const CString& strCommand, BSTR* pResult, long lTimeout = CUR_TIMEOUT) abstract;Parameters
Section titled “Parameters”strCommand
pResult
[out] Response string read from the device.
lTimeout
[in] I/O timeout value in milliseconds.
Return value
Section titled “Return value”Returns S_OK if successful, otherwise a failure HRESULT.
Remarks
Section titled “Remarks”The QueryString function provides a mechanism of “send, then receive” typical to a device command sequence. In this manner, the response generated from the command can be read immediately. The device is not polled for errors after the write portion of the sequence.
The QueryString function performs a WriteStringNoPoll operation followed immediately by a ReadString operation.
Example
Section titled “Example”The following example demonstrates use of the QueryString function.
STDMETHODIMP Acme4321::IAcme4321_GetIdentification(BSTR* pbstrId){ HRESULT hr = S_OK;
// Send ID query to device and read the response as a BSTR string hr = io.QueryString(_T("*IDN?"), pbstrId);
return hr;}