サイト検索 サイトマップ 会社案内 通信販売 求人情報
製品情報 テクニカルサポート ダウンロード カタログ請求 ホームページ

CardUT全般 
CardUT-XPPCカード開発支援ユーティリティ
CardUTPRO-XPPCカードアプリケーション開発キット
CardUTPRO-41AMI-41G専用PCカードアプリケーション開発キット
CardUTPRO-SAMI-31/32/32G専用PCカードアプリケーション開発キット
CardUT97PCカード開発支援ユーティリティ
CardUT97PROPCカードアプリケーション開発キット
CardUTPRO-NTPCカード開発支援ユーティリティ
CardUT97/ECardUT97 英語版
 
テクニカルQ&A
■CardUT全般

Question  
Q1. CarddUTシリーズで使用出来るATAカードの容量はどのくらいですか。

Answer  

A1. CarddUTシリーズで使用出来るATAカードの容量はどのくらいですか?

 CarddUTシリーズで使用できるカードサイズは下記の通りです。
 ・CardUT-XP
 ・CardUTPRO-XP
 ・CardUT-V
 ・CardUTPRO-V
 ・CardUT97
 ・CardUT97PRO
 ・CardUT-NT
 ・CardUTPRO-NT
 ・CardUTPRO-S
 以上は、最大2GBです。

 また、下記につきましては、AMI-41H/AMI-41GのFAQ を参照下さい。
 ・CardUT-41(AMI-41H / AMI-41G 標準添付)
 ・CardUT-41E
 ・CardUTPRO-41

 
テクニカルQ&A
■CardUT-XP

Question  
Q1. カードが正しく認識されません。
Q2. 対応するPCカード種別はCardUT97と同じでしょうか。
Q3. SRAMカードを認識しない。
Q4. デバイスを認識しません。
Q5. 「システムエラー01 カードマネージャがロードできません」と表示されます。
Q6. FlashROMの書き込み、消去を行っていたのですが、イレースの時間がかなり長くなっています(およそ10分以上)。

Answer  

A1. カードが正しく認識されません。

 CardUT-XPを使用してみたんですが、挿入したカードが正しく認識されません。
使用したカード
SRAMカード ADTEK製 AXS1000PC
現象
SRAMカードをPCカードスロットに挿入すると、新しいハードウエアの検索ウイザードが開きましたが、デバイスが”PCMCIA UNKNOWN_MANUFACTURER”となってしまう。
 次へ送り、ドライバ一覧を選び、次へ送ると”PCMCIAandFlash memory devices”しか表示されない。
 何が原因か教えてください。
 inf フォルダ(Windows XP の場合は C:\windows\inf、Windows 2000の場合はC:\winnt\inf)に adkmtd.inf が存在するか確認してください。 存在すれば「PCMCIA リニア メモリ カード ドライバ (CardUT-XP)」の選択肢が出るはずです。
無いようでしたら、「コントロール パネル」を開き「プログラムの追加と削除(2000 の場合は「アプリケーションの追加と削除」)で、一旦CardUT-XP をアンインストール後再インストールしてください。
 「PCMCIA UNKNOWN_MANUFACTURER」となるのはアトリビュート メモリに記録された「カード属性情報」が正しくないためと考えられます。なんらかの原因でアトリビュート メモリのデータが書き変わったものと思われます。
 「PCMCIA UNKNOWN_MANUFACTURER」のままドライバのインストールが完了し、CardUT で 1MB の SRAM カードとして認識するようであれば動作に支障はありません。

A2. 対応するPCカード種別はCardUT97と同じでしょうか

 現在CardUT97を使用していますが、対応するPCカード種別は同じでしょうか?
使用できなくなっているカードがありますでしょうか?
 PC Card Standard 準拠の PC カードに関しては、CardUT97 及び CardUT-XPでサポート カードに差異はありません。
 CardUT-XP は 8-bit オンリー、及び、16-bit オンリー アクセスのカードをサポートしていません。
 CardUT-XP を Windows XP で使用する場合、「カード属性情報」のないフラッシュ メモリ カードは使用できません。Windows 2000 では使用可能です。
 CardUT-XP は ATA カードのアトリビュート メモリへの書き込み、消去ができません。

