|Microsoft DirectX 9.0|
The ProcessPMsg method performs the main task of the tool. It is called from inside the performance's real-time thread for all messages that match the types specified by IDirectMusicTool8::GetMediaTypes.
HRESULT ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG );
Performance that is generating messages.
Message to process.
Return values are determined by the implementation. If the method succeeds, the return value can be one of the following:
If it fails, the method can return E_POINTER.
If the method returns DMUS_S_REQUEUE, the message is placed back in the queue. The tool can put a new time stamp and parameters on the message, or change the delivery type.
If the return value is DMUS_S_FREE, the message is freed by the performance.
If the return value is S_OK, the message is not freed by the performance. The tool might be holding onto the message for some reason, or the tool might already have freed the message.
Tools should not perform time-consuming activities because doing so can severely affect overall performance. Also be sure not to create a circular reference to the performance represented by pPerf. For more information, see DirectMusic Tools.
Header: Declared in dmplugin.h.