In order to get the point data, you'll need to call
HAPI_GetAttributeInfo() and
HAPI_GetAttributeFloatData(). I'd do a quick scan through the geo and part sections of the docs to get started (one's a container and the other actually holds the mesh information), but generally the process is like this:
HAPI_NodeId nodeId = 1234;
// Check GeoInfo incase we need multiple parts
HAPI_GeoInfo geoInfo;
HAPI_GetGeoInfo();
// Check part information for the point count (used later)
HAPI_PartInfo partInfo;
HAPI_GetPartInfo();
// Check information about our "P" attribute (is it an array? how big?)
HAPI_AttributeInfo attrInfo;
HAPI_GetAttributeInfo()
// Get our "P" data using the supplied information
Point3* p = new Point3[partInfo.pointCount];
HAPI_GetAttributeFloatData();
After that, you'll have some kind of point array to work with! That Node ID will allow you access to a lot of functionality.
Edit: Point3 is a max-specific container for a float3 array.