Opzione /Os
L'opzione /Os specifica il metodo in modalità mista per effettuare il marshalling del codice stub passato tra client e server.
midl /Os
Questa opzione non ha parametri.
Esistono problemi importanti da considerare prima di decidere sul metodo per il marshalling del codice. Questi problemi riguardano dimensioni e prestazioni. Il compilatore MIDL fornisce due metodi per il marshalling del codice: modalità mista (/Os) e completamente interpretato (/Oi). Il metodo completamente interpretato effettua il marshalling dei dati completamente offline. Ciò riduce notevolmente le dimensioni del codice stub, ma comporta anche una riduzione delle prestazioni.
Usare la modalità predefinita MIDL /Oicf /robust per tutti gli scopi diversi dalla compatibilità con le versioni precedenti. Questa modalità è la modalità standard sicura del compilatore MIDL; qualsiasi altra modalità deve essere usata solo dopo un'attenta considerazione dell'implicazione della sicurezza, rendendosi conto che le estensioni future verranno implementate solo per la modalità predefinita. In modalità mista, il compilatore effettua il marshalling di alcuni parametri inline negli stub generati. Anche se ciò comporta dimensioni stub maggiori, può anche offrire prestazioni migliori.
MIDL offre il supporto completo per matrici multidimensionali e puntatori di dimensioni multidimensionali solo in modalità /Oicf . Nelle modalità /Os e /Oi , il compilatore supporta semplici case, ad esempio matrici a dimensione fissa. L'uso di matrici multidimensionali in modalità /Os o /Oi può comportare parametri che non vengono sottoposto correttamente a marshalling. Microsoft consiglia di usare l'opzione della riga di comando /Oicf quando l'interfaccia definisce i parametri che sono matrici multidimensionali o puntatori di dimensioni multidimensionali.
Per definire ulteriormente il livello di gradazione nella modalità di marshalling dei dati, questa versione di RPC fornisce un attributo [optimize]. Questo attributo viene usato come attributo di interfaccia O attributo dell'operazione ACF per selezionare la modalità di marshalling.
midl /Os filename.idl