Expand Minimize

HeapLock function

Attempts to acquire the critical section object, or lock, that is associated with a specified heap.

Syntax


BOOL WINAPI HeapLock(
  _In_  HANDLE hHeap
);

Parameters

hHeap [in]

A handle to the heap to be locked. This handle is returned by either the HeapCreate or GetProcessHeap function.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If the function succeeds, the calling thread owns the heap lock. Only the calling thread will be able to allocate or release memory from the heap. The execution of any other thread of the calling process will be blocked if that thread attempts to allocate or release memory from the heap. Such threads will remain blocked until the thread that owns the heap lock calls the HeapUnlock function.

The HeapLock function is primarily useful for preventing the allocation and release of heap memory by other threads while the calling thread uses the HeapWalk function.

If the HeapLock function is called on a heap created with the HEAP_NO_SERIALIZATION flag, the results are undefined.

Each successful call to HeapLock must be matched by a corresponding call to HeapUnlock. Failure to call HeapUnlock will block the execution of any other threads of the calling process that attempt to access the heap.

Examples

Enumerating a Heap

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

HeapApi.h (include Windows.h);
WinBase.h on Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

See also

Heap Functions
HeapUnlock
HeapWalk
Memory Management Functions

 

 

Community Additions

ADD
Show:
© 2014 Microsoft