Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kata kerja RUI_BID memberi tahu aplikasi Request Unit Interface (RUI) bahwa pesan menunggu untuk dibaca menggunakan RUI_READ.
Struktur berikut menjelaskan anggota LUA_COMMON blok kontrol kata kerja (VCB) yang digunakan oleh RUI_BID:
Penyatuan sintaks kedua menjelaskan anggota LUA_SPECIFIC blok kontrol kata kerja (VCB) yang digunakan oleh RUI_BID. Anggota serikat lainnya dihilangkan untuk kejelasan:
Sintaksis
struct LUA_COMMON {
unsigned short lua_verb;
unsigned short lua_verb_length;
unsigned short lua_prim_rc;
unsigned long lua_sec_rc;
unsigned short lua_opcode;
unsigned long lua_correlator;
unsigned char lua_luname[8];
unsigned short lua_extension_list_offset;
unsigned short lua_cobol_offset;
unsigned long lua_sid;
unsigned short lua_max_length;
unsigned short lua_data_length;
char FAR * lua_data_ptr;
unsigned long lua_post_handle;
struct LUA_TH lua_th;
struct LUA_RH lua_rh;
struct LUA_FLAG1 lua_flag1;
unsigned char lua_message_type;
struct LUA_FLAG2 lua_flag2;
unsigned char lua_resv56[7];
unsigned char lua_encr_decr_option;
};
union LUA_SPECIFIC {
unsigned char lua_peek_data[12];
};
Anggota
lua_verb
Parameter yang disediakan. Berisi kode kata kerja, LUA_VERB_RUI untuk kata kerja RUI.
lua_verb_length
Parameter yang disediakan. Menentukan panjang byte aplikasi unit logis (LUA) VCB. Ini harus berisi panjang catatan kata kerja yang dikeluarkan.
lua_prim_rc
Kode pengembalian utama yang ditetapkan oleh LUA pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja LUA yang dikeluarkan.
lua_sec_rc
Kode pengembalian sekunder yang ditetapkan oleh LUA pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja LUA yang dikeluarkan.
lua_opcode
Parameter yang disediakan. Berisi kode perintah LUA (kode operasi kata kerja) agar kata kerja dikeluarkan, LUA_OPCODE_RUI_BID.
lua_correlator
Parameter yang disediakan. Berisi nilai yang disediakan pengguna yang menautkan kata kerja dengan informasi lain yang disediakan pengguna. LUA tidak menggunakan atau mengubah informasi ini. Parameter ini bersifat opsional.
lua_luname
Parameter yang disediakan. Menentukan nama ASCII dari LU lokal yang digunakan oleh sesi LUA Windows.
RUI_BID hanya memerlukan parameter ini jika lua_sid nol.
Parameter ini panjangnya delapan byte, diisi di sebelah kanan dengan spasi (0x20) jika namanya lebih pendek dari delapan karakter.
lua_extension_list_offset
Tidak digunakan oleh RUI di Microsoft® Host Integration Server dan harus diatur ke nol.
lua_cobol_offset
Tidak digunakan oleh LUA di Server Integrasi Host dan harus nol.
lua_sid
Parameter yang disediakan. Menentukan pengidentifikasi sesi dan dikembalikan oleh SLI_OPEN dan RUI_INIT. Kata kerja lain menggunakan parameter ini untuk mengidentifikasi sesi yang digunakan untuk perintah . Jika kata kerja lain menggunakan parameter lua_luname untuk mengidentifikasi sesi, atur parameter lua_sid ke nol.
lua_max_length
Tidak digunakan oleh RUI_BID dan harus diatur ke nol.
lua_data_length
Parameter yang dikembalikan. Menentukan panjang data yang dikembalikan dalam lua_peek_data untuk RUI_BID.
lua_data_ptr
Parameter ini tidak digunakan dan harus diatur ke nol.
lua_post_handle
Parameter yang disediakan. Digunakan di bawah Microsoft Windows Server jika pemberitahuan asinkron akan dicapai oleh peristiwa. Variabel ini berisi handel peristiwa yang akan disinyalir atau handel jendela.
lua_th
Parameter yang dikembalikan. Berisi header transmisi SNA (TH) pesan yang diterima. Berbagai subparameter diatur untuk fungsi tulis dan dikembalikan untuk fungsi baca dan bid. Subparameternya adalah sebagai berikut:
lua_th.flags_fid
Format identifikasi tipe 2, empat bit.
lua_th.flags_mpf
Bidang pemetaan segmenting, dua bit. Menentukan jenis segmen data. Nilai berikut ini valid:
segmen 0x00 Tengah0x04 Segmen terakhir0x08 Segmen pertama0x0C Segmen saja
lua_th.flags_odai
Indikator penugasan bidang alamat asal–alamat tujuan (OAF–DAF), satu bit.
lua_th.flags_efi
Indikator alur yang dipercepat, satu bit.
lua_th.daf
Bidang alamat tujuan (DAF), karakter yang tidak ditandatangani.
lua_th.oaf
Bidang alamat asal (OAF), karakter yang tidak ditandatangani.
lua_th.snf
Bidang nomor urut, karakter yang tidak ditandatangani[2].
lua_rh
Parameter yang dikembalikan. Berisi header permintaan/respons SNA (RH) dari pesan yang dikirim atau diterima. Ini diatur untuk fungsi tulis dan dikembalikan oleh fungsi baca dan bid. Subparameternya adalah sebagai berikut:
lua_rh.rri
Indikator respons permintaan, satu bit.
lua_rh.ruc
Kategori RU, dua bit. Nilai berikut ini valid:
LUA_RH_FMD (0x00) segmen data FMLUA_RH_NC (0x20) Kontrol aliran dataLUA_RH_DFC (0x40) Kontrol sesi LUA_RH_SC (0x60) Kontrol aliran data (0x60)
lua_rh.fi
Indikator format, satu bit.
lua_rh.sdi
Merasakan data menyertakan indikator, satu bit.
lua_rh.bci
Mulai indikator rantai, satu bit.
lua_rh.eci
Indikator rantai akhir, satu bit.
lua_rh.dr1i
Indikator respons pasti 1, satu bit.
lua_rh.dr2i
Indikator respons pasti 2, satu bit.
lua_rh.ri
Indikator respons pengecualian (untuk permintaan), atau indikator jenis respons (untuk respons), satu bit.
lua_rh.qri
Indikator respons antrean, satu bit.
lua_rh.pi
Indikator pacing, satu bit.
lua_rh.bbi
Mulai indikator tanda kurung siku, satu bit.
lua_rh.ebi
Indikator tanda kurung akhir, satu bit.
lua_rh.cdi
Ubah indikator arah, satu bit.
lua_rh.csi
Indikator pemilihan kode, satu bit.
lua_rh.edi
Indikator data yang disandikan, satu bit.
lua_rh.pdi
Indikator data berlapis, satu bit.
lua_flag1
Parameter yang disediakan. Berisi struktur data yang berisi bendera untuk pesan yang disediakan oleh aplikasi. Subparameternya adalah sebagai berikut:
lua_flag1.bid_enable
Indikator pengaktifan bid, satu bit.
lua_flag1.close_abend
Tutup indikator langsung, satu bit.
lua_flag1.nowait
Tidak menunggu bendera data, satu bit.
lua_flag1.sscp_exp
Alur yang dipercepat SSCP, satu bit.
lua_flag1.sscp_norm
Aliran normal SSCP, satu bit.
lua_flag1.lu_exp
LU dipercepat alur, satu bit.
lua_flag1.lu_norm
Lu aliran normal, satu bit.
lua_message_type
Parameter yang dikembalikan. Menentukan jenis pesan SNA yang ditunjukkan ke RUI_BID. Nilai yang mungkin adalah:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
LUA_MESSAGE_TYPE_BID
LUA_MESSAGE_TYPE_BIND
LUA_MESSAGE_TYPE_BIS
LUA_MESSAGE_TYPE_CANCEL
LUA_MESSAGE_TYPE_CHASE
LUA_MESSAGE_TYPE_CLEAR
LUA_MESSAGE_TYPE_CRV
LUA_MESSAGE_TYPE_LUSTAT_LU
LUA_MESSAGE_TYPE_LUSTAT_SSCP
LUA_MESSAGE_TYPE_QC
LUA_MESSAGE_TYPE_QEC
LUA_MESSAGE_TYPE_RELQ
LUA_MESSAGE_TYPE_RQR
LUA_MESSAGE_TYPE_RTR
LUA_MESSAGE_TYPE_SBI
LUA_MESSAGE_TYPE_SHUTD
LUA_MESSAGE_TYPE_SIGNAL
LUA_MESSAGE_TYPE_SDT
LUA_MESSAGE_TYPE_STSN
LUA_MESSAGE_TYPE_UNBIND
Antarmuka Tingkat Sesi (SLI) menerima dan merespons permintaan BIND, CRV, dan STSN melalui rutinitas ekstensi antarmuka LUA.
LU_DATA, LUSTAT_LU, LUSTAT_SSCP, dan SSCP_DATA bukan perintah SNA.
lua_flag2
Parameter yang dikembalikan. Berisi bendera untuk pesan yang dikembalikan oleh LUA. Subparameternya adalah sebagai berikut:
lua_flag2.bid_enable
Menunjukkan bahwa RUI_BID berhasil diaktifkan kembali jika diatur ke 1.
lua_flag2.asinkron
Menunjukkan bahwa kata kerja antarmuka LUA selesai secara asinkron jika diatur ke 1.
lua_flag2.sscp_exp
Menunjukkan alur yang dipercepat SSCP jika diatur ke 1.
lua_flag2.sscp_norm
Menunjukkan alur normal SSCP jika diatur ke 1.
lua_flag2.lu_exp
Menunjukkan alur lu yang dipercepat jika diatur ke 1.
lua_flag2.lu_norm
Menunjukkan alur normal LU jika diatur ke 1.
lua_resv56
Dicadangkan dan harus diatur ke nol.
lua_encr_decr_option
Dicadangkan dan harus diatur ke nol.
lua_peek_data
Anggota serikat LUA_SPECIFIC yang digunakan oleh kata kerja RUI_BID dan SLI_BID. Parameter yang dikembalikan. Berisi hingga 12 byte data yang menunggu untuk dibaca.
Kode Pengembalian
LUA_OK
Kode pengembalian utama; kata kerja berhasil dijalankan.
LUA_CANCELED
Kode pengembalian utama; kata kerja tidak berhasil diselesaikan karena dibatalkan oleh kata kerja lain.
LUA_TERMINATED
Kode pengembalian sekunder; RUI_TERM dikeluarkan saat kata kerja ini tertunda.
LUA_PARAMETER_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena kesalahan parameter.
LUA_BAD_SESSION_ID
Kode pengembalian sekunder; nilai yang tidak valid untuk lua_sid ditentukan dalam VCB.
LUA_BID_ALREADY_ENABLED
Kode pengembalian sekunder; RUI_BID ditolak karena RUI_BID sebelumnya sudah luar biasa. Hanya satu RUI_BID yang bisa menjadi luar biasa kapan saja.
LUA_INVALID_POST_HANDLE
Kode pengembalian sekunder; untuk sistem operasi Windows yang menggunakan peristiwa sebagai metode posting asinkron, Windows LUA VCB tidak berisi handel peristiwa yang valid.
LUA_RESERVED_FIELD_NOT_ZERO
Kode pengembalian sekunder; bidang yang dipesan dalam catatan kata kerja, atau parameter yang tidak digunakan oleh kata kerja ini, diatur ke nilai bukan nol.
LUA_VERB_LENGTH_INVALID
Kode pengembalian sekunder; kata kerja LUA dikeluarkan dengan nilai lua_verb_length tidak terduga oleh LUA.
LUA_STATE_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena dikeluarkan dalam status tidak valid.
LUA_NO_RUI_SESSION
Kode pengembalian sekunder; RUI_INIT belum berhasil diselesaikan untuk nama LU yang ditentukan pada kata kerja ini.
LUA_UNSUCCESSFUL
Kode pengembalian utama; catatan kata kerja yang disediakan valid, tetapi kata kerja tidak berhasil diselesaikan.
LUA_INVALID_PROCESS
Kode pengembalian sekunder; proses yang mengeluarkan kata kerja ini bukan proses yang sama yang dikeluarkan RUI_INIT untuk sesi ini. Hanya proses yang memulai sesi yang dapat mengeluarkan kata kerja pada sesi tersebut.
LUA_NEGATIVE_RSP
Kode pengembalian utama; LUA mendeteksi kesalahan dalam data yang diterima dari host. Alih-alih meneruskan pesan yang diterima ke aplikasi pada RUI_READ, LUA membuang pesan (dan rantai lainnya jika berada dalam rantai), dan mengirim respons negatif ke host.
LUA menginformasikan aplikasi pada RUI_READ atau RUI_BID berikutnya bahwa respons negatif dikirim.
Kode pengembalian sekunder berisi kode indra yang dikirim ke host pada respons negatif. Untuk informasi tentang menginterpretasikan nilai kode indra yang dapat dikembalikan, lihat Pertimbangan SNA Menggunakan LUA.
Kode pengembalian sekunder nol menunjukkan bahwa, mengikuti RUI_WRITE sebelumnya dari respons negatif terhadap pesan di tengah rantai, LUA sekarang telah menerima dan membuang semua pesan dari rantai ini.
LUA_COMM_SUBSYSTEM_ABENDED
Kode pengembalian utama; menunjukkan salah satu kondisi berikut:
Simpul yang digunakan oleh percakapan ini menemukan ABEND.
Koneksi antara program transaksi (TP) dan simpul unit fisik (PU) 2.1 telah rusak (kesalahan LAN).
SnaBase di komputer TPs mengalami ABEND.
LUA_SESSION_FAILURE
Kode pengembalian utama; komponen Server Integrasi Host yang diperlukan telah dihentikan.LUA_LU_COMPONENT_DISCONNECTED
Kode pengembalian sekunder; menunjukkan bahwa sesi LUA telah gagal karena masalah dengan layanan tautan atau dengan LU host.
LUA_RUI_LOGIC_ERROR
Kode pengembalian sekunder; kesalahan internal terdeteksi dalam LUA. Kesalahan ini tidak boleh terjadi selama operasi normal.
LUA_INVALID_VERB
Kode pengembalian utama; kode kata kerja atau kode operasi, atau keduanya, tidak valid. Kata kerja tidak dijalankan.LUA_STACK_TOO_SMALL
Kode pengembalian utama; ukuran tumpukan aplikasi terlalu kecil untuk menjalankan kata kerja. Tingkatkan ukuran tumpukan aplikasi Anda.LUA_COMM_SUBSYSTEM_NOT_LOADED
Kode pengembalian utama; komponen yang diperlukan tidak dapat dimuat atau telah dihentikan saat memproses kata kerja. Dengan demikian, komunikasi tidak dapat terjadi. Hubungi administrator sistem untuk tindakan korektif.LUA_UNEXPECTED_DOS_ERROR
Kode pengembalian utama; setelah mengeluarkan panggilan sistem operasi, kode pengembalian sistem operasi yang tidak terduga diterima dan ditentukan dalam kode pengembalian sekunder.
Komentar
RUI_BID digunakan oleh aplikasi yang memerlukan pemberitahuan bahwa pesan sedang menunggu untuk dibaca. Ini memungkinkan aplikasi untuk menentukan bagaimana aplikasi akan menangani pesan sebelum mengeluarkan RUI_READ.
Saat pesan tersedia, RUI_BID kembali dengan detail alur pesan tempat pesan diterima, jenis pesan, TH dan RH pesan, dan hingga 12 byte data pesan.
Perbedaan utama antara RUI_BID dan RUI_READ adalah bahwa RUI_BID memungkinkan aplikasi untuk memeriksa data tanpa menghapusnya dari antrean pesan masuk, sehingga dapat dibiarkan dan diakses nanti. RUI_READ menghapus pesan dari antrean, jadi ketika aplikasi membaca data, aplikasi juga harus memprosesnya.
Perhatikan hal berikut saat menggunakan RUI_BID:
RUI_INIT harus berhasil diselesaikan sebelum kata kerja ini diterbitkan.
Hanya satu RUI_BID yang bisa menjadi luar biasa kapan saja.
Setelah RUI_BID berhasil diselesaikan, RUI_BID dapat diterbitkan kembali dengan mengatur lua_flag1.bid_enable pada RUI_READ berikutnya. Jika kata kerja diterbitkan kembali dengan cara ini, aplikasi tidak boleh membebaskan atau memodifikasi penyimpanan yang terkait dengan rekaman RUI_BID .
Jika pesan tiba dari host saat RUI_READ dan RUI_BID keduanya luar biasa, RUI_READ selesai dan RUI_BID dibiarkan sedang berlangsung.
Setiap pesan yang tiba hanya ditawari sekali. Setelah RUI_BID menunjukkan bahwa data menunggu alur sesi tertentu, aplikasi mengeluarkan RUI_READ untuk menerima data. Setiap RUI_BID berikutnya tidak melaporkan data yang tiba pada alur sesi tersebut hingga pesan yang diajukan telah diterima dengan mengeluarkan RUI_READ.
Secara umum, parameter lua_data_length yang dikembalikan pada kata kerja ini hanya menunjukkan panjang data dalam lua_peek_data, bukan panjang total data pada pesan tunggu (kecuali ketika nilai kurang dari 12 dikembalikan). Aplikasi harus memastikan bahwa panjang data pada RUI_READ yang menerima data cukup untuk berisi pesan.