It's available to derived classes and classes within the same Assembly (and naturally from the base class it's declared in).
First you need to understand the meaning of each access modifier on its own:
Protected: A protected member is accessible from within the class in which it is declared, and from within any class derived from the class that declared this member.
Internal: Internal types or members are accessible only within files in the same assembly.
This means that a "protected internal" member (combination of these two) will be visible only to classes that derive from the class that declares that member *and* are declared in a file in the same assembly.