Menggabungkan Parameter Pipa dan Nonpipe
Saat Anda menggabungkan jenis pipa dan jenis lain dalam panggilan prosedur jarak jauh, data dikirimkan sesuai dengan arah parameter:
- Dalam arah [in] , data untuk semua argumen nonpipe dikirimkan terlebih dahulu, diikuti oleh data pipa.
- Di arah [keluar] , server mengirim data pipa terlebih dahulu. Setelah rutinitas manajer kembali, server mengirimkan data nonpipe.
- Ketika ada argumen alur [in,out] yang dikombinasikan dengan argumen non-pipe [in,out ], pertama-tama data input dikirimkan secara keseluruhan, seperti yang dijelaskan sebelumnya. Kemudian, data output ditransmisikan seperti yang dijelaskan sebelumnya.
Pembatasan berikut berlaku untuk implementasi pipa (MIDL 3.0) ini: Ketika Anda menggabungkan jenis pipa dan jenis lain dalam satu panggilan prosedur jarak jauh, parameter nonpipe harus memiliki ukuran yang terdefinisi dengan baik untuk memungkinkan pengompilasi MIDL menghitung ukuran buffer yang diperlukan. Misalnya, Anda tidak dapat menggabungkan parameter pipa dengan penunjuk [ unik] atau struktur yang sesuai, karena ukurannya tidak dapat ditentukan pada waktu kompilasi.
Topik terkait