#ifndef _NTIOAPI_H
typedef struct _FILE_SFIO_RESERVE_INFORMATION
{
    ULONG RequestsPerPeriod;
    ULONG Period;
    BOOLEAN RetryFailures;
    BOOLEAN Discardable;
    ULONG RequestSize;
    ULONG NumOutstandingRequests;
} FILE_SFIO_RESERVE_INFORMATION, *PFILE_SFIO_RESERVE_INFORMATION;
View code on GitHub// wdm.h
typedef struct _FILE_SFIO_RESERVE_INFORMATION {
  ULONG   RequestsPerPeriod;
  ULONG   Period;
  BOOLEAN RetryFailures;
  BOOLEAN Discardable;
  ULONG   RequestSize;
  ULONG   NumOutstandingRequests;
} FILE_SFIO_RESERVE_INFORMATION, *PFILE_SFIO_RESERVE_INFORMATION;
View the official Windows Driver Kit DDI referenceThis structure is documented in Windows Driver Kit.
FILE_SFIO_RESERVE_INFORMATION is used to query or set a file's reserved bandwidth information for scheduled file I/O (SFIO).
RequestsPerPeriodNumber of I/O requests that complete per period of time, as specified by the Period field. When setting bandwidth reservation, a value of 0 indicates to the file system that it must free any existing reserved bandwidth.
PeriodThe period for reservation, which is the time from which the I/O is issued to the kernel until the time the I/O should be completed, specified in milliseconds.
RetryFailuresBoolean value.
DiscardableBoolean value. When TRUE, the I/O should be completed with an error if a driver is unable to satisfy the I/O within the deadline.
RequestSizeMinimum size of any individual I/O request that can be issued by an application using bandwidth reservation.
NumOutstandingRequestsThe number of RequestSize I/O requests allowed to be outstanding at any time. When setting reservations, this field MUST be ignored by servers and SHOULD be set to 0 by clients.