The following code illustrates how to enable DLL and device driver stream handlers to interface with the Sync/Stream Manager.
#include "os2.h"
#include "os2me.h"
ULONG ulRC; /* Error return code */
PARM_LOCKM parm_lockm; /* Lock memory parameter block */
LOCKH lockh; /* Lock handle */
PVOID pMem; /* Pointer to memory object */
PSMHFN SMHEntryPoint; /* Pointer to SMH entry point */
.
.
.
/*--------------------------------------------
* Allocate memory and save address in pMem.
*--------------------------------------------
.
.
.
*-------------------------------------------
* Lock the allocated memory.
*-------------------------------------------*/
parm_lockm.ulFunction = SMH_LOCKMEM;
parm_lockm.pBuffer = pMem;
parm_lockm.ulBufSize = 4096;
parm_lockm.plockh = &lockh;
parm_lockm.ulFlags = SSM_LOCKMEM | SSM_CONTIGLOCK;
if (ulRC = SMHEntryPoint (&parm_lockm))
return(ulRC); /* Error! */