Поделиться через


Функция CoDecodeProxy (combaseapi.h)

Находит реализацию com-интерфейса в серверном процессе, заданном интерфейсом для прокси-объекта.

Синтаксис

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

Параметры

[in] dwClientPid

Идентификатор процесса, содержащего прокси-сервер.

[in] ui64ProxyAddress

Адрес интерфейса на прокси-сервере для объекта . ui64ProxyAddress считается 64-разрядным типом значения, а не указателем на 64-разрядное значение и не является указателем на объект в процессе отладчика. Вместо этого этот адрес передается в функцию ReadProcessMemory .

[out] pServerInformation

Структура , содержащая идентификатор процесса, идентификатор потока и адрес сервера.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Сведения о сервере успешно получены.
E_ACCESSDENIED
Вызывающий объект является контейнером приложения или лицензия разработчика не установлена.
RPC_E_INVALID_IPID
ui64ProxyAddress не указывает на прокси-сервер.

Комментарии

Функция CoDecodeProxy — это COM API, который позволяет собственным отладчикам находить реализацию COM-интерфейса в серверном процессе с помощью интерфейса на прокси-сервере для объекта .

Кроме того, функция CoDecodeProxy позволяет отладчику отслеживать вызовы функций между подразделениями и завершать такие вызовы, когда это необходимо.

Функцию CoDecodeProxy можно вызвать из 32-разрядного или 64-разрядного процесса. ui64ProxyAddress может быть 32-разрядным или 64-разрядным адресом. Функция CoDecodeProxy возвращает 32-разрядный или 64-разрядный адрес в поле pServerInformation . Если он возвращает 64-разрядный адрес, необходимо передать его в функцию ReadProcessMemory только из 64-разрядного процесса.

Требования

   
Целевая платформа Windows
Header combaseapi.h
Библиотека Ole32.lib
DLL ComBase.dll

См. также раздел

ReadProcessMemory

ServerInformation