"The caller is responsible for freeing the AcDbGripData objects whose pointers are in the grips array."
I am fine with this, but, to do this the array of grip data objects must be stored or cached somewhere in order to be cleaned up. How do you do this when the subGetGripPoints() function is 'const'? Surely a member variable on the custom entity won't suffice.
Ok, so, in the case of subGetGripPoints(...) the caller would be the Autocad framework, so I don't need to worry about the AcDbGripData object pointers themselves... Just any appData structures that I may pass into them.