InterlockedCompareExchange例程

原创 2015年11月18日 11:18:09

InterlockedCompareExchange 例程执行一个原子操作,用参数Comparand的值与参数Destination指针指向的值比较。

Syntax:

LONG InterlockedCompareExchange(
 _Inout_ LONG volatile * Destination,
 _In_ LONG Exchange,
 _In_ LONG Comparand
 );

Parameters:

Destination [in, out]
指向输入值的指针,和Comparand的值比较。

Exchange [in]
如果Destination指针指向的值和Comparand的值一样,就把Destination指针指向的值换成Exchange的值。

Comparand [in]指定与Destination 指针指向值比较的值。

Return value
返回*Destination的原始值。

Remarks
当Comparand 和*Destination相等时,*Destination的值设为Exchange 一样。否则,*Destination值不变。

Requirements
Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library
OneCoreUAP.lib on Windows 10

IRQL
Any level

See also
ExInterlockedCompareExchange64
InterlockedCompareExchangePointer
InterlockedDecrement
InterlockedExchange
InterlockedExchangePointer
InterlockedIncrement

版权声明:本文为博主原创文章,未经博主允许不得转载。

《Windows核心编程》---Interlocked原子访问系列函数

所谓原子访问,指的是一个线程在访问某个资源的同时能够保证没有其他线程会在同一时刻访问同一资源。Interlocked系列函数提供了这样的操作。所有这些函数会以原子方式来操控一个值。 Interloc...

InterlockedCompareExchange 用法

InterlockedAdd 用来解决对一个变量做加法时多线程同步问题。 比如:void AddSize(LONG lAdd){      InterlockedAdd (&g_lSize, lAdd...
  • wzsy
  • wzsy
  • 2011年06月03日 15:43
  • 7329

InterlockedCompareExchange用法详解

个人网站:www.asmfocus.com 邮箱:zhangliang1223@qq.com   LONG   InterlockedCompareExchange(     IN OUT ...

vs2013编译apr时遇到的疑难杂症

以下内容转自:http://nohup.yne.fr/2014/07/apache-22-msvc-2013.html Apache 2.2 & MSVC 2013 L...
  • fm0517
  • fm0517
  • 2015年04月23日 19:37
  • 3349

SID的组成

下面我根据自己的感受来梳理梳理msdn上的信息,也就是说这些我所知道的东西都来自于msdn上,你们也可以上去发现自己感兴趣的东西,虽然过程会很痛苦,漫长... SID Components: h...

tightvnc2.8.5 vs2010编译和 VS2010中编译openssl的步骤和使用设置

tightvnc2.8.5 vs2010编译 1、编译环境 源码链接:http://www.tightvnc.com/download.php 库文件依赖:WindowsKits  下载地址:http...

InterlockedCompareExchange128

InterlockedCompareExchange128 Visual Studio 2010 - Visual C++ _InterlockedCompareExchange128 ...

MOOC清华《VC++面向对象与可视化程序设计》第4章:鼠标操作例程(灰白选框)

#include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE h...

MOOC清华《VC++面向对象与可视化程序设计》第4章:键盘操作例程(五个对话框)

#include long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam); BOOL InitWindowsClass...

基于DM3730芯片的GPIO口配置方法和C程序例程

基于德州仪器达芬奇系列的dm3730的gpio功能调试。开发板为Embest公司的devkit8500D。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InterlockedCompareExchange例程
举报原因:
原因补充:

(最多只允许输入30个字)