BOOLEAN CdReadSectors( IN PIRP_CONTEXT IrpContext, IN LONGLONG StartingOffset, IN ULONG ByteCount, IN BOOLEAN ReturnError, IN OUT PVOID Buffer, IN PDEVICE_OBJECT TargetDeviceObject ); Routine Description: This routine is called to transfer sectors from the disk to a specified buffer. It is used for mount and volume verify operations. This routine is synchronous, it will not return until the operation is complete or until the operation fails. The routine allocates an IRP and then passes this IRP to a lower level driver. Errors may occur in the allocation of this IRP or in the operation of the lower driver. Arguments: StartingOffset - Logical offset on the disk to start the read. This must be on a sector boundary, no check is made here. ByteCount - Number of bytes to read. This is an integral number of 2K sectors, no check is made here to confirm this. ReturnError - Indicates whether we should return TRUE or FALSE to indicate an error or raise an error condition. This only applies to the result of the IO. Any other error may cause a raise. Buffer - Buffer to transfer the disk data into. TargetDeviceObject - The device object for the volume to be read. Return Value: BOOLEAN - Depending on 'RaiseOnError' flag above. TRUE if operation succeeded, FALSE otherwise.