Get the name of the part file from which part file is derived from

I have a assembly file Sample.SLDASM and it contains two part files as references Part1.SLDPRT and Part2.SLDPRT.

I select Part1.SLDPRT file and click File->Derived Component Part. It opens the derived part in new window , then I save it as DerivedPart.SLDPRT.

I have two questions.

1) From my C++ plugin , how can I get the name of the part file from which this derived part is derived from ?

I tried using GetExternalReferenceName Method (IModelDoc2) but it gives me Sample.SLDASM  but the DerviedPart.SLDPRT is derived from Part1.SLDPRT. I am interested to know which api can help me in getting Part1.SLDPRT as a result .

2) DerivedPart.SLDPRT is a derived part file. Which SolidWorks API can tell me if a part file is dervied or not ?

SolidworksApi/macros