Ah, I get it now. A round about way might be to use the ILDanROI class. Here you can define a multipart roi using the /interior keyword.
Add the geometry (in pixel units) of the whole polygon, then add the geometry of the interior polygon setting the interior keyword. You'll probably need to use ENVI_CONVERT_FILE_COORDINATES to get the pixel coordinates though.
After which call the "ComputeMask" method providing the dimensions of your image of interest.
Then use the WHERE function to return all the indices of your multipart (donut) polygon. That'll allow you to get the image values that you're after.
http://www.exelisvis.com/...ut-ROI-with-IDL.aspx
I don't have the new ENVI api, but this might be an easier way:
http://www.exelisvis.com/...ibutetoroistask.html
hope that helps
Cheers
Josh