A3. SRAMカードを認識しない。

 Windows2000にインストールし、SRAMカード(Maxell製ML-512TB4N)を挿入し、開こうとしますが、エラーが出てしまいます。
 エラー:「オフセット値に誤りがあります:105」
 また、通常、右上の□(ソケットステータス)は、カード挿入すると黄→緑に変わると思うのですが、黄のままです。開く時のメモリ空間も、「Common」にならず、「Attribute」となります。
 どうすれば、回避できるでしょうか?
 カードを挿入した状態で「デバイス マネージャ」の「Memory technology driver」デバイス クラスに「PCMCIA リニア メモリ カード(CardUT-XP)」が存在しますでしょうか?
 「PCMCIA リニア メモリ カード(CardUT-XP)」ではなくほかのデバイス名になっているようでしたら下記手順で「ドライバの更新」をしていただくようお願いします。
  1. デバイスのプロパティを開きます。
  2. [ドライバ] タブで [ドライバの更新(P)] ボタンをクリックします。
  3. 「デバイス ドライバのアップグレード ウィザード」のダイアログが表示されます。[次へ (N) >] ボタンをクリックします。
  4. 以降は「CardUT-XP のヘルプ」の「はじめに」、「ドライバのインストール」、「Windows(R) 2000 SRAM カード(属性情報あり)およびフラッシュ メモリ カード」の「2.」以降の手順を行ないます。

A4. デバイスを認識しません。

 Windows 2000にCardUT-XPをインストールしましたがデバイスを認識していないためエラーになります。使用カードは下記の通りです。
  ・PC Card Adaptor Q2MEM-ADP
  ・FLASH Card    Q2MEM-4MBF
カードを挿入した状態で「デバイス マネージャ」の「Memory technology driver」デバイス クラスに「PCMCIA リニア メモリ カード(CardUT-XP)」が存在しますでしょうか?
 「PCMCIA リニア メモリ カード(CardUT-XP)」ではなく他のデバイス名になっているようでしたら下記手順で「ドライバの更新」をしていただくようお願いします。
  1. デバイスのプロパティを開きます。
  2. ドライバ] タブで [ドライバの更新(P)] ボタンをクリックします。
  3. 「デバイス ドライバのアップグレード ウィザード」のダイアログが表示されます。[次へ (N) >] ボタンをクリックします。
  4. 以降は「CardUT-XP のヘルプ」の「はじめに」、「ドライバのインストール」、「Windows(R) 2000 SRAM カード(属性情報あり)およびフラッシュ メモリ カード」の「2.」以降の手順を行ないます。

A5. 「システムエラー01 カードマネージャがロードできません」と表示されます。

 「CardUT-XPを購入してWindows2000PROで動かそうとしたが、システムエラー01カードマネージャがロードできませんと表示されます。」
 「カードマネージャをロードできません」というメッセージはCardman.dll等、Cardut-XPのパッケージで提供される各種DLLが見つからない場合に表示されます。
 Cardut-XPをインストールするとこれらのDLLはCardut.exeと同じフォルダに展開されますが、後からexeファイルのみを移動したり、dllを誤って削除したりするとこのようなメッセージが表示されます。
 セットアップをもう一度やり直して試してみて下さい。

A6. FlashROMの書き込み、消去を行っていたのですが、イレースの時間がかなり長くなっています(およそ10分以上)。

 使用FlashROMは富士通のMBM29F040Aと同等品(4MByte)です。品種は29F040~になっています。
 MBM29F040Aに内蔵されている29FXXXというデバイスは、イレース/書き込みを行う際、XXXX5554h,XXXXAAAAhというかけ離れたアドレスにアクセスする必要があります。
 そのため、OSから与えられるメモリウィンドウの設定を頻繁に切り替えなければなりません。
 29FXXXのイレース、書き込みが遅いのはそのためです。Intel系のメモリ(28FXXX)ではこのようなことがないため、29FXXXに比較して短時間でイレース/書き込みを行うことができます。

 
テクニカルQ&A
■CardUTPRO-XP

Question  
Q1. CardUT97PROで作成したランタイムをCardUTPRO-XPへ単純に移行可能か?
Q2. ランタイムライセンスについて
Q3. ランタイムのアップグレードは有るか。
Q4. CardUTPRO-XPで作成した製品の使用制限について。
Q5. サンプルソフトにおける、カードの占有を解除する記述に関して。
Q6. 挿入したカードの認識に時間がかかる。
Q7. 二重起動時の動作保証に関して。

Answer  

