MDA invalidVariantinvalidVariant MDA

L'assistente al debug gestito invalidVariant viene attivato quando viene rilevata una struttura VARIANT non valida durante una chiamata dal codice nativo o non gestito al codice gestito.The invalidVariant managed debugging assistant (MDA) is activated when an invalid VARIANT structure is encountered during a call from native or unmanaged code to managed code.

SintomiSymptoms

Comportamento imprevisto durante una transizione tra il codice nativo e quello gestito in cui è previsto il marshalling di una struttura VARIANT a un oggetto.Unexpected behavior during a transition between native and managed code involving the marshaling of a VARIANT to an object.

CausaCause

Il codice nativo passa al codice gestito una struttura VARIANT in un formato non corretto.Native code is passing a malformed VARIANT structure to managed code. Il runtime tenta il marshalling di questa struttura VARIANT a un oggetto e, se non ritiene valida la struttura VARIANT, attiva l'assistente al debug gestito.The runtime attempts to marshal this VARIANT to an object and activates the MDA if the VARIANT is not valid. Tra gli esempi di strutture VARIANT non valide sono incluse strutture VARIANT con VARTYPE VT_EMPTY | VT_BYREF o strutture VARIANT con VARTYPE VT_VARIANT.Examples of invalid VARIANTS include a VARIANT with VARTYPE VT_EMPTY | VT_BYREF or a VARIANT with VARTYPE VT_VARIANT.

RisoluzioneResolution

Il codice nativo o non gestito che passa la struttura VARIANT deve verificare la correttezza del formato e dell'inizializzazione della struttura VARIANT.The native or unmanaged code passing the VARIANT must ensure that the VARIANT is correctly formed and initialized.

Effetto sull'ambiente di esecuzioneEffect on the Runtime

L'assistente al debug gestito non produce effetti sul comportamento del runtime.The MDA has no effect on the runtime's behavior.

OutputOutput

Un messaggio dell'assistente al debug gestito in cui è indicato che il runtime ha rilevato una struttura VARIANT non valida passata al codice gestito da un modulo non gestito.An MDA message indicating that the runtime detected an invalid VARIANT passed to managed code by an unmanaged module.

ConfigurazioneConfiguration

<mdaConfig>  
  <assistants>  
    <invalidVariant />  
  </assistants>  
</mdaConfig>  

Vedere ancheSee Also

MarshalAsAttribute
Diagnostica degli errori tramite gli assistenti al debug gestitoDiagnosing Errors with Managed Debugging Assistants
Marshalling di interoperabilitàInterop Marshaling