XP的快速用户切换

也就是Fast User Switching,和服务器版Windows中的终端服务(Terminal Services)相比较,除了功能弱,细节上也有一些不同,虽然MSDN中说“Fast user switching is implemented using Terminal Services sessions”。

调用CreateMutex创建命名互斥量时,可以在互斥量名称前面加上“Global”表示该互斥量是全局唯一的(across all sessions)。

在2003上,在任何一个会话(sesssion)中创建一个全局的命名互斥量,在其它任何会话(包括当前会话)中再次创建同名互斥量,均会返回第一次创建的结果,并且调用GetLastError会得到ERROR_ALREADY_EXISTS。

而在XP上,第一次创建成功之后的调用,如果是当前会话,则会返回第一次创建的结果,如果是其它会话,则返回空值。

如果打算利用互斥量来保证应用程序在计算机上只有一个运行实例,需要注意一下这个区别。

This entry was posted in 软件开发 and tagged , . Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s