Freigeben über


optimize-Attribut

Das ACF-Attribut [optimize] wird verwendet, um den Grad der Abstufung für Marshallingdaten zu optimieren.

Hinweis

Diese Schlüsselwort (keyword) wird abgelöst und sollte nicht verwendet werden. Aktuelle MIDL-Kompilierungen sollten stattdessen /Oicf/robust verwenden.

 

optimize ("optimization-options")

Parameter

Optimierungsoptionen

Gibt die Methode zum Marshallen von Daten an. Verwenden Sie entweder "s" für Marshalling im gemischten Modus oder "i" für interpretiertes Marshalling.

Bemerkungen

Diese Version von RPC bietet zwei Methoden zum Marshallen von Daten: gemischte Modus ("s") und interpretiert ("i"). Diese Methoden entsprechen den Befehlszeilenoptionen /Os und /Oi . Die interpretierte Methode marshallt Daten vollständig offline. Während dies die Größe des Stubs erheblich reduzieren kann, kann die Leistung beeinträchtigt werden.

Wenn die Leistung ein Problem darstellt, kann die Methode im gemischten Modus der beste Ansatz sein. Im gemischten Modus kann der MIDL-Compiler bestimmen, zwischen welchen Daten inline gemarshallt und welche durch einen Aufruf einer Dynamic Link-Offlinebibliothek gemarshallt werden. Wenn viele Prozeduren dieselben Datentypen verwenden, kann eine einzelne Prozedur wiederholt aufgerufen werden, um die Daten zu marshallen. Auf diese Weise werden Daten, die sich am besten für das Inline-Marshalling eignen, inline verarbeitet, während andere Daten effizienter offline gemarshallt werden können.

Beachten Sie, dass das Attribut [optimize] als Schnittstellenattribute oder als Vorgangsattribut verwendet werden kann. Wenn es als Schnittstellenattribute verwendet wird, wird der Standardwert für die gesamte Schnittstelle festgelegt, wobei Befehlszeilenoptionen überschrieben werden. Wenn es jedoch als Vorgangsattribut verwendet wird, wirkt sich dies nur auf diesen Vorgang aus, wobei Befehlszeilenoptionen und der Schnittstellenstandard außer Kraft gesetzt werden.

Beispiele

optimize ("s") HRESULT FasterProcedure(...); 
optimize ("i") HRESULT SmallerProcedure(...);

Weitere Informationen

Anwendungskonfigurationsdatei (Application Configuration File, ACF)

/Oi

/Os

/Robuste