BOOLEAN
CdFastIoCheckIfPossible(
  IN  PFILE_OBJECT FileObject,
  IN  PLARGE_INTEGER FileOffset,
  IN  ULONG Length,
  IN  BOOLEAN Wait,
  IN  ULONG LockKey,
  IN  BOOLEAN CheckForReadOperation,
  OUT PIO_STATUS_BLOCK IoStatus,
  IN  PDEVICE_OBJECT DeviceObject
  );

Routine Description:

    This routine checks if fast i/o is possible for a read/write operation

Arguments:

    FileObject - Supplies the file object used in the query

    FileOffset - Supplies the starting byte offset for the read/write operation

    Length - Supplies the length, in bytes, of the read/write operation

    Wait - Indicates if we can wait

    LockKey - Supplies the lock key

    CheckForReadOperation - Indicates if this is a check for a read or write
        operation

    IoStatus - Receives the status of the operation if our return value is
        FastIoReturnError

Return Value:

    BOOLEAN - TRUE if fast I/O is possible and FALSE if the caller needs
        to take the long route.