Share via


/robust switch

L'opzione /robust indica al compilatore MIDL di generare informazioni aggiuntive di controllo degli errori, che il motore NDR usa per eseguire controlli di integrità in fase di esecuzione.

midl /robust {/Oicf | /Oif }

Opzioni di opzione

/Oicf

/Oif

Queste opzioni sono identiche nella loro funzionalità. Specificano il metodo proxy senza codice di marshalling e usano stringhe di formato rapido per migliorare le prestazioni. Vedere / Oi.

Commenti

L'uso del commutatore /robust genera informazioni aggiuntive che consentono al motore Network Data Representation (NDR) di eseguire il controllo degli errori di runtime sugli argomenti correlati in matrici dinamiche, unioni e puntatori out nelle applicazioni DCOM. Il commutatore /robusto è disponibile solo in Windows 2000 e versioni successive di Windows.

Un argomento correlato è un argomento che usa uno degli attributi che consentono di determinare le dimensioni di un oggetto dati in fase di esecuzione: size_is, length_is, first_is, last_is, max_is, switch_is eiid_is. In base alla specifica OSF-DCE per la rappresentazione di filo, questo argomento correlato viene visualizzato in due posizioni diverse. Si consideri ad esempio un utilizzo tipico dell'attributo size_is :

HRESULT Func1([in] long Size, 
              [in, size_is(Size)]BAR_TYPE *pBarType);

In questo esempio il client passa un lungo che specifica le dimensioni di un blocco di BAR_TYPEs (in termini di numero di elementi BAR_TYPES) e un puntatore al blocco effettivo di BAR_TYPEs. L'argomento Size correla con l'argomento pBarType. In base alla specifica OSF-DCE, l'argomento Size viene rappresentato due volte sul filo, come se stesso e quindi con la matrice di elementi BAR_TYPE che rappresentano l'argomento pBarType. Ogni argomento non èmarciato in modo indipendente, in base alla propria rappresentazione di filo. In genere, l'argomento Size e la relativa copia, che viene utilizzata per rappresentare parte dell'altro argomento, hanno gli stessi valori. Tuttavia, se l'argomento Size viene danneggiato (ad esempio, quando il blocco di BAR_TYPES è maggiore di quello allocato), l'applicazione server può interrompere la risposta, perché usa il valore dell'argomento Size per misurare i dati in ingresso.

L'opzione /robust è necessaria per implementare il controllo dell'intervallo valido con l'attributo range.

Esempio

midl /robust /Oicf filename.idl

Vedi anche

Sintassi generale della riga di comando MIDL

/Oi

Gamma