Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'opzione /error determina i tipi di controllo degli errori che gli stub generati verranno eseguiti in fase di esecuzione.
Annotazioni
Questa funzionalità è obsoleta e non è più supportata. È consigliabile usare l'opzione /robust .
midl /error { allocation | stub_data | ref | bounds_check | none | all }
Opzioni switch
-
Allocazione
-
Controlla se midl_user_allocate restituisce un valore NULL , che indica un errore di memoria insufficiente.
-
stub_data
-
Genera uno stub che intercetta le eccezioni di annullamento delmarshaling sul lato server e le propaga al client.
-
Ref
-
Genera il codice che esegue un controllo in fase di esecuzione per assicurarsi che non vengano passati puntatori di riferimento NULL agli stub del client e generi un'eccezione RPC_X_NULL_REF_POINTER, se presente.
-
bounds_check
-
Controlla le dimensioni delle matrici conformi e variabili rispetto alla specifica della lunghezza della trasmissione.
-
Nessuno
-
Non esegue alcun controllo degli errori.
-
Tutti
-
Esegue tutto il controllo degli errori. Valido con MIDL versione 5.0, si tratta di un'opzione del compilatore predefinita.
Osservazioni:
L'opzione /error seleziona il numero di controlli di errore che verranno eseguiti dai file stub generati. A partire da MIDL versione 5.0, l'impostazione predefinita è /error all.
Gli errori di enumerazione verificati (per impostazione predefinita in tutte le versioni di MIDL) sono errori di troncamento causati durante la conversione tra tipi di enumerazione lunghi (numeri interi a 32 bit) e tipi di enumerazione breve (rappresentazione dei dati di rete dell'enumerazione) e numero di identificatori in un'enumerazione superiore a 32.767.
Il controllo degli errori di accesso alla memoria (anche per impostazione predefinita in tutte le versioni di MIDL) è destinato ai puntatori che superano la fine del buffer nel codice di marshalling e per le matrici conformi le cui dimensioni sono minori di zero. Usare il flag /error bounds_check per verificare la presenza di altri limiti di matrice non validi.
Quando si specifica /error allocation, gli stub includono codice che genera un'eccezione quando midl_user_allocate restituisce 0.
L'opzione /error stub_data impedisce ai dati client di arrestare il server durante l'annullamento delmarshaling, fornendo in modo efficace un metodo più affidabile per la gestione dell'operazione di annullamento delmarshaling.
Efficace con Windows 2000, il motore di marshalling NDR di runtime sottostante esegue la maggior parte di questi controlli. Ciò significa che se si usa una delle modalità completamente interpretate (/Oi, /Oif) della generazione di stub, la scelta di opzioni di controllo degli errori diverse non avrà un effetto significativo sulle prestazioni.
Examples
midl /error allocation filename.idl
midl /error none filename.idl
Vedere anche