28#define VFD_REG_DEVICE_NUMBER _T("NumberOfDisks")
29#define VFD_REG_TRACE_FLAGS _T("TraceFlags")
30#define VFD_REG_DRIVE_LETTER _T("DriveLetter")
35#define VFD_DEVICE_BASENAME _T("VirtualFD")
40#define VFD_BYTES_PER_SECTOR 512
41#define VFD_SECTOR_ALIGN_MASK (VFD_BYTES_PER_SECTOR - 1)
42#define VFD_BYTE_SHIFT_COUNT 9
44#define VFD_BYTE_TO_SECTOR(b) ((b) >> VFD_BYTE_SHIFT_COUNT)
45#define VFD_SECTOR_TO_BYTE(s) ((s) << VFD_BYTE_SHIFT_COUNT)
46#define VFD_SECTOR_ALIGNED(b) (((b) & VFD_SECTOR_ALIGN_MASK) == 0)
51#define VFD_FORMAT_FILL_DATA (UCHAR)0xf6
58#if !defined(__REACTOS__) || defined(_MSC_VER)
60#pragma warning (disable: 4200)
73#if !defined(__REACTOS__) || defined(_MSC_VER)
107#define IOCTL_VFD_OPEN_IMAGE CTL_CODE( \
111 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
133#define IOCTL_VFD_CLOSE_IMAGE CTL_CODE( \
137 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
163#define IOCTL_VFD_QUERY_IMAGE CTL_CODE( \
194#define IOCTL_VFD_SET_LINK CTL_CODE( \
198 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
221#define IOCTL_VFD_QUERY_LINK CTL_CODE( \
247#define IOCTL_VFD_SET_PROTECT CTL_CODE( \
251 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
273#define IOCTL_VFD_CLEAR_PROTECT CTL_CODE( \
277 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
299#define IOCTL_VFD_RESET_MODIFY CTL_CODE( \
303 FILE_READ_ACCESS | FILE_WRITE_ACCESS)
325#define IOCTL_VFD_QUERY_NUMBER CTL_CODE( \
358#define IOCTL_VFD_QUERY_NAME CTL_CODE( \
387#define IOCTL_VFD_QUERY_VERSION CTL_CODE( \
struct _VFD_IMAGE_INFO VFD_IMAGE_INFO
struct _VFD_IMAGE_INFO * PVFD_IMAGE_INFO