3. Matrix API &ドライバのインストールと配布方法

3.1 Matrix API とドライバのアーキテクチャー

PCとMatrixは、ドライバを経由して通信します。 アプリケーションプログラムとドライバは、API関数(API関数を含むDLL)を経由して通信します。

16ビット、32ビット、どちらのタイプのプログラムでもMatrixを利用できます。 Windows NT/2000/XP で実行される16ビットプログラムも問題なく作動します。

■ LPTインターフェース
Windows 95/98ではVXDドライバ、Windows NT/2000/XPではSYSドライバを経由して通信します。 Windows95/98ではVXDドライバを経由するかどうかを選択でき、VXDを経由せずに直接アクセスす ることもできます。
■ USBインターフェース
Windows 98/ME/2000/XPでは SYSドライバを経由して通信します。Matrix USBはプラグアンドプレイ対応なので、 接続するとドライバが自動的にOSによってロードされます。

下記ダイアグラムは、16/32bitプログラムが各OS上で利用するソフトウェアコンポーネントの関連を示しています。

16bit DLL / 32bit DLL = Matrix APIを含むDLL
WinNT/2000等の16ビットプログラムは16ビットAPIを呼び出しますが、裏で自動的に32ビットAPIへ 変換が行われます。

3.2 プログラムのインストール

MATRIX添付のディスケット又はCD-ROMにあるSETUP.EXE を実行すると、ソフトウェアのライセンス契約が表示されます。 "I Agree"(同意する)で次に進みます。

次にインストールするドライブを指定する画面が現れます。既定ではCドライブにインストールされますが、他のドライブも指定できます。

OKを選択するとインストールが開始します。

インストールが完了すると、ユーティリティプログラムやドキュメントファイルがまとめられた プログラムフォルダ (「スタート」−「プログラム」−「Matrix」) が表示されます。

ファイルダ内のプログラム、ヘルプ、ドキュメントファイルは以下の通りです。

Matrix 16-bit
Matrix 32-bit
4章で説明されているMATRIX設定のための 付属ユーティリティプログラム MxPrg
Matrix-Crypt 32-bit
Matrix-Crypt Help
6章で説明されている自動プロテクトユーティリティ MxCrypt とヘルプファイル
Matrix-Check LPT/USBポートのチェックや接続されているMatrixの情報を 表示するユーティリティ
Matrix Module Update
Matrix Module Update Help
7章で説明されている Matrix 更新ユーティリティとヘルプファイル
Order(English) 注文書(英語)
User's Manual(English) ユーザマニュアル(英語)

インストール開始時に指定したインストール先フォルダには、 下図のようなフォルダが作成されます。

( フォルダ構造は変更されるかもしれません )

各フォルダに含まれるファイルは次の通りです

API API関数を含んだDLLと、API関数を利用するためのヘッダファイルとライブラリファイル
DOC PDFのユーザマニュアル(英文)
DRV Windows9.x と NT/2000/XP のドライバファイル
NT_DRV WindowsNT/2000ドライバのインストールプログラム
MXNET MxNetサーバプログラム
PROG Matrix設定プログラム、Mx-Cryptプログラム
SAMPLE サンプルファイル
UTIL ユーティリティプログラム

インストーラは API関数を含むDLL( matrix16.dll & matrix32.dll ) と Windows9xドライバ(ioport.vxd)を Windowsのシステムディレクトリにコピーします。

■ Windows NT/2000/XP下でのLPTドライバのインストール
手動でインストールしなければなりません。 NT_DRVフォルダにある drv_inst.exe を実行してください。 (LPTタイプを使用している場合、ドライバをインストールするまでMatrixにアクセスすることはできません)

■ Windows下でのUSBドライバ
Matrix USBはプラグアンドプレイ対応です。初回の接続時、Windowsはドライバを指定するように求めて きます。 USBドライバとINFファイルは /DRVフォルダにあります。このフォルダを指定するとドライバが インストールされます。途中で「ドライバが署名されていない」というメッセージが表示される場合が ありますが、そのまま続行してください。

USBキーがHIDモードに設定されていると、付属の専用ドライバのインストールは不要になります。

(アプリケーションプログラムがC/C++で作成されていて、ライブラリを静的リンクしてあると、クライアント側にインストール するドライバやAPIファイルが不要になるため、ユーザにとって非常に使いやすいものとなります)

ここまでの作業で、インストールした開発者PCで Matrix を接続してユーティリティプログラムの実行や、アプリケーションプログラムから MATRIX APIの発行ができるようになります。

3.3 プロテクトプログラムの配布

開発者PCで作成したMatrix APIを利用するプロテクトプログラムを、 プログラムのユーザに配布するには以下の関連ファイル(API と ドライバ) を同梱する必要があります。 ユーザには MxCheck以外のユーティリティは配布 すべきではありません。プ

Matrix16.dll 16ビットAPI関数を含むDLL ( 16ビットプログラム用)
Matrix32.dll 32ビットAPI関数を含むDLL (32ビットプログラム用)
Matrix.ini MatrixXX.dll の設定ファイル
Iwport.vxd Windows 95/98/ME用LPTドライバ
Iwport.sys Windows NT/2000/XP用LPTドライバ
Drv_inst Windows NT/2000/XP用LPTドライバのインストールプログラム
Iwusb.sys Windows用USBドライバ
Iwsub.inf Windows用USBドライバINFファイル
Mxnet32.exe MxNetサーバプログラム
Mxcheck.exe 必要なドライバやMatrixを確認するためのユーティリティ

■ 16ビットアプリケーション
Windows3.x 用アプリケーションには matrix16.dll のみが必要です。 それ以降のWindows上で実行する16ビットアプリケーションには、 matrix16.dll, matrix32.dll とドライバ(LPTかUSB)が必要です。

■ 32ビットアプリケーション
matrix32.dll とドライバ(LPTかUSB)が必要です。 USB HIDモードではドライバは不要です。Matrix32.dll はWindowsディレクトリか Windowsのシステムディレクトリにコピーしてください。

■ Matrix.ini設定ファイル( オプション )
AccessLPT / AccessUSB キーをINIファイルで設定して、LPTやUSBを利用するかどうか指定できます。 AccessLPT=OFF にすると、LPTドライバをインストールする必要がなくなります。LPTを持たない ノートPCなど利用するときに便利です。

USBキーをWindows2000/XPでご利用の場合、必ず AccessLPT=OFFを指定した INIファイルをご利用ください。

Init_MatrixAPI() 内部では LPTドライバを検索するため、USBキーだけを利用していてLPTドライバをインストールしていない場合、 Init_MatrixAPI()は戻り値としてエラー -21 を返します。戻り値-21はWindows98では無視しても問題はありませんが、 Windows2000/XPではシステムのログにエラーが書き込まれるため、Init_MatrixAPIが呼び出される度にログの追加が発生してしまいます。

例:

[LPT-PORT]
AccessLPT=ON
DirectAccess=OFF
AccessTime=10

[USB-PORT]
AccessUSB=ON

■ドライバ
Windows 95/98/MEのLPT VXDドライバは /windows/systemディレクトリにコピーしてください。

Windows NT/2000/XPのLPT SYSドライバは /winnt/system32/driversにインストールしてください。 Windows NT/2000/XPのドライバは添付プログラムDrv_inst.exe でインストールできます。 Windows NT/2000/XPでLPTタイプのMATRIXを利用する場合、手動コピーよりDrv_inst.exeを利用する方が、 ドライバのインストールは確実に行えます。なお、Drv_instを実行するにはアドミニストレータ権限が必要です。

USBタイプをWindowsで利用するには、iwusb.sys とiwusb.infが必要です。Windowsがドライバの指定をするように 求めてきたら inf ファイルのあるフォルダを指定してください。HIDモードでは専用ドライバは不要です。

■MxNet32
MxNet32はネットアクセス使用時のみ必要です。

■ MxCheck(UTILフォルダにあります)
MATRIXが接続されているか、ドライバやAPIがインストールされているか等の情報を表示するプログラム) は必要に応じて配布してください。

【注意】 MxNet32/MxCheckも起動パスのあるフォルダに置いてください。