The definitions for FSCTL_SET_SPARSE are different on winioctl.h and ddk/ntifs.h. Now which should be used?
./ddk/ntifs.h:#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
./winioctl.h:#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)