Condividi tramite


MDA invalidVariant

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.

Sintomi

Comportamento imprevisto durante una transizione tra il codice nativo e quello gestito in cui è previsto il marshalling di una struttura VARIANT a un oggetto.

Causa

Il codice nativo passa al codice gestito una struttura VARIANT dal formato non corretto. Il runtime tenta il marshalling di questa struttura a un oggetto e, se non la ritiene valida, attiva l'assistente al debug gestito. Tra gli esempi di strutture VARIANT non valide sono incluse quelle associate ai VARTYPE VT_EMPTY | VT_BYREF o VT_VARIANT.

Risoluzione

Il codice nativo o non gestito che passa la struttura VARIANT deve verificarne la correttezza del formato e dell'inizializzazione.

Effetto sul runtime

Questo assistente al debug gestito non produce effetti sul comportamento del runtime.

Output

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.

Configurazione

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

Vedere anche

Riferimenti

MarshalAsAttribute

Concetti

Diagnostica degli errori tramite gli assistenti al debug gestito

Marshalling di interoperabilità

Altre risorse

Interoperabilità