File stream /context confusion

I need to track File stream context in my minifilter to support XP and later platforms.

I am very confused between 2 concepts:

  1. FSRTL_ADVANCED_FCB_HEADER /FSRTL_PER_STREAM_CONTEXT and the use of FsRtlInsertPerStreamContext,etc.

AND

  1. The Minfilter’s FLT_STREAM_CONTEXT support.

Can someone please explain if these are one and the same thing wrapped differently. Or,2 Different Concepts, and if so when should I choose one vs the other?

TIA

Larry