/osf switch

Sakelar /osf memaksa kompatibilitas ketat dengan OSF DCE.

midl /osf

Opsi Sakelar

Sakelar ini tidak memiliki parameter.

Keterangan

Gunakan sakelar ini jika aplikasi Anda memerlukan kompatibilitas yang ketat dengan OSF DCE karena alasan portabilitas.

Dalam mode /osf , paket RpcSs diaktifkan secara otomatis saat Anda menggunakan pointer penuh, argumen memerlukan alokasi memori, atau saat Anda menggunakan atribut enable_allocate . Ini berarti Anda tidak perlu menyediakan fungsi midl_user_allocate dan midl_user_free di aplikasi klien dan server Anda.

Fitur yang diperluas Microsoft berikut ini tidak tersedia saat Anda mengkompilasi dengan sakelar /osf :

  • Deklarator abstrak (parameter yang tidak disebutkan namanya) dalam file IDL.
  • Definisi antarmuka untuk objek COM.
  • Nama antarmuka dengan lebih dari 17 karakter.
  • Atribut khusus MIDL, seperti wire_marshal, user_marshal, dan ekstensi typelib (ODL).
  • Menggunakan kata kunci ACF dalam file IDL (opsi MIDL /app_config ).
  • Fungsi panggilan balik statis pada klien.
  • Atribut asinkron .
  • cpp_quote dan #pragma midl_echo.
  • wchar_t jenis, konstanta, dan string karakter lebar.
  • inisialisasi enum (enumerator jarang).
  • spesifikasi ukuran out-only.
  • Penunjuk berukuran campuran dan array berukuran.
  • Ekspresi yang digunakan untuk penentu ukuran dan diskriminator.
  • Parameter handel eksplisit dalam posisi apa pun dalam daftar argumen. Dalam mode /osf , pengkompilasi MIDL mencari handel pengikatan eksplisit sebagai parameter pertama. Ketika parameter pertama bukan handel pengikatan dan satu atau beberapa handel konteks ditentukan, handel konteks paling kiri digunakan sebagai handel pengikatan. Ketika parameter pertama bukan handel dan tidak ada handel konteks, prosedur menggunakan pengikatan implisit menggunakan atribut ACF implicit_handle atau auto_handle.
  • Pewarisan jenis atribut pointer. OSF DCE tidak mengizinkan penunjuk yang tidak ditepis. Oleh karena itu, dalam mode /osf , setiap file IDL harus menentukan atribut untuk penunjuknya. Jika ada penunjuk yang tidak memiliki atribut eksplisit, file IDL harus memiliki spesifikasi pointer_default untuk mengatur jenis penunjuk.
  • Beberapa antarmuka dalam file IDL.
  • Definisi di luar blok antarmuka.
  • Ketik kualifikasi seperti jauh dan stdcall.
  • Menghilangkan atribut arah.

Ekstensi bahasa C/C++ berikut ini tidak tersedia saat Anda mengkompilasi dengan sakelar /osf :

  • Bidang bit dalam struktur dan serikat.
  • Komentar baris tunggal dibatasi dengan dua karakter garis miring (//).
  • Deklarasi eksternal.
  • Prosedur dengan elipsis dalam daftar parameter.
  • Ketik int.
  • Ketik void * (kecuali dengan atribut context_handle ).
  • Jenis kualifikasi, termasuk formulir dengan awalan sesuai ANSI, berisi dua karakter garis bawah: __cdecl, cdecl, const, const, __export, export, __far, far, __loadds, loadds, __near, near, __pascal, pascal, __stdcall, stdcall, __volatile, dan volatil.
  • Setiap # pragma peringatan atau komentar #pragma .
  • Ketik serialisasi.
  • Jenis data __int3264 .
  • Sakelar /protocol , dan sintaks transfer ndr64.

Contoh

midl /osf filename.idl

midl /osf /app_config filename.idl

Lihat juga

Sintaks Baris Perintah MIDL Umum

/app_config

/ms_ext

Paket Manajemen Memori Rpcss