Table of Contents

This is part of Win16 API which allow to create versions of program from one source code to run under OS/2 and Win16. Under OS/2 program can be running under Win-OS/2 if program is Windows NE executable, and with help on Windows Libraries for OS/2, if it is OS/2 NE executable. Here is a WLO to OS/2 API mapping draft

2021/09/01 04:23 · prokushev · 0 Comments

LocalLock

Brief

Locks a local memory object and returns a pointer to its first byte.

Syntax

LPVOID WINAPI LocalLock(
HLOCAL hMem
);

Parameters

hMem – Handle to the memory object.

Return Value

Returns a pointer to the beginning of the memory block.

Returns NULL on failure (e.g., handle is invalid or the block has been discarded). Call GetLastError.

Notes

Increments the lock count of the object by one. The heap manager cannot move or discard a locked block.

Every call to LocalLock must be balanced with a call to LocalUnlock.

For fixed objects (LMEM_FIXED), the lock count is always zero and the returned pointer equals the handle.

Example Code

C Binding

LPSTR pData = (LPSTR)LocalLock(hMem);
if (pData) {
// work with data
LocalUnlock(hMem);
}

MASM Binding

push hMem
call LocalLock
mov [p], ax

See also

Group Functions
Module manager GETVERSION GETMODULEHANDLE GETMODULEUSAGE GETMODULEFILENAME GETPROCADDRESS MAKEPROCINSTANCE FREEPROCINSTANCE GETINSTANCEDATA CATCH THROW GETCODEHANDLE LOADLIBRARY
Global Memory Manager GlobalAlloc GlobalCompact GlobalDiscard GlobalFree GlobalLock GlobalReAlloc GlobalSize GlobalUnlock GlobalFlags
Local Memory Manager LocalInit LocalAlloc LocalCompact LocalDiscard LocalFree LocalLock LocalFreeze LocalMelt LocalReAlloc LocalSize LocalUnlock LocalHandleDelta LockData UnlockData LocalFlags
Task Scheduler GetCurrentTask Yield SetPriority
Resource Manager AddFontResource RemoveFontResource LoadBitmap LoadCursor LoadIcon LoadMenu LoadString LoadAccelerators FindResource LoadResource AllocResource LockResource FreeResource AccessResource SizeofResource SetResourceHandler
String Translation AnsiUpper AnsiLower AnsiNext AnsiPrev
Atom Manager InitAtomTable AddAtom DeleteAtom FindAtom GetAtomName
Windows Initialization File GetProfileInt GetProfileString WriteProfileString
Debugging FatalExit
File I/O _lopen _lcreat _llseek _lread _lwrite _lclose OpenFile GetTempFileName GetTempDrive
Registry RegOpenKey RegCreateKey RegCloseKey RegDeleteKey RegSetValue RegQueryValue RegEnumKey
2022/11/17 15:22 · prokushev · 0 Comments