Bagikan melalui


Fungsi RpcServerUseProtseqEpExW (rpcdce.h)

Fungsi RpcServerUseProtseqEpEx memberi tahu pustaka run-time RPC untuk menggunakan urutan protokol yang ditentukan yang dikombinasikan dengan titik akhir yang ditentukan untuk menerima panggilan prosedur jarak jauh.

Sintaks

RPC_STATUS RpcServerUseProtseqEpExW(
  RPC_WSTR     Protseq,
  unsigned int MaxCalls,
  RPC_WSTR     Endpoint,
  void         *SecurityDescriptor,
  PRPC_POLICY  Policy
);

Parameter

Protseq

Penunjuk ke pengidentifikasi string urutan protokol untuk mendaftar dengan pustaka run-time RPC.

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.

Endpoint

Arahkan ke informasi alamat titik akhir untuk digunakan dalam membuat pengikatan untuk urutan protokol yang ditentukan oleh Protseq.

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 yang mengatur atribut khusus transportasi. Dalam kasus transportasi ncadg_mq , bendera ini menentukan properti antrean proses-penerimaan server. Dalam kasus transportasi ncacn_ip_tcp atau ncadg_ip_udp , bendera ini membatasi alokasi port untuk port dinamis dan memungkinkan komputer multihomed untuk secara selektif mengikat kartu antarmuka jaringan.

Pengaturan bendera di bidang Kebijakan hanya berlaku saat urutan protokol ncacn_ip_tcp, ncadg_ip_udp, atau ncadg_mq sedang digunakan. Untuk semua urutan protokol lainnya, run time RPC mengabaikan nilai-nilai ini.

Catatan Bagian dari kebijakan yang terkait dengan titik akhir dinamis diabaikan ketika fungsi RpcServerUseProtseqEpEx dipanggil, karena port ditentukan dalam titik akhir itu sendiri.
 

Nilai kembali

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_PROTSEQ_NOT_SUPPORTED
Urutan protokol tidak didukung pada host ini.
RPC_S_INVALID_RPC_PROTSEQ
Urutan protokol tidak valid.
RPC_S_INVALID_ENDPOINT_FORMAT
Format titik akhir tidak valid.
RPC_S_OUT_OF_MEMORY
Sistem kehabisan memori.
RPC_S_DUPLICATE_ENDPOINT
Titik akhir adalah duplikat.
RPC_S_INVALID_SECURITY_DESC
Deskriptor keamanan tidak valid.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Parameter dan efek RpcServerUseProtseqEpEx mensubsume RpcServerUseProtseqEp. Perbedaannya adalah parameter Kebijakan , yang memungkinkan Anda menetapkan kebijakan tertentu di titik akhir. Mengatur bidang NICFlags dari struktur RPC_POLICY ke nol membuat fungsi yang diperluas ini setara dengan RpcServerUseProtseqEp asli saat digunakan dengan transportasi ncacn_ip_tcp atau ncadg_ip_udp .

Aplikasi server memanggil RpcServerUseProtseqEpEx untuk mendaftarkan satu urutan protokol dengan pustaka run-time RPC. Dengan setiap pendaftaran urutan protokol, RpcServerUseProtseqEpEx menyertakan informasi alamat titik akhir yang ditentukan.

Untuk menerima permintaan panggilan prosedur jarak jauh, server harus mendaftarkan setidaknya satu urutan protokol dengan pustaka run-time RPC. Aplikasi server dapat memanggil rutinitas ini berkali-kali untuk mendaftarkan urutan protokol dan titik akhir tambahan. 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. Namun, setiap antarmuka dalam proses dapat diakses melalui titik akhir apa pun. Untuk informasi selengkapnya, lihat Menulis Klien atau Server RPC Aman.

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 informasi selengkapnya, lihat Pengikatan Sisi Server, Pengikatan String, Mengonfigurasi Registri untuk Alokasi Port dan Pengikatan Selektif, dan Antrean Pesan RPC dan pesan halaman referensi MIDL dan ncadg_mq.

Catatan

Header rpcdce.h mendefinisikan RpcServerUseProtseqEpEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

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

Lihat juga

RPC_POLICY

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx

Menulis Klien atau Server RPC Yang Aman