I was using thread:

And converting the play file program to a console program. The Start QueueHandler worked, but RunL of the QueueHandler was not being called (I wonder if it was being called, but the streaming messed up detecting it). Anyway in the following code:

TBuf<128> buf2 = iPSettings.iGlobal;
TBuf<128> buf3 = iPSettings.iGlobal;

// Must wait for APS thread to finish creating message queues
// before they can be opened and used.
while (iWriteQ.OpenGlobal(buf2))
{ User::After(10); }
while (iWriteCommQ.OpenGlobal(buf3))
{ User::After(10); }

// Construct message queue handler
delete iPlayCommHandler;
iPlayCommHandler = CQueueHandler::NewL(this, &iWriteCommQ, CQueueHandler::EPlayCommQueue);

// Start observing APS callbacks on output stream message queue

iPlayHandler = CQueueHandler::NewL(this, &iWriteQ, CQueueHandler::EPlayQueue);

I can detect that iPlayCommHandler->Start() is working, but I dont seem to get a completion to call RunL.
I just dont understand enough about this to debug it.

Could it be some internal problem with the APS, or the stream/queue and how would I detect this (and yes I am fairly new to C++, so please spell out things for me -- I would really appreciate it)?