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!*/