processing multi-model files

I want to do some processing on every model in a list of dgn files.  I need to be able to do this in batch mode (initapps) as well as interactive mode.

 I tried mdlDgnFileObj_traverseModelIndex, but the models are not actually made active, so when the processing uses mdlElmdscr_read, I still just get elements from the default model.

I have thought about using mdlSystem_exchangeDesignFileAndModel, but can't find a concise way to get the model names.  I'm thinking this is my best bet, even if I have to use mdlDgnFileObj_traverseModelIndex to get the model names first.  Speaking of which, is there something like the StringList for MSWChar strings?

The other idea I had was to use mdlDgnFileObj_getModelRefList, mdlModelRefList_get and mdlModelRefActivateAndDisplay.  The problem with this is that it seems the "display" part of the function may not work so well for an initapp, and I can't find a better version of the function.

I am not looking for anyone to spend much time on this,  but I thought some of you might be willing to give me some advice.

Thanks, John