> А что бы писать на диск нужно использовать WriteFile? >
Именно!!!
> С какими параметрами нужно тогда вызвать CreateFile? > С этими ошибка ERROR_ACCESS_DENIED. >
Упс!!! Сорри — мой косяк!!!
VV>А что бы писать на диск нужно использовать WriteFile?
да
VV>С какими параметрами нужно тогда вызвать CreateFile?
выше написали, подробности — в MSDN в комментариях для CreateFile
VV>С этими ошибка ERROR_ACCESS_DENIED.
нужны права админа
The caller must have administrative privileges.
The dwCreationDisposition parameter must have the OPEN_EXISTING flag.
When opening a volume or floppy disk, the dwShareMode parameter must have the FILE_SHARE_WRITE flag.
последнее условие — ели Вы открываете не физический диск, а том (логический диск), например используя строку
вида _T("\\.\<x>:"), где x- буква диска (допустимо открывать по Volume name/GUID)
следует помнить что если Вы откроете том, то буфера для ф-ий чтения-записи нужно выравнивать на границу равную размеру сектора — и соотв их размер тем более:
Volume handles may be opened as noncached at the discretion of the file system, even when the noncached option is not specified with CreateFile. You should assume that all Microsoft file systems open volume handles as noncached. The restrictions on noncached I/O for files apply to volumes as well.
A file system may or may not require buffer alignment even though the data is noncached. However, if the noncached option is specified when opening a volume, buffer alignment is enforced regardless of the file system on the volume. It is recommended on all file systems that you open volume handles as noncached and follow the noncached I/O restrictions.
... << Rsdn@Home 1.1.4 beta 1 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Здравствуйте, Stanky, Вы писали:
S>Но в 9x это не работает!!!
В 9x можно попробовать IOCTL-запросы к блочным устройствам (см. DeviceIoControl в варианте 9x).
Slicer
Специалист — это варвар, невежество которого не всесторонне :)