Fungsi RpcServerUseAllProtseqsIfEx (rpcdce.h)
Fungsi RpcServerUseAllProtseqsIfEx memberi tahu pustaka run-time RPC untuk menggunakan semua urutan protokol dan titik akhir yang ditentukan dalam spesifikasi antarmuka untuk menerima panggilan prosedur jarak jauh.
Sintaks
RPC_STATUS RpcServerUseAllProtseqsIfEx(
unsigned int MaxCalls,
RPC_IF_HANDLE IfSpec,
void *SecurityDescriptor,
PRPC_POLICY Policy
);
Parameter
MaxCalls
Panjang antrean backlog untuk urutan protokol ncacn_ip_tcp . Semua urutan protokol lainnya mengabaikan parameter ini. Gunakan RPC_C_PROTSEQ_MAX_REQS_DEFAULT untuk menentukan nilai default. Lihat Keterangan.
IfSpec
Antarmuka yang berisi urutan protokol dan informasi titik akhir terkait untuk digunakan dalam membuat handel pengikatan.
SecurityDescriptor
Penunjuk ke parameter opsional yang disediakan untuk subsistem keamanan. Hanya digunakan untuk urutan protokol ncacn_np dan ncalrpc . Semua urutan protokol lainnya mengabaikan parameter ini. Menggunakan deskriptor keamanan pada titik akhir untuk membuat server aman tidak disarankan. Parameter ini tidak muncul dalam spesifikasi DCE untuk API ini.
Policy
Arahkan ke struktur RPC_POLICY , yang berisi bendera untuk membatasi alokasi port untuk port dinamis dan memungkinkan komputer multihomed untuk secara selektif mengikat kartu antarmuka jaringan.
Nilai kembali
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Tidak ada urutan protokol yang didukung. |
|
Format titik akhir. |
|
Sistem kehabisan memori. |
|
Titik akhir adalah duplikat. |
|
Deskriptor keamanan tidak valid. |
|
Urutan protokol RPC tidak valid. |
Keterangan
Mengatur bidang NICFlags dari struktur RPC_POLICY ke nol membuat fungsi yang diperluas ini secara fungsional setara dengan RpcServerUseAllProtseqsIfEx asli, dan server akan mengikat ke NIC berdasarkan pengaturan dalam registri sistem. Untuk informasi tentang bagaimana pengaturan registri menentukan port Internet dan intranet yang tersedia, lihat Mengonfigurasi Registri untuk Alokasi Port dan Pengikatan Selektif.
Untuk menerima permintaan panggilan prosedur jarak jauh, server harus mendaftarkan setidaknya satu urutan protokol dengan pustaka run-time RPC. Untuk setiap urutan protokol yang didaftarkan oleh server, pustaka run-time RPC membuat satu atau beberapa titik akhir di mana server menerima permintaan panggilan prosedur jarak jauh. Pustaka run-time RPC membuat titik akhir yang berbeda untuk setiap urutan protokol.
Aplikasi harus berhati-hati untuk meneruskan nilai yang wajar di MaxCalls. Nilai besar di Server, Server Tingkat Lanjut, atau Server Pusat Data dapat menyebabkan sejumlah besar memori kumpulan non-halaman digunakan. Menggunakan nilai yang terlalu kecil juga tidak menguntungkan, karena dapat mengakibatkan paket TCP SYN dipenuhi oleh TCP RST dari server jika antrean backlog habis. Pengembang aplikasi harus menyeimbangkan jejak memori versus persyaratan skalabilitas saat menentukan nilai yang tepat untuk MaxCalls.
Ketika komputer dikonfigurasi untuk menggunakan pengikatan selektif, pengembalian yang berhasil tidak menjamin bahwa server telah membuat titik akhir untuk semua antarmuka jaringan yang ada di komputer. Run-time RPC mungkin tidak mendengarkan beberapa antarmuka jaringan tergantung pada pengaturan pengikatan selektif. Selain itu, jika antarmuka belum menerima alamat IP menggunakan DHCP, server RPC tidak mendengarkan antarmuka jaringan sampai alamat DHCP ditetapkan untuk itu. Pengembalian yang berhasil menyiratkan bahwa server mendengarkan setidaknya satu antarmuka jaringan; daftar lengkap handel pengikatan di mana panggilan prosedur jarak jauh dapat diterima dapat diperoleh dengan panggilan ke fungsi RpcServerInqBindings .
Untuk mendaftarkan urutan protokol yang dipilih yang ditentukan dalam file IDL, server memanggil RpcServerUseProtseqIfEx. Untuk informasi selengkapnya, lihat Pengikatan Sisi Server.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | rpcdce.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |