Freigeben über


/Os-Schalter

Der Schalter /Os gibt die Methode im gemischten Modus zum Marshallen von Stubcode an, der zwischen Client und Server übergeben wird.

midl /Os

Optionen wechseln

Dieser Schalter verfügt über keine Parameter.

Bemerkungen

Es gibt wichtige Punkte, die vor der Entscheidung über die Methode zum Marshallen von Code zu berücksichtigen sind. Diese Probleme betreffen Größe und Leistung. Der MIDL-Compiler bietet zwei Methoden zum Marshallen von Code: gemischter Modus (/Os) und vollständig interpretiert (/Oi). Die vollständig interpretierte Methode marshallt Daten vollständig offline. Dies reduziert die Größe des Stubcodes erheblich, führt aber auch zu einer Leistungsminderung.

Verwenden Sie den MIDL-Standardmodus /Oicf /robust für alle Anderen Zwecke als die Abwärtskompatibilität. Dieser Modus ist der sichere Standardmodus des MIDL-Compilers. jeder andere Modus sollte nur nach sorgfältiger Abwägung der Sicherheitsimplementierung verwendet werden, wobei erkannt wird, dass zukünftige Erweiterungen nur für den Standardmodus implementiert werden. Im gemischten Modus marshallt der Compiler einige Parameter inline in den generierten Stubs. Dies führt zwar zu einer größeren Stubgröße, kann aber auch eine höhere Leistung bieten.

MIDL bietet volle Unterstützung für mehrdimensionale Arrays und mehrdimensionale Zeiger nur im /Oicf-Modus . In den Modi "/Os " und "/Oi " unterstützt der Compiler einfache Fälle, z. B. Arrays mit fester Größe. Die Verwendung mehrdimensionaler Arrays im Modus "/Os " oder "/Oi " kann zu Parametern führen, die nicht ordnungsgemäß gemarst werden. Microsoft empfiehlt die Verwendung des Befehlszeilenschalters /Oicf , wenn Ihre Schnittstelle Parameter definiert, die mehrdimensionale Arrays oder mehrdimensionale Zeiger sind.

Um die Gradationsebene bei der Marshallung von Daten weiter zu definieren, stellt diese Version von RPC ein [optimize]-Attribut bereit. Dieses Attribut wird als ACF-Schnittstellen- oder Vorgangsattribut verwendet, um den Marshallmodus auszuwählen.

Beispiele

midl /Os filename.idl

Weitere Informationen

Allgemeine MIDL-Befehlszeilensyntax

/Oi

Optimieren

/no_format_opt