ドライブのハンドルが取得できない2

[戻る]
inoino [E-Mail] 2003/10/03(金) 11:13:08
どうも、前回の質問時、ご回答いただき、ありがとうございます。
ご教授いただいた、やり方で、やってみたのですが、状況の変化が
ありません。下記の使用方法を、用いてもダメでした。
handleに-1が返ってくるのと、GetLastErrorの返り値は、2となって
います。どこに、問題があるのでしょうか?

    int handle = CreateFile("\\\\.\\C:",
                            GENERIC_WRITE,
                            FILE_SHARE_WRITE,
                            0,
                            OPEN_EXISTING,
                            0,
                            0);

ご教授ください。

tetrapod 2003/10/03(金) 11:25:59
対象OSは何ですか?提示のコードは
WinNT/2K 系でないと動作しません。
Win9X 系だったら「動かないのが仕様」です。
INVALID_HANDLE_VALUE/GetLastError()=2 になって当然。

別な話題をしてるわけぢゃなし、元発言のスレッドにつなげてほしいな。

ライオン 2003/10/03(金) 13:13:56
inoinoさん>    int handle = CreateFile("\\\\.\\C:",

おそらく、このソースから9x系でしょうね。

HANDLE handle = CreateFile("\\\\.\\C:",
としないと、2k系はコンパイルエラーになったような。

渋木宏明(ひどり) [E-Mail] [HomePage] 2003/10/03(金) 22:37:59
>GetLastErrorの返り値は、2となっています。

VC に「エラールックアップ」というツールで調べてみましょう。

GetLastError() = 2 は「ファイルが見つかりません」です。

ということで

>提示のコードは WinNT/2K 系でないと動作しません。
>Win9X 系だったら「動かないのが仕様」です。

に1票。

>別な話題をしてるわけぢゃなし、元発言のスレッドにつなげてほしいな。

これにも一票。

古いスレッドには追加発言できません。