列表中的远程过程调用 (RPC) 修复 Windows XP Service Pack 2 中和在 Windows XP Tablet PC 版 2005年中

文章翻译 文章翻译
文章编号: 838191 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文列出了远程过程调用 (RPC) 问题和解决了在 Microsoft Windows XP Service Pack 2 (SP2) 和 Windows XP Tablet PC 版 2005年中的更新方案。

有关在 Windows XP SP2 中解决该问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
811113在 Windows XP Service Pack 2 中包含的修复程序的列表

更多信息

下面列出了 RPC 问题和解决的更新方案:

若要添加三个新的 RPC 接口注册标志的更新

此更新引入了 rpc 的下列接口注册标志:
  • RPC_IF_LOCAL_ONLY 标志

    注册此标志后,RPC 运行时拒绝通过远程客户端所做的调用。使用 ncadg_ *ncacn_ * 协议序列的所有本地调用也会拒绝,使用 ncacn_np 序列的本地调用除外。
  • RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 标志

    此标志注册,RPC 运行时将调用已注册的安全回调,不管调用安全设置的所有调用的。如果没有此标志,RPC 将调用到达安全回调之前拒绝所有未经身份验证的调用。此标志仅用于注册安全回调。
  • RPC_IF_SEC_NO_CACHE 标记

    使用此标志来禁用某个特定接口的安全回调缓存。您可能希望执行此操作在情况下,安全检查可能在其中更改或其中可能有可能拒绝以前允许一个客户端身份。

限制匿名远程 RPC 访问的更新

通常,RPC 协议允许受限制的访问不明确请求的接口的匿名远程访问。此更新引入了您可以配置要控制此行为将 RestrictRemoteClients DWORD 注册表项。此项位于以下注册表子项中:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC
设置 RestrictRemoteClients 注册表项,使用下面的值取决于您的具体情况之一:
  • 0
    此设置允许匿名远程访问接口。
  • 1 (默认值)
    此默认设置允许访问接口只能通过使用经过验证的连接,除非这些连接特别请求将受此要求。

    注意对于某些 DCOM 方案需要此免除。
  • 2
    接口只能通过使用此设置允许远程访问身份验证的连接。此设置不允许身份验证要求的例外情况。

若要配置与终结点映射程序使用身份验证的 RPC 客户端的更新

通常的 RPC 客户端不使用身份验证,当它与 RPC 终结点映射程序进行通信。当前,试图通过使用动态终结点进行的调用的 RPC 客户端将首先查询 RPC 终结点映射程序在服务器上的以确定要连接到哪些终结点。即使 RPC 客户端调用使用 RPC 安全机制执行,将以匿名方式,执行此查询。

此更新引入了 EnableAuthEpResolution 注册表 DWORD 项,您可以配置要控制此行为。若要启用的 RPC 客户端进行 RPC 服务器注册正在运行 Windows XP SP2 的系统上的动态终结点的调用需要该新注册表项。客户端计算机必须设置此注册表项,以便它将执行到 RPC 终结点映射程序经过身份验证的查询。 EnableAuthEpResolution 注册表项位于以下注册表子项中:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC
设置 EnableAuthEpResolution 注册表项,使用下面的值取决于您的具体情况之一:
  • 0
    此值配置不能与服务器上该终结点映射程序通信时使用身份验证的客户端计算机。
  • 1 (默认值)
    您在使用此值时在客户端计算机使用身份验证在终结点映射程序请求到服务器中如果终结点映射程序查询是一个经过身份验证的 RPC 调用的上下文中。

某些接口定义语言 (IDL) 构造是封送处理和 unmarshaled 不正确的 RPC

RPC 通信与其他 Microsoft 基于 Windows 的计算机在网络上使用的程序可能会失败。例如对于当您使用的两个的远程计算机之间的自定义 Microsoft Visual Basic 程序 Visual Basic 程序使用用户定义类型封送处理时您可能会发现某些 IDL 结构不正确地封送和取消封送。例如对于您可能会遇到下列症状之一:
  • 将失败远程调用和 RPC_X_BAD_STUB_DATA 错误代码由 Visual Basic 程序返回。
  • 不正确的数据是取消封送的。

RPC 中存在一个不正确的错误代码映射

如果从 RPC 接口出现的安全回调返回错误代码 1717年,本地 RPC (LRPC) 代码,在 Windows 会将错误地转换此错误代码为错误代码 5,"拒绝访问"。

将 RestrictRemoteClients 选项和 $ EnableAuthEpResolution 选项的设置添加到 System.adm 文件的更新

此更新向 System.adm 组策略管理模板中添加了 RPC RestrictRemoteClients 选项和 $ EnableAuthEpResolution 选项的设置。

RPC 组件未正确处理 STATUS_UNSUCCESSFUL 状态代码

在 Windows RPC 组件不能正确处理,用于指示操作系统已运行池内存不足的错误代码。因为此错误代码不正确地处理,存在与服务器的会话将结束。因此,就会发生的上下文句柄的过早耗尽。

若要更改将不再需要 SEC_WINNT_AUTH_IDENTITY 结构是有效的绑定句柄的生存期的 RpcBindingSetAuthInfoEx 函数的更新

当前 RpcBindingSetAuthInfoEx 函数要求 SEC_WINNT_AUTH_IDENTITY 结构传递给函数的有效绑定句柄的生存期。此结构包含诸如密码信息的用户敏感信息。

此更新将修改代码,以使 MSDN 要求保存在内存中的明文凭据只适用于 RpcBindingInqAuthInfo(Ex) 函数调用的方案。对于其他的情况凭据没有保持可用。在这些其他方案,复制和加密的明文凭据。因此,用户传递凭据参数可能会被释放。

当通过终结点映射程序的 TCP 或 UDP 的 RPC 服务器注册时自动在 Windows 防火墙中打开端口 135 的更新

除非您手动打开端口 135 或端口 593,不能进行通信的允许从 Windows 防火墙的角度来看,并使用动态终结点的 RPC 程序。此更新会修改调用一个其他的 Windows 防火墙 API 的 RPC 协议。此 API 执行的程序的 Windows 防火墙的允许和使用动态终结点的以下操作:
  • TCP 端口 135 的 TCP 协议序列将自动打开
  • 自动打开 TCP 端口 593 HTTP 协议序列,

若要从 Microsoft Windows Server 2003 的 HTTP 组件上导入功能和功能的 RPC 的更新

在 Windows Server 2003 中的 HTTP 组件上 RPC 包括通过 Windows XP 的许多安全更新和功能更新。此更新包含更新后的特性和功能从 RPC 到 Windows XP SP2 的 Windows Server 2003 中的 HTTP 组件上。

您会收到一个"0x800706f7"错误消息,如果一个嵌入式的用户定义的类型有多个 16 兆字节 (MB) 的缓冲区大小

您可能会发现不能将传递一个用户定义的类型在进程之间是否用户定义的类型具有多个 16 MB 的缓冲区大小。当试图通过在进程之间大于 16 MB 的 UDT 时您可能会收到与以下类似的错误消息:

0x800706f7
该存根 (stub) 接收到错误的数据


有关在 Windows XP SP2 网络保护技术的功能所做的更改的详细信息,请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/bb457156.aspx

属性

文章编号: 838191 - 最后修改: 2007年10月26日 - 修订: 3.4
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional SP2
  • Microsoft Windows XP Home Edition SP2
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
关键字:?
kbmt kbtshoot kberrmsg kbenv kbfix kbbug KB838191 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 838191
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com