protected override Result DoOperateRange(Span <byte> outBuffer, OperationId operationId, long offset, long size, ReadOnlySpan <byte> inBuffer) { switch (operationId) { case OperationId.InvalidateCache: return(BaseStorage.Target.OperateRange(out _, (int)OperationId.InvalidateCache, offset, size)); case OperationId.QueryRange: if (outBuffer.Length != Unsafe.SizeOf <QueryRangeInfo>()) { return(ResultFs.InvalidSize.Log()); } ref QueryRangeInfo info = ref SpanHelpers.AsStruct <QueryRangeInfo>(outBuffer); return(BaseStorage.Target.OperateRange(out info, (int)OperationId.QueryRange, offset, size));