The point from GetProjectedPointOn is on the extend face?

I have same question with this link

I try this link's solution

but the point get from GetProjectedPointOn is on the extend face

The point from the image below is the projected point

but i get two should not exist point

I do not know the GetProjectedPointOn can get the point even this point is not on the face.

Is there any solution to solve this problem?

Thanks.

SolidworksApi macros