|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| kernel32.lib
| Header File
| winbase.h
| Unicode
| No
| Platform Notes
| None
|
|
|
InterlockedDecrement
The
InterlockedDecrement function both decrements (decreases by one) the value of the specified 32-bit
variable and checks the resulting value. The function prevents more than one
thread from using the same variable simultaneously.
LONG InterlockedDecrement(
LPLONG lpAddend
| // address of the variable to decrement
|
);
|
|
Parameters
lpAddend
Points to the 32-bit variable to decrement.
Return Values
If the result of the decrement is zero, the return value is zero.
If the result of the decrement is less than zero, the return value is less
than zero. If the result of the decrement is greater than zero, the return value
is greater than zero. A nonzero return value may not be equal to the result of
the decrement.
Remarks
The functions
InterlockedDecrement,
InterlockedCompareExchange,
InterlockedExchange,
InterlockedExchangeAdd, and
InterlockedIncrement provide a simple mechanism for synchronizing access to a variable that is
shared by multiple threads. The threads of different processes can use this
mechanism if the variable is in shared memory.
The variable pointed to by the
lpAddend parameter must be aligned on a 32-bit boundary; otherwise, this function will
fail on multiprocessor
x86 systems.
See Also
InterlockedCompareExchange,
InterlockedExchange,
InterlockedExchangeAdd,
InterlockedIncrement
- 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