the general procedure is...
your are going be passed (how ever that's done) a Node (class INode)
the node is going to reference an object (the actual box, spline, editable mesh, poly etc), you look at the class of that object and decide if it's what you want
usually something like....
void myfunc(INode* node)
{
if(!node) return;
Object* obj = node->GetObjectRef();
if(obj && obj.ClassID() == MY_CLASS_ID)
{
......
should be plenty of examples in the sdk, though things get a bit more complicated when modifiers an being used on the incoming node.
also worth noting that if you are storing this node in a parameter block the validation of the type is handled by the parameter block code using a PBValidator object (maxsdk\samples\controllers\Path_cnstrnt.cpp is a good example of this)
ChannelInfo project in samples is a good place to start on how to handle scene nodes