Bagikan melalui


Kesalahan Pengkompilasi

Pesan kesalahan berikut dihasilkan selama kompilasi MIDL:

Menampilkan kode Deskripsi
MIDL2000
harus menentukan /c_ext untuk deklarator abstrak
Deklarator abstrak mewakili ekstensi Microsoft ke RPC dan tidak didefinisikan dalam DCE RPC. Oleh karena itu, jika file Anda menyertakan deklarator abstrak, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang memberlakukan kompatibilitas DCE yang ketat. MIDL versi 3.0 dan yang lebih baru menggunakan sakelar /c_ext sebagai default; sakelar /osf menonaktifkan sakelar /c_ext . Untuk informasi tentang deklarator abstrak, lihat Isi ACF.
MIDL2001
instansiasi data ilegal; Anda harus menggunakan "extern" atau "statis"
Deklarasi dan inisialisasi dalam file IDL tidak kompatibel dengan DCE RPC. Fitur ini adalah ekstensi Microsoft yang tidak tersedia saat Anda mengkompilasi dalam mode kompatibilitas DCE (/osf).
MIDL2002
compiler stack overflow
Pengkompilasi kehabisan ruang tumpukan saat memproses file IDL. Masalah ini dapat terjadi ketika pengkompilasi memproses deklarasi atau ekspresi yang kompleks. Untuk mengatasi masalah, sederhanakan deklarasi atau ekspresi yang kompleks.
MIDL2003
Redefinisi
Pesan kesalahan ini dapat muncul dalam keadaan berikut: jenis telah ditentukan ulang; prototipe prosedur telah ditentukan ulang; anggota struktur atau serikat dengan nama yang sama sudah ada; parameter dengan nama yang sama sudah ada dalam prototipe.
MIDL2004
Pengikatan [auto_handle] akan digunakan
Tidak ada jenis handel yang didefinisikan sebagai jenis handel default. Pengompilasi mengasumsikan bahwa handel otomatis akan digunakan sebagai handel pengikatan untuk prosedur yang ditentukan.
MIDL2005
kehabisan memori
Kompilator kehabisan memori selama kompilasi. Kurangi ukuran atau kompleksitas file IDL atau alokasikan lebih banyak memori untuk proses.
MIDL2006
definisi rekursif
Struktur atau gabungan telah ditentukan secara rekursif. Kesalahan ini dapat terjadi ketika spesifikasi penunjuk dalam definisi struktur berlapis terlewatkan.
MIDL2007
impor diabaikan; file sudah diimpor
Mengimpor file IDL adalah operasi idempotensi. Termasuk lebih dari sekali tidak berpengaruh. Semua kecuali operasi impor pertama diabaikan.
MIDL2008
enum jarang memerlukan /c_ext atau /ms_ext
Menetapkan nilai ke konstanta enumerasi tidak kompatibel dengan DCE RPC. Jika Anda ingin menggunakan ekstensi Microsoft ke MIDL yang mengizinkan penetapan nilai ke konstanta enumerasi, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang memberlakukan kompatibilitas DCE yang ketat. MIDL versi 3.0 dan yang lebih baru menggunakan sakelar /c_ext dan /ms_ext sebagai default; sakelar /osf menonaktifkan sakelar ekstensi ini.
MIDL2009
simbol tidak terdefinis
Simbol yang tidak ditentukan telah digunakan dalam ekspresi. Kesalahan ini dapat terjadi ketika Anda menggunakan nilai enumerasi yang tidak terdefinisi.
MIDL2010
jenis yang digunakan dalam file ACF yang tidak ditentukan dalam file IDL
Tipe yang tidak ditentukan sedang digunakan.
MIDL2011
deklarasi tipe tidak terselesaikan
Jenis yang dilaporkan dalam bidang informasi kesalahan tambahan belum ditentukan di tempat lain dalam file IDL.
MIDL2012
penggunaan konstanta karakter lebar memerlukan /ms_ext atau /c_ext
Konstanta karakter lebar adalah ekstensi Microsoft ke DCE IDL. Untuk menggunakan jenis data wchar_t, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang menggantikan sakelar default pengkompilasi MIDL /ms_ext dan /c_ext.
MIDL2013
penggunaan string karakter lebar memerlukan /ms_ext atau /c_ext
Konstanta string karakter lebar adalah ekstensi Microsoft ke DCE IDL. Untuk menggunakan jenis data wchar_t, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang menggantikan sakelar default pengkompilasi MIDL /ms_ext dan /c_ext.
MIDL2014
pendefinisian ulang tipe wchar_t yang tidak konsisten
Jenis wchar_t telah didefinisikan ulang sebagai jenis yang tidak setara dengan DOS pendek *yang tidak ditandatangani.
MIDL2015
importlib tidak ditemukan
Pengkompilasi tidak dapat menemukan pustaka tipe yang ditentukan oleh direktif [ importlib]. Periksa untuk memastikan jalur dan nama pustaka sudah benar.
MIDL2016
dua blok pustaka
Dua blok pustaka (bahkan dengan nama yang berbeda) dalam file sumber yang sama adalah ilegal. Gabungkan semua elemen ke dalam satu blok pustaka.
MIDL2017
pernyataan dispinterface memerlukan definisi untuk IDispatch
Kesalahan ini umumnya terjadi ketika file Stdole2.tlb atau Oaidl.idl tidak diimpor.
MIDL2018
kesalahan mengakses pustaka jenis
Pengkompilasi tidak dapat menemukan pustaka tipe yang ditentukan. Periksa untuk memastikan bahwa Anda telah menentukan jalur dengan benar.
MIDL2019
kesalahan mengakses info jenis
Pustaka jenis yang diimpor rusak, tidak valid, atau hanya dibangun sebagian.
MIDL2020
kesalahan saat menghasilkan pustaka tipe
Pustaka tipe tidak dapat dihasilkan. Salah satu kemungkinan penyebab kesalahan ini adalah menentukan jalur ke file IDL yang lebih panjang dari 126 karakter. Oleaut32.dll tidak mendukung nama jalur yang lebih panjang dari 126 karakter.
MIDL2021
id duplikat
Aplikasi menggunakan pernyataan id dalam file IDL untuk menentukan DISPID untuk fungsi anggota. Fungsi anggota dapat berupa properti atau metode antarmuka atau dispinterfaces. Kesalahan ini menunjukkan file IDL menentukan nomor pengidentifikasi yang sama untuk dua metode atau properti.
MIDL2022
nilai ilegal atau hilang untuk atribut entri
Argumen untuk atribut entri dapat berupa string yang menentukan titik masuk bernama, atau angka ordinal yang menentukan titik masuk. Argumen ini hilang atau berisi nilai yang tidak valid.
MIDL2023
pemulihan kesalahan mengasumsikan
Pengkompilasi MIDL menemukan karakter ilegal dalam file IDL.
MIDL2024
kesalahan pemulihan buang
Pengkompilasi MIDL menemukan karakter ilegal dalam file IDL. Ini akan mengabaikan karakter ilegal.
MIDL2025
kesalahan sintaks
Pengkompilasi mendeteksi kesalahan sintaks pada baris yang ditentukan.
MIDL2026
tidak dapat pulih dari kesalahan sintaks sebelumnya; membatalkan kompilasi
Pengkompilasi MIDL secara otomatis mencoba memulihkan dari kesalahan sintaks dengan menambahkan atau menghapus elemen sintaksis. Pesan ini menunjukkan bahwa meskipun upaya ini untuk pulih, kompilator mendeteksi terlalu banyak kesalahan. Koreksi kesalahan dan kompilasi ulang yang ditentukan.
MIDL2027
opsi pragma tidak diketahui
Pragma C yang ditentukan tidak didukung di MIDL. Hapus pragma dari file IDL.
MIDL2028
fitur tidak diimplementasikan
Fitur MIDL, meskipun bagian dari definisi bahasa, tidak diimplementasikan di Microsoft RPC dan tidak didukung oleh pengkompilasi MIDL. Misalnya, fitur bahasa berikut tidak diimplementasikan: bitset, pipa, dan jenis karakter internasional. Fitur bahasa yang tidak di-unimplementasi muncul di bidang informasi kesalahan tambahan dari pesan kesalahan.
MIDL2029
jenis tidak diimplementasikan
Jenis data yang ditentukan, meskipun kata kunci MIDL legal, tidak diterapkan di Microsoft RPC.
MIDL2030
non-pointer yang digunakan dalam operasi dereferensi
Jenis data yang bukan penunjuk telah dikaitkan dengan operasi penunjuk. Anda tidak dapat mengakses objek melalui non-pointer yang ditentukan.
MIDL2031
ekspresi memiliki pembagian dengan nol
Ekspresi konstanta berisi pembagian dengan nol.
MIDL2032
ekspresi menggunakan jenis yang tidak kompatibel
Sisi kiri dan kanan operator dalam ekspresi memiliki jenis yang tidak kompatibel.
MIDL2033
ekspresi nonarray menggunakan operator indeks
Ekspresi menggunakan operasi pengindeksan array pada item data yang bukan dari jenis array.
MIDL2034
sisi kiri ekspresi tidak mengevaluasi ke struct/union/enum
Operator referensi langsung atau tidak langsung "." atau "->" telah diterapkan ke objek data yang bukan merupakan struktur, penyatuan, atau enumerasi. Anda tidak dapat memperoleh referensi langsung atau tidak langsung menggunakan objek yang ditentukan.
MIDL2035
ekspresi konstanta diharapkan
Ekspresi konstanta diharapkan dalam sintaks. Misalnya, batas array memerlukan ekspresi konstanta. Pengkompilasi mengeluarkan pesan kesalahan ini ketika array terikat ditentukan dengan variabel atau simbol yang tidak terdefinisi.
MIDL2036
ekspresi tidak dapat dievaluasi pada waktu kompilasi
Pengkompilasi tidak dapat mengevaluasi ekspresi pada waktu kompilasi.
MIDL2037
ekspresi tidak diimplementasikan
Fitur yang didukung dalam rilis kompilator MIDL sebelumnya tidak didukung dalam versi pengkompilasi yang disediakan dengan Microsoft RPC. Hapus ekspresi yang ditentukan.
MIDL2038
tidak ada atribut [pointer_default] yang ditentukan, dengan asumsi [unik] untuk semua penunjuk yang tidak ditangguhkan
Pengkompilasi MIDL menawarkan tiga kasus default yang berbeda untuk pointer yang tidak memiliki atribut pointer. Parameter fungsi yang merupakan pointer tingkat atas default ke penunjuk [ref]. Pointer yang disematkan dalam struktur dan pointer ke pointer lain (bukan pointer tingkat atas) default ke jenis yang ditentukan oleh atribut [pointer_default]. Ketika tidak ada atribut [pointer_default] yang disediakan, pointer tingkat nontop ini default ke pointer unik. Pesan kesalahan ini menunjukkan kasus terakhir: tidak ada atribut [pointer_default] yang disediakan, dan setidaknya ada satu pointer tingkat non-atas yang akan diperlakukan sebagai pointer unik. Untuk informasi selengkapnya, lihat Jenis Penunjuk Default.
MIDL2039
antarmuka tidak otomatisasi marshaling sesuai
Antarmuka tidak memenuhi persyaratan untuk antarmuka OLE Automation. Periksa untuk memastikan antarmuka berasal dari IUnknown atau IDispatch.
MIDL2040
[out] hanya parameter yang tidak boleh menjadi penunjuk ke struktur terbuka
Parameter [out]-only telah digunakan sebagai penunjuk ke struktur, yang dikenal sebagai struktur terbuka, yang rentang dan ukuran yang ditransmisikan ditentukan pada durasi. Stub server tidak tahu berapa banyak ruang yang akan dialokasikan untuk struktur terbuka. Gunakan penunjuk ke penunjuk ke struktur terbuka dan pastikan bahwa aplikasi server mengalokasikan ruang yang cukup untuk itu.
MIDL2041
[out] hanya parameter yang tidak boleh berupa string yang tidak berukuran
Array dengan atribut string telah dinyatakan sebagai parameter [out]-only tanpa spesifikasi ukuran apa pun. Stub server memerlukan informasi ukuran untuk mengalokasikan memori untuk string. Anda dapat menghapus atribut string dan menambahkan atribut [size_is], atau Anda dapat mengubah parameter menjadi parameter [in, out].
MIDL2042
Parameter [out] bukan penunjuk
Semua parameter [out] harus pointer, sesuai dengan konvensi call-by-value dari bahasa pemrograman C. Parameter arah [out] menunjukkan bahwa server mengirimkan nilai ke klien. Dengan konvensi call-by-value, server dapat mengirimkan data ke klien hanya jika argumen fungsi adalah pointer.
MIDL2043
struktur terbuka tidak boleh berupa parameter
Struktur terbuka berisi array yang sesuai sebagai elemen terakhir. Struktur atau penyatuan dipotok ketika elemen terakhir dari struktur atau gabungan tersebut adalah array yang sesuai.
MIDL2044
[out] handel konteks/handel generik harus ditentukan sebagai penunjuk ke jenis handel tersebut
Parameter handel konteks atau handel yang ditentukan pengguna dengan atribut arah [out] harus menjadi penunjuk ke penunjuk.
MIDL2045
handel konteks tidak boleh berasal dari jenis yang memiliki atribut [transmit_as]
Handel konteks harus ditransmisikan sebagai jenis handel konteks. Mereka tidak dapat ditransmisikan sebagai jenis lain dan tidak dapat berasal dari [transmit_is], [represent_as], [wire_marshal], atau [user_marshal].
MIDL2046
tidak dapat menentukan jumlah variabel argumen ke prosedur jarak jauh
Panggilan prosedur jarak jauh yang menentukan jumlah variabel argumen pada waktu kompilasi tidak kompatibel dengan definisi DCE RPC. Anda tidak dapat menggunakan jumlah variabel argumen di Microsoft RPC.
MIDL2047
parameter bernama tidak boleh "batal"
Parameter dengan kekosongan jenis dasar ditentukan dengan nama.
MIDL2048
parameter berasal dari "coclass" atau "module"
Coclass menentukan objek tingkat atas yang berisi antarmuka dan dispinterfaces. Ini tidak dapat diteruskan sebagai parameter.
MIDL2049
hanya parameter pertama yang dapat menjadi handel pengikatan; Anda harus menentukan sakelar /ms_ext
DCE RPC hanya memungkinkan parameter pertama menjadi handel pengikatan. Mengkompilasi dengan sakelar /osf menonaktifkan sakelar /ms_ext default yang mendukung beberapa parameter handel dan menangani parameter di selain posisi paling kiri.
MIDL2050
tidak dapat menggunakan [comm_status] pada parameter dan jenis pengembalian
Baik prosedur maupun salah satu parameternya memiliki atribut [comm_status]. Atribut [comm_status] menentukan bahwa hanya satu objek data pada satu waktu yang dapat berjenis error_status_t.
MIDL2051
Atribut [local] pada prosedur memerlukan /ms_ext
Atribut [lokal] adalah ekstensi Microsoft untuk DCE IDL. Untuk menggunakan atribut ini pada fungsi, Anda tidak dapat mengkompilasi dengan sakelar /osf . Sakelar /osf mengambil alih sakelar default pengkompilasi MIDL /ms_ext dan /c_ext.
MIDL2052
atribut properti hanya dapat digunakan dengan prosedur
Penggunaan atribut [propget], [propput], atau [propputref] yang tidak tepat. Periksa untuk memastikan bahwa Anda telah mengeja nama fungsi properti dengan benar dan bahwa properti dan fungsi memiliki nama yang sama.
MIDL2053
prosedur mungkin tidak memiliki lebih dari satu atribut properti
Paling banyak, hanya salah satu atribut [propget], [propput], atau [propputref] yang dapat ditentukan untuk fungsi.
MIDL2054
prosedur ini memiliki kombinasi ilegal dari atribut operasi
Atribut tertentu tidak dapat digunakan sehubungan dengan atribut lain. Periksa Referensi Bahasa MIDL untuk persyaratan dan sintaks yang tepat dari atribut yang digunakan dalam prosedur ini.
MIDL2055
bidang yang berasal dari array yang sesuai harus menjadi anggota terakhir dari struktur
Struktur berisi array yang sesuai yang bukan elemen terakhir dalam struktur. Array yang sesuai harus muncul sebagai elemen struktur terakhir.
MIDL2056
label [case] duplikat
Label kasus duplikat telah ditentukan. Label duplikat ditampilkan.
MIDL2057
no [default] case specified for discriminated union
Serikat diskriminasi telah ditentukan tanpa kasus default.
MIDL2058
ekspresi atribut tidak dapat diselesaikan
Ekspresi yang terkait dengan atribut tidak dapat diselesaikan. Kesalahan ini biasanya terjadi ketika variabel yang muncul dalam ekspresi tidak ditentukan. Misalnya, kesalahan dapat terjadi ketika variabel s tidak ditentukan dan digunakan oleh atribut [size_is].
MIDL2059
ekspresi atribut harus berjenis integral, tidak ada dukungan untuk ekspresi 64-bit
Variabel atau ekspresi atribut yang ditentukan harus merupakan jenis integral. Kesalahan ini terjadi ketika jenis atribut-ekspresi tidak mengatasi bilangan bulat.
MIDL2060
[byte_count] membutuhkan /ms_ext
Atribut [byte_count] adalah ekstensi Microsoft untuk DCE IDL. Untuk menggunakan atribut ini, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang menggantikan sakelar default pengkompilasi MIDL /ms_ext dan /c_ext.
MIDL2061
[byte_count] hanya dapat diterapkan ke parameter keluar dari jenis pointer
Atribut [byte_count] hanya dapat diterapkan ke parameter [out], dan semua parameter [out] harus berupa jenis pointer.
MIDL2062
[byte_count] tidak dapat ditentukan pada penunjuk ke array atau struktur yang sesuai
Atribut [byte_count] tidak dapat diterapkan ke array atau struktur yang sesuai.
MIDL2063
parameter yang menentukan jumlah byte bukan [in] saja atau parameter jumlah byte bukan [out] saja
Nilai yang terkait dengan [byte_count] harus ditransmisikan dari klien ke server; itu harus menjadi parameter [in]. Parameter [byte_count] tidak perlu menjadi parameter [in, out].
MIDL2064
parameter yang menentukan jumlah byte bukan jenis integral
Nilai yang terkait dengan jumlah byte harus berupa int jenis bilangan bulat, kecil, pendek, atau panjang.
MIDL2065
[byte_count] tidak dapat ditentukan pada parameter dengan atribut ukuran
Atribut [byte_count] tidak dapat digunakan dengan atribut ukuran lain seperti [size_is] atau [length_is].
MIDL2066
[case] ekspresi tidak konstan
Ekspresi yang ditentukan untuk label kasus bukan konstanta.
MIDL2067
[case] ekspresi bukan tipe integral
Ekspresi yang ditentukan untuk label huruf besar/kecil bukan tipe bilangan bulat.
MIDL2068
menentukan [context_handle] pada jenis selain void * membutuhkan /ms_ext
Untuk kompatibilitas DCE-RPC, handel konteks harus berupa penunjuk tipe batal *. Jika Anda ingin handel konteks dikaitkan dengan jenis selain batal *, jangan gunakan sakelar pengkompilasi MIDL /osf, yang menggantikan sakelar default kompilator MIDL /ms_ext.
MIDL2069
tidak dapat menentukan lebih dari satu parameter dengan masing-masing comm_status/fault_status
Prosedur hanya dapat memiliki satu parameter dengan atribut [comm_status]. Ini dapat memiliki paling banyak satu parameter dengan atribut [fault_status].
MIDL2070
parameter comm_status/fault_status harus berupa parameter pointer [out] saja
Jenis kode kesalahan [comm_status] dan [fault_status] ditransmisikan dari server ke klien dan oleh karena itu harus ditentukan sebagai parameter [out]. Karena kendala dalam bahasa pemrograman C, semua parameter [keluar] harus menjadi pointer.
MIDL2071
kesalahan sintaks titik akhir
Sintaks titik akhir salah.
MIDL2072
atribut yang tidak dapat diaplikasikan
Atribut yang ditentukan tidak dapat diterapkan dalam konstruksi ini. Misalnya, atribut string berlaku untuk array karakter atau penunjuk karakter dan tidak dapat diterapkan ke struktur yang terdiri dari dua bilangan bulat pendek :
typedef [string] struct moo 
{
    short x;
    short y;
};
MIDL2073
[alokasikan] membutuhkan /ms_ext
Atribut alokasikan mewakili ekstensi Microsoft yang tidak didefinisikan sebagai bagian dari DCE RPC. Untuk menggunakan atribut ini, Anda tidak dapat mengkompilasi dengan sakelar /osf , yang menggantikan sakelar default pengkompilasi MIDL /ms_ext
MIDL2074
mode [alokasikan] tidak valid
Mode tidak valid untuk konstruksi atribut [alokasikan] telah ditentukan. Empat mode yang valid adalah single_node, all_nodes, on_null, dan selalu.
MIDL2075
atribut panjang tidak dapat diterapkan dengan atribut string
Saat atribut string digunakan, file stub yang dihasilkan memanggil fungsi strlen untuk menentukan panjang string. Jangan gunakan atribut panjang dan atribut string untuk variabel yang sama.
MIDL2076
[last_is] dan [length_is] tidak dapat ditentukan secara bersamaan
[last_is] dan [length_is] telah ditentukan untuk array yang sama. Atribut ini terkait sebagai berikut: panjang = pertama terakhir + 1. Karena setiap nilai dapat berasal dari nilai lainnya, jangan tentukan keduanya.
MIDL2077
[max_is] dan [size_is] tidak dapat ditentukan secara bersamaan
Baik [ max_is] dan [ size_is] telah ditentukan untuk array yang sama. Atribut ini terkait sebagai berikut: maks = ukuran + 1. Karena setiap nilai dapat berasal dari nilai lainnya, jangan tentukan keduanya.
MIDL2078
tidak ada atribut [switch_is] yang ditentukan saat penggunaan union
Tidak ada diskriminan yang ditentukan untuk gabungan. Atribut [switch_is] menunjukkan diskriminan yang digunakan untuk memilih di antara bidang serikat.
MIDL2079
no [uuid] specified
Tidak ada UUID yang ditentukan untuk antarmuka.
MIDL2080
[uuid] diabaikan pada antarmuka [lokal]
Menggunakan atribut [lokal] pada antarmuka objek menyebabkan pengkompilasi MIDL mengabaikan atribut [uuid]. Anda tidak dapat menggunakan kedua atribut pada antarmuka RPC.
MIDL2081
ketidakcocokan jenis antara ekspresi atribut panjang dan ukuran
Ekspresi atribut panjang dan ukuran harus dari jenis yang sama. Misalnya, peringatan ini dikeluarkan ketika variabel atribut untuk ekspresi [size_is] berjenis panjang yang tidak ditandatangani dan variabel atribut untuk ekspresi [length_is] berjenis panjang.
MIDL2082
Atribut [string] harus ditentukan "byte," "char," atau array atau pointer "wchar_t"
Atribut string tidak dapat diterapkan ke pointer atau array yang jenis dasarnya bukan byte, char, atau struct di mana semua anggota adalah jenis byte atau karakter .
MIDL2083
ketidakcocokan antara jenis ekspresi [switch_is] dan jenis sakelar union
Jika union [switch_type] tidak ditentukan, jenis sakelar adalah jenis yang sama dengan bidang [switch_is].
MIDL2084
[transmit_as] tidak boleh diterapkan pada jenis yang berasal dari handel konteks
Handel konteks tidak dapat ditransmisikan sebagai jenis lain.
MIDL2085
[transmit_as] harus menentukan jenis yang dapat ditransmisikan
Jenis [transmit_as] yang ditentukan berasal dari jenis yang tidak dapat ditransmisikan oleh Microsoft RPC, seperti batal, batal *, atau int. Gunakan jenis dasar RPC yang ditentukan; dalam kasus int, tambahkan penentu ukuran seperti kecil, pendek, atau panjang untuk memenuhi syarat int.
MIDL2086
jenis yang dikirimkan untuk [transmit_as] dan [represent_as] tidak boleh berupa pointer atau berasal dari pointer
Jenis yang ditransmisikan tidak boleh berupa penunjuk atau berasal dari penunjuk.
MIDL2087
jenis yang disajikan untuk [transmit_as] dan [represent_as] tidak boleh berasal dari array yang sesuai/bervariasi, setara penunjuknya, atau struktur yang sesuai/bervariasi
Jenis yang telah diterapkan [transmit_as] tidak dapat berasal dari array atau struktur yang sesuai (array atau struktur yang ukurannya ditentukan pada durasi).
MIDL2088
Format [uuid] salah
Format UUID tidak sesuai dengan spesifikasi. UUID harus berupa string yang terdiri dari lima urutan digit heksadesimal panjang 8, 4, 4, 4, dan 12 digit. "12345678-1234-ABCD-EF01-28A49C28F17D" adalah UUID yang valid. Gunakan fungsi UuidCreate atau utilitas untuk menghasilkan UUID yang valid.
MIDL2089
uuid bukan angka heksadesimal
UUID yang ditentukan untuk antarmuka berisi karakter yang tidak valid dalam representasi angka heksadesimal. Karakter 0 hingga 9 dan A hingga F valid dalam representasi heksadesimal.
MIDL2090
parameter opsional harus datang setelah parameter yang diperlukan
Untuk deskripsi urutan daftar parameter, lihat [opsional] di Referensi Bahasa MIDL.
MIDL2091
[dllname] diperlukan ketika [entri] digunakan
Jika Anda menentukan titik masuk ke DLL, Anda juga harus menentukan nama DLL tersebut dengan menggunakan atribut [dllname].
MIDL2092
[bindable] tidak valid tanpa [propget], [propput], atau [propputref]
Atribut [dapat diikat] hanya valid pada properti, oleh karena itu Anda juga harus menentukan salah satu fungsi akses properti atau pengaturan properti.
MIDL2093
prosedur dengan [propput] atau [propputref] harus memiliki setidaknya satu parameter
Prosedur [propput] atau [ propputref] harus memiliki setidaknya parameter [in] dengan properti untuk diatur; prosedur [propget] harus memiliki setidaknya parameter [out, retval] untuk menerima properti atau referensi.
MIDL2094
Atribut [id] diperlukan
Fungsi anggota ini, karena sintaks dispinterface yang digunakan, memerlukan DISPID, yang Anda tentukan dengan menggunakan atribut [ id]. Ketika Anda menentukan dispinterface dengan menggunakan properti dan metode, Anda harus menentukan DISPID untuk setiap properti dan metode.
MIDL2095
nama antarmuka yang ditentukan dalam ACF tidak cocok dengan yang ditentukan dalam file IDL
Dalam mode pengkompilasi saat ini, nama yang mengikuti kata kunci antarmuka di ACF harus sama dengan nama yang mengikuti kata kunci antarmuka dalam file IDL. Nama antarmuka dalam file IDL dan ACF dapat berbeda ketika Anda mengkompilasi dengan sakelar pengkompilasi MIDL /acf.
MIDL2096
atribut duplikat
Atribut duplikat atau bertentangan telah ditentukan. Kesalahan ini sering terjadi ketika dua atribut saling eksklusif. Misalnya, atribut [kode] dan [nocode] tidak dapat digunakan secara bersamaan.
MIDL2097
parameter dengan atribut [comm_status] atau [fault_status] harus berupa penunjuk untuk mengetik error_status_t
Ketika [fault_status] atau [comm_status] digunakan sebagai atribut parameter, parameter harus berupa parameter [out] dari jenis error_status_t. Jika terjadi kesalahan server, parameter diatur ke kode kesalahan. Ketika panggilan jarak jauh berhasil diselesaikan, prosedur menetapkan nilai.
MIDL2098
prosedur [lokal] tidak dapat ditentukan dalam file ACF
Prosedur lokal telah ditentukan dalam ACF. Prosedur lokal hanya dapat ditentukan dalam file IDL.
MIDL2099
jenis yang ditentukan tidak didefinisikan sebagai handel
Jenis yang ditentukan dalam atribut [implicit_handle] tidak didefinisikan sebagai jenis handel. Ubah definisi jenis atau nama jenis yang ditentukan oleh atribut .
MIDL2100
prosedur tidak terdefinis
Atribut telah diterapkan ke prosedur di ACF, dan prosedur tersebut tidak ditentukan dalam file IDL.
MIDL2101
parameter ini tidak ada dalam file IDL
Parameter yang ditentukan dalam ACF tidak ada dalam definisi dalam file IDL. Semua parameter, fungsi, dan definisi jenis yang muncul di ACF harus sesuai dengan parameter, fungsi, dan jenis yang sebelumnya ditentukan dalam file IDL.
MIDL2102
konstruksi terikat array ini tidak didukung
MIDL saat ini mendukung mengekspresikan batas atas dan bawah array dalam bentuk Array[Lower .. Atas] hanya ketika konstanta yang menentukan batas bawah array diselesaikan ke nilai nol.
MIDL2103
spesifikasi terikat array ilegal
Spesifikasi pengguna dari batas array untuk array ukuran tetap adalah ilegal. Contohnya:
typedef short Array[-1]
MIDL2104
penunjuk ke array yang sesuai atau array yang berisi array yang sesuai tidak didukung
Penggunaan array yang sesuai secara ilegal. Untuk aturan yang mengatur array yang sesuai, lihat Array dan RPC.
MIDL2105
pointee/array tidak memperoleh ukuran apa pun
Array yang sesuai telah ditentukan tanpa spesifikasi ukuran apa pun. Anda dapat menentukan ukuran dengan atribut [max_is] atau [size_is].
MIDL2106
hanya array tetap dan SAFEARRAYs yang legal dalam pustaka jenis
Anda telah menggunakan tipe array di dalam pernyataan pustaka yang tidak dapat digunakan dalam pustaka tipe.
MIDL2107
SAFEARRAYs hanya legal di dalam blok pustaka
Pengkompilasi MIDL tidak mengenali SAFEARRAY sebagai jenis data yang valid kecuali saat membuat pustaka jenis.
MIDL2108
konstanta karakter yang terbentuk dengan buruk
Karakter akhir baris tidak diperbolehkan dalam konstanta karakter.
MIDL2109
akhir file ditemukan dalam komentar
Karakter akhir file telah ditemui dalam komentar.
MIDL2110
akhir file ditemukan dalam string
Karakter akhir file telah ditemui dalam string.
MIDL2111
panjang pengidentifikasi melebihi 31 karakter
Pengidentifikasi dibatasi hingga 31 karakter alfanumerik. Nama pengidentifikasi yang lebih panjang dari 31 karakter dipotok.
MIDL2112
akhir baris ditemukan dalam string
Karakter akhir baris telah ditemui dalam string . Verifikasi bahwa Anda telah menyertakan karakter tanda kutip ganda yang mengakhiri string.
MIDL2113
konstanta string melebihi batas 255 karakter
String melebihi panjang maksimum yang diperbolehkan yaitu 255 karakter.
MIDL2114
pengidentifikasi melebihi batas 255 karakter dan telah dipotok
Pengidentifikasi melebihi panjang maksimum yang diperbolehkan yaitu 255 karakter. Karakter berlebih dalam pengidentifikasi dipotok.
MIDL2115
konstanta terlalu besar
Konstanta terlalu besar untuk diwakili secara internal.
MIDL2116
kesalahan penguraian numerik
Pengkompilasi tidak dapat mengurai pengidentifikasi numerik.
MIDL2117
kesalahan dalam membuka file
Sistem operasi melaporkan kesalahan saat mencoba membuka file output. Kesalahan ini dapat disebabkan oleh nama yang terlalu panjang untuk sistem file atau dengan nama file duplikat.
MIDL2118
kesalahan pengikatan ke fungsi
MIDL2119
kesalahan menginisialisasi OLE
MIDL2120
kesalahan saat memuat pustaka
MIDL2121
[out] hanya parameter yang tidak boleh berasal dari tingkat atas [unik] atau [ptr] pointer/array
Pointer unik tidak boleh menjadi parameter [out]-only. Menurut definisi, pointer unik dapat berubah dari NULL ke non-NULL. Tidak ada informasi tentang parameter [out]-only yang diteruskan dari klien ke server.
MIDL2122
atribut tidak berlaku untuk union non-rpcable ini
Hanya atribut [switch_is] dan [switch_type] yang berlaku untuk serikat yang ditransmisikan sebagai bagian dari panggilan prosedur jarak jauh.
MIDL2123
ekspresi yang digunakan untuk atribut ukuran tidak boleh berasal dari parameter [out]-only
Nilai parameter [out]-only tidak dikirimkan ke server dan tidak dapat digunakan untuk menentukan panjang atau ukuran parameter [in].
MIDL2124
ekspresi yang digunakan untuk atribut panjang untuk parameter [in] tidak dapat berasal dari parameter [out]-only
Nilai parameter [out]-only tidak dikirimkan ke server dan tidak dapat digunakan untuk menentukan panjang atau ukuran parameter [in].
MIDL2125
penggunaan kebutuhan "int" /c_ext
MIDL adalah bahasa yang sangat di ketik. Semua parameter yang dikirimkan melalui jaringan harus berasal dari salah satu jenis dasar MIDL. Jenis int tidak didefinisikan sebagai bagian dari MIDL. Data yang ditransmisikan harus menyertakan penentu ukuran: kecil, pendek, atau panjang. Data yang tidak dikirimkan melalui jaringan dapat disertakan dalam antarmuka; gunakan sakelar /c_ext .
MIDL2126
bidang struct/union tidak boleh "batal"
Bidang dalam struktur atau gabungan harus dinyatakan sebagai jenis dasar tertentu yang didukung oleh MIDL atau jenis yang berasal dari jenis dasar. Jenis kekosongan tidak diperbolehkan dalam operasi jarak jauh.
MIDL2127
Elemen array tidak boleh batal
Elemen array tidak dapat batal.
MIDL2128
penggunaan jenis kualifikasi dan/atau pengubah membutuhkan /c_ext
Pengubah jenis seperti _cdecl dan _far hanya dapat dikompilasi jika Anda menentukan sakelar /c_ext .
MIDL2129
bidang struct/union tidak boleh berasal dari fungsi
Bidang struktur atau gabungan harus jenis dasar MIDL atau jenis yang berasal dari jenis dasar ini. Fungsi tidak legal dalam bidang struktur atau serikat.
MIDL2130
elemen array tidak boleh berupa fungsi
Elemen array tidak dapat menjadi fungsi.
MIDL2131
parameter tidak boleh berupa fungsi
Parameter ke prosedur jarak jauh harus merupakan variabel dari jenis yang ditentukan. Fungsi tidak dapat menjadi parameter untuk prosedur jarak jauh.
MIDL2132
struct/union dengan bit fields needs /c_ext
Anda harus menentukan sakelar pengkompilasi MIDL /c_ext untuk mengizinkan bidang bit dalam struktur yang tidak ditransmisikan dalam panggilan prosedur jarak jauh.
MIDL2133
spesifikasi bidang bit pada jenis lain yang "int" adalah ekstensi yang tidak kompatibel dengan ANSI
Spesifikasi bahasa pemrograman ANSI C tidak memungkinkan bidang bit diterapkan ke jenis noninteger.
MIDL2134
spesifikasi bidang bit hanya dapat diterapkan ke jenis integral sederhana
Spesifikasi bahasa pemrograman ANSI C tidak memungkinkan bidang bit diterapkan ke jenis noninteger.
MIDL2135
bidang struct/union tidak boleh berasal dari handle_t atau handel konteks
Handel konteks tidak dapat ditransmisikan sebagai bagian dari struktur lain. Mereka harus ditransmisikan sebagai handel konteks.
MIDL2136
Elemen array tidak boleh berasal dari handle_t atau handel konteks
Handel konteks tidak dapat ditransmisikan sebagai bagian dari array.
MIDL2137
spesifikasi kebutuhan serikat /c_ext
Serikat yang muncul dalam definisi antarmuka harus dikaitkan dengan diskriminan atau dinyatakan sebagai lokal. Data yang tidak dikirimkan melalui jaringan dapat secara implisit dinyatakan sebagai lokal ketika Anda menggunakan sakelar /c_ext , yang merupakan default MIDL. Anda tidak dapat mengkompilasi IDL ini dengan sakelar /osf .
MIDL2138
parameter yang berasal dari "int" harus memiliki penentu ukuran "kecil," "pendek," atau "long" dengan "int"
Jenis int hanya merupakan jenis MIDL yang valid pada platform 32-bit, pada int sistem 16-bit harus disertai dengan spesifikasi ukuran. Gunakan salah satu penentu ukuran kecil, pendek, atau panjang.
MIDL2139
jenis parameter tidak dapat berasal dari void atau void*
MIDL adalah bahasa yang sangat di ketik. Semua parameter yang dikirimkan melalui jaringan harus berasal dari salah satu jenis dasar MIDL. MIDL tidak mendukung kekosongan sebagai jenis dasar. Anda harus mengubah deklarasi menjadi jenis MIDL yang valid.
MIDL2140
parameter yang berasal dari struct/union yang berisi bidang bit tidak didukung
Bidang bit tidak didefinisikan sebagai jenis data yang valid oleh DCE RPC.
MIDL2141
penggunaan parameter yang berasal dari jenis yang berisi type-modifiers/type-qualifiers needs /c_ext
Penggunaan kata kunci seperti far, near, const, dan volatile dalam file IDL adalah ekstensi Microsoft ke DCE RPC. Kata kunci ini tidak tersedia saat Anda mengkompilasi dengan sakelar /osf , yang menonaktifkan sakelar ekstensi /c_ext default.
MIDL2142
parameter tidak boleh berasal dari penunjuk ke fungsi
Pustaka run-time RPC mengirimkan pointer dan data terkait antara klien dan server. Pointer ke fungsi tidak dapat ditransmisikan sebagai parameter karena fungsi tidak dapat ditransmisikan melalui jaringan.
MIDL2143
parameter tidak boleh berasal dari union berkemampuan nonrpc
Serikat harus dikaitkan dengan diskriminan. Gunakan atribut [switch_is] dan [switch_type].
MIDL2144
jenis pengembalian berasal dari "int." Anda harus menggunakan penentu ukuran dengan "int"
Pada sistem 16-bit, jenis int bukan jenis MIDL yang valid kecuali disertai dengan spesifikasi ukuran. Gunakan salah satu penentu ukuran kecil, pendek, atau panjang.
MIDL2145
jenis pengembalian tidak boleh berasal dari penunjuk kekosongan
MIDL adalah bahasa yang sangat di ketik. Semua parameter yang dikirimkan melalui jaringan harus berasal dari salah satu jenis dasar MIDL. Jenis kekosongan tidak didefinisikan sebagai bagian dari MIDL. Anda harus mengubah deklarasi menjadi jenis MIDL yang valid.
MIDL2146
jenis return tidak boleh berasal dari struktur/union yang berisi bit-fields
Bidang bit tidak didefinisikan sebagai jenis data yang valid oleh DCE RPC.
MIDL2147
jenis return tidak boleh berasal dari union berkemampuan nonrpc
Serikat harus dikaitkan dengan diskriminan. Gunakan atribut [switch_is] dan [switch_type].
MIDL2148
jenis pengembalian tidak boleh berasal dari penunjuk ke fungsi
Pustaka run-time RPC mengirimkan pointer dan data terkait antara klien dan server. Pointer ke fungsi tidak dapat ditransmisikan sebagai parameter karena RPC tidak menentukan metode untuk mengirimkan fungsi terkait melalui jaringan.
MIDL2149
penginisialisasi campuran tidak didukung
DCE RPC hanya mendukung inisialisasi sederhana. Struktur atau array tidak dapat diinisialisasi dalam file IDL.
MIDL2150
Atribut ACF dalam file IDL memerlukan sakelar /app_config
Ekstensi Microsoft memungkinkan Anda menentukan atribut ACF dalam file IDL. Gunakan tombol /app_config untuk mengaktifkan ekstensi ini.
MIDL2151
kebutuhan komentar baris tunggal /ms_ext atau /c_ext
Komentar satu baris yang menggunakan dua karakter garis miring (//) mewakili ekstensi Microsoft ke DCE RPC. Anda tidak dapat menggunakan komentar satu baris jika Anda mengkompilasi dengan sakelar /osf .
MIDL2152
Format [versi] salah
Nomor versi antarmuka di header antarmuka harus ditentukan dalam format utama. minor, di mana setiap angka dapat berkisar antara 0 hingga 65535.
MIDL2153
Kebutuhan "ditandatangani" /ms_ext atau /c_ext
Penggunaan kata kunci yang ditandatangani adalah ekstensi Microsoft untuk DCE RPC. Anda tidak dapat menggunakan sakelar /osf jika Anda ingin menggunakan fitur ini.
MIDL2154
ketidakcocokan dalam jenis penugasan
Jenis variabel tidak cocok dengan jenis nilai yang ditetapkan ke variabel.
MIDL2155
deklarasi harus dalam bentuk: tipe> const <\<declarator> = <ekspresi inisialisasi>
Deklarasi tidak kompatibel dengan sintaks RPC DCE. Gunakan sakelar mode kompilator /ms_ext atau /c_ext MIDL.
MIDL2156
deklarasi harus memiliki "const"
Deklarasi dalam file IDL harus berupa ekspresi konstan yang menggunakan const kata kunci, misalnya:
const short x = 2;
MIDL2157
struct/union/enum tidak boleh didefinisikan dalam spesifikasi jenis parameter
Struktur, union, atau jenis enumerasi harus secara eksplisit dinyatakan di luar prototipe fungsi.
MIDL2158
Atribut [alokasikan] harus diterapkan hanya pada jenis pointer yang tidak kosong
Atribut [alokasikan] dirancang untuk struktur data berbasis pointer yang kompleks. Ketika atribut [alokasikan] ditentukan, file stub melintasi struktur data untuk menghitung ukuran total semua objek yang dapat diakses dari pointer dan semua pointer lainnya dalam struktur data. Ubah jenis menjadi jenis pointer nonvoid atau hapus atribut [alokasikan] dan gunakan metode lain untuk menentukan ukuran alokasinya, seperti operator sizeof .
MIDL2159
array atau konstruksi penunjuk yang setara tidak dapat berasal dari union yang tidak dienkapsulasi
Setiap serikat harus dikaitkan dengan diskriminan. Array serikat tidak diizinkan karena tidak menyediakan diskriminan terkait. Array struktur di mana struktur mengemas serikat dan diskriminannya diizinkan karena stub dapat menggunakan diskriminan untuk menentukan ukuran setiap serikat.
MIDL2160
bidang tidak boleh berasal dari tipe error_status_t
Jenis error_status_t hanya dapat digunakan sebagai parameter atau jenis pengembalian. Ini tidak dapat disematkan di bidang struktur atau gabungan.
MIDL2161
union memiliki setidaknya satu lengan tanpa label kasus
Deklarasi serikat tidak cocok dengan sintaks MIDL yang diperlukan untuk serikat. Setiap lengan serikat memerlukan label kasus atau label default yang memilih lengan serikat.
MIDL2162
parameter atau nilai pengembalian tidak boleh berasal dari jenis yang memiliki [abaikan] yang diterapkan padanya
Atribut [ignore] adalah atribut bidang yang hanya dapat diterapkan ke bidang, seperti bidang struktur dan array. Atribut [ignore] menunjukkan bahwa stub tidak boleh mendereferensikan pointer selama transmisi dan tidak diizinkan ketika berkonflik dengan atribut lain yang harus didereferensikan, seperti parameter [out] dan nilai pengembalian fungsi.
MIDL2163
penunjuk sudah memiliki atribut penunjuk yang diterapkan padanya
Hanya salah satu atribut penunjuk, [ref], [unik], atau [ptr], yang dapat diterapkan ke satu penunjuk.
MIDL2164
bidang/parameter tidak boleh berasal dari struktur yang rekursif melalui penunjuk ref
Menurut definisi, penunjuk referensi tidak dapat diatur ke NULL. Struktur data rekursif yang ditentukan dengan penunjuk referensi tidak memiliki elemen NULL dan menurut konvensi tidak menentukan. Gunakan atribut penunjuk [unik] untuk memungkinkan struktur data menentukan elemen NULL , atau menentukan ulang struktur data sebagai struktur data yang tidak aman.
MIDL2165
penggunaan bidang yang berasal dari kebutuhan pointer yang kosong /c_ext
Jenis void * dan jenis lain dan jenis kualifikasi yang tidak didukung oleh DCE IDL diizinkan dalam file IDL hanya ketika Anda menggunakan pengaturan kompiler default MIDL. Menggunakan sakelar /osf akan mengambil alih default ini. Jika Anda harus mengkompilasi dalam mode kompatibilitas osf, Anda harus menentukan ulang jenis penunjuk.
MIDL2166
penggunaan atribut ini membutuhkan /ms_ext
Fitur bahasa ini adalah ekstensi Microsoft untuk DCE IDL. Anda tidak dapat menggunakan fitur ini jika Anda mengkompilasi dalam mode kompatibilitas osf ( /osf ).
MIDL2167
atribut ini hanya diperbolehkan dengan pustaka jenis format baru
Untuk menggunakan atribut ini, Anda memerlukan versi Oleaut32.dll yang disediakan dengan Windows 2000 atau yang lebih baru.
MIDL2168
penggunaan kebutuhan wchar_t /ms_ext atau /c_ext
Jenis karakter lebar mewakili ekstensi ke DCE IDL. Pengkompilasi MIDL tidak menerima jenis karakter lebar saat Anda menentukan sakelar /osf .
MIDL2169
bidang yang tidak disebutkan namanya memerlukan /ms_ext atau /c_ext
DCE IDL tidak mendukung penggunaan struktur atau serikat yang tidak disebutkan namanya yang disematkan dalam struktur atau serikat lainnya. Di DCE IDL, semua bidang yang disematkan tersebut harus diberi nama. Pengkompilasi MIDL tidak mengizinkan penggunaannya saat Anda menentukan sakelar /osf .
MIDL2170
bidang yang tidak disebutkan namanya hanya dapat berasal dari jenis struct/union
Ekstensi Microsoft ke DCE IDL yang mendukung bidang yang tidak disebutkan namanya hanya berlaku untuk struktur dan serikat. Anda harus menetapkan nama ke bidang atau menentukan ulang bidang untuk mematuhi pembatasan ini.
MIDL2171
bidang penyatuan tidak dapat berasal dari array yang sesuai/bervariasi atau setara penunjuknya
Array yang sesuai tidak dapat muncul sendirian dalam union tetapi harus disertai dengan nilai yang menentukan ukuran array. Alih-alih menggunakan array sebagai lengan union, gunakan struktur yang terdiri dari array yang sesuai dan pengidentifikasi yang menentukan ukurannya.
MIDL2172
tidak ada atribut [pointer_default] yang ditentukan, dengan asumsi [ptr] untuk semua penunjuk yang tidak tertabut dalam antarmuka
Implementasi IDL DCE menentukan bahwa semua pointer di setiap file IDL harus dikaitkan dengan atribut pointer. Ketika atribut pointer eksplisit tidak ditetapkan ke parameter atau jenis pointer dan tidak ada atribut [pointer_default] yang ditentukan dalam file IDL, atribut pointer penuh ptr dikaitkan dengan pointer. Anda dapat mengubah atribut penunjuk dengan menggunakan atribut penunjuk eksplisit, dengan menentukan atribut [pointer_default], atau dengan menentukan sakelar /ms_ext untuk mengubah default untuk pointer yang tidak diabaikan menjadi [unik].
MIDL2173
ekspresi inisialisasi harus diatasi ke ekspresi konstanta
Jika ekspresi digunakan sebagai penginisialisasi, ekspresi harus berupa ekspresi konstanta. Ini berlaku di semua mode pengkompilasi MIDL. Ekspresi harus dapat diselesaikan pada waktu kompilasi. Tentukan konstanta harfiah atau ekspresi yang diselesaikan ke konstanta, bukan variabel.
MIDL2174
ekspresi atribut harus berjenis bilangan bulat, karakter, Boolean atau enum
Tipe yang ditentukan tidak mengatasi tipe sakelar yang valid. Gunakan bilangan bulat, karakter, byte, Boolean, atau jenis enum , atau jenis yang berasal dari salah satu jenis ini.
MIDL2175
konstanta ilegal
Konstanta yang ditentukan berada di luar rentang yang valid untuk jenis yang ditentukan.
MIDL2176
atribut tidak diimplementasikan; Diabaikan
Atribut yang ditentukan tidak diimplementasikan dalam rilis Microsoft RPC ini. Pengkompilasi MIDL terus memproses file IDL seolah-olah atribut tidak ada.
MIDL2177
jenis return tidak boleh berasal dari penunjuk [ref]
Nilai pengembalian fungsi yang didefinisikan sebagai jenis penunjuk harus ditentukan sebagai [unik] atau penunjuk penuh . Anda tidak dapat menggunakan penunjuk referensi.
MIDL2178
ekspresi atribut harus berupa nama variabel atau ekspresi dereferensi pointer dalam mode ini. Anda harus menentukan sakelar /ms_ext
Pengkompilasi IDL DCE memerlukan ukuran yang terkait dengan atribut [size_is] yang akan ditentukan oleh variabel atau variabel penunjuk. Jika Anda ingin memanfaatkan ekstensi Microsoft yang memungkinkan atribut [size_is] ditentukan oleh ekspresi konstanta, Anda tidak dapat menggunakan sakelar kompiler /osf .
MIDL2179
parameter tidak boleh berasal dari gabungan nonenkapsulasi rekursif
Serikat harus menyertakan diskriminan, sehingga serikat tidak dapat memiliki serikat lain sebagai elemen. Serikat dapat disematkan dalam serikat lain hanya ketika merupakan bagian dari struktur yang mencakup diskriminan.
MIDL2180
parameter binding-handle tidak boleh [keluar] saja
Parameter handel yang diidentifikasi oleh pengkompilasi MIDL sebagai handel pengikatan untuk operasi ini harus berupa parameter [in]. Parameter [out]-only tidak terdefinisi pada stub klien, dan handel pengikatan harus ditentukan pada klien.
MIDL2181
penunjuk ke handel tidak boleh [unik] atau [ptr]
Anda tidak dapat menggunakan atribut penunjuk unik dan penuh untuk penunjuk ke handel. Atribut ini memungkinkan nilai NULL, dan handel pengikatan tidak boleh NULL. Gunakan atribut [ref] untuk memperoleh parameter handle pengikatan dari penunjuk referensi.
MIDL2182
parameter yang bukan handel pengikatan tidak boleh berasal dari handle_t
Jenis handel primitif handle_t bukan tipe data valid yang dikirimkan melalui jaringan. Ubah jenis parameter menjadi jenis selain handle_t, atau hapus parameter .
MIDL2183
akhir file yang tidak terduga ditemukan
Pengkompilasi MIDL menemukan akhir file sebelum berhasil menyelesaikan semua elemen sintaksis file. Verifikasi bahwa karakter kurung kurawal kanan (}) yang berakhir ada di akhir file, atau periksa sintaksnya.
MIDL2184
jenis yang berasal dari handle_t tidak boleh memiliki [transmit_as] yang diterapkan padanya
Jenis handel primitif handle_t tidak ditransmisikan melalui jaringan.
MIDL2185
[context_handle] tidak boleh diterapkan pada jenis yang memiliki [handel] yang diterapkan padanya
Atribut [context_handle] dan [handle] tidak dapat diterapkan ke jenis yang sama.
MIDL2186
[handel] tidak boleh ditentukan pada tipe yang berasal dari kekosongan atau kekosongan *
Jenis yang ditentukan dengan atribut [handle] dapat ditransmisikan melalui jaringan, tetapi jenis batal* bukan jenis yang dapat ditransmisikan. Jenis handel harus diselesaikan ke jenis yang berasal dari jenis dasar yang dapat ditransmisikan.
MIDL2187
parameter harus memiliki [in], [out] atau [in,out] dalam mode ini. Anda harus menentukan /ms_ext atau /c_ext
Pengkompilasi IDL DCE mengharuskan semua parameter memiliki parameter arah eksplisit. Untuk menggunakan ekstensi Microsoft ke DCE IDL, Anda tidak dapat menggunakan sakelar /osf , yang menggantikan /ms_ext dan /c_ext.
MIDL2188
tipe yang dikirimkan tidak boleh berasal dari "kekosongan" untuk [transmit_as], [represent_as], [wire_marshal], [user_marshal]
Atribut [transmit_as] hanya berlaku untuk jenis penunjuk. Gunakan jenis batal* sebagai ganti kekosongan.
MIDL2189
"void" harus ditentukan pada spesifikasi parameter pertama dan satu-satunya
Kata kunci salah muncul dengan parameter fungsi lainnya. Untuk menentukan fungsi tanpa parameter, kekosongan kata kunci harus menjadi satu-satunya elemen dari daftar parameter, seperti dalam contoh berikut:
void Moo(void)
MIDL2190
[switch_is] harus ditentukan hanya pada jenis yang berasal dari gabungan yang tidak dienkapsulasi
Kata kunci [switch_is] salah diterapkan. Ini hanya dapat digunakan dengan jenis union yang tidak dienkapsulasi.
MIDL2191
struktur stringable tidak diimplementasikan dalam versi ini
DCE IDL memungkinkan atribut [string] untuk diterapkan ke struktur yang elemennya hanya terdiri dari karakter, byte, atau jenis yang mengatasi karakter atau byte. Fungsionalitas ini tidak didukung di Microsoft RPC. Atribut [string] tidak dapat diterapkan ke struktur secara keseluruhan. Namun, ini dapat diterapkan ke setiap array individu.
MIDL2192
jenis switch hanya dapat berupa integral, char, Boolean atau enum
Tipe yang ditentukan tidak mengatasi tipe sakelar yang valid. Gunakan bilangan bulat, karakter, byte, Boolean, jenis enum , atau jenis yang berasal dari salah satu jenis ini.
MIDL2193
[handel] tidak boleh ditentukan pada tipe yang berasal dari handle_t
Jenis handel harus didefinisikan menggunakan satu dan hanya satu dari jenis handel atau atribut. Gunakan jenis primitif handle_t atau atribut [handle], tetapi tidak keduanya. Jenis handel yang ditentukan pengguna harus dapat ditransmisikan, tetapi jenis handle_t tidak ditransmisikan pada jaringan.
MIDL2194
parameter yang berasal dari handle_t tidak boleh menjadi parameter [out]
Handel jenis primitif handle_t hanya bermakna di sisi aplikasi tempat aplikasi didefinisikan. Tipe handle_t tidak ditransmisikan pada jaringan.
MIDL2195
ekspresi atribut berasal dari dereferensi pointer [unik] atau [ptr]
Meskipun atribut [unik] dan penunjuk penuh memungkinkan penunjuk memiliki nilai NULL , ekspresi yang menentukan atribut ukuran atau panjang tidak boleh memiliki nilai NULL . Saat pointer digunakan, MIDL membatasi ekspresi ke penunjuk [ref].
MIDL2196
"cpp_quote" memerlukan /ms_ext
Atribut cpp_quote adalah ekstensi Microsoft ke DCE IDL. Jangan gunakan sakelar pengkompilasi MIDL /osf, yang menggantikan /ms_ext.
MIDL2197
uuid yang dikutip memerlukan /ms_ext
Kemampuan untuk menentukan nilai UUID dalam tanda kutip adalah ekstensi Microsoft ke DCE IDL. Jangan gunakan sakelar pengkompilasi MIDL /osf, yang menggantikan /ms_ext.
MIDL2198
jenis return tidak dapat berasal dari union yang tidak dienkapsulasi
Union yang tidak dienkapsulasi tidak dapat digunakan sebagai jenis pengembalian fungsi. Untuk mengembalikan jenis union, tentukan jenis union sebagai parameter [out] atau [in, out].
MIDL2199
tipe pengembalian tidak dapat berasal dari struktur yang sesuai
Ukuran jenis pengembalian harus berupa konstanta. Anda tidak dapat menentukan sebagai jenis pengembalian struktur yang berisi array yang sesuai bahkan ketika struktur juga menyertakan penentu ukurannya. Untuk mengembalikan struktur yang sesuai, tentukan struktur sebagai parameter [out] atau [in, out].
MIDL2200
[transmit_as] tidak boleh diterapkan pada jenis yang berasal dari handel generik
Dalam rilis ini, atribut [handle] dan [transmit_as] tidak dapat digabungkan pada jenis yang sama.
MIDL2201
[handel] tidak boleh diterapkan pada jenis yang telah [transmit_as] diterapkan padanya
Dalam rilis ini, atribut [handle] dan [transmit_as] tidak dapat digabungkan pada jenis yang sama.
MIDL2202
jenis yang ditentukan untuk deklarasi const tidak valid
Deklarasi konstanta terbatas pada tipe bilangan bulat, karakter, karakter lebar, string, dan Boolean.
MIDL2203
operan ke operator sizeof tidak didukung
Pengkompilasi MIDL hanya mendukung operasi sizeof untuk jenis sederhana. Operand yang ditentukan tidak mengevaluasi ke tipe bilangan bulat.
MIDL2204
nama ini sudah digunakan sebagai nama pengidentifikasi const
Pengidentifikasi sebelumnya telah digunakan untuk mengidentifikasi konstanta dalam deklarasi kontras . Ubah nama salah satu pengidentifikasi sehingga pengidentifikasi unik.
MIDL2205
pendefinisian ulang jenis error_status_t yang tidak konsisten
Jenis error_status_t harus mengatasi jenis yang panjangnya tidak ditandatangani. Definisi tipe lainnya tidak dapat digunakan.
MIDL2206
[case] nilai di luar rentang jenis sakelar
Nilai yang terkait dengan kasus pernyataan pengalihan berada di luar rentang untuk jenis sakelar yang ditentukan. Misalnya, kesalahan ini terjadi ketika nilai bilangan bulat panjang digunakan dalam pernyataan kasus untuk jenis bilangan bulat pendek.
MIDL2207
parameter yang berasal dari kebutuhan wchar_t /ms_ext
Jenis karakter lebar wchar_t adalah ekstensi Microsoft untuk DCE IDL. Jangan gunakan sakelar pengkompilasi MIDL /osf, yang mengambil alih /ms_ext
MIDL2208
antarmuka ini hanya memiliki panggilan balik
Panggilan balik hanya valid dalam konteks panggilan prosedur jarak jauh. Antarmuka harus menyertakan setidaknya satu prototipe fungsi untuk panggilan prosedur jarak jauh yang tidak menyertakan atribut [panggilan balik].
MIDL2209
atribut yang ditentukan secara berlebihan; Diabaikan
Atribut yang ditentukan telah diterapkan lebih dari sekali. Beberapa instans dari atribut yang sama diabaikan.
MIDL2210
jenis handel konteks yang digunakan untuk handel implisit
Jenis yang didefinisikan menggunakan atribut [context_handle] telah ditentukan sebagai jenis handel dalam atribut [ implicit_handle]. Atribut tidak dapat digabungkan dengan cara ini.
MIDL2211
opsi yang bertentangan ditentukan untuk [alokasikan]
Opsi yang ditentukan untuk atribut ACF [alokasikan] mewakili arahan yang bertentangan. Misalnya, tentukan opsi all_nodes atau opsi single_node, tetapi tidak keduanya.
MIDL2212
kesalahan saat menulis ke file
Terjadi kesalahan saat menulis ke file. Kondisi ini dapat disebabkan oleh kesalahan yang berkaitan dengan ruang disk, handel file, pembatasan akses file, dan kegagalan perangkat keras.
MIDL2213
tidak ada jenis sakelar yang ditemukan pada definisi union, menggunakan jenis [switch_is]
Definisi serikat tidak menyertakan atribut [switch_type] eksplisit. Jenis variabel yang ditentukan oleh atribut [switch_is] digunakan sebagai jenis sakelar.
MIDL2214
pemeriksaan semantik tidak lengkap karena kesalahan sebelumnya
Pengkompilasi MIDL membuat dua lolos ke file input untuk menyelesaikan deklarasi penerusan apa pun. Karena kesalahan yang ditemui selama pass pertama, pemeriksaan untuk pass kedua belum dilakukan. Kesalahan yang tidak dilaporkan yang berkaitan dengan deklarasi penerusan mungkin masih ada dalam file.
MIDL2215
menangani parameter atau jenis pengembalian tidak didukung pada prosedur [panggilan balik]
Prosedur [panggilan balik] terjadi dalam konteks panggilan dari klien ke server dan menggunakan handel pengikatan yang sama dengan panggilan asli. Parameter handel pengikatan eksplisit atau jenis pengembalian tidak diizinkan dalam fungsi panggilan balik.
MIDL2216
[ptr] tidak mendukung alias dalam versi ini
Alias terjadi ketika data dapat diakses melalui lebih dari satu nama pointer atau variabel. Hapus alias. Untuk informasi selengkapnya, lihat Penunjuk Unik.
MIDL2217
parameter sudah didefinisikan sebagai handel konteks
Parameter sebelumnya didefinisikan sebagai handel konteks.
MIDL2218
[context_handle] tidak boleh berasal dari handle_t
Tiga karakteristik handel: jenis handle_t, atribut [handle], dan atribut [context_handle], saling eksklusif. Hanya satu karakteristik yang dapat diterapkan ke jenis atau parameter pada satu waktu.
MIDL2219
ukuran array melebihi 65536 byte
Pada beberapa platform Microsoft, ukuran data maksimum yang dapat ditransmisikan adalah 64K. Desain ulang aplikasi Anda sehingga semua data yang dikirimkan sesuai dengan ukuran maksimum yang dapat ditransmisikan.
MIDL2220
ukuran struktur melebihi 65536 byte
Pada beberapa platform Microsoft, ukuran data maksimum yang dapat ditransmisikan adalah 64K. Desain ulang aplikasi Anda sehingga semua data yang dikirimkan sesuai dengan ukuran maksimum yang dapat ditransmisikan.
MIDL2221
bidang dari gabungan yang tidak dienkapsulasi tidak boleh menjadi serikat nonenkapsulasi lain
Serikat yang ditransmisikan sebagai bagian dari panggilan prosedur jarak jauh memerlukan item data terkait, diskriminan, yang memilih lengan gabungan. Serikat yang bersarang di serikat lain tidak menawarkan diskriminan; akibatnya, mereka tidak dapat ditransmisikan dalam formulir ini. Buat struktur yang terdiri dari serikat dan diskriminannya.
MIDL2222
atribut penunjuk diterapkan pada array yang disematkan; Diabaikan
Atribut penunjuk hanya dapat diterapkan ke array saat array adalah parameter tingkat atas. Atribut penunjuk lain yang diterapkan ke array yang disematkan dalam struktur data lain diabaikan.
MIDL2223
[alokasikan] ilegal pada jenis yang dikirimkan atau disajikan untuk [transmit_as], [represent_as], [wire_marshal], atau [user_marshal]
Atribut [transmit_as] dan [alokasikan] keduanya tidak dapat diterapkan ke jenis yang sama. Atribut [transmit_as] membedakan antara jenis yang disajikan dan dikirimkan, sementara atribut [alokasikan] mengasumsikan bahwa jenis yang disajikan sama dengan jenis yang dikirimkan.
MIDL2224
[switch_type] harus ditentukan dalam mode impor ini
MIDL2225
Jenis [implicit_handle] tidak terdefinis; dengan asumsi handel generik
Jenis handel yang ditentukan dalam ACF tidak ditentukan dalam file IDL. Pengompilasi MIDL mengasumsikan bahwa jenis handel diselesaikan ke jenis handel primitif handle_t. Tambahkan atribut [handel] ke definisi jenis jika Anda ingin handel bersifat seperti handel yang ditentukan pengguna atau generik.
MIDL2226
Elemen array tidak boleh berasal dari error_status_t
Dalam rilis Microsoft RPC ini, jenis error_status_t hanya dapat muncul sebagai parameter atau jenis pengembalian. Ini tidak dapat muncul dalam array.
MIDL2227
[alokasikan] ilegal pada jenis yang berasal dari handel primitif/generik/konteks
Secara desain, atribut ACF [alokasikan] tidak dapat diterapkan untuk menangani jenis.
MIDL2228
jenis yang dikirimkan atau disajikan tidak boleh berasal dari error_status_t
Dalam rilis Microsoft RPC ini, jenis error_status_t tidak dapat digunakan dengan atribut [transmit_as].
MIDL2229
diskriminan dari serikat tidak boleh berasal dari bidang dengan [abaikan] yang diterapkan padanya
Serikat yang digunakan dalam panggilan prosedur jarak jauh harus dikaitkan dengan item data lain, yang disebut diskriminan, yang memilih lengan gabungan. Diskriminan harus ditransmisikan. Atribut [ignore] tidak dapat diterapkan ke diskriminan serikat.
MIDL2230
[nocode] diabaikan untuk sisi server karena "/server none" tidak ditentukan
Beberapa pengkompilasi IDL DCE menghasilkan kesalahan ketika atribut [nocode] diterapkan ke prosedur di antarmuka tempat file stub server dibuat. Karena server harus mendukung semua operasi, [nocode] tidak boleh diterapkan pada prosedur dalam mode ini, atau Anda harus menggunakan sakelar kompiler MIDL /server tidak ada untuk secara eksplisit menentukan bahwa tidak ada rutinitas server yang akan dihasilkan.
MIDL2231
tidak ada prosedur jarak jauh yang ditentukan dalam antarmuka non-[lokal]; tidak ada stub klien/server yang akan dihasilkan
Antarmuka yang disediakan tidak memiliki prosedur jarak jauh, jadi hanya file header yang akan dihasilkan.
MIDL2232
terlalu banyak kasus default yang ditentukan untuk penyatuan yang dienkapsulasi
Union yang dienkapsulasi hanya dapat memiliki satu default: arm.
MIDL2233
terlalu banyak antarmuka default yang ditentukan untuk coclass
Kolase dapat memiliki paling banyak dua anggota [default], satu untuk mewakili antarmuka (sumber) keluar atau dispinterface, dan satu untuk mewakili antarmuka masuk (sink) atau dispinterface.
MIDL2234
item dengan [defaultvtable] juga harus memiliki [source]
Antarmuka defaultvtable membuat antarmuka sumber kedua untuk objek, yang memungkinkan sink menerima peristiwa melalui tabel V.
MIDL2235
spesifikasi serikat tanpa bidang yang ilegal
Serikat harus memiliki setidaknya satu bidang.
MIDL2236
nilai di luar rentang
Nilai kasus yang disediakan berada di luar rentang jenis sakelar.
MIDL2237
[context_handle] harus diterapkan pada jenis pointer
Handel konteks harus selalu berupa jenis penunjuk. DCE menentukan bahwa semua handel konteks harus di ketik sebagai batal *.
MIDL2238
jenis pengembalian tidak boleh berasal dari handle_t
handle_t tidak dapat dikembalikan.
MIDL2239
[handel] tidak boleh diterapkan ke jenis yang berasal dari handel konteks
Jenis tidak boleh berupa handel konteks dan handel generik.
MIDL2240
bidang yang berasal dari "int" harus memiliki penentu ukuran "kecil", "pendek", atau "panjang" dengan "int"
Int jenis tidak dapat ditransmisikan pada sistem 16-bit, karena ukuran int mungkin berbeda di seluruh mesin.
MIDL2241
bidang tidak boleh berasal dari kekosongan atau kekosongan *
void dan void * tidak dapat digunakan sebagai jenis parameter untuk prosedur jarak jauh.
MIDL2242
bidang tidak boleh berasal dari struktur yang berisi bit-fields
Struktur yang berisi bidang bit tidak dapat digunakan sebagai parameter atau jenis pengembalian untuk prosedur jarak jauh.
MIDL2243
bidang tidak boleh berasal dari union yang tidak dapat di rpcable
Serikat harus ditentukan sebagai gabungan yang tidak dienkapsulasi atau serikat yang dienkapsulasi agar dapat ditransmisikan. Serikat C biasa tidak memiliki diskriminan yang diperlukan untuk mengirimkan serikat di seluruh jaringan.
MIDL2244
bidang tidak boleh berasal dari penunjuk ke fungsi
Penunjuk ke fungsi tidak dapat ditransmisikan ke prosedur jarak jauh. Penunjuk ke fungsi menunjuk ke kode fungsi, dan tidak ada kode fungsi yang dapat ditransmisikan di seluruh jaringan menggunakan RPC.
MIDL2245
tidak dapat menggunakan [fault_status] pada parameter dan jenis pengembalian
Atribut [fault_status] hanya dapat digunakan sekali per prosedur. Atribut [comm_status] dapat digunakan secara independen.
MIDL2246
jenis return terlalu rumit untuk mode /Oi, menggunakan /Os
Jenis pengembalian besar yang diteruskan oleh nilai hanya dapat ditangani oleh ganja pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2247
jenis handel generik terlalu besar untuk mode /Oi, menggunakan /Os
Jenis handel generik besar yang diteruskan oleh nilai hanya dapat ditangani oleh ganja pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2248
[alokasikan(all_nodes)] pada parameter [in,out] dapat meng-orphan memori asli
Penggunaan [allocate(all_nodes)] pada parameter [in, out] harus mengalokasikan kembali memori yang berdampingan untuk arah [out], sehingga tanpa induk parameter [in]. Penggunaan ini tidak disarankan.
MIDL2249
tidak dapat memiliki pointer [ref] sebagai lengan union
Penunjuk referensi harus selalu menunjuk ke memori yang valid, tetapi union [in, out] dengan penunjuk referensi dapat mengembalikan penunjuk referensi saat arah [in] menggunakan jenis lain.
MIDL2250
return of context handles tidak didukung untuk mode /Oi, menggunakan /Os
MIDL tidak mendukung handel konteks dalam mode pengoptimalan yang ditafsirkan sepenuhnya. Beralih ke pengoptimalan mode campuran.
MIDL2251
penggunaan parameter [comm_status] atau [fault_status] tambahan yang tidak didukung untuk mode /Oi, menggunakan /Os
Atribut [comm_status] dan [fault_status] hanya dapat ditangani oleh ganja pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2252
penggunaan jenis yang tidak diketahui untuk [represent_as] atau [user_marshal] tidak didukung untuk mode /Oi, menggunakan /Os
Penggunaan atribut [represent_as] dengan jenis lokal yang tidak ditentukan dalam file IDL atau file IDL yang diimpor hanya dapat ditangani oleh stub pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2253
jenis array dengan [transmit_as] atau [represent_as] tidak didukung pada jenis pengembalian untuk mode /Oi , menggunakan /Os
Mengembalikan array dengan [transmit_as] atau [represent_as] yang diterapkan hanya dapat ditangani oleh stub pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2254
jenis array dengan [transmit_as] atau [represent_as] tidak didukung pass-by-value untuk mode /Oi, menggunakan /Os
Tindakan ini tidak didukung untuk pengoptimalan yang ditafsirkan sepenuhnya. Beralih ke pengoptimalan mode campuran.
MIDL2255
[panggilan balik] memerlukan /ms_ext
Atribut [callback] adalah ekstensi Microsoft dan mengharuskan sakelar /ms_ext diaktifkan. Jangan kompilasi dengan /osf, yang mengambil alih /ms_ext.
MIDL2256
dependensi antarmuka melingkar
Antarmuka ini menggunakan dirinya sendiri (secara langsung atau tidak langsung) sebagai antarmuka dasar.
MIDL2257
hanya IUnknown yang dapat digunakan sebagai antarmuka akar
Saat ini, semua antarmuka harus memiliki IUnknown sebagai antarmuka akar.
MIDL2258
[IID_IS] hanya dapat diterapkan pada penunjuk ke antarmuka
Atribut [iid_is] hanya dapat diterapkan ke penunjuk antarmuka, meskipun dapat ditentukan sebagai penunjuk ke IUnknown *.
MIDL2259
antarmuka hanya dapat digunakan dalam konstruksi pointer-to-interface
Nama antarmuka tidak dapat digunakan kecuali sebagai antarmuka dasar atau penunjuk antarmuka.
MIDL2260
penunjuk antarmuka harus memiliki UUID/IID
Jenis dasar ekspresi [iid_is] harus merupakan jenis UUID/GUID/IID.
MIDL2261
definisi dan deklarasi di luar isi antarmuka memerlukan /ms_ext
Menempatkan deklarasi dan definisi di luar isi antarmuka apa pun adalah ekstensi Microsoft dan memerlukan penggunaan sakelar /ms_ext .
MIDL2262
beberapa antarmuka dalam satu file memerlukan /ms_ext
Menggunakan beberapa antarmuka dalam satu file idl adalah ekstensi Microsoft dan tidak tersedia saat Anda mengkompilasi dalam mode /osf .
MIDL2263
Hanya salah satu dari [implicit_handle], [auto_handle], atau [explicit_handle] yang diperbolehkan
Setiap antarmuka hanya dapat memiliki salah satu dari tiga atribut ini.
MIDL2264
[implicit_handle] mereferensikan jenis yang bukan handel
Handel implisit harus salah satu jenis handel.
MIDL2265
[object] procs hanya dapat digunakan dengan "/env win32"
Antarmuka dengan atribut [objek] tidak dapat digunakan dengan lingkungan 16-bit.
MIDL2266
[callback] dengan -env dos/win16 tidak didukung untuk /Oi, menggunakan /Os
Panggilan balik di lingkungan 16-bit hanya dapat ditangani oleh ganja pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2267
float/double tidak didukung sebagai parameter tingkat atas untuk mode /Oi, menggunakan /Os
Jenis float dan ganda hanya dapat ditangani sebagai parameter oleh stub pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os . Jenis float dan ganda dalam struktur, array, atau serikat masih dapat ditangani dengan/Os.
MIDL2268
penunjuk ke handel konteks mungkin tidak digunakan sebagai nilai pengembalian
Handel konteks harus digunakan sebagai nilai pengembalian langsung, bukan nilai pengembalian tidak langsung.
MIDL2269
prosedur dalam antarmuka objek harus mengembalikan HRESULT
Semua prosedur dalam antarmuka objek yang tidak memiliki atribut -[local] harus mengembalikan HRESULT/SCODE.
MIDL2270
UUID duplikat
Sama seperti UUID harus unik.
MIDL2271
Antarmuka [objek] harus berasal dari antarmuka [objek] lain seperti IUnknown
Pewarisan antarmuka hanya diperbolehkan saat Anda menggunakan antarmuka objek.
MIDL2272
Antarmuka (asinkron) harus berasal dari antarmuka (asinkron) lain
Antarmuka objek, baik sinkron maupun asinkron, harus berasal dari IUnknown atau beberapa antarmuka OLE dasar lainnya.
MIDL2273
Ekspresi [IID_IS] harus berupa penunjuk ke struktur IID
Jenis dasar ekspresi [iid_is] harus merupakan jenis UUID/GUID/IID.
MIDL2274
Jenis [call_as] harus berupa prosedur [lokal]
Target jenis [call_as], jika ditentukan, harus memiliki [ lokal] yang diterapkan.
MIDL2275
undefined [call_as] tidak boleh digunakan dalam antarmuka objek
Anda harus menentukan target jenis [call_as]. Pastikan Anda telah menyediakan call_as rutinitas untuk panggilan dan aplikasi yang disebut.
MIDL2276
[auto_handle] tidak dapat digunakan dengan [encode] atau [decode]
Atribut [ encode] dan [ decode] hanya dapat digunakan dengan handel eksplisit atau handel implisit.
MIDL2277
prosedur normal tidak diizinkan dalam antarmuka dengan [encode] atau [dekode]
Antarmuka yang berisi prosedur [encode] atau [dekode] juga tidak dapat memiliki prosedur jarak jauh.
MIDL2278
kesuaian atau varians tingkat atas tidak diizinkan dengan [encode] atau [dekode]
Jenis yang memiliki kesuaian atau varians tingkat atas tidak dapat menggunakan serialisasi jenis, karena tidak ada cara untuk memberikan ukuran/pemanjangan. Struktur yang berisinya, bagaimanapun, diizinkan untuk menggunakan serialisasi jenis.
MIDL2279
Parameter [out] mungkin tidak memiliki "const"
Karena parameter [keluar] diubah, parameter tidak boleh dinyatakan sebagai konstanta sa.
MIDL2280
mengembalikan nilai mungkin tidak memiliki "const"
Karena nilai fungsi diatur ketika fungsi kembali, nilai ini tidak boleh dinyatakan sebagai konstanta.
MIDL2281
penggunaan atribut "retval" tidak valid
Periksa untuk memastikan Anda belum menggunakan atribut [opsional] dan bahwa parameter [retval] adalah parameter terakhir dalam daftar.
MIDL2282
beberapa konvensi panggilan ilegal
Hanya satu konvensi panggilan yang dapat diterapkan ke satu prosedur.
MIDL2283
atribut ilegal pada prosedur [objek]
Atribut di atas hanya berlaku untuk prosedur di antarmuka yang tidak memiliki atribut [objek].
MIDL2284
[out] penunjuk antarmuka harus menggunakan tidak langsung ganda
Karena nilai yang diubah adalah penunjuk ke antarmuka, harus ada tingkat tidak langsung lain di atas penunjuk untuk memungkinkannya dikembalikan.
MIDL2285
prosedur yang digunakan dua kali sebagai pemanggil di [call_as]
Prosedur [lokal] tertentu hanya dapat digunakan sekali sebagai target [call_as], untuk menghindari bentrokan nama.
MIDL2286
[call_as] target harus memiliki [lokal] dalam antarmuka objek
Target [call_as] harus merupakan prosedur [lokal] yang ditentukan di antarmuka saat ini.
MIDL2287
[code] dan [nocode] mungkin tidak digunakan bersamaan
Kedua atribut ini bertentangan dan tidak dapat digunakan bersama-sama.
MIDL2288
prosedur dengan atribut [mungkin] atau [pesan] mungkin tidak memiliki param [out], atau nilai yang dikembalikan harus berjenis HRESULT atau error_status_t
Karena [mungkin] prosedur tidak pernah kembali, tidak ada cara untuk mendapatkan nilai yang dikembalikan.
MIDL2289
penunjuk ke fungsi harus digunakan
Meskipun definisi jenis fungsi diizinkan dalam mode /c_ext , definisi tersebut hanya dapat digunakan sebagai penunjuk ke fungsi. Mereka tidak pernah dapat ditransmisikan sebagai parameter atau nilai pengembalian dari prosedur jarak jauh.
MIDL2290
fungsi mungkin tidak diteruskan dalam operasi RPC
Fungsi dan penunjuk fungsi tidak dapat diteruskan sebagai parameter atau mengembalikan nilai prosedur jarak jauh.
MIDL2291
hyper/double tidak didukung sebagai nilai pengembalian untuk mode /Oi, menggunakan /Os
Nilai pengembalian hyper dan ganda hanya dapat ditangani oleh ganja pengoptimalan /Os . Rintangan untuk rutinitas ini akan dihasilkan menggunakan pengoptimalan /Os .
MIDL2292
#pragma pack(pop) tanpa #pragma pack(push) yang cocok
#pragma pack(push) dan #pragma pack(pop) harus muncul dalam pasangan yang cocok. Setidaknya satu terlalu banyak paket #pragma (push) ditentukan.
MIDL2293
bidang struktur yang dapat di-string harus byte/char/wchar_t
Jenis [string] hanya dapat diterapkan ke struktur yang bidangnya semuanya berjenis byte, atau definisi jenis yang setara dengan byte.
MIDL2294
[pemberitahuan] tidak didukung untuk mode /Oi, menggunakan /Os
Atribut [pemberitahuan] hanya dapat diproses oleh ganja pengoptimalan /Os .
MIDL2295
menangani parameter atau jenis pengembalian tidak didukung pada prosedur di antarmuka [objek]
Handel tidak dapat digunakan dengan antarmuka [ objek].
MIDL2296
ANSI C hanya memungkinkan array paling kiri terikat untuk tidak ditentukan
Dalam array yang sesuai, ANSI C hanya memungkinkan array paling kiri (paling signifikan) yang terikat untuk tidak ditentukan. Jika beberapa dimensi sesuai, MIDL akan mencoba menempatkan "1" di dimensi lain yang sesuai. Jika dimensi lain didefinisikan dalam definisi jenis yang berbeda, ini tidak dapat dimungkinkan. Coba letakkan semua dimensi array pada deklarasi array untuk menghindari hal ini. Bagaimanapun, waspadai perhitungan pengindeksan array yang dilakukan oleh pengkompilasi; Anda mungkin perlu melakukan perhitungan Anda sendiri menggunakan ukuran aktual.
MIDL2297
parameter union by-value tidak didukung untuk mode /Oi, menggunakan /Os
Tindakan ini tidak didukung untuk pengoptimalan yang ditafsirkan sepenuhnya. Beralih ke pengoptimalan mode campuran.
MIDL2298
Atribut [version] diabaikan pada antarmuka [objek]
Atribut [objek] mengidentifikasi antarmuka COM. Daftar atribut antarmuka untuk antarmuka COM tidak dapat menyertakan atribut [ versi].
MIDL2299
Atribut [size_is] atau [max_is] tidak valid pada array tetap
Array dengan ukuran tetap tidak dapat menggunakan atribut size_is atau max_is .
MIDL2300
[encode] atau [dekode] tidak valid dalam antarmuka [objek]
Atribut [objek] mengidentifikasi antarmuka COM. Atribut [encode] dan [ decode] memungkinkan serialisasi. Artinya, Anda dapat menyediakan dan mengontrol buffer untuk data marshal dan unmarshal, namun, Anda tidak dapat melakukan serialisasi pada antarmuka COM.
MIDL2301
[encode] atau [dekode] pada jenis memerlukan /ms_ext
Serialisasi bukan bagian dari spesifikasi DCE-IDL. Ini adalah ekstensi Microsoft yang memerlukan penggunaan sakelar baris perintah /ms_ext .
MIDL2302
int tidak didukung pada /env win16 atau /env dos
Platform Microsoft 16-bit tidak mendukung penggunaan jenis int dalam file IDL. Memenuhi syarat jenis int dengan kecil, pendek, atau panjang.
MIDL2303
[bstring] hanya dapat diterapkan ke pointer ke "char" atau "whchar_t"
Kesalahan ini kedaluarsa. Ini disediakan hanya untuk kompatibilitas mundur.
MIDL2304
atribut tidak valid pada prosedur dalam antarmuka [objek]
Atribut yang ditentukan tidak diizinkan pada prosedur dalam antarmuka COM.
MIDL2305
atribut tidak valid pada antarmuka [objek]
Atribut yang ditentukan tidak diperbolehkan dalam antarmuka COM.
MIDL2306
terlalu banyak parameter atau tumpukan terlalu besar untuk mode /Oi, menggunakan /Os
Peringatan ini usang. Ini disediakan hanya untuk kompatibilitas mundur. Ini menunjukkan bahwa panggilan ke prosedur jarak jauh menyebabkan tumpukan tumbuh lebih besar dari 64 K.
MIDL2307
tidak ada atribut pada typedef file ACF, jadi tidak ada efek
File IDL harus berisi semua pernyataan typedef yang tidak memiliki atribut. Mereka tidak boleh terjadi dalam file ACF. Jika demikian, pengkompilasi MIDL menafsirkannya sebagai berlebihan dan mengabaikannya.
MIDL2308
konvensi panggilan selain __stdcall atau __cdecl tidak didukung untuk mode /Oi, menggunakan /Os
Konvensi panggilan seperti __pascal atau __fastcall mengubah format tumpukan. Mode /Oi hanya mendukung konvensi panggilan __stdcall dan __cdecl . Jika Anda harus menggunakan konvensi panggilan lain, gunakan mode /Os .
MIDL2309
Terlalu banyak metode delegasi dalam antarmuka, memerlukan Windows 2000 atau lebih tinggi
Satu antarmuka dapat mewarisi dari antarmuka lain. Ketika itu terjadi, metode antarmuka dasar dianggap didelegasikan. Tidak ada antarmuka turunan yang dapat berisi lebih dari 256 metode yang didelegasikan.
MIDL2310
handel otomatis tidak didukung dengan /env mac atau /env powermac
Saat mengkompilasi file IDL untuk PowerMac, Anda tidak dapat menggunakan handel pengikatan otomatis. Anda harus menentukan handel eksplisit atau implisit.
MIDL2311
pernyataan di luar blok pustaka ilegal dalam mode kompatibilitas mktyplib
Anda mungkin perlu menentukan sakelar baris perintah /mktyplib203 saat mengkompilasi file IDL Anda.

Catatan:
Alat Mktyplib.exe usang. Gunakan pengkompilasi MIDL sebagai gantinya.


MIDL2312
sintaks ilegal kecuali menggunakan mode kompatibilitas mktyplib
Anda mungkin perlu menentukan sakelar baris perintah /mktyplib203 saat mengkompilasi file IDL Anda.

Catatan:
Alat Mktyplib.exe usang. Gunakan pengkompilasi MIDL sebagai gantinya.


MIDL2313
definisi ilegal, harus menggunakan typedef dalam mode kompatibilitas mktyplib
Anda mungkin perlu menentukan sakelar baris perintah /mktyplib203 saat mengkompilasi file IDL Anda.

Catatan:
Alat Mktyplib.exe usang. Gunakan pengkompilasi MIDL sebagai gantinya.


MIDL2314
atribut pointer eksplisit [ptr] [ref] diabaikan untuk penunjuk antarmuka
Penunjuk ke antarmuka tidak boleh memiliki atribut IDL.
MIDL2315
Mode /Oi tidak diimplementasikan untuk PowerMac, beralih ke /Os
MIDL2316
jenis ekspresi ilegal yang digunakan dalam atribut
Nilai default untuk penunjuk harus berupa konstanta.
MIDL2317
jenis ilegal yang digunakan dalam pipa
Pipa terbatas pada jenis data IDL dasar. Misalnya, Anda tidak dapat menentukan pipa array.
MIDL2318
prosedur menggunakan pipa, menggunakan /Oicf
Mode yang Anda pilih tidak mendukung pipa. Kompilator MIDL mendeteksi penggunaan satu atau beberapa pipa di antarmuka Anda. Oleh karena itu, ini mengkompilasi file IDL Anda dalam mode /Oicf .
MIDL2319
prosedur memiliki atribut yang memerlukan penggunaan /Oif, mode peralihan
Anda harus mengkompilasi prosedur [asinkron] dalam mode /Oif .
MIDL2320
persyaratan pengoptimalan yang bertentangan, tidak dapat mengoptimalkan
Kesalahan ini sering menunjukkan bahwa Anda menentukan mode pengkompilasi MIDL /Os dan /Oi (atau varian /Oi). Ini juga dapat berarti bahwa fitur yang Anda tentukan dalam file IDL dan ACL Memerlukan penggunaan kedua mode. Anda harus memilih satu mode atau mode lainnya untuk dioptimalkan.
MIDL2321
pipa tidak boleh berupa elemen array, atau anggota struktur atau serikat
Jenis data pipa hanya dapat menjadi parameter tingkat atas.
MIDL2322
penggunaan pipa tidak valid
Anda tidak dapat menggunakan pipa dengan atribut [transmit_as], [represent_as], atau [user_marshal]. Selain itu, pipa tidak dapat digunakan sebagai jenis pengembalian.
MIDL2323
fitur memerlukan opsi pengoptimalan yang ditafsirkan tingkat lanjut; gunakan -Oicf
Kesalahan ini menunjukkan bahwa sakelar baris perintah pengompilasi MIDL seperti /robust memerlukan penggunaan mode /Oicf .
MIDL2324
fitur memerlukan opsi pengoptimalan yang ditafsirkan tingkat lanjut; gunakan -Oicf
Peringatan ini menunjukkan bahwa sakelar baris perintah pengompilasi MIDL seperti /robust memerlukan penggunaan mode /Oicf .
MIDL2329
opsi pengoptimalan sedang dihapus, gunakan -Oic
Mode pengoptimalan /Oi1 ditentukan pada baris perintah MIDL. Mode ini tidak lagi didukung dan /Oicf harus digunakan sebagai gantinya.
MIDL2330
opsi pengoptimalan sedang dihapus, gunakan -Oicf
Mode pengoptimalan /Oi2 ditentukan pada baris perintah MIDL. Mode ini tidak lagi didukung dan /Oicf harus digunakan sebagai gantinya.
MIDL2331
opsi pengoptimalan sedang dihapus, gunakan -ic
Mode pengoptimalan i1 ditentukan dalam atribut ACF [optimize]. Mode ini tidak lagi didukung dan icf harus digunakan sebagai gantinya.
Contoh file ACF:
[optimize("i1")] roo();    //MIDL 2331
MIDL2332
opsi pengoptimalan sedang dihapus, gunakan -icf
Mode pengoptimalan i2 ditentukan dalam atribut ACF [optimize]. Mode ini tidak lagi didukung dan icf harus digunakan sebagai gantinya.
Contoh file ACF:
[optimize("i2")] roo();    //MIDL 2332
MIDL2333
switch -old dan -new sudah usang, gunakan -oldtlb dan -newtlb
Pesan ini usang dan tidak lagi dihilangkan oleh MIDL.
MIDL2334
nilai argumen ilegal
Varian sakelar baris perintah /O yang diizinkan meliputi /Os, /Oi, /Oic, /Oicf, dan /Oif.
MIDL2335
jenis ekspresi ilegal dalam konstanta
Ekspresi tidak mengevaluasi ke konstanta.
MIDL2336
jenis ekspresi ilegal dalam enum
Nilai enumerasi dalam definisi enum tidak mengevaluasi ke jenis integral.
MIDL2337
deklarasi maju yang tidak puas
Pengkompilasi MIDL tidak dapat menyelesaikan definisi deklarasi maju.
MIDL2338
sakelar bertentangan
Anda tidak dapat menggunakan sakelar baris perintah /osf dan /ms_ext saat Mengkompilasi file IDL. Anda harus memilih satu atau yang lain.
MIDL2339
MIDL tidak dapat menghasilkan informasi HOOKOLE untuk union yang tidak dapat di-rpc
Kesalahan ini kedaluarsa. Ini disediakan secara ketat untuk kompatibilitas mundur.
MIDL2340
tidak ada ekspresi kasus yang ditemukan untuk union
Setiap bidang serikat harus memiliki pernyataan kasus dengan ekspresi konstanta.
MIDL2341
[user_marshal] dan [wire_marshal] tidak didukung dengan bendera -Oi dan -Oic, gunakan -Os atau -Oicf
Atribut [user_marshal] dan [wire_marshal] memerlukan fitur pengoptimalan tertentu yang hanya tersedia di /Oicf (proxy tanpa kode dengan string format cepat) atau /Os (marshaling mode campuran).
MIDL2342
pipa tidak dapat digunakan dengan serialisasi data, yaitu [encode] dan/atau [dekode]
Anda tidak dapat meneruskan pipa sebagai parameter ke prosedur yang memiliki atribut [encode] atau [dekode].
MIDL2343
semua penunjuk antarmuka pipa harus menggunakan satu tidak langsung
Anda tidak dapat menggunakan penunjuk ke penunjuk ke antarmuka pipa dengan cara ini.
MIDL2344
[iid_is()] tidak dapat digunakan dengan penunjuk antarmuka pipa
Pesan ini kedaluarsa. Pesan ini tidak lagi digunakan oleh pengkompilasi.
MIDL2345
invalid atau inapplicable -lcid switch
Pengidentifikasi lokal (LCID) yang Anda tentukan tidak valid.
MIDL2346
lcid yang ditentukan berbeda dari spesifikasi sebelumnya
Nilai yang ditentukan dalam /lcid dan [lcid] berbeda. Pengkompilasi MIDL akan menggunakan yang terakhir ditentukan.
MIDL2347
importlib tidak diperbolehkan di luar blok pustaka
Semua pernyataan [importlib] harus terjadi di blok [pustaka].
MIDL2348
nilai titik mengambang tidak valid
Kesalahan ini tidak boleh dipancarkan oleh MIDL. Jika Anda melihat kesalahan ini, silakan laporkan bug ke Microsoft yang menyediakan semua file yang diperlukan untuk mereproduksi kesalahan, termasuk file IDL, file ACF, header, dll.
MIDL2349
anggota tidak valid
Prosedur tidak boleh menjadi anggota pustaka.
MIDL2350
kemungkinan anggota tidak valid
Untuk menjadi anggota pustaka yang valid, elemen pustaka harus berupa modul, dispinterface, coclass, pernyataan if, struktur, serikat, enumerasi, atau deklarasi maju.
MIDL2351
ketidakcocokan dalam jenis pipa dan antarmuka
Pesan ini kedaluarsa.
MIDL2352
string, array yang bervariasi, array yang sesuai, dan parameter penunjuk penuh mungkin tidak kompatibel dengan parameter pipa selama durasi
Metode yang menggabungkan satu atau beberapa string [in], berbagai array, array yang sesuai, dan parameter penunjuk penuh dan parameter pipa [in] menghasilkan pembuatan stub yang hanya berjalan pada urutan protokol ncacn_* dan ncalrpc pada komputer Windows. Menggunakan stub untuk melakukan panggilan pada urutan protokol ncadg_* atau menerima panggilan dari vendor OSF DCE RPC lainnya dapat menghasilkan kesalahan di server selama durasi. Kesalahan ini terjadi dimulai dengan Windows Server 2003.
MIDL2353
parameter harus dalam
Handel asinkron harus berupa parameter [in].
MIDL2354
jenis parameter objek [asinkron] harus berupa penunjuk ganda ke antarmuka
Parameter harus berjenis IAsyncManager **.
MIDL2355
jenis handel asinkron yang salah
Jenis handel harus IAsyncManager atau jenis yang berasal dari IAsyncManager.
MIDL2356
sakelar "internal" memungkinkan fitur yang tidak didukung, gunakan dengan hati-hati
Hindari menggunakan sakelar ini.
MIDL2357
prosedur asinkron tidak dapat menggunakan handel otomatis
Prosedur dengan atribut [asinkron] memerlukan handel eksplisit.
MIDL2358
error_status_t akan memiliki kedua comm_status dan [fault_status]
Prosedur ditentukan dengan atribut IDL [mungkin] atau [pesan] tetapi jenis pengembalian hanya memiliki atribut ACF [comm_status] atau [fault_status]. Kedua atribut ACF diperlukan.
Contoh file ACF:
[comm_status] roo();    //MIDL 2358
[fault_status] bar();    //MIDL 2358
[comm_status, fault_status] baz();    //OK
MIDL2359
konstruksi ini hanya diperbolehkan dalam blok pustaka
Modul hanya dapat terjadi dalam blok pustaka.
MIDL2360
pendefinisian ulang tipe tidak valid
Jenis baru didefinisikan secara rekursif pada jenis yang tidak ada.
Contoh:
typedef roo roo[10];    //MIDL 2360
MIDL2361
prosedur dengan atribut [vararg] harus memiliki parameter SAFEARRAY(VARIANT) ; urutan param adalah [vararg], [lcid], [retval]
Sebagian besar parameter untuk prosedur dengan atribut [vararg] harus terjadi sebelum parameter SAFEARRAY(VARIANT). Parameter SAFEARRAY (VARIAN) harus ada. Jika daftar parameter berisi parameter dengan atribut [ lcid], daftar parameter harus mengikuti parameter SAFEARRAY(VARIANT). Jika daftar parameter berisi parameter dengan atribut [retval], itu harus terjadi setelah parameter dengan atribut [lcid].
MIDL2363
terlalu banyak metode dalam antarmuka, memerlukan Windows 2000 atau lebih tinggi
Pengkompilasi MIDL tidak mengizinkan lebih dari 1024 metode dalam antarmuka saat Anda mengkompilasi dalam mode /Oicf .
MIDL2364
switch sedang di-fase keluar
Sakelar berikut usang: /hookole, /env win16, dan /env.
MIDL2365
tidak dapat berasal dari IAdviseSink, IAdviseSink2, atau IAdviseSinkEx
Antarmuka ini tidak dapat diperluas.
MIDL2366
tidak dapat menetapkan nilai default
Menetapkan nilai default ke parameter diizinkan di Visual Basic, tetapi tidak di C++. Jika Anda menggunakan C++, nilai default diabaikan.
MIDL2367
pembuatan pustaka jenis untuk DOS/Win16/MAC tidak didukung
MIDL tidak mendukung pustaka tipe 16-bit.
MIDL2368
kesalahan saat menghasilkan pustaka jenis, diabaikan
Terjadi kesalahan nonfaktor saat menghasilkan pustaka tipe.
MIDL2369
ukuran tumpukan terlampaui untuk /Oi, menggunakan /Os
Mode pengoptimalan -Oi dibatasi hingga 128 byte ruang tumpukan untuk parameter. Pengkompilasi telah secara otomatis beralih ke mode pengoptimalan Os untuk mengatasi batasan ini.
Untuk menghindari peringatan ini, gunakan mode pengoptimalan -Oicf atau -Os. Mode pengoptimalan dapat diubah pada baris perintah dengan menentukan -Oicf atau -Os alih-alih -Oi atau dengan menambahkan atribut [optimize9"icf")] atau mengoptimalkan [("s")] ke fungsi dalam file ACF.
Peringatan ini biasanya terjadi saat meneruskan struktur besar sebagai parameter menurut nilai. Ukuran tumpukan yang diperlukan dapat diturunkan dengan meneruskan penunjuk ke struktur sebagai gantinya.
Contoh:
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a);    //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
MIDL2370
penggunaan /robust membutuhkan /Oicf, mode peralihan
Anda harus mengompilasi dalam mode /Oicf saat menentukan sakelar /robust pada baris perintah.
MIDL2371
rentang yang salah ditentukan
Nilai tertinggi yang ditentukan dalam atribut [rentang] kurang dari nilai terendah.
Contoh:
void roo([range(3,2)] int a);    //MIDL 2371
MIDL2372
kombinasi parameter [in] only dan [out] tidak valid untuk antarmuka [async_uuid]
Hanya kombinasi atribut sederhana dengan parameter [in] atau [out] yang diizinkan untuk jenis antarmuka ini.
MIDL2373
Platform DOS, Win16, dan MAC tidak didukung dengan /robust
MIDL mendukung sakelar /robust pada Microsoft Windows 2000 atau yang lebih baru.
MIDL2374
dukungan untuk proksi stubless gaya NT 3.51 untuk antarmuka objek akan dihapus; gunakan /Oif.
Mode ini usang. Gunakan /Oif atau /Oicf.
MIDL2375
[encode] atau [dekode] dengan /robust memerlukan /Oicf
Serialisasi tidak dapat dilakukan ketika sakelar /robust ditentukan.
MIDL2377
atribut yang berkonflik ditentukan
Kedua context_handle_serialize dan [context_handle_noserialize] ditentukan.
MIDL2378
[serialisasi], [noserialize] dapat diterapkan ke context_handles
Atribut ACF [context_handle_serialize] atau [context_handle_noserialize] hanya dapat diterapkan pada jenis yang merupakan handel konteks.
Contoh file IDL:
typedef /*[context_handle] */ void *PV;    //Note: PV is *not* a context handle.
Contoh file ACF:
typedef [context_handle_serialize] PV;    //MIDL 2378
MIDL2379
Pengkompilasi mencapai batas untuk representasi string format. Lihat dokumentasi untuk saran.
Pengkompilasi MIDL memiliki batas 64 KB untuk string format. Kesalahan ini umumnya terjadi ketika file IDL menyertakan file IDL lainnya. File IDL komposit yang dihasilkan oleh semua pernyataan include melebihi batas tabel representasi jenis interpreter mesin marshaling. Coba gunakan direktif impor daripada direktif sertakan dalam file IDL Anda. Untuk informasi selengkapnya, lihat Mengimpor File Header Sistem, menyertakan, dan mengimpor.
MIDL2380
format kawat mungkin salah, Anda mungkin perlu menggunakan -ms_conf_struct, lihat dokumentasi untuk saran
Pengkompilasi MIDL tidak dapat menghasilkan format yang dapat ditransmisikan untuk data. Salah satu cara umum untuk mendapatkan kesalahan ini adalah dengan menentukan ms_conf_struct di dalam struktur yang kompleks.
MIDL2381
ukuran tumpukan atau offset yang lebih besar dari batas 64 K. Lihat dokumentasi untuk saran.
Panggilan menghasilkan tumpukan yang lebih besar dari 64 KB. Coba teruskan data dalam blok yang lebih kecil.
MIDL2382
mode interpreter yang dipaksa untuk platform 64-bit
Platform 64-bit memerlukan mode kompilasi /Oicf.
MIDL2383
Ukuran elemen array lebih besar dari batas 64 KB.
Semua elemen array harus berukuran kurang dari 64 KB.
MIDL2384
hanya ada satu parameter [Icid] dalam metode , dan harus terakhir atau kedua untuk bertahan jika parameter terakhir memiliki [retval]
Parameter dengan atribut [lcid] harus terjadi terakhir. Satu-satunya pengecualian adalah ketika ada juga parameter dengan atribut [retval]. Ketika keduanya terjadi, parameter kedua hingga terakhir dalam daftar parameter harus memiliki atribut [ lcid]. Parameter terakhir harus memiliki atribut [retval].
MIDL2385
sintaks yang salah untuk midl_pragma
Kompilator MIDL mendeteksi kesalahan sintaks yang tidak diketahui dalam pernyataan midl_pragma.
MIDL2386
__int3264 tidak didukung dalam mode /osf
Jika Anda perlu menggunakan __int3264, kompilasi dalam mode /ms-ext.
MIDL2387
simbol tidak terselesaikan dalam pustaka jenis
Pengkompilasi tidak dapat menyelesaikan deklarasi formal atau tipe yang direferensikan dalam pustaka tipe.
MIDL2388
pipa asinkron tidak dapat diteruskan oleh nilai
Pipa asinkron harus diteruskan oleh referensi atau alamat.
MIDL2389
offset parameter melebihi batas 64 KB untuk prosedur yang ditafsirkan
Kesalahan ini biasanya berarti bahwa prosedur memiliki terlalu banyak parameter.
MIDL2390
elemen array tidak valid
Pipa tidak dapat digunakan sebagai elemen array.
MIDL2391
anggota dispinterface harus berupa metode, properti, atau antarmuka
Dispinterface tidak boleh berisi definisi jenis, struktur, enumerasi, atau serikat pekerja.
MIDL2392
Prosedur [lokal] tanpa [call_as]
Prosedur objek yang memiliki atribut [lokal] juga memerlukan atribut [call_as].
MIDL2393
vektor multi dimensi, beralih ke /Oicf
Mode pengoptimalan /Os tidak mendukung array ukuran nonfiks multidimensi. Pengkompilasi telah secara otomatis mengalihkan mode pengoptimalan ke /Oicf untuk fungsi ini.
Peringatan ini dapat ditekan secara global dengan mengubah mode pengompilasi dengan menentukan /Oicf pada baris perintah MIDL atau dengan menggunakan peringatan midl_pragma (nonaktifkan: 2393) dalam file IDL. Mode pengoptimalan dapat diubah untuk fungsi individual dengan menambahkan atribut [optimize("icf")] ke fungsi dalam file ACF.
Contoh berikut menunjukkan peringatan ini:
void roo(long s1, [size_is(s1)] long a[][30];    //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
MIDL2395
jenis atau konstruksi tidak didukung dalam blok pustaka karena dukungan Oleaut32.dll untuk jenis polimorfik 64 KB hilang
Otomatisasi OLE tidak mendukung jenis polimorfik (seperti _int3264, INT_PTR, dll). Jenis ini memiliki representasi data yang tidak kompatibel antara platform 32-bit dan 64-bit. Panggilan jarak jauh akan gagal pada durasi pada platform 64-bit.

Catatan:
Perhatikan bahwa pada rilis Windows 2000, file TLB 64-bit didukung oleh OLE Automation dengan mengonversi informasi TLB 32-bit pada durasi. Oleh karena itu, hanya generasi TLB 32-bit yang didukung oleh MIDL.


Jika MIDL digunakan hanya untuk menghasilkan file header, sakelar /notlb akan menekan pembuatan file TLB.

MIDL2396
kode interpreter lama yang dihasilkan untuk 64b
Kesalahan ini kedaluarsa. Jika Anda melihat kesalahan ini, laporkan bug ke Microsoft yang memberikan file IDL, file ACF, dan baris perintah MIDL lengkap Anda.
MIDL2397
sakelar pengkompilasi tidak didukung lagi
Sakelar atau sakelar yang ditentukan tidak lagi didukung.
MIDL2398
tidak dapat menjalankan mesin MIDL
Pada rilis Windows 2000 (MIDL versi 5.03.279), kompilator MIDL diimplementasikan menggunakan dua file yang dapat dieksekusi: Midl.exe (driver), dan Midlc.exe (mesin kompilator). Kesalahan ini menunjukkan Midl.exe tidak dapat meluncurkan Midlc.exe. Pastikan Midlc.exe berada dalam direktori yang sama dengan Midl.exe, dan versinya sama.
Kesalahan mungkin disebabkan oleh penyalinan Midl.exe tetapi tidak Midlx.exe dari distribusi terbaru. Jalankan midl dan/atau midlc di baris perintah tanpa parameter apa pun untuk melihat nomor versi executable.
MIDL2399
perintah buruk dari driver
Pada rilis Windows 2000 (MIDL versi 5.03.279), pengkompilasi MIDL diimplementasikan menggunakan dua file yang dapat dieksekusi: Midl.exe (driver), dan Midlc.exe (mesin pengkompilasi). Kesalahan ini menunjukkan bahwa file sementara yang digunakan untuk meneruskan perintah dari Midl.exe ke Midlc.exe hilang atau rusak. Pastikan Midlc.exe berada dalam direktori yang sama dengan Midl.exe, dan versinya sama.
Kesalahan mungkin disebabkan oleh upaya untuk menjalankan Midlc.exe secara langsung atau dengan menyalin Midl.exe tetapi tidak Midlc.exe dari distribusi terbaru. Jalankan midl dan/atau midlc di baris perintah tanpa parameter apa pun untuk melihat nomor versi yang dapat dieksekusi.
MIDL2400
untuk otomatisasi ole, parameter opsional harus VARIAN atau VARIAN *
Otomatisasi OLE mengharuskan semua parameter [opsional] berjenis VARIAN atau VARIAN*.
Dalam otomatisasi OLE, menggunakan parameter non-VARIAN dapat menyebabkan panggilan gagal pada durasi atau meneruskan data yang tidak terdefinisi untuk parameter [opsional].
MIDL2401
[defaultvalue] diterapkan ke non-VARIANT dan [opsional]. Silakan hapus [opsional]
Atribut [defaultvalue] menyiratkan [opsional]. Atribut [ opsional] tidak diperlukan.
MIDL2402
Atribut [opsional] tidak dapat diterapkan di luar blok pustaka
Fungsionalitas yang tersirat oleh atribut [ opsional] tidak berlaku untuk proksi yang dihasilkan untuk antarmuka di luar blok pustaka.
MIDL2403
Jenis data parameter [Icid] harus panjang
OLE Automation mengharuskan parameter dengan atribut [Icid] harus berjenis panjang.
MIDL2404
prosedur dengan [propput], [propget] atau [propref] tidak dapat memiliki lebih dari satu parameter yang diperlukan setelah [opsional] satu
Tidak boleh ada lebih dari satu parameter tanpa [opsional] setelah parameter terakhir dengan [opsional] saat menggunakan [propput], [propget], atau [ propputref].
MIDL2405
[comm_status] atau [fault_status] dengan pickling membutuhkan -Oicf
Mode pengoptimalan -Oi lama tidak mendukung prosedur atau parameter dengan [ comm_status] atau [ fault_status] dengan pickling (yaitu, menggunakan [ encode] dan/atau [ dekode]).
Peringatan ini dapat ditekan secara global dengan menentukan -Oicf pada baris perintah MIDL atau untuk fungsi individual dengan menambahkan atribut [optimize("icf:)] ke fungsi dalam file ACF.
Secara umum, mode pengoptimalan -Oicf direkomendasikan melalui mode -Oi .
MIDL2406
driver midl dan versi kompilator tidak cocok
Pada rilis Windows 2000 (MIDL versi 5.03.279) pengkompilasi MIDL diimplementasikan menggunakan dua file yang dapat dieksekusi: Midl.exe (driver), dan Midlc.exe (mesin pengkompilasi). Kesalahan ini menunjukkan bahwa versi Midl.exe tidak cocok dengan versi Midlc.exe.
Kesalahan mungkin disebabkan oleh penyalinan Midl.exe tetapi tidak Midlc.exe dari distribusi terbaru. Jalankan midl dan/atau midlc di baris perintah tanpa parameter apa pun untuk melihat nomor versi yang dapat dieksekusi.
MIDL2407
tidak ada file perantara yang ditentukan: gunakan Midl.exe
Pada rilis Windows 2000 (MIDL versi 5.03.279), pengkompilasi MIDL diimplementasikan menggunakan dua file yang dapat dieksekusi: Midl.exe (driver), dan Midlc.exe (mesin pengkompilasi). Kesalahan ini menunjukkan bahwa Midlc.exe dijalankan secara langsung alih-alih menggunakan Midl.exe.
MIDL2408
masalah pemrosesan dengan parameter dalam prosedur
Kesalahan ini dapat dilihat saat mengimpor data dari TLB dan ketika prosedur memiliki parameter yang tidak valid.
Jika Anda melihat kesalahan ini, laporkan bug ke Microsoft. Tentukan file IDL, file ACF, file TLB, dan baris perintah MIDL lengkap.
MIDL2409
masalah pemrosesan dengan bidang dalam struktur
Kesalahan ini dapat dilihat saat mengimpor data dari TLB dan ketika struktur memiliki struktur atau bidang union yang tidak valid.
Jika Anda melihat kesalahan ini, laporkan bug ke Microsoft. Tentukan file IDL, file ACF, file TLB, dan baris perintah MIDL lengkap.
MIDL2410
inkonsistensi kompilator internal terdeteksi: offset string format tidak valid. Lihat dokumentasi untuk informasi selengkapnya.
Kompilator MIDL mendeteksi nilai yang tidak valid dalam struktur data internalnya. Ini mungkin disebabkan oleh struktur yang rekursif atau oleh kompilator yang melanggar batas representasinya sendiri untuk data internal. Untuk mengidentifikasi dan/atau mengatasi masalah, cobalah untuk menyederhanakan file IDL. Anda dapat melakukan ini dengan menyederhanakan parameter kompleks dan struktur data rekursif atau membuat file IDL lebih kecil dengan memisahkannya. Pesan ini dapat disertai dengan cetakan diagnostik dengan informasi tambahan tentang masalah tersebut.
Jika Anda melihat kesalahan ini, laporkan bug ke Microsoft. Tentukan file IDL Anda, file ACF, baris perintah MIDL lengkap, dan output diagnostik, jika ada.
MIDL2411
inkonsistensi kompilator internal terdeteksi: offset jenis tidak valid. Lihat dokumentasi untuk informasi selengkapnya.
Kompilator MIDL mendeteksi nilai yang tidak valid dalam struktur data internalnya. Ini mungkin disebabkan oleh struktur yang rekursif atau oleh kompilator yang melanggar batas representasinya sendiri untuk data internal. Untuk mengidentifikasi dan/atau mengatasi masalah, coba sederhanakan file IDL. Anda dapat melakukan ini dengan menyederhanakan parameter kompleks dan struktur data rekursif atau dengan membuat file IDL lebih kecil dengan memisahkannya. Pesan ini dapat disertai dengan cetakan diagnostik dengan informasi tambahan tentang masalah tersebut.
Jika Anda melihat kesalahan ini, laporkan bug ke Microsoft. Tentukan file IDL Anda, file ACF, baris perintah MIDL lengkap, dan output diagnostik, jika ada.
MIDL2412
Sintaks SAFEARRAY(roo) tidak didukung di luar blok pustaka, gunakan LPSAFEARRAY untuk proksi
SAFEARRAY yang ditik secara eksplisit tidak diperbolehkan di luar blok pustaka. Gunakan LPSAFEARRAY sebagai gantinya.
Contoh berikut menunjukkan kesalahan ini:
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a);         //OK
MIDL2413
bidang bit tidak didukung
Bidang bit gaya C tidak didukung oleh MIDL. Ini berlaku untuk pembuatan proksi serta pembuatan TLB.
MIDL2414
floating point atau jenis pengembalian kompleks dengan [dekode] tidak didukung di -Oicf, menggunakan -OI
Prosedur dengan jenis floating point atau structure/union return tidak didukung dalam acar gaya -Oicf. Pekerjaan untuk 32-bit adalah menggunakan mode pengoptimalan -Oi saat menserialisasikan data (menggunakan [encode] dan/atau [dekode]). Namun, karena penerjemah gaya -Oi lama dan dukungan pengambilan dijadwalkan untuk di-fase setelah rilis Windows 2000, menggunakan pointer sangat disarankan sebagai pekerjaan untuk masalah ini. Perhatikan juga bahwa biasanya, mengubah metode antarmuka untuk menggunakan penunjuk [out, ref] alih-alih nilai pengembalian yang menyebabkan masalah sepenuhnya kompatibel mundur pada kawat dan dapat dengan mudah disembunyikan dari lapisan aplikasi.
Peringatan ini dapat ditekan secara global dengan menentukan -Oi pada baris perintah MIDL atau untuk fungsi individual dengan menambahkan atribut [optimize("i")] ke fungsi dalam file ACF.
Contoh berikut menunjukkan masalahnya:
roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Salah satu opsi untuk mengatasi batasan ini adalah meneruskan parameter [out] untuk menahan hasilnya alih-alih menggunakan nilai yang dikembalikan:
roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
Seperti disebutkan sebelumnya, solusi yang dijelaskan di atas baik tidak hanya untuk antarmuka baru tetapi juga sebagai solusi untuk yang lama. Representasi kawat untuk argumen "keluar" baru sama dengan untuk nilai yang dikembalikan (perhatikan batal sebagai nilai pengembalian baru).
MIDL2415
jenis pengembalian tidak didukung untuk 64-bit saat menggunakan [dekode]
Prosedur dengan jenis floating point atau structure/union return tidak didukung dalam mode 64-bit saat melakukan serialisasi data (menggunakan [ encode] dan/atau [ dekode]). Ini terkait dengan interpreter gaya lama -Oi dan serializer data yang tidak didukung pada platform 64-bit. Silakan lihat deskripsi MIDL2414 untuk informasi lebih lanjut.
Contoh berikut menunjukkan kesalahan ini:
roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Berikut ini disarankan sebagai solusi untuk antarmuka baru dan lama. Gunakan parameter [out] untuk menahan hasilnya alih-alih menggunakan nilai yang dikembalikan:
roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
Perhatikan bahwa solusi ini sepenuhnya kompatibel mundur pada kawat, karena representasi kawat dari pointer [ref, out] atau double sama dengan yang ganda.
MIDL2416
jenis yang dikirimkan tidak boleh berisi penunjuk penuh untuk [wire_marshal] atau [user_marshal]
Jenis dengan atribut [ wire_marshal] atau [ user_marshal] mungkin tidak berisi penunjuk penuh ([ ptr]). Gunakan [ unik] atau [ ref] sebagai gantinya.
Contoh berikut menunjukkan kesalahan ini:
typedef struct
{
    [ptr] long *a;    //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
    long a;
}
st2:
void roo(st2 *s);    //MIDL2416
MIDL2417
jenis yang dikirimkan harus berupa pointer atau memiliki ukuran konstan untuk [wire_marshal] dan [user_marshal]
Jenis tingkat atas dengan atribut [ wire_marshal] atau [ user_marshal] harus memiliki ukuran yang terdefinisi dengan baik pada waktu kompilasi. Mereka tidak boleh atau berisi array yang sesuai atau berukuran bervariasi.
Contoh berikut menunjukkan kesalahan ini:
typedef struct        //Type contains variable-sized array
{
    long s;
    [size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
    long a;
}
st2;
void roo(st2 *s);        //MIDL2417
MIDL2418
prosedur dengan [propget] harus memiliki setidaknya satu parameter atau nilai yang dikembalikan
Prosedur dengan atribut [propget] harus memiliki beberapa cara untuk mengembalikan nilai properti. Mereka harus memiliki setidaknya satu parameter [out] atau nilai yang dikembalikan.
MIDL2461
Atribut [readonly] diterapkan pada tingkat metode.
Atribut [readonly] hanya dapat diterapkan pada tingkat parameter.
MIDL2465
Struktur yang berisi array yang sesuai harus diteruskan oleh referensi
Parameter tingkat atas dalam RPC harus memiliki ukuran yang terdefinisi dengan baik pada waktu kompilasi. Mereka tidak boleh, juga tidak berisi array yang sesuai atau berukuran bervariasi. Selain itu, pengguna tidak dapat mengodekan/mendekode jenis tanpa ukuran yang ditentukan dengan baik. Aplikasi perlu meneruskan struct/conformant yang sesuai dengan struct berdasarkan referensi.
Contoh berikut menunjukkan kesalahan ini:
typedef struct        //Type contains variable-sized array
{
    long s;
    [size_is(s)] char a[];
}
st1;
void roo(st1 s);        //MIDL2465
 
on .acf file
typedef [encode,decode] st1; //MIDL2465
MIDL9008
kode> kesalahan sistem masalah <kompilator internal - pengkompilasi tidak dapat dilanjutkan karena alasan yang tidak diketahui. Lihat dokumentasi untuk solusinya.
Pengkompilasi tidak dapat dilanjutkan dan penyebab kesalahan tidak diketahui. Nomor kesalahan heksadesimal adalah pengidentifikasi kesalahan sistem. Kompilasi mungkin gagal karena masalah eksternal, seperti kondisi kehabisan memori. Dalam hal ini, Anda dapat menemukan informasi lebih lanjut di Winerror.h atau Ntstatus.h.
Ada dua situasi yang biasanya menghasilkan kesalahan ini:
  • Pengkompilasi MIDL gagal dipulihkan setelah mendeteksi kesalahan dalam file IDL. Jika MIDL mengembalikan pesan kesalahan tentang file IDL Anda, coba perbaiki dan kompilasi ulang. Jika tidak ada pesan kesalahan, pengkompilasi mungkin gagal sebelum dapat melaporkan kesalahan. Cari kesalahan sintaks pada baris di mana kesalahan pengkompilasi internal dilaporkan.
  • Pengkompilasi MIDL tidak dapat menghasilkan kode yang benar di bawah opsi pengoptimalan yang ditentukan. Coba ubah mode kompilator, kompilasi dalam pengoptimalan mode campuran (/Os), atau hapus semua pengoptimalan. Atau, kompilasi ulang menggunakan bendera /NO_FORMAT_OPT untuk menekan pengoptimalan default MIDL dari prosedur dan jenis deskriptor.
Terkadang kesalahan ini terjadi bahkan ketika file IDL sudah benar dan tidak ada opsi pengoptimalan yang digunakan. Jika demikian, coba tulis ulang bagian kode di sekitar tempat kesalahan dilaporkan dengan menghapus modifikasi terbaru, menyederhanakan atau mengatur ulang jenis data, mengubah prototipe, atau mulai mengomentari bagian file IDL untuk menemukan kode masalah.
Jika tidak ada opsi ini yang berfungsi, atau jika Anda merasa masalahnya mungkin terkait dengan bug di Midl.exe, harap beri tahu Microsoft, berikan semua detail yang relevan.