投稿日 | : 2005/07/27(Wed) 21:28 |
投稿者 | : のびた |
Eメール | : |
URL | : |
タイトル | : Re^3: フロッピーのフォーマット |
> 魔界の仮面弁士 様
>
> いつもいつもどうもありがとうございます。
>
> 教えていただいたURLを参考にさせていただき、いろいろ探し回ってみたところ、
> DeviceIoControl関数の引数で、IOCTL_DISK_SET_DRIVE_LAYOUTを指定すれば
> 実現できる(かもしれない)、というところまでこぎつけました。
>
> ところが、肝心のIOCTL_DISK_SET_DRIVE_LAYOUT値が不明です。
> (MSDNや他のサイト等でも散々探したつもりなのですが、、、)
>
> もう少しお助けいただければ幸いです。
> どうぞ宜しくお願いします。
Visual StudioがインストールされているならCのヘッダーファイルを検索すれば見つかりますよ。
ちなみにIOCTL_DISK_SET_DRIVE_LAYOUTはwinioctl.hに以下のように定義されていました。
#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define IOCTL_DISK_BASE FILE_DEVICE_DISK
#define FILE_DEVICE_DISK 0x00000007
#define METHOD_BUFFERED 0
#define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
#define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe
#define CTL_CODE( DeviceType, Function, Method, Access ) ( \
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)