你目前正处于脱机状态,正在等待 Internet 重新连接

信息: 服务和重定向的驱动器

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 180362
概要
服务应该不能直接访问本地或网络通过映射的驱动器号的资源。此外,服务不应使用 WNet XXXXXXX api 来添加、 删除,或查询任何映射的驱动器号。尽管可能会成功地返回 WNet XXXXXXX api,结果将不正确。服务 (或任何进程都在不同的安全上下文中运行) 必须访问远程资源应使用通用命名约定 (UNC) 名称访问资源。UNC 名称不会从本文中描述的限制。
更多信息
当系统建立已重新定向的驱动器时, 存储在每用户基础上。只有自己的用户可以操作已重新定向的驱动器。系统将跟踪的重定向的驱动器,基于上用户的登录安全标识符 (SID)。登录 SID 是用户的登录会话的唯一标识符。单个用户可以有多个,在系统上的同时进行的登录会话。

如果服务被配置为在用户帐户下运行,系统将始终创建新的登录会话的用户,然后在该新的登录会话中启动该服务。因此,服务不能操作建立内用户的其他会话的驱动器映射。

在 Microsoft Windows NT 和 Microsoft Windows 2000 上重定向的驱动器

在 Windows NT 上和 Windows 2000 上,驱动器号是系统全局的。在系统上的所有用户都共享字母 A 到 Z。每个用户收不到自己的驱动器号的集。这意味着用户可以访问另一用户的重定向的驱动器,如果它们具有适当的安全访问权限。

如果用户试图在重定向一个由另一个用户 (如 WNetAddConnection2()) 使用的驱动器号在 ERROR_ALREADY_ASSIGNED 则会返回错误。 尽管已重新定向的驱动器是所有用户的全局,建立它只有在用户可以对其进行操作。另一个示例是一个用户尝试删除或查询重定向已被其他用户建立的驱动器上的信息。WNetGetConnection() 函数和 WNetCancelConnection2() 函数将返回以下错误消息:
ERROR_NOT_CONNECTED
如果用户试图在枚举通过 WNetOpenEnum()WNetEnumResource() 重定向的驱动器的列表功能唯一列表重定向该用户已建立的驱动器。已由其他用户重定向的驱动器将不会显示。

Windows NT 文件管理器和 Windows NT 资源管理器可以查看所有重定向的驱动器,因为它们 GetDriveType() 函数调用每个的驱动器上,它们将显示找到的每个驱动器的图标。Windows NT 文件管理器和 Windows NT 资源管理器创建由所有用户创建,因为都是全局系统的驱动器号的重定向的驱动器的图标。但是,交互式用户不能使用 Windows NT 文件管理器或 Windows NT 资源管理器以因为驱动器创建在不同的登录会话中断开与驱动器的连接。

如果在本地系统安全上下文中运行的服务建立驱动器映射,只有该服务或在本地系统帐户下运行的另一个进程可以调用 WNetCancelConnection2() 以断开与驱动器的连接。

注意在本地系统帐户运行的所有进程相同的登录会话中都运行。

在 Windows XP 上重定向的驱动器

在 Windows XP 上,并在 Microsoft Windows Server 2003,每个登录会话接收到它自己的一组 A 到 Z 的驱动器号。因此,不能在不同的用户帐户下运行的进程之间共享已重定向的驱动器。此外,服务 (或任何在其自己的登录会话中运行的进程) 不能访问建立在不同的登录会话中的驱动器号。 然而,在本地系统帐户下运行的服务从映射的驱动器号都可以看到所有登录会话。
映射

警告:本文已自动翻译

属性

文章 ID:180362 - 上次审阅时间:11/21/2006 15:39:18 - 修订版本: 5.3

Microsoft Win32 Application Programming Interface

  • kbmt kbapi kbfileio kbinfo kbkernbase kbservice KB180362 KbMtzh
反馈