The following code illustrates the stream handler requesting the stream to be de-registered.
#include "os2.h"
#include "os2me.h"
#include "shdd.h"
ULONG ulRC; /* Error return code */
HSTREAM hstream; /* Stream handle */
DDCMDDEREGISTER ddcmdpb; /* Parameter block */
PDDCMDFN pddcmdfn; /* Pointer to DDCMD entry */
/* point */
.
.
.
/*-------------------------------------------------------------------*/
/* The stream handler deregisters with the physical device driver. */
/*-------------------------------------------------------------------*/
ddcmdpb.ulFunction = DDCMD_DEREG_STREAM;
ddcmdpb.hstream = hstream;
if (ulRC = pddcmdfn (&ddcmdpb))
return (ulRC); /* error! */