System.Preserve() Function

I know the System.Preserve() function preserve a channel value in flash backed memory if called. My question is simple. Which channels are preserved if System.Preserve() is called in a function. Are all the channels that are assigned in that function preserved? Or is it something else? Thanks.