Fungsi RpcServerListen (rpcdce.h)
Fungsi RpcServerListen memberi sinyal pustaka run-time RPC untuk mendengarkan panggilan prosedur jarak jauh. Fungsi ini tidak akan memengaruhi antarmuka mendengarkan otomatis; gunakan RpcServerRegisterIfEx jika Anda memerlukan fungsionalitas tersebut.
Sintaks
RPC_STATUS RpcServerListen(
unsigned int MinimumCallThreads,
unsigned int MaxCalls,
unsigned int DontWait
);
Parameter
MinimumCallThreads
Petunjuk waktu proses RPC yang menentukan jumlah minimum utas panggilan yang harus dibuat dan dipertahankan di server yang diberikan. Nilai ini hanyalah petunjuk dan ditafsirkan secara berbeda dalam versi Windows yang berbeda. Di Windows XP, nilai ini adalah jumlah utas yang dibuat sebelumnya di setiap kumpulan utas yang dibuat oleh run time RPC. Aplikasi harus menentukan satu untuk parameter ini, dan menunda keputusan pembuatan utas ke run time RPC.
MaxCalls
Jumlah maksimum panggilan prosedur jarak jauh bersamaan yang disarankan yang dapat dijalankan server. Untuk memungkinkan performa yang efisien, pustaka run-time RPC menginterpretasikan parameter MaxCalls sebagai batas yang disarankan daripada sebagai batas atas absolut.
Gunakan RPC_C_LISTEN_MAX_CALLS_DEFAULT untuk menentukan nilai default.
DontWait
Bendera yang mengontrol pengembalian dari RpcServerListen. Nilai nonzero menunjukkan bahwa RpcServerListen harus segera kembali setelah menyelesaikan pemrosesan fungsi. Nilai nol menunjukkan bahwa RpcServerListen tidak boleh kembali sampai fungsi RpcMgmtStopServerListening telah dipanggil dan semua panggilan jarak jauh telah selesai.
Nilai kembali
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Server sudah mendengarkan. |
|
Tidak ada urutan protokol yang terdaftar. |
|
Nilai panggilan maksimum terlalu kecil. |
Keterangan
Server memanggil RpcServerListen ketika server siap untuk memproses panggilan prosedur jarak jauh. RPC memungkinkan server untuk memproses beberapa panggilan secara bersamaan. Parameter MaxCalls merekomendasikan jumlah maksimum panggilan prosedur jarak jauh bersamaan yang harus dijalankan server.
Nilai MaxCalls tidak boleh nol, dan harus lebih besar dari MinimumCallThreads. Nilai yang lebih besar dari 0x7FFFFFFF diatur ke 0x7FFFFFFF tanpa pemberitahuan.
Windows XP/2000: Mengatur parameter MaxCalls ke RPC_C_LISTEN_MAX_CALLS_DEFAULT menghapus batas panggilan prosedur jarak jauh bersamaan, daripada mengaturnya ke nilai yang ditentukan konstan 1234. Menghapus batas panggilan bersamaan maksimum memungkinkan panggilan prosedur jarak jauh bersamaan sebanyak yang dapat ditangani komputer. Perilaku ini memungkinkan peningkatan efisiensi dalam run time RPC.
Aplikasi server bertanggung jawab atas kontrol konkurensi antara rutinitas manajer server karena setiap rutinitas dijalankan dalam utas terpisah.
Ketika parameter DontWait memiliki nilai nol, pustaka run-time RPC terus mendengarkan panggilan prosedur jarak jauh (yaitu, rutinitas tidak kembali ke aplikasi server) sampai salah satu peristiwa berikut terjadi:
- Salah satu rutinitas manajer aplikasi server memanggil RpcMgmtStopServerListening.
- Klien memanggil prosedur jarak jauh yang disediakan oleh server yang mengarahkan server untuk memanggil RpcMgmtStopServerListening.
- Klien memanggil RpcMgmtStopServerListening dengan handel pengikatan ke server.
Ketika parameter DontWait memiliki nilai bukan nol, RpcServerListen segera kembali ke server setelah memproses semua instruksi yang terkait dengan fungsi. Anda dapat menggunakan fungsi RpcMgmtWaitServerListen untuk melakukan operasi tunggu yang biasanya terkait dengan RpcServerListen.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | rpcdce.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |