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 59 #pragma warning (push) 60 #pragma warning (disable: 4200) // Zero sized struct member warning 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