The following code illustrates how to lock a memory object.
#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! */