The following code illustrates the stream handler requesting the PDD to stop its current task, for example, the PDD stops playing audio.
#include "os2.h"
#include "os2me.h"
#include "shdd.h"
ULONG ulRC; /* Error return code */
HSTREAM hstream; /* Stream handle */
DDCMDCONTROL ddcmdpb; /* Parameter block */
PDDCMDFN pddcmdfn; /* Pointer to DDCMD entry
point */
.
.
.
/*-------------------------------------------------------------------*/
/* The stream handler directs the physical device driver to stop. */
/*-------------------------------------------------------------------*/
ddcmdpb.ulFunction = DDCMD_CONTROL;
ddcmdpb.hstream = hstream;
ddcmdpb.pParm = NULL;
ddcmdpb.ulParmSize = NULL;
ddcmdpb.ulCmd = DDCMD_STOP;
if (ulRC = pddcmdfn (&ddcmdpb))
return (ulRC); /* error! */