Opzione /osf

Il commutatore /osf forza la stretta compatibilità con OSF DCE.

midl /osf

Opzioni di opzione

Questo commutatore non ha parametri.

Commenti

Usare questa opzione se l'applicazione richiede una stretta compatibilità con OSF DCE per motivi di portabilità.

In modalità /osf il pacchetto RpcSs viene abilitato automaticamente quando si usano puntatori completi, gli argomenti richiedono l'allocazione della memoria o quando si usa l'attributo enable_allocate . Ciò significa che non è necessario fornire le funzioni di midl_user_allocate e midl_user_free nell'applicazione client e server.

Le funzionalità estese microsoft seguenti non sono disponibili quando si compila con l'opzione /osf :

  • Dichiaratori astratti (parametri senza nome) nel file IDL.
  • Definizioni di interfaccia per gli oggetti COM.
  • Nomi di interfaccia con più di 17 caratteri.
  • Attributi solo MIDL, ad esempio wire_marshal, user_marshal e estensioni typelib (ODL).
  • Uso delle parole chiave ACF in un file IDL (opzione MIDL /app_config ).
  • Funzioni di callback statiche nel client.
  • Attributo asincrono .
  • cpp_quote e #pragma midl_echo.
  • wchar_t tipi di caratteri wide, costanti e stringhe.
  • inizializzazione enumerazione (enumeratori sparse).
  • specifica delle dimensioni out-only.
  • Puntatori di dimensioni miste e matrici di dimensioni.
  • Espressioni usate per gli identificatori di dimensione e di discriminazione.
  • Parametri di handle espliciti in qualsiasi posizione nell'elenco degli argomenti. In modalità /osf il compilatore MIDL cerca un handle di associazione esplicito come primo parametro. Quando il primo parametro non è un handle di associazione e vengono specificati uno o più handle di contesto, l'handle di contesto più a sinistra viene usato come handle di associazione. Quando il primo parametro non è un handle e non sono presenti handle di contesto, la procedura usa l'associazione implicita usando l'attributo ACF implicit_handle o auto_handle.
  • Ereditarietà del tipo di attributo puntatore. Il controller di dominio OSF non consente puntatori non attributi. Pertanto, in modalità /osf ogni file IDL deve definire gli attributi per i puntatori. Se un puntatore non ha un attributo esplicito, il file IDL deve avere una specifica pointer_default per impostare il tipo di puntatore.
  • Più interfacce in un file IDL.
  • Definizioni esterne al blocco di interfaccia.
  • Qualificatori di tipo, ad esempio lontano e stdcall.
  • Omettendo attributi direzionali.

Le estensioni del linguaggio C/C++ seguenti non sono disponibili quando si compila con l'opzione /osf :

  • Campi bit in strutture e unioni.
  • Commenti a riga singola delimitati con due caratteri di barra (//).
  • Dichiarazioni esterne.
  • Procedure con puntini di sospensione nell'elenco dei parametri.
  • Digitare int.
  • Type void * (ad eccezione dell'attributo context_handle ).
  • I qualificatori di tipo, inclusi il modulo con il prefisso conforme a ANSI, contengono due caratteri di sottolineatura: __cdecl, cdecl, const, const, __export, esportazione, __far, lontano, __loadds, carichi, __near, vicino, __pascal, pascal, __stdcall, stdcall, __volatile e volatile.
  • Qualsiasi avviso # pragma o #pragma commento.
  • Serializzazione dei tipi.
  • Tipo di dati __int3264 .
  • Sintassi di trasferimento /protocol e ndr64.

Esempio

midl /osf filename.idl

midl /osf /app_config filename.idl

Vedi anche

Sintassi generale della riga di comando MIDL

/app_config

/ms_ext

Pacchetto di gestione della memoria Rpcss