- PR -

【VB.net2003】磁気テープの有無確認方法

投稿者投稿内容
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-07-10 10:53
こんにちは。

問題にぶつかってしまったので、ご教授願います。

磁気テープが入っているかどうかを確認したいと思っていますが、
方法が分かりません。。。
色々検索してみたのですが、上手くいかないで終わっていたり、
ずれたものしか見つかりませんでした。

APIなど提供されていたりするのでしょうか?

よろしくお願いします。
深山
ベテラン
会議室デビュー日: 2006/05/09
投稿数: 66
お住まい・勤務地: 都内某所
投稿日時: 2006-07-10 11:31
PrepareTapeとかのエラーコードで判断するとか?

http://www.winapi-database.com/File/Tape/PrepareTape.html


[ メッセージ編集済み 編集者: 深山 編集日時 2006-07-10 11:50 ]
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-07-10 13:28
回答ありがとうございます。

教えていただいたPrepareTapeを使ってみようと思います。
が、CreateFileでハンドルを作る必要があるみたいです。
ファイル名を指定しなければいけないのですが、
ファイル名は固定ではないので、どのように指定したらいいのか分かりません。。

ご教授お願いします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-07-10 13:31
引用:

シロさんの書き込み (2006-07-10 13:28) より:
回答ありがとうございます。

教えていただいたPrepareTapeを使ってみようと思います。
が、CreateFileでハンドルを作る必要があるみたいです。
ファイル名を指定しなければいけないのですが、
ファイル名は固定ではないので、どのように指定したらいいのか分かりません。。

ご教授お願いします。


変数って何のためにあるか知ってる?
引数って何のためにあるか知ってる?
深山
ベテラン
会議室デビュー日: 2006/05/09
投稿数: 66
お住まい・勤務地: 都内某所
投稿日時: 2006-07-10 13:55
引用:

シロさんの書き込み (2006-07-10 13:28) より:
回答ありがとうございます。

教えていただいたPrepareTapeを使ってみようと思います。
が、CreateFileでハンドルを作る必要があるみたいです。
ファイル名を指定しなければいけないのですが、
ファイル名は固定ではないので、どのように指定したらいいのか分かりません。。

ご教授お願いします。



ここで欲しいのは、テープデバイスのハンドルであって、テープ内に保存されているファイルのハンドルではないと思うのですが。
ファイル名の部分は、テープデバイスのパスを渡すべきでは?

「CreateFile フロッピー」でググでば、サンプルは出てくると思います。

#僕自身あまりAPIは使わないので自信はありませんが...
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-07-10 14:33
テープデバイスまでのハンドルが欲しいのですが、
「CreateFile フロッピー」でググって見ましたが、
欲しい内容のものは出てきませんでした。

マイコンピュータからも見ることができないので、
素直に”C:\”のように指定できないのでしょうか?
SCSIで接続しています。
深山
ベテラン
会議室デビュー日: 2006/05/09
投稿数: 66
お住まい・勤務地: 都内某所
投稿日時: 2006-07-10 14:48
引用:

シロさんの書き込み (2006-07-10 14:33) より:
テープデバイスまでのハンドルが欲しいのですが、
「CreateFile フロッピー」でググって見ましたが、
欲しい内容のものは出てきませんでした。

マイコンピュータからも見ることができないので、
素直に”C:”のように指定できないのでしょうか?
SCSIで接続しています。


以下のように、のってますよ。
フロッピーディスク x や、ハードディスクのパーティション x を開くには、lpFileName パラメータで \\.\x: と指定します。
-例-
「\\.\A:」

http://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_createfile.htm

”C:”とあまり変わりはないと思いますが、なにか支障があるのでしょうか?
シロ
常連さん
会議室デビュー日: 2005/05/15
投稿数: 34
投稿日時: 2006-07-10 15:00
パスを教えていただいたように書いてみました。

今、
CreateFile("\\\\.\\TAPE0",0,0,0,2,&H80,0)
と書いていますが、戻り値は-1です。
TAPEは1つしかないので、TAPE0で問題ないはずだし、
ちゃんとTAPEの方も起動しています。

他に何か問題があるのでしょうか?
残りの引数は、
http://www.winapi-database.com/File/File/CreateFile.html
を参考にして設定しました。

スキルアップ/キャリアアップ(JOB@IT)