/osf-Switch

Der /osf-Switch erzwingt eine strenge Kompatibilität mit OSF DCE.

midl /osf

Switch-Optionen

Dieser Schalter verfügt über keine Parameter.

Bemerkungen

Verwenden Sie diesen Schalter, wenn Ihre Anwendung aus Gründen der Portabilität strenge Kompatibilität mit OSF DCE erfordert.

Im /osf-Modus wird das RpcSs-Paket automatisch aktiviert, wenn Sie vollständige Zeiger verwenden, die Argumente eine Speicherzuordnung erfordern oder wenn Sie das Attribut enable _ allocate verwenden. Dies bedeutet, dass Sie nicht die funktionen midl _ user _ allocate und midl _ user _ free in Ihrer Client- und Serveranwendung zur Verfügung stellen müssen.

Die folgenden erweiterten Features von Microsoft sind nicht verfügbar, wenn Sie mit dem Schalter /osf kompilieren:

  • Abstrakte Deklaratoren (unbenannte Parameter) in der IDL-Datei.
  • Schnittstellendefinitionen für COM-Objekte.
  • Schnittstellennamen mit mehr als 17 Zeichen.
  • Nur MIDL-Attribute, z. B. wire _ marshal, user _ marshalund die typelib-Erweiterungen (ODL).
  • Verwenden von ACF-Schlüsselwörtern in einer IDL-Datei (midl-/app-Konfigurationsoption). _
  • Statische Rückruffunktionen auf dem Client.
  • Das asynchrone Attribut.
  • cpp _ quote and # pragma midl _ echo.
  • wchar _ t-Breitzeichentypen, Konstanten und Zeichenfolgen.
  • enum-Initialisierung (Sparse-Enumeratoren).
  • Out-Only-Größenangabe.
  • Arrays mit gemischter Größe und Arrays mit unterschiedlicher Größe.
  • Ausdrücke, die für Größen- und Diskriminatorspezifizierer verwendet werden.
  • Explizite Handleparameter an einer beliebigen Position in der Argumentliste. Im /osf-Modus sucht der MIDL-Compiler nach einem expliziten Bindungshandle als erstem Parameter. Wenn der erste Parameter kein Bindungshandles ist und mindestens ein Kontexthandles angegeben wird, wird das linke Kontexthandles als Bindungshandles verwendet. Wenn der erste Parameter kein Handle ist und es keine Kontexthandles gibt, verwendet die Prozedur die implizite Bindung mithilfe des impliziten Handles des ACF-Attributs oder _ des automatischen _ Handles.
  • Zeigerattributtypvererbung. OSF DCE lässt keine nicht attributierten Zeiger zu. Daher muss jede IDL-Datei im /osf-Modus Attribute für ihre Zeiger definieren. Wenn ein Zeiger kein explizites Attribut hat, muss _ die IDL-Datei über eine Zeiger-Standardspezifikation verfügen, um den Zeigertyp festlegen zu können.
  • Mehrere Schnittstellen in einer IDL-Datei.
  • Definitionen außerhalb des Schnittstellenblocks.
  • Geben Sie Qualifizierer wie far und stdcall ein.
  • Weglassen von richtungsalen Attributen.

Die folgenden C/C++-Spracherweiterungen sind nicht verfügbar, wenn Sie mit dem Schalter /osf kompilieren:

  • Bitfelder in Strukturen und Unions.
  • Einzeilenkommentare mit zwei Schrägstrichen (/).
  • Externe Deklarationen.
  • Prozeduren mit Ausellipsen in der Parameterliste.
  • Geben Sie int ein.
  • Geben Sie *void * _ ein (mit Ausnahme des _ _context-Handleattributs). *
  • Typqualifizierer, einschließlich des Formulars mit dem ANSI-konformen Präfix, enthalten zwei Unterstriche: _ _ cdecl, cdecl, const , export , _ _ export, _ _ far, far, _ _ loadds, loadds, in der Nähe von _ _, _ _ pascal, pascal, _ _ stdcall, stdcall, volatile _ _ und volatile.
  • Alle # Pragmawarnungen # oder Pragmakommentare.
  • Typserialisierung.
  • Der _ _ int3264-Datentyp.
  • Der Schalter /protocol und die ndr64-Übertragungssyntax.

Beispiele

midl /osf filename.idl

midl /osf /app _ config filename.idl

Weitere Informationen

Allgemeine MIDL-Befehlszeilensyntax

/app _ config

/ms _ ext

Rpcss-Speicherverwaltungspaket