質問
KIKUSUI版のI/OライブラリのKI-VISAについて質問なのですが
WriteStringでコマンドを投げた場合PMXなど直流安定化電源からコマンドを受け取ったことをコマンド?バイト?が返ってくることが
パケットキャプチャーで確認することができました。
Writestringのプログラムだけでなぜ受け取りの処理が行われるのか
その場所はどこで定義されているのかを知りたいです。
私はしたの定義されているWritestringの部分の_bstr_t がReadStringにつながって受け取ってると考えたのですが・・・
助言をいただけないでしょうか?
該当のソースコード
inline long IMessage::WriteString ( _bstr_t buffer ) { long _result = 0; HRESULT _hr = raw_WriteString(buffer, &_result); if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); return _result; } inline _bstr_t IMessage::ReadString ( long count ) { BSTR _result = 0; HRESULT _hr = raw_ReadString(count, &_result); if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); return _bstr_t(_result, false); }
int _tmain(int argc, _TCHAR* argv[]) { IMessagePtr spMsg; CoInitializeEx(NULL, COINIT_MULTITHREADED); HRESULT hr; IResourceManager3Ptr spRM; hr = spRM.CreateInstance(CLSID_ResourceManager); spMsg = spRM->Open(L"TCPIP::192.168.1.1::inst0::INSTR", NO_LOCK, 0, L""); SAFEARRAY* pSA = NULL; int r; r = spMsg->WriteString(L"OUTP 1 \n"); r = spMsg->WriteString(L"VOLT 15.0 \n"); //spMsg->ReadString(256); spMsg->Close(); //閉じる return 0; }
回答2件
あなたの回答
tips
プレビュー