CoDecodeProxy, fonction (combaseapi.h)

Localise l’implémentation d’une interface COM (Component Object Model) dans un processus serveur en fonction d’une interface vers un objet proxié.

Syntaxe

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

Paramètres

[in] dwClientPid

ID de processus du processus qui contient le proxy.

[in] ui64ProxyAddress

Adresse d’une interface sur un proxy vers l’objet . ui64ProxyAddress est considéré comme un type de valeur 64 bits, plutôt qu’un pointeur vers une valeur 64 bits, et n’est pas un pointeur vers un objet dans le processus de débogueur. Au lieu de cela, cette adresse est passée à la fonction ReadProcessMemory .

[out] pServerInformation

Structure qui contient l’ID de processus, l’ID de thread et l’adresse du serveur.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Les informations du serveur ont été récupérées avec succès.
E_ACCESSDENIED
L’appelant est un conteneur d’application ou la licence de développeur n’est pas installée.
RPC_E_INVALID_IPID
ui64ProxyAddress ne pointe pas vers un proxy.

Notes

La fonction CoDecodeProxy est une API COM qui permet aux débogueurs natifs de localiser l’implémentation d’une interface COM dans un processus serveur en fonction d’une interface sur un proxy de l’objet.

En outre, la fonction CoDecodeProxy permet au débogueur de surveiller les appels de fonction inter-appartements et d’échouer ces appels le cas échéant.

Vous pouvez appeler la fonction CoDecodeProxy à partir d’un processus 32 bits ou 64 bits. ui64ProxyAddress peut être une adresse 32 bits ou 64 bits. La fonction CoDecodeProxy retourne une adresse 32 bits ou 64 bits dans le champ pServerInformation . Si elle retourne une adresse 64 bits, vous devez passer l’adresse à la fonction ReadProcessMemory uniquement à partir d’un processus 64 bits.

Configuration requise

   
Plateforme cible Windows
En-tête combaseapi.h
Bibliothèque Ole32.lib
DLL ComBase.dll

Voir aussi

ReadProcessMemory

ServerInformation