安西先生 ddしたいです@Windows

dd for Windows 0.9.9.6 は,焼く中身のイメージが外付けドライブに置いてあると0バイト扱いになってしまうバグがあるようだ.(そのような現象は全く再現しないようなので,お詫びと共に取り消します.)最近はQtベースのImage Writer for Windows (Win32DiskImager.exe) なんてのが出てるようだが,

これはイメージの拡張子が *.img でないと開けない(ファイル・オープン・ダイアログのフィルタ)という誰得仕様.
どっかで見かけた「Windows用dd」を名乗る別のツールで見たが,確か \\.\ほげほげ という,NT名前空間のパスがどうとかいう記法を(CreateFile で)使えば,Windows NTでもLinux/dev/sda 的なアクセスができる気がした.後で調べよう.いやそれこそ,こないだ買った Windows via C/C++ に書いてあるかな?

追記: 「別のツール」とは,"windows dd" で(英語で)ググって先頭に来るこれのこと:

実際 Image Writer for Windows では \\.\ほげほげ を使ってるね:

  sprintf(location, "\\\\.\\%s", filelocation);
  hFile = CreateFile(location, access, 0, NULL, (access == GENERIC_READ) ? OPEN_EXISTING:CREATE_ALWAYS, 0, NULL);

Windows via C/C++ には書いてなくて Windows Internals にはちょっとだけ書いてたが,やはりMSDNを読まないと駄目か...

Win32 Device Namespaces というのか.Internalと言うより普通に外部仕様なのだろうか... あまり知らんかったが.