ハンドルの使用方法について説明します。
処理の流れ
コネクションの確立から切断までの、処理シーケンスの推奨パターンを以下に示します。
図11.3 コネクション確立から切断までの処理の流れ
ShunAllocHandle関数で、コネクションハンドルを割り当てます。これにより、コネクションハンドルは利用可能な状態となります。
コネクションハンドルを割り当てた後、ShunConnect関数でShunsakuとのコネクションを確立します。
コネクションの確立後、ShunAllocHandle関数でデータ操作ハンドルを割り当てます。
これにより、データ操作ハンドルは利用可能な状態となり、Shunsakuに対してデータの検索および更新ができます。
ShunFreeHandle関数で、データ操作ハンドルを解放します。データ操作ハンドルを解放すると、そのハンドルが持つリソース(レコードID、データ、位置情報、ダイレクトアクセスキー)も解放されます。
ShunDisconnect関数で、コネクションを切断します。
ShunFreeHandle関数で、コネクションハンドルを解放します。指定したハンドルのコネクションが確立されている場合は、そのコネクションは切断されます。
注意事項
データ操作ハンドルを割り当てることができる期間
データ操作ハンドルを割り当てることができるのは、コネクションの確立後からコネクションを切断するまでです。それ以外のタイミングでデータ操作ハンドルを割り当てようとすると、SHUN_ERRORが返却されます。
データ操作ハンドルが解放されるタイミング
データ操作ハンドルを解放せずにコネクションを切断すると、そのコネクション内で割り当てたデータ操作ハンドルはすべて解放されます。データ操作ハンドルで保持しているリソースをコネクションの切断後も利用する場合は、別の領域にコピーしてください。
通信異常が発生した場合のデータ操作ハンドルの状態
通信異常が発生し、コネクションの確立から再実行すると、そのコネクション内で割り当てたデータ操作ハンドルはすべて解放されます。再度コネクションを確立したあとに、データ操作ハンドルを割り当ててください。