質問: CreateFile関数が存在してもファイルの読み取りに失敗する、エラーコード-1 Windowsの実行ファイルを元に戻そうとして、ファイルを読み取り専用モードで開こうとする `creatfile` 関数を見つけました ![enter image description here](https://i.stack.imgur.com/NZfMO.png) 関数と同じ名前で同じディレクトリにファイルを作成しますが、エラーコード-1で失敗します。その理由を知りたいのです。 ![enter image description here](https://i.stack.imgur.com/WJE0D.png) 関数呼び出し後の `eax` レジスタの値は-1です。これは、同じディレクトリからの `dir` コマンドの出力です。 ![enter image description here](https://i.stack.imgur.com/tiehc.png) それが失敗する理由は何かありますか?
回答: `\\。\` 表記は、通常のファイルには使用されません。機器に使用されます。そのため、通常のファイルを作成してもうまくいきません。代わりにその名前でデバイスを作成する必要があります。これらの名前はデバイスドライバでも一般的です - したがって、おそらくこのタスクの命名です。 Refer to section "Win32 Device Namespaces" in Naming Files, Paths, and Namespaces for more info.