Bagikan melalui


Format String

String format adalah token yang ditafsirkan yang dipahami mesin NDR. String format sering disebut sebagai MOP; dokumentasi ini menggunakan istilah string format di seluruh.

Agar lebih tepat, karakter format adalah token individu (atom) yang dapat ditafsirkan. Setiap karakter format berukuran satu byte. String format adalah urutan karakter format atau karakter format dan data numerik. Istilah deskriptor juga digunakan untuk penamaan urutan umum; misalnya, string format parameter atau deskriptor parameter adalah string format yang digunakan untuk menjelaskan parameter rutinitas.

Karakter format memiliki nama simbolik yang menunjukkan seperti FC_LONG atau FC_STRUCT. Semua karakter string format yang digunakan oleh MIDL dan mesin NDR didefinisikan dalam file Ndrtypes.h.

Format Tabel String

Dua tabel string format utama digunakan oleh mesin: tabel string format prosedur, __MIDL_ProcFormatString, yang menyimpan deskriptor prosedur; dan jenis format tabel string, __MIDL_TypeFormatString, yang menyimpan deskriptor jenis data. Pengkompilasi menghasilkan keduanya ke dalam file stub utama (*_c.c, *_s.c, *_p.c). Tabel string format prosedur sebagian besar digunakan oleh berbagai interpreter tetapi juga digunakan untuk konversi buffer terlepas dari mode kompilator. Tabel string format jenis digunakan saat memanggil mesin NDR inti untuk menunjukkan jenis data tertentu yang akan dikerjakan.

Notasi Format String

Notasi yang digunakan dalam dokumen ini mengikuti panduan deskripsi pemrograman umum, dengan bilah ( | ) yang digunakan untuk menunjukkan konstruksi alternatif dan kurung siku ( [ ] ) yang digunakan untuk menunjukkan elemen opsional. Format string sering dibuat berlapis untuk keterbacaan (akuntabilitas). Di seluruh dokumen ini, FC menandakan karakter format tunggal. Karakter format disajikan di semua CAPS, menggunakan nama simbolis aktualnya. Bidang arbitrer lainnya diwakili oleh nama dan ukuran.

Kurung sudut (<>) digunakan untuk menunjukkan ukuran deskriptor. Konvensi yang ditunjukkan dalam tabel berikut digunakan.

Notasi Arti
< n> Ukuran deskriptor adalah n byte.
<> Ukuran deskriptor bervariasi.
{<>}* Deskriptor diulang berapa kali (0,1,2 ...).

 

Karakter format berikut memiliki arti khusus.

Karakter Arti
FC_END Menunjukkan akhir dari beberapa string format.
FC_PAD Karakter pad yang tidak diinterpretasikan.