With respect to Preprocessor2, the preprocessor maintains its context information internally.
There are no Preprocessor2 requirements for context passing.
All operations against a cursor must be within the same compile unit. This restriction is a preprocessor restriction, not a runtime restriction.