/osf-Schalter
Der /osf-Switch erzwingt eine strikte Kompatibilität mit OSF DCE.
midl /osf
Dieser Schalter verfügt über keine Parameter.
Verwenden Sie diesen Switch, wenn Ihre Anwendung aus Portabilitätsgründen eine strikte 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 die midl_user_allocate - und midl_user_free-Funktionen in Ihrer Client- und Serveranwendung nicht bereitstellen müssen.
Die folgenden erweiterten Microsoft-Features sind nicht verfügbar, wenn Sie mit dem / osf-Schalter 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_marshal und die ODL-Erweiterungen (Typelib).
- Verwenden von ACF-Schlüsselwörtern in einer IDL-Datei (OPTION MIDL /app_config ).
- Statische Rückruffunktionen auf dem Client.
- Das asynchrone Attribut.
- cpp_quote und #pragma midl_echo.
- wchar_t Breitzeichentypen, Konstanten und Zeichenfolgen.
- Enuminitialisierung (Sparse-Enumeratoren).
- Out-Only-Größenspezifikation.
- Gemischte Zeiger und Arrays mit größe.
- Ausdrücke, die für Größen- und Diskriminatorbezeichner verwendet werden.
- Explizite Handle-Parameter an jeder Position in der Argumentliste. Im /osf-Modus sucht der MIDL-Compiler nach einem expliziten Bindungshandle als ersten Parameter. Wenn der erste Parameter kein Bindungshandle ist und ein oder mehrere Kontexthandles angegeben werden, wird das linksste Kontexthandle als Bindungshandle verwendet. Wenn der erste Parameter kein Handle ist und keine Kontexthandles vorhanden sind, verwendet die Prozedur implizite Bindung unter Verwendung des ACF-Attributs implicit_handle oder auto_handle.
- Vererbung des Zeiger-Attributtyps. 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 aufweist, muss die IDL-Datei über eine pointer_default Spezifikation verfügen, um den Zeigertyp festzulegen.
- Mehrere Schnittstellen in einer IDL-Datei.
- Definitionen außerhalb des Schnittstellenblocks.
- Geben Sie Qualifizierer wie far und stdcall ein.
- Weglassen von Richtungsattributen.
Die folgenden C/C++-Spracherweiterungen sind nicht verfügbar, wenn Sie mit dem Schalter /osf kompilieren:
- Bitfelder in Strukturen und Vereinigungen.
- Einzeilige Kommentare, die mit zwei Schrägstrichen (//) getrennt sind.
- Externe Deklarationen.
- Prozeduren mit Auslassungspunkten in der Parameterliste.
- Geben Sie int ein.
- Geben Sie void * ein (mit Ausnahme des Attributs context_handle ).
- Typqualifizierer, einschließlich des Formulars mit dem ANSI-konformen Präfix, enthalten zwei Unterstriche: __cdecl, cdecl, const, const, __export, export, __far, far, __loadds, loadds, __near, near, __pascal, pascal, __stdcall, stdcall, __volatile und volatile.
- Jede # Pragmawarnung oder #pragma Kommentar.
- Typserialisierung.
- Der __int3264 Datentyp.
- Der /protocol-Schalter und die ndr64-Übertragungssyntax.
midl /osf filename.idl
midl /osf /app_config dateiname.idl