coDecodeProxy 函式 (combaseapi.h)

在伺服器進程中,找出元件物件模型 (COM) 介面的實作,該介面具有 Proxyed 物件的介面。

語法

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

參數

[in] dwClientPid

包含 Proxy 之進程的進程識別碼。

[in] ui64ProxyAddress

物件 Proxy 上介面的位址。 ui64ProxyAddress 被視為 64 位實數值型別,而不是 64 位值的指標,而且不是偵錯工具中物件的指標。 相反地,此位址會傳遞至 ReadProcessMemory 函式

[out] pServerInformation

結構,其中包含進程識別碼、執行緒識別碼和伺服器的位址。

傳回值

此函式可以傳回下列其中一個值。

傳回碼 描述
S_OK
已成功擷取伺服器資訊。
E_ACCESSDENIED
呼叫端是應用程式容器,或未安裝開發人員授權。
RPC_E_INVALID_IPID
ui64ProxyAddress 不會指向 Proxy。

備註

CoDecodeProxy函式是一種 COM API,可讓原生偵錯工具在伺服器進程中找出 COM 介面的實作,而該介面會指定 Proxy 上的物件。

此外, CoDecodeProxy 函式可讓偵錯工具監視跨 Apartment 函式呼叫,並在適當時失敗這類呼叫。

您可以從 32 位或 64 位進程呼叫 CoDecodeProxy 函式。 ui64ProxyAddress 可以是 32 位或 64 位位址。 CoDecodeProxy函式會在pServerInformation欄位中傳回 32 位或 64 位位址。 如果它傳回 64 位位址,您應該只從 64 位進程將位址傳遞至 ReadProcessMemory 函式。

規格需求

   
目標平台 Windows
標頭 combaseapi.h
程式庫 Ole32.lib
Dll ComBase.dll

另請參閱

ReadProcessMemory

ServerInformation