Partager via


Assistant Débogage managé failedQI

L'Assistant Débogage managé (MDA, Managed Debugging Assistant) failedQI est activé lorsque le runtime appelle QueryInterface sur un pointeur d'interface COM au nom d'un wrapper RCW (Runtime Callable Wrapper) et que l'appel QueryInterface échoue.

Symptômes

Un cast sur un wrapper RCW échoue ou un appel à COM à partir d'un wrapper RCW échoue de manière inattendue.

Cause

  • L'appel est effectué à partir du contexte incorrect.

  • Le proxy inscrit fait échouer l'appel QueryInterface car la tentative d'appel a été effectuée dans le contexte incorrect.

  • Un proxy détenu par OLE a retourné une valeur HRESULT d'échec.

Solution

Consultez la documentation MSDN sur les règles COM.

Effet sur le runtime

Si un appel QueryInterface échoue, le contexte est basculé et une nouvelle tentative d'appel QueryInterface est effectuée pour déterminer si un contexte inexact était en cause.

Sortie

Le nom managé de l'interface, le GUID de l'interface et le HRESULT de l'échec.

Configuration

<mdaConfig>
  <assistants>
    <failedQI/>
  </assistants>
</mdaConfig>

Voir aussi

Référence

MarshalAsAttribute

Concepts

Diagnostic d'erreurs avec les Assistants de débogage managés

Marshaling d'interopérabilité

Autres ressources

Interopérabilité