Fungsi RpcServerUseAllProtseqsEx (rpcdce.h)

Fungsi RpcServerUseAllProtseqsEx memberi tahu pustaka run-time RPC untuk menggunakan semua urutan protokol yang didukung untuk menerima panggilan prosedur jarak jauh.

Sintaks

RPC_STATUS RpcServerUseAllProtseqsEx(
  unsigned int MaxCalls,
  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.

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 memungkinkan Anda untuk mengambil alih kebijakan default untuk alokasi port dinamis dan pengikatan ke kartu antarmuka jaringan (NIC) pada komputer multihomed (komputer dengan beberapa kartu jaringan).

Nilai kembali

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_NO_PROTSEQS
Tidak ada urutan protokol yang didukung.
RPC_S_OUT_OF_MEMORY
Memori yang memadai tidak tersedia.
RPC_S_INVALID_SECURITY_DESC
Deskriptor keamanan tidak valid.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Catatan Mendengarkan semua urutan protokol yang didukung tidak disarankan, karena menyebabkan server mendengarkan semua urutan protokol, termasuk urutan protokol non-mainstream. Disarankan agar server hanya mendengarkan urutan protokol mainstream .
 
Parameter dan efek RpcServerUseAllProtseqsEx mensubsume RpcServerUseAllProtseqs. Perbedaannya adalah parameter Kebijakan , yang memungkinkan Anda membatasi alokasi port untuk port dinamis dan memungkinkan komputer multihomed untuk secara selektif mengikat ke NIC yang ditentukan.

Mengatur bidang NICFlags dari struktur RPC_POLICY ke nol membuat API yang diperluas ini secara fungsional setara dengan RpcServerUseAllProtseqs 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.

Catatan Pengaturan bendera di bidang Kebijakan hanya berlaku saat urutan protokol ncacn_ip_tcp atau ncadg_ip_udp sedang digunakan. Untuk semua urutan protokol lainnya, run-time RPC mengabaikan nilai-nilai ini.
 
Aplikasi server memanggil RpcServerUseAllProtseqsEx untuk mendaftarkan semua urutan protokol yang didukung dengan pustaka run-time RPC. Untuk menerima 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. Nama titik akhir dihasilkan oleh run time RPC atau sistem operasi. Misalnya, untuk ncacn_ip_tcp, nomor port ditentukan secara dinamis oleh run time RPC, tergantung pada ketersediaan dan pengaturan registri.

Catatan Menggunakan fungsi RpcServerUseAllProtseqsEx tidak menyebabkan server mendengarkan urutan protokol berikut:
 
Catatan Untuk mendengarkan salah satu urutan protokol tersebut, setiap urutan harus dipilih satu per satu.
 
Untuk MaxCalls, nilai yang disediakan oleh aplikasi hanyalah petunjuk. Run time RPC atau penyedia Windows Sockets dapat mengambil alih nilai. Misalnya, pada Windows XP atau Windows 2000 Professional, nilainya dibatasi hingga 5. Nilai yang lebih besar dari 5 diabaikan dan 5 digunakan sebagai gantinya. Pada Windows Server 2003 dan Windows 2000 Server, nilainya akan dihormati.

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 secara selektif, server memanggil RpcServerUseProtseqEx, RpcServerUseProtseqIfEx, atau RpcServerUseProtseqEpEx. Lihat Pengikatan Sisi Server untuk deskripsi rutinitas yang biasanya akan dipanggil server setelah mendaftarkan urutan protokol.

Persyaratan

   
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

Lihat juga

Mengonfigurasi Registri untuk Alokasi Port dan Pengikatan Selektif

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx