みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Win32Api】 ERROR_BAD_UNIT のエラーとなる原因は?

WindowsNT 4.0、VC++ 5.0 の環境です。
Win32Api の CreateFile関数でエラーとなりました。
GetLastError関数で詳細エラーを確認すると、以下のエラーでした。

ERROR_BAD_UNIT:システムは指定されたデバイスを見つけることができません

ログを取ってなかったため、CreateFile関数に指定したファイル名は不明です。
以下のように再現させようとしましたが、できませんでした。

<ファイルがない>
・ERROR_FILE_NOT_FOUND
<不正なパス>
・ERROR_PATH_NOT_FOUND
<FDドライブを指定>
・ERROR_NOT_READY
<ファイル名の先頭を「:」から書く>
・ERROR_INVALID_NAME

ERROR_BAD_UNIT のエラーとなる要因は、何が考えられるでしょうか?

投稿日時 - 2002-04-05 14:41:59

QNo.247484

すぐに回答ほしいです

質問者が選んだベストアンサー

もうひとつ、デバイスに対する操作ってのがあります。

----(MSDNヘルプより)---------------
通信リソースについて

CreateFile 関数は、通信リソース (シリアルポート COM1 など) のハンドルを作成できます。通信リソースをオープンするときは、dwCreationDistribution パラメータに OPEN_EXISTING、hTemplate パラメータに NULL を指定しなければなりません。次に例を示します。

hCom = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
----------------------------------------

第5パラメータに OPEN_EXISTING が指定されていると
デバイス名とみなされて、存在しないデバイス名の場合に
なるらしいです。
使用できるデバイス名は QueryDosDevice() で列挙でき
ます。YAHOOで検索すると1件目に、使用例が書かれ
ているHPが出てます。

投稿日時 - 2002-04-11 22:31:28

お礼

回答、ありがとうございました。

投稿日時 - 2002-04-12 13:27:27

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問