A1. CardUT97PROで作成したランタイムをCardUTPRO-XPへ単純に移行可能か?

 CardUT97PROランタイムを利用するWin9x対応のプログラムを動かしておりますが、このランタイム上記のものに入れ替えてWin2000/XPで動作させたいと考えております。
 単純にDLLを入れ替えるだけでプログラム周りを変更せずに対応可能でしょうか?
 属性情報の無いフラッシュメモリカードや8Bit接続固定カードが使用できない等の制約事項がありますが、アプリケーションは基本的に変更無しで動作します。
 ただし、DLLやドライバの名称が異なりますので、インストーラを別に作成している場合は修正する必要があります。
 CardUTPRO-XPの制約事項につきましては、以下のURLを参照して下さい。
 http://cpi-tec.jp/adtek /seihin/cardut/cardutxp_caution.html

A2. ランタイムライセンスについて。

 現在、CardUT97PROを使用しているのですが、CardUTPRO-XPにバージョンアップしようと思います。
 配布用のランタイムライセンスですが、CardUT97PRO用のライセンスを使用できるのですか。それともCardUTPRO-XP用のライセンスを別に購入しなければならないのですか。
 ランタイムはCardUT97PRO用とCardUTPRO-XP用で別個に購入頂く必要があります。

A3. ランタイムのアップグレードは有るか。

 現在、客先にCardUT97PROのランタイムで納品しています。
 このランタイムをCardUTPRO-XPのランタイムへアップグレードする場合、客先に対しての優遇アップグレードのような物はないのでしょうか?
 ランタイムに関してはアップグレードパッケージ用意いたしておりません。

A4. CardUTPRO-XPで作成した製品の使用制限について。

 CardUTPRO-XPを使って開発した製品の仕様に、何か制限はありますでしょうか。
 例えば、CardUT-XP の機能とほとんど同じものを作って販売しても良いのでしょうか。
 お客様が作成するソフトウェアの内容に特に制約はありません。
 また、二次生成物を販売することも可能ですが、CardAPIのライセンスは 1 COPYにつき一本必要です。

A5. サンプルソフトにおける、カードの占有を解除する記述に関して。

 Visual BASIC のサンプルソフトが添付されておりますが、このサンプルの中で、
  ' カードの占有を解除する
    flag = 0
    stat = CardManService(CMS_DISKLOCK, param, Len(param), flag, 1)
となっておりますが、Windows 2000及びXPで使用する場合、カードの占有を解除できないのですが、異なる解除の方法がありますか。
 CardUTPRO-XPにおいては、カードの監視を行うサービスが常時動いているため、「ハードウェアの安全な取り外し」機能を行うことはできません。
 ただし、カードに対する書き込みをキャッシングすることはありませんので、CMS_CARDWRITEまたは、CMS_CARDERASEが動作している時でなければ抜去してもカードのデータに不整合が発生することはありません。

A6. 挿入したカードの認識に時間がかかる。

 Visual BASICで作成したアプリケーションでwrite/erase/readを行った後、アプリケーションを終了させずにカードを抜き、再度、カードを挿入して実行しようとしたところ、カードの認識をせず、「カードにアクセスできない」旨のエラーが出ます。
再びカードを抜き、もう一度挿入すると、今度は、カードを認識するようになります。
 write/readを行う前後でカードの"lock","unlock"処理を入れても同様のエラーとなります。このエラーを回避する方法はありますか。
 カードの認識は“CMS_CARDINFOGET”により行っていると思いますが、Windowsではカードの認識に時間がかかる場合があります。
 従って“CMS_SLOTINFOGET”で取得する値のビット3が1になるまでリトライを行うようにしてください。
 なお、リトライの回数、時間はシステムの状況により大きく異なりますので定義できませんので無限ループに陥るのを避けるためには可能であれば、キャンセルボタン等を設けて処理を中断するようにすることをお奨めします。

A7. 二重起動時の動作保証に関して。

Visual BASICで作成したアプリケーションでカードに書き込みを行った後、アプリケーションは終了させずに「CardUT」を起動しカードを読みとろうとしたところ、 「カードが他のプログラムで使用されています:1D」というエラーメッセージが表示され、カードを読み取ることができません。
いわゆる二重起動での動作はどうなるのでしょうか?
CardUT-XP,CardUTPRO-XPでは二重起動時の動作は保証されません。

 
テクニカルQ&A
■CardUTPRO-41

Question  
Q1. プログラム実行中に電源を切った場合の現象について

Answer  

A1. プログラム実行中に電源を切った場合の現象について

 CardUTPRO-41を使用して作成したプログラムを実行中にらむ蔵の電源をOFFすると、以下の現象が発生します。
  • SLOTの状態を得るAPI関数(CMS_SLOTINFOGET)が、らむ蔵の電源がOFFにも関わらず、正常にアクセスできる結果を返す。また、カードのリード、ライトはエラーとなる。
  • 上記(1)の状態から電源をONにしても、カードのリード、ライトは、エラーとなる。
 一度でも、カードにアクセスした後で、らむ蔵の電源をOFFにするとこの現象が発生するようです。
らむ蔵の電源が最初からOFFの状態で、プログラムを実行した場合は、「ファイルが見つかりません:cardman.dll」というエラーメッセージが 表示されます。
上記の現象となる理由を教えてください。また、上記現象を回避するために、らむ蔵の電源OFF、ONを検知する方法はあるのでしょうか?
 CardUTPRO-41はプラグ アンド プレイに対応しておりません。
 API (DLL) は初期化時に AMI-41G を数え、アプリケーションが終了するまでは「初期化時に有効だった AMI-41G はすべて動作可能状態にある」ものとみなして動作します。
 操作対象の 41G を論理ソケット番号で指定しますが、動的にソケット数が変化すると論理ソケット番号と 41G の関連が無意味なものになるという理由によります。

 
テクニカルQ&A
■CardUTPRO-S

Question  
Q1. CardUTPRO-Sをインストールし、起動しようとしたところ「システムエラー01:CARDMAN.DLLがロードできません」と表示されます。
Q2. 今までCardUT97で行っていた操作はそのままで可能でしょうか。
Q3. AMI-31でフラッシュメモリカードの書き込みは可能でしょうか。
Q4. CardUT97PROで作成したアプリケーションはライブラリをCardUTPRO-S用に交換すればAMI-31でも使用できるか?

Answer  

A1. CardUTPRO-Sをインストールし、起動しようとしたところ「システムエラー01:CARDMAN.DLLがロードできません」と表示されます。

 このエラーが発生する理由として以下のようなことが考えられます。
  1. ASPIレイヤがインストールされていない。
  2. Adaptech社のホームページよりダウンロードしてインストールしてください。アダプテック社ホームページのURLは以下の通りです。
    http://www.adaptec.co.jp/

  3. AMI-31の電源が入っていない、ケーブル接続が不完全、ハード的な故障、その他の理由によりWindowsがAMI-31を認識していない。
  4. 確認方法としては、システムのプロパティ>デバイスマネージャを開き、「ディスクドライブ」の下に「ADTEK AMI-31」が存在することを確認してください。存在しない場合はケーブルの接続等を再度ご確認下さい。

  5. Cardman.dllおよびScsiacc.dllが正しいフォルダにコピーされていない。

A2. 今までCardUT97で行っていた操作はそのままで可能でしょうか。

 現在CardUT97のみを使用して、下記メモリカードにてWindows98とのデータのやり取り(書込み等)を行っております。
 ■使用カード
Maxell EF-2M-TB(DC): 3MB FlashMemory, Single5V Operation

 Windows2000及びXPがOSのノートPCで、CardUTPRO-Sをインストールすることにより、今までCardUT97で行っていた操作(データの書込み等)が可能でしょうか? 特に、AMI-31/32/32Gは使用しません。
可能ですが、CardUTPRO-SはAMI-31/32/32Gの使用を前提としておりますので、NotePCのカードスロットで直接読み書きすることはできません。
 NotePCのカードスロットを使用する製品としては、CardUT-XP、CardUTPRO-XPがあります。

A3. AMI-31でフラッシュメモリカードの書き込みは可能でしょうか。

 AMI-31ではフラッシュメモリーカードは読み込み専用となっていますがCardUTPRO-Sではフラッシュメモリの書き込みが出来るように記載されております。
 そこで,対象機器であるAMI-31でもフラッシュメモリカードの書き込みは可能なのでしょうか?
 AMI-31はVPPに12Vを必要とするカードの書き込み、イレースはできませんが、5V単一カードであれば、CardUTPRO-Sを使用することにより書き込みが可能となります。

A4. CardUT97PROで作成したアプリケーションはライブラリをCardUTPRO-S用に交換すればAMI-31でも使用できるか?

 CardUT97PROを用いてPCカードスロットにてフラッシュカードの書き込みアプリケーションを作成しているのですが,アプリケーションはそのままでライブラリをCardUTPRO-S用に交換すればAMI-31でも使用できるのでしょうか?
 それともファンクション自体がCardUT97PROとCardUTPRO-Sでは異なるのでしょうか?
 CardUT97PROとCardUTPRO-SのAPI仕様は基本的に共通です。殆どの場合アプリケーションは再コンパイル無しに動作します。

 
テクニカルQ&A
■CardUT97

Question  
Q1. CardUT97の動作対応機種は?
Q2. CardUT97とCardUT-1との違いは?
Q3. カードを読み書きする機能だけを他のアプリケーションから使いたいのですが?
Q4. Windows98でCardUT97は使用できますか?
Q5. モトローラSフォーマット、ファイル書き込みの際のパラメータエラーについて。
Q6. CardUT97のアップデート版(V2.01)での機能不都合について。
Q7. ATAカード書き込みエラーについて。
Q8. 「システムエラー01:CARDMAN.DLL がロードできません」とのエラーメッセージが表示されてしまいます。
Q9. モトローラファイル( ***.mot )のカードフォーマット「自動認識」に関して。

Answer  

A1. CardUT97の動作対応機種は?

 PCカードスタンダート準拠のPCカードスロットを装備しWindows95が動作するノートパソコン、または弊社製のPCカードアダプタ(らむ蔵)AMI-21(*1)、AMI-22/AT/V、AMI-92を接続したWindows95が動作するデスクトップパソコンで動作します。
(*1)ライト/イレースに12Vを必要とするカードは使用出来ません。
CardUT97の動作が確認された機種(ノートパソコン)

A2. CardUT97とCardUT-1との違いは?

 下記の表の様になります。
 CardUT97CardUT-1
動作環境Windows95MS-DOS
メモリーモード(*1)
ディスクモード(*2)×
マウスによる操作(GUIによる簡単操作)×
複数エリアの同時編集×
カード同士のコピー(*3)×
カード同士のコンペア(*3)×
混在モトローラSフォーマットの書込(*4)×
データ書き込み時のマイナスオフセット指定(*4)×
(*1)メモリーカードの絶対アドレスに対しての読み書きを行います。
(*2)メモリーカードにMS-DOSフォーマットイメージでの読み書きを行います。
(*3)カードスロットが2スロット装備されたパソコンで、有効となります。
(*4)CardUT97次期バージョンアップで対応予定 です。

A3. カードを読み書きする機能だけを他のアプリケーションから使いたいのですが?

 他のアプリケーションからCardUT97の機能を呼び出すことはできません。
 但し、カードスロットへのアクセス部分をAPI化した開発キット「CardUT97Pro」をリリースしておりますので、そちらを利用すればカードへの読み書きが可能になります。

A4. Windows98でCardUT97は使用できますか?

 カードバスタイプのスロットを装備しているノートパソコンで、データの内容が異常となる不具合が発生することがあります。
 これはWindows98のカードサービスが標準のドライバとCardUT97のドライバに対して同じメモリウインドを割り当ててしまうためです。
 この不具合は以下の方法で回避する事ができます。
  1. カードをセットする。
  2. コントロールパネルのシステムを実行する。
  3. デバイスマネージャタブを選択する。
  4. 「メモリテクノロジドライバ(MTD)」カテゴリを選択し、「xxxメモリカード」があることを確認する。(無ければそのカードは問題なく使用できるはずです)
  5. 「xxxメモリカード」を選択し「デバイスの使用」(一番下にあります)中の「このハードウエアプロファイルで使用不可にする」をチェックする。
  6. 「OK」を選択しカードを一度抜く。
 ただし、この設定を行うとSRAMカードをドライブとして使用できなくなります。
 なお、デスクトップパソコンでAMI-21や22シリーズを使用している場合は問題は発生しません。

A5. モトローラSフォーマット、ファイル書き込みの際のパラメータエラーについて。

 CardUT97にてモトローラS3フォーマットのファイル「cpu1_ram.mot」の内容をコンパクトフラッシュに書きこもうとしています。
 ・cpu1.ram.motは、A8000000hが先頭アドレスとなっていて、これをコンパクトフラッシュの0h以降にコピーしようとしました。
 ・結果は「オフセットが無効です:07」というメッセージが表示され、コンパクトフラッシュには書きこめませんでした。
 本来はオフセットに-A8000000hを設定すれば良いのですが、現在のCardUT97は入力桁が8桁のためこの値が入力できません。
 これを回避する方法として、オフセットに58000000hを設定してください。A8000000h+58000000h=100000000hでアドレスは32ビットなので0に戻ります。

A6. CardUT97のアップデート版(V2.01)での機能不都合について。

 某社の20MB ATA カードの容量表示が、ウィンドウを開いても、0x1400000(20MB)にならずに、0x1000000(16MB)になります。
 カードの容量認識はWindows OS の ILB_service_rtn サービスを使用してDeviceControlBlock構造体を取得し、その中に含まれる、ヘッド数、シリンダ数、トラックあたりのセクタ数を元に算出しています。
   dcb=IspGetFirstNextDcb(dcb,0);  //ILB_service_rtnサービスのDCB取得
                                   //ファンクションのマクロ
   dwDiskSize = dcb->DCB_actual_head_cnt * \
                dcb->DCB_actual_cyl_cnt * \
                dcb->DCB_actual_spt * 0x200;
 弊社では下記環境にてそのような症状(容量誤認識)が発生しました。
    HP-Vectra VT6/150(P6-150MHz Mem48MB)+AMI-21/V
    OS: Windows95aとWindows98
 ただし、同じハードウェア環境でもWindowsMe上では正常に動作しました。 (CardUT97 V2.01 はWindowsMe非対応ですが、この検証作業は未販売品である WindowsMe対応版で行いました。 なお、容量認識の部分の動作に差異がないことは確認済みです。)
 また、
    Toshiba Satellite2520(Windows98)
    Toshiba DynaBookSS DS60P/1NMR(WindowsMe)
の環境では、正常に動作しました。

 各環境でfdiskをしてみたところ、症状が発生している環境では物理サイズを16MB、論理サイズを20MBとして認識していると考えられます。
 実際に引き渡されてくるパラメータは、
ヘッド数=2 / セクタ/トラック数=32 / シリンダ数=512
となっておりました。したがいまして、
 物理サイズ: 2 * 32 * 512 * 512 = 16777216(1000000H)
となります。

 当該ATAカードの20MBのディスクパラメータではシリンダ数が640のはずなのですが、これが512となってしまっています。 このパラメータはOS側から戻ってくるものなので、OS側の不具合(つまりバグ)と弊社では判断いたしました。
 したがいまして、CardUT97 の不具合ではありません。

A7. ATAカード書き込みエラーについて。

 CardUT97を使用していますが、ATAカードへの書き込みを行ったところ、書き込んだデータの内容と書き込まれたデータの内容が異なっています。
 リニアフラッシュメモリカードに書き込む際には 問題ありません。
 申し訳ございません。ソフトウェアのバグでした。この現象は、atahelp.vxd と呼ばれるドライバが関与する事象でした。
 下記修正版ドライバをダウンロードし、\system\iosubsys にコピーして再起動して下さい。これで新しい atahelp.vxd が有効となります。
修正版 atahelp.vxd ダウンロード
なお、古いファイルを削除してからコピーするようにしてください。

 atahelp.vxd は効率性等を考慮し、ディスクへのアクセスを減らすため、複数回の vxd 呼び出しの間、常にデータが保持される可能性がある1セクタ分のバッファを持っています。

 このバッファを使用することで、例えば atahelp.vxd を100回呼び出してディスクの最初のセクタの0バイト目を100回書き換えても、 実際のディスクアクセスは1回(最終的には書き換えた結果を反映するため、さらに書き込みアクセスをします)で済みます。
 しかし、このバッファへの当り判定に論理的なミスがあり、最悪の場合セクタ(512 バイト)境界をまたがない1バイト以上512バイト未満のデータを書き損じることがありました。
 なお、この変更による効率の低下はありません。

A8. 「システムエラー01:CARDMAN.DLL がロードできません」とのエラーメッセージが表示されてしまいます。

 CardUT97では、操作対象となるハードウェアが「デバイスマネージャの表示」で一覧されるとこ ろの「PCMCIAソケット」であり、かつ使用可能でなければなりません。
 使用不可であるか、何かの障害が起きて使えない時にこのエラーメッセージが出力されます。
 なお、この理由により、USBやSCSIインタフェースを利用したカードリーダを使用することはできませんのでご注意ください。

A9. モトローラファイル( ***.mot )のカードフォーマット「自動認識」に関して。

 ファイルからカードにデータを書き込む際にカードのフォーマットを「自動認識」にしてあるとモトローラファイル( ***.mot )を指定してもモトローラファイルとしては認識されず、バイナリファイルとして書き込まれてします。
 自動認識でモトローラファイルとして認識させるにはどのようにすれば良いのでしょうか?
以下の何れかの方法で試してみてください。
  1. 自動認識ではなく「S37」を指定する。
  2. 拡張子を「S37」に変更して「自動認識」を指定する。

 
テクニカルQ&A
■CardUT97PRO

Question  
Q1. 三菱樹脂製のJ41000F2AADを認識させたところ、Flash型のはずが、「SRAM」の型が返ってきました。
Q2. Windows98でCardUT97PROは使用できますか?
Q3. CardAPI Ver.2 について。
Q4. VBサンプルソースの修正点

Answer  

A1. 三菱樹脂製のJ41000F2AADを認識させたところ、Flash型のはずが、「SRAM」の型が返ってきました。

 正しいカード情報で無い事が原因である可能性が高いと思います。カードの属性情報領域に正しいカード情報を記録するようにして下さい。
 また、属性情報領域のカード情報が誤っているために、CMS_Cardinfogetから正しい情報が得られない時には、CMS_Cardinfosetを使用して強制的に指定してしまう手段もあります。
 ただし、この方法は、Windows NT版のCardUT-NTでは使用できない(Cardinfoset関数が無い)ので、あまりお奨めはできません。

A2. Windows98でCardUT97PROは使用できますか?

 カードバスタイプのスロットを装備しているノートパソコンで、データの内容が異常となる不具合が発生することがあります。
 これはWindows98のカードサービスが標準のドライバとCardUT97のドライバに対して同じメモリウインドを割り当ててしまうためです。
 この不具合は以下の方法で回避する事ができます。
  1. カードをセットする。
  2. コントロールパネルのシステムを実行する。
  3. デバイスマネージャタブを選択する。
  4. 「メモリテクノロジドライバ(MTD)」カテゴリを選択し、「xxxメモリカード」があることを確認する。(無ければそのカードは問題なく使用できるはずです)
  5. 「xxxメモリカード」を選択し「デバイスの使用」(一番下にあります)中の「このハードウエアプロファイルで使用不可にする」をチェックする。
  6. 「OK」を選択しカードを一度抜く。
 ただし、この設定を行うとSRAMカードをドライブとして使用できなくなります。
 なお、デスクトップパソコンでAMI-21や22シリーズを使用している場合は問題は発生しません。

A3. CardAPI Ver.2 について。

 CardUT97PRO を使いカードへ書込みを行うツールを作成しました。他のPCに対してはCardAPIを購入し、 インストールすることで対応しています。
 開発当時、Ver.1 でしたが、現在は Ver.2 になっているとのことですが、  ・CardAPIの方もバージョンアップされたのでしょうか?
 ・バージョンアップすることで問題は出ないでしょうか?
 ・今後の販売は Ver.2 になるのでしょうか?
 CardAPI も Ver1.0 から Ver2.0 にバージョンアップしています。主な変更点は下記の通りで、APIとデバイスコードが追加されています。
  • ATAカード対応(atahelp.vxdの追加)
  • アクセス方式の設定機能(バス幅、アクセス幅)
  • x16ビット接続デバイスのサポート
 ただし、従来のAPI部分については互換性を持たせる作りになっていますので、Ver1.0と置き換えて使用していただいてかまいません。
 今後(現行)販売されるのは Ver2.0 になります。
 なお、この部分の互換性について特にご心配な場合には、現在販売されているCardAPI Ver2.0をご購入された場合でも、お客様にてVer1.0に差し替えて配布する形態をとっていただいてかまいません。

A4. VBサンプルソースの修正点

 「カード内容の消去 : Form1の Erase_Click()」中の関数、
CardManService(CMS_CARDERASE, param, Len(param), vcNullString, cardinfo.size)
のコール時にエラーが発生します。
 申し訳ございませんでした。ソースの記述に誤りがありました。4番目の引数 "vcNullString" は、どこにも宣言されておりません。
 CardManService内ではこの"vcNullString"の値は特に使用しておりませんので、ダミー値を渡すように訂正をお願いいたします。
訂正例:標準モジュールの以下の箇所にパブリック変数として定義する
  ' サンプルプログラム
  ' 定義
  Public param As CMS_PARAM_PKT
  Public cardinfo As CMS_CARDINFO_PKT
  Public sinfo As Byte
  Public cardstate As Byte
  '2001/07/26 Add
  Public vcNullString As Byte

 
テクニカルQ&A
■CardUT97PRO-NT

Question  
Q1. ひとつのプログラムの中ではSYSOPEN-SYSCLOSEは1回しか使用できないのでしょうか。
Q2. C++でプログラムを開発していますが、問題があります。
Q3. 某社製フラッシュメモリカードの書き込みを行っているのですが、時々イレース不能なカードが現れます。

Answer  

A1. ひとつのプログラムの中ではSYSOPEN-SYSCLOSEは1回しか使用できないのでしょうか。

 例えば、
CardManOpen();
CardManService( CMS_SYSOPEN, &param, CMS_PRM_SIZE, NULL, 0 );
CardManService( CMS_SYSINFOGET, NULL, 0, (BYTE *)info, CMS_SYS_SIZE );
CardManService( CMS_SLOTINFOGET, (CMS_PARAM_PKT *)&tmppkt, CMS_PRM_SIZE, info, sizeof(BYTE) );



CardManService( CMS_SYSCLOSE, &param, CMS_PRM_SIZE, NULL, 0 );
CardManClose();
とやったあとに、再度
CardManOpen();
CardManService( CMS_SYSOPEN, &param, CMS_PRM_SIZE, NULL, 0 );
 とすると、SYSOPENのところで例外になります。

 SYSCLOSEを実行したら、再度SYSOPEN できないようになってしまいます。ひとつのプログラムの中では、SYSOPEN−SYSCLOSEは1回しか使用できないのでしょうか。
 それとも、CardManOpen - CardManClose を1回しか使用できないのでしょうか。
 本来、SYSOPEN-SYSCLOSEもCardManOpen - CardManCloseにも呼び出し回数の制限はないはずです。
 ご指摘の現象を改善したDLLを作成しましたので、こちらをダウンロードして差し替えてご使用ください。
Csaccess.dll Cardman.dll

A2. C++でプログラムを開発していますが、問題があります。

 CardUTPRO-NT(Ver 1.0)を使用してC++でプログラムを開発していますが、ファンクション CMS_SYSCLOSE を呼ぶと、エラーコード=15h(CME_UNSUPPORTED_FUNCTION)が返ってきます。
 例:iRet = CardManService( CME_SYSCLOSE,… ); どうしてでしょうか。
 ご指摘の現象は関数内での不具合であることが判明しました。
 エラーコードのセットに問題があり、指摘されたように戻り値にCME_UNSUPP..が代入されておりました。サンプルプログラムではエラーを判定していなかったため、特に問題が発生していなかったので見過ごされていました。
 要約すると、本来エラーは発生していないのに関数内でのエラーコードのセットに問題があってこの現象が発生しています。
 動作にはあまり支障はないため、このエラーは無視して下さい。

A3. 某社製フラッシュメモリカードの書き込みを行っているのですが、時々イレース不能なカードが現れます。

ある種のフラッシュメモリカードでは読み書きに際して、一般のカードとは異なる特別な注意が必要になることがあります(例えば、電源投入後、ステータスレジスタをクリアしてからモード設定に入るなど)。
Csaccess.dllには、それらの注意項目を盛り込んでありますので、差し替えてご使用ください。

 
テクニカルQ&A
■CardUT97/E

Question  
Q1. 起動時エラーについて。

Answer  

A1. 起動時エラーについて。

 CardUT97/Eをインストールして起動すると、
Failed to initialize CARDMAN.DLL
というエラーになり、起動できません。英語版Windows95と98の両方で試してみましたが 同じでした。
 「デバイスマネージャのリスト」 の表示において、「PCカードソ ケット」が表示されていて、且つ、 機能できる状況でしょうか。
 ご質問のなかに記載されているエラー表示から類推すると、この点が疑われます。

テクニカルQ&A
サポート&サービス
Home Page