CoDecodeProxy 函数 (combaseapi.h)

在给定代理对象的接口的服务器进程中查找组件对象模型的实现 (COM) 接口。

语法

HRESULT CoDecodeProxy(
  [in]  DWORD              dwClientPid,
  [in]  UINT64             ui64ProxyAddress,
  [out] PServerInformation pServerInformation
);

参数

[in] dwClientPid

包含代理的进程的进程 ID。

[in] ui64ProxyAddress

对象代理上的接口的地址。 ui64ProxyAddress 被视为 64 位值类型,而不是指向 64 位值的指针,并且不是指向调试器进程中对象的指针。 相反,此地址将传递到 ReadProcessMemory 函数。

[out] pServerInformation

包含进程 ID、线程 ID 和服务器地址的结构。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
已成功检索服务器信息。
E_ACCESSDENIED
调用方是应用容器,或者未安装开发人员许可证。
RPC_E_INVALID_IPID
ui64ProxyAddress 不指向代理。

注解

CoDecodeProxy 函数是一个 COM API,它使本机调试器能够在给定对象代理上的接口的情况下,在服务器进程中查找 COM 接口的实现。

此外, CoDecodeProxy 函数使调试器能够监视跨单元函数调用,并在适当时使此类调用失败。

可以从 32 位或 64 位进程调用 CoDecodeProxy 函数。 ui64ProxyAddress 可以是 32 位或 64 位地址。 CoDecodeProxy 函数在 pServerInformation 字段中返回 32 位或 64 位地址。 如果它返回 64 位地址,则应仅从 64 位进程将该地址传递给 ReadProcessMemory 函数。

要求

   
目标平台 Windows
标头 combaseapi.h
Library Ole32.lib
DLL ComBase.dll

另请参阅

ReadProcessMemory

ServerInformation