The following code illustrates how to register a stream instance with a device driver.
#include "os2.h"
#include "os2me.h"
#include "shdd.h"
ULONG ulRC; /* Error return code */
HSTREAM hstream; /* Stream handle */
DDCMDREGISTER ddcmdpb; /* Parameter block */
PDDCMDFN pddcmdfn; /* Pointer to DDCMD entry */
/* point */
ULONG ulSysFileNum; /* Global file handle */
PSHDFN pshdfn; /* Pointer to SHD entry */
/* point */
SPCBKEY spcbkey; /* Stream protocol key */
.
.
.
/*-------------------------------------------------------------------*/
/* Register a stream instance with a physical device driver. */
/*-------------------------------------------------------------------*/
ddcmdpb.ulFunction = DDCMD_REGISTER;
ddcmdpb.hstream = hstream;
ddcmdpb.ulSysFileNum = ulSysFileNum;
ddcmdpb.pSHDEntryPoint = pshdfn;
ddcmdpb.ulStreamOperation = STREAM_OPERATION_CONSUME;
ddcmdpb.spcbkey = spcbkey;
if (ulRC = pddcmdfn (&ddcmdpb))
return (ulRC); /* error!*/