DeviceIoControlを使って、フロッピーをフォーマットするには?
初めて質問します。よろしくお願いします。
フロッピーをフォーマットするDLLを作っているのですが、DeviceIoControlを使ってフロッピーを 1.44M 512バイト/セクタにフォーマットするにはどうすればいいのでしょうか?
下記のようにコーディングしてみたのですがどうもうまくいきません。
DeviceIoControlは正常終了するのですが、フォーマットした(つもり)のフロッピーをエクスプローラで読もうとすると“このボリュームは認識可能なファイルシステムではありません。”と表示されてしまいます。
エクスプローラでフォーマットした時と比べ、DeviceIoControlが動作している時間が短いのでこの他に手順が必要なのかとも思ったのですが、それらしいのは見当たらず困っています。よろしくお願いします。
hFD = CreateFile( "\\\\.\\a:",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL );
FormatPara.MediaType = F3_1Pt44_512;
FormatPara.StartCylinderNumber = 0;
FormatPara.EndCylinderNumber = 79;
FormatPara.StartHeadNumber = 0;
FormatPara.EndHeadNumber = 1;
bRet = DeviceIoControl( hFD,
IOCTL_DISK_FORMAT_TRACKS,
&FormatPara,
sizeof(FormatPara),
NULL,
0,
&dwTempSize,
NULL );
お礼
ありがとうございました! チェックディスクのほうで確認できるんですね~ URLのほうも参考になりました。