Dynamic-Link Library Data
Win32-based DLLs can contain global data or local data.
Variable Scope
The default scope of DLL variables is the same as that of variables declared
in the application. Global variables in a DLL source code file are global to
each process using the DLL. Static variables have scope limited to the block in
which they are declared. As a result, each process has its own instance of the
DLL global and static variables by default.
Your development tools may allow you to override the default scope of global
and static variables. For more information, see the documentation included with
your development tools.
Dynamic Memory Allocation
When a DLL allocates memory using any of the memory allocation functions (
GlobalAlloc,
LocalAlloc,
HeapAlloc, and
VirtualAlloc), the memory is allocated in the virtual address space of the calling process
and is accessible only to the threads of that process.
A DLL can use file mapping to allocate memory that can be shared among
processes. For a general discussion of how to use file mapping to create named shared
memory, see
File Mapping. For an example that uses the
DllEntryPoint function to set up shared memory using file mapping, see
Using Shared Memory in a Dynamic-Link Library.
Thread Local Storage
The thread local storage (TLS) functions enable a DLL to allocate an index for
storing and retrieving a different value for each thread of a multithreaded
process. For example, a spreadsheet application can create a new instance of the
same thread each time the user opens a new spreadsheet. A DLL providing the
functions for various spreadsheet operations can use TLS to save information about
the current state of each spreadsheet (row, column, and so on). For a general
discussion of thread local storage, see
Thread Local Storage. For an example that uses the
DllEntryPoint function to set up thread local storage, see
Using Thread Local Storage in a Dynamic-Link Library.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database