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_INIT mentransfer kontrol unit logis (LU) yang ditentukan ke aplikasi aplikasi unit logis (LUA) Microsoft® Windows®. RUI_INIT menetapkan sesi antara titik kontrol layanan sistem (SSCP) dan LU yang ditentukan.
Nota
Untuk pengguna emulator 3270, ekstensi Microsoft Host Integration Server telah ditambahkan yang memungkinkan Anda menggunakan 3270 LUs daripada LUA LUs. Untuk informasi selengkapnya, lihat Keterangan dalam topik ini.
Struktur berikut menjelaskan anggota LUA_COMMON blok kontrol kata kerja (VCB) yang digunakan oleh RUI_INIT.
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;
};
Anggota
lua_verb
Parameter yang disediakan. Berisi kode kata kerja, LUA_VERB_RUI untuk kata kerja Request Unit Interface (RUI).
lua_verb_length
Parameter yang disediakan. Menentukan panjang dalam byte DARI 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_INIT.
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_INIT memerlukan parameter ini.
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 Server Integrasi Host dan harus diatur ke nol.
lua_cobol_offset
Tidak digunakan oleh LUA di Server Integrasi Host dan harus nol.
lua_sid
Parameter yang dikembalikan. Menentukan pengidentifikasi sesi.
lua_max_length
Tidak digunakan oleh RUI_INIT dan harus diatur ke nol.
lua_data_length
Tidak digunakan oleh RUI_INIT dan harus diatur ke nol.
lua_data_ptr
Tidak digunakan oleh RUI_INIT 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
Tidak digunakan oleh RUI_INIT dan harus diatur ke nol.
lua_rh
Tidak digunakan oleh RUI_INIT dan harus diatur ke nol.
lua_flag1
Tidak digunakan oleh RUI_INIT dan harus diatur ke nol.
lua_message_type
Menentukan jenis perintah dan data SNA masuk atau keluar. Ini adalah parameter yang dikembalikan untuk RUI_INIT. 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.
lua_flag2.asinkron
Menunjukkan bahwa kata kerja antarmuka LUA selesai secara asinkron jika diatur ke 1.
RUI_INIT selalu selesai secara asinkron kecuali mengembalikan kesalahan seperti LUA_PARAMETER_CHECK).
lua_resv56
Parameter yang disediakan. Bidang khusus yang digunakan oleh RUI_INIT dan SLI_OPEN. Semua bidang cadangan lainnya dalam array harus dibiarkan kosong. Untuk informasi selengkapnya, lihat diskusi ekstensi Server Integrasi Host ini di bagian Keterangan.
lua_resv56[1]
Parameter yang disediakan. Menunjukkan apakah aplikasi RUI dapat mengakses LUs yang dikonfigurasi sebagai 3270 RU, selain LUA LUs. Jika parameter ini bukan nol, 3270 LUs dapat diakses.
lua_resv56[2]
Parameter yang disediakan. Menunjukkan apakah pustaka RUI akan merilis LU ketika sesi LU-SSCP atau koneksi hilang. Jika parameter ini bukan nol, LU tidak akan dirilis.
lua_resv56[3]
Parameter yang disediakan. Menunjukkan apakah bacaan yang tidak lengkap didukung. Jika parameter ini diatur ke nilai bukan nol, bacaan yang tidak lengkap atau terpotong didukung. Untuk detail selengkapnya, lihat keterangan untuk RUI_READ.
lua_resv56[4]
Parameter yang disediakan. Menunjukkan apakah pustaka RUI akan memungkinkan aplikasi untuk menyimpan LU jika didaur ulang di host. Jika parameter ini bukan nol, aplikasi dapat menyimpan LU.
lua_encr_decr_option
Bidang untuk opsi kriptografi. Pada RUI_INIT, hanya berikut ini yang didukung:
lua_encr_decr_option = 0
lua_encr_decr_option = 128
Nilai dari 1 hingga 127 tidak didukung.
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 sebelum RUI_INIT selesai.
LUA_PARAMETER_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena kesalahan parameter.
LUA_INVALID_LUNAME
Kode pengembalian sekunder; parameter lua_luname tidak cocok dengan nama LUA LU atau nama kumpulan LU dalam file konfigurasi.
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_DUPLICATE_RUI_INIT
Kode pengembalian sekunder; parameter lua_luname menentukan nama LU atau nama kumpulan LU yang sudah digunakan oleh aplikasi ini (atau yang aplikasi ini sudah RUI_INIT sedang berlangsung).
LUA_UNSUCCESSFUL
Kode pengembalian utama; catatan kata kerja yang disediakan valid, tetapi kata kerja tidak berhasil diselesaikan.
LUA_COMMAND_COUNT_ERROR
Kode pengembalian sekunder, yang menunjukkan salah satu kesalahan berikut terjadi:
Kata kerja tidak dapat dikeluarkan karena aplikasi telah mencapai jumlah maksimum sesi aktifnya. Di Windows, aplikasi dapat memiliki sebanyak 15.000 sesi aktif kapan saja.
Kata kerja menentukan nama kumpulan LU atau nama LU dalam kumpulan, tetapi semua LUs di kumpulan sedang digunakan.
LUA_ENCR_DECR_LOAD_ERROR
Kode pengembalian sekunder; kata kerja menentukan nilai untuk lua_encr_decr_option selain 0 atau 128.
LUA_INVALID_PROCESS
Kode pengembalian sekunder; LU yang ditentukan oleh lua_luname sedang digunakan oleh proses lain.
LUA_LINK_NOT_STARTED
Kode pengembalian sekunder; koneksi ke host belum dimulai; tidak ada layanan tautan yang dapat digunakannya yang aktif.
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 gagal karena masalah dengan layanan tautan atau dengan LU host.
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
Kata kerja ini haruslah kata kerja LUA pertama yang dikeluarkan untuk sesi tersebut. Sampai kata kerja ini berhasil diselesaikan, satu-satunya kata kerja LUA lain yang dapat dikeluarkan untuk sesi ini adalah RUI_TERM (yang mengakhiri RUI_INIT yang tertunda).
Semua kata kerja lain yang dikeluarkan pada sesi ini harus mengidentifikasi sesi menggunakan salah satu parameter berikut dari kata kerja ini:
Pengidentifikasi sesi, dikembalikan ke aplikasi dalam lua_sid.
Nama LU atau nama kumpulan LU, disediakan oleh aplikasi dalam parameter lua_luname .
RUI_INIT selesai setelah pesan ACTLU diterima dari host. Jika perlu, kata kerja menunggu tanpa batas waktu. Jika ACTLU telah diterima sebelum RUI_INIT, LUA mengirim NOTIFY ke host untuk memberi tahu bahwa LU siap digunakan.
ACTLU maupun NOTIFY tidak terlihat oleh aplikasi LUA.
Setelah RUI_INIT berhasil diselesaikan, sesi ini menggunakan LU tempat sesi dimulai. Tidak ada sesi LUA lain (dari ini atau aplikasi lain) yang dapat menggunakan LU sampai RUI_TERM dikeluarkan, atau sampai kode pengembalian utama LUA_SESSION_FAILURE diterima.
Menggunakan 3270 LUs
Untuk menyediakan kemampuan kepada pengguna emulator 3270 untuk menggunakan panggilan konfigurasi Spesifikasi Antarmuka Emulator (EIS) dengan RUI API, ekstensi Server Integrasi Host telah ditambahkan ke RUI. Ekstensi ini memungkinkan Anda menggunakan 3270 LUs daripada LUA LUs. Jika aplikasi menetapkan lua_resv56[1] ke nilai bukan nol pada panggilan RUI_INIT , 3270 LUs dapat digunakan.
Jangan Rilis LU
Jika aplikasi menetapkan lua_resv56[2] ke nilai bukan nol pada panggilan RUI_INIT , pustaka RUI tidak akan merilis LU saat sesi atau koneksi LU-SSCP hilang. Ketika ekstensi Server Integrasi Host ini diaktifkan, aplikasi tidak perlu mengeluarkan RUI_INIT baru setelah kegagalan sesi atau kegagalan koneksi. Ketika sesi LU-SSCP muncul kembali (aplikasi dapat menggunakan WinRUIGetLastInitStatus untuk mendeteksinya), aplikasi dapat mulai menggunakannya lagi.
Mendukung Pemotongan pada Sesi ini
Jika aplikasi menetapkan lua_resv56[3] ke nilai bukan nol pada pembentukan sesi RUI_INIT , ini memungkinkan ekstensi Server Integrasi Host yang dapat mengubah perilaku RUI_READ. Perilaku default untuk panggilan RUI_READ adalah memotong data (membuang data yang tersisa) jika buffer data aplikasi tidak cukup besar untuk menerima semua data di RU, mengembalikan kode kesalahan. Ketika lua_resv56[3] diatur ke nilai bukan nol pada panggilan RUI_INIT , RUI_READ dikeluarkan di mana buffer data aplikasi tidak cukup besar tidak akan mengakibatkan data RU dibuang. Kata kerja RUI_READ akan mengembalikan keberhasilan (LUA_OK) untuk kode pengembalian utama dan LUA_DATA_INCOMPLETE untuk kode pengembalian sekunder. Permintaan RUI_READ berikutnya kemudian dapat dikeluarkan untuk mengambil data yang melebihi buffer data aplikasi.
Abaikan DACTLUs
Jika aplikasi menetapkan lua_resv56[4] ke nilai bukan nol pada pembentukan sesi RUI_INIT , ini memungkinkan ekstensi Server Integrasi Host, dan pustaka RUI akan memungkinkan aplikasi untuk menyimpan LU jika didaur ulang di host (yaitu, dinonaktifkan dan diaktifkan kembali).
Nota
Semua bidang cadangan lainnya harus dibiarkan kosong.
Untuk informasi selengkapnya, lihat deskripsi fungsi sepdcrec di bagian Bantuan Software Development Kit (SDK) pada Spesifikasi Antarmuka Emulator 3270.
Enkripsi
Kriptografi tingkat sesi diimplementasikan melalui permintaan Verifikasi Kriptografi (CRV). Aplikasi RUI harus melakukan semua pemrosesan permintaan ini yang diperlukan. Untuk semua antarmuka selain RUI, permintaan CRV ditolak dengan respons negatif oleh Server Integrasi Host.
Untuk RUI_INIT, opsi berikut ini didukung:
lua_encr_decr_option = 0
lua_encr_decr_option = 128
Nilai dari 1 hingga 127 (rutinitas ACSRENCR dan ACSROECR) tidak didukung.
Aplikasi pengirim bertanggung jawab untuk mengayuh data ke kelipatan delapan byte dan untuk mengatur bit indikator data yang di-padding di RH serta untuk enkripsi. Aplikasi penerima bertanggung jawab untuk menghapus padding setelah dekripsi.