APIの使用方法 1.APIはDLL(bvcm.dll)で供給されます。 2.供給されるファイルは3本です。 bvcm.dll (DLL本体) bvcm.lib (リンク用ライブラリ) bvcm.h (ヘッダファイル) 3.DLLは静的リンク(暗黙的リンク)あるいは動的リンク(明示的リンク)  のどちらでも使用できます。 4.静的リンク   ユーザプログラムはヘッダファイル(bvcm.h)をインクルードします。これに  は関数やクラスの宣言が記述されています。   プログラムのリンク時にライブラリ(bvcm.lib)をリンクします。統合開発環  境では、プロジェクトに(bvcm.lib)を追加します。 5.動的リンク   動的リンクではヘッダファイル、ライブラリファイルは必要ありません。   実行時にLoadLibrary()関数を使って、直接DLLをインポートします。   APIを利用するにはGetProcAddress()関数を使って、エクスポート関数名  から関数のアドレスを取得し呼び出します。本DLLでは序数による呼び出し  をサポートしていません。 6. 呼び出し側言語について   bvcm.dllを正しく呼び出せる言語であればどの様なプログラミング言語であ  っても、BVCM_USB_01を使う事が出来ますが、ここで様々な言語からbvcm.dllを  呼び出すためには、bvcm.dllの呼び出し規則を知っている必要が有ります。 7. 呼び出し規則   bvcm.dllはVC++により作成されており、呼び出し規則は'__cdecl'ではなく、  '__stdcall'です。従って、API関数名は修飾されてエクスポートされていま  す。  同じVC++などでヘッダファイルを使用して静的リンクする場合は、この事を特に  意識する必要はありませんが、VBなどから動的に呼び出す場合、修飾名を知る必  要が有ります。 8. VBでの呼び出し   VBから呼び出す場合には、呼び出し規則をあらかじめ宣言しておく必要があります。  参考にまでにVB2010での宣言部分を以下に示します。(サンプルプログラム参照) Private Declare Function ScanIF Lib "bvcm.dll" Alias "?BVCM_ScanInterface@@YGKPAI@Z" (ByRef puiNumber As Integer) As Integer Private Declare Function OpenIF Lib "bvcm.dll" Alias "?BVCM_OpenInterface@@YGKIPAPAX@Z" (ByVal uiInterface As Integer, ByRef bvcmHandle As Integer) As Integer Private Declare Function CloseIF Lib "bvcm.dll" Alias "?BVCM_CloseInterface@@YGKPAX@Z" (ByVal bvcmHandle As Integer) As Integer Private Declare Function Stby Lib "bvcm.dll" Alias "?BVCM_Standby@@YGKPAXI@Z" (ByVal bvcmHandle As Integer, ByVal iTarget As Integer) As Integer Private Declare Function GetAllDt Lib "bvcm.dll" Alias "?BVCM_GetAllData@@YGKPAXIPADI@Z" (ByVal bvcmHandle As Integer, ByVal iTarget As Integer, ByVal pcBuffer() As Byte, ByVal iBufferSize As Integer) As Integer Private Declare Function GetDt Lib "bvcm.dll" Alias "?BVCM_GetData@@YGKPAXIPADI@Z" (ByVal bvcmHandle As Integer, ByVal iTarget As Integer, ByVal pcBuffer() As Byte, ByVal iBufferSize As Integer) As Integer Private Declare Function PutDt Lib "bvcm.dll" Alias "?BVCM_PutData@@YGKPAXIPAD@Z" (ByVal bvcmHandle As Integer, ByVal iTarget As Integer, ByVal pcBuffer() As Byte) As Integer Private Declare Function LnReset Lib "bvcm.dll" Alias "?BVCM_LineReset@@YGKPAX@Z" (ByVal bvcmHandle As Integer) As Integer 9. 修飾名   修飾名は環境にも依存するため、32ビット環境と64ビット環境のそれぞれのdll  では修飾名が異なりますので注意が必要です。実際の修飾名は以下の通りです。 32bit版 bvcm.dll ?BVCM_CloseInterface@@YGKPAX@Z ?BVCM_GetAllData@@YGKPAXIPADI@Z ?BVCM_GetData@@YGKPAXIPADI@Z ?BVCM_LineReset@@YGKPAX@Z ?BVCM_OpenInterface@@YGKIPAPAX@Z ?BVCM_PutData@@YGKPAXIPAD@Z ?BVCM_ScanInterface@@YGKPAI@Z ?BVCM_Standby@@YGKPAXI@Z 64bit版 bvcm.dll ?BVCM_CloseInterface@@YAKPEAX@Z ?BVCM_GetAllData@@YAKPEAXIPEADI@Z ?BVCM_GetData@@YAKPEAXIPEADI@Z ?BVCM_LineReset@@YAKPEAX@Z ?BVCM_OpenInterface@@YAKIPEAPEAX@Z ?BVCM_PutData@@YAKPEAXIPEAD@Z ?BVCM_ScanInterface@@YAKPEAI@Z ?BVCM_Standby@@YAKPEAXI@Z