Fungsi RpcEpRegister (rpcdce.h)

Fungsi RpcEpRegister menambahkan atau mengganti informasi alamat server di database peta titik akhir lokal.

Sintaks

RPC_STATUS RpcEpRegister(
  RPC_IF_HANDLE      IfSpec,
  RPC_BINDING_VECTOR *BindingVector,
  UUID_VECTOR        *UuidVector,
  RPC_CSTR           Annotation
);

Parameter

IfSpec

Antarmuka untuk mendaftar dengan database peta titik akhir lokal.

BindingVector

Penunjuk ke vektor handel pengikatan di mana server dapat menerima panggilan prosedur jarak jauh.

UuidVector

Arahkan ke vektor UUID objek yang ditawarkan oleh server. Aplikasi server membangun vektor ini. Nilai argumen null menunjukkan tidak ada UUID objek untuk didaftarkan.

Annotation

Penunjuk ke komentar string karakter yang diterapkan ke setiap elemen lintas produk yang ditambahkan ke database peta titik akhir lokal. Panjang string dapat mencapai 64 karakter, termasuk karakter penghentian null. Tentukan nilai null atau string null-terminated ("\0") jika tidak ada string anotasi.

String anotasi hanya digunakan oleh aplikasi untuk informasi. RPC tidak menggunakan string ini untuk menentukan instans server mana yang dikomunikasikan klien dengan atau untuk menghitung elemen dalam database peta titik akhir.

Nilai kembali

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_NO_BINDINGS
Tidak ada pengikatan.
RPC_S_INVALID_BINDING
Handel pengikatan tidak valid.
RPC_S_WRONG_KIND_OF_BINDING
Ini adalah jenis pengikatan yang salah untuk operasi.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Fungsi RpcEpRegister menambahkan atau mengganti entri dalam database peta titik akhir host lokal. Untuk entri database yang ada yang cocok dengan spesifikasi antarmuka yang disediakan, handel pengikatan, dan UUID objek, fungsi ini menggantikan titik akhir entri dengan titik akhir dalam handel pengikatan yang disediakan.

Server dapat menggunakan RpcEpRegister dan RpcEpRegisterNoReplace untuk mendaftarkan entri dalam database pemeta titik akhir. Sebelumnya ke Windows 2000, dua fungsi tersedia untuk memungkinkan server menimpa entri kedaluarsa dalam database pemeta titik akhir yang tersisa dari instans server sebelumnya yang tidak lagi berjalan. Database pemeta titik akhir secara otomatis menghapus entri yang didaftarkan oleh instans server segera setelah server berhenti berfungsi. Namun, server tidak diizinkan untuk mengganti entri pemeta titik akhir server lain untuk tujuan keamanan. Oleh karena itu, RpcEpRegister dan RpcEpRegisterNoReplace melakukan sebagian besar fungsionalitas yang sama.

Aplikasi server memanggil RpcEpRegister untuk mendaftarkan titik akhir yang ditentukan dengan memanggil salah satu fungsi berikut:

Jika server juga mengekspor ke database layanan nama, server memanggil nilai RpcEpRegister dengan nilai IfSpec, BindingVector, dan UuidVector yang sama yang digunakan saat memanggil fungsi RpcNsBindingExport .

Jika urutan protokol digunakan tanpa menentukan titik akhir, pustaka run-time RPC secara otomatis menghasilkan titik akhir dinamis. Dalam hal ini, server dapat memanggil RpcServerInqBindings diikuti oleh RpcEpRegister untuk membuatnya tersedia untuk beberapa klien. Jika tidak, server yang dimulai secara otomatis hanya diketahui oleh klien tempat server dimulai. Setiap elemen yang ditambahkan ke database peta titik akhir secara logis berisi hal berikut:

  • Antarmuka UUID
  • Versi antarmuka (mayor dan minor)
  • Handel pengikatan
  • UUID Objek (opsional)
  • Anotasi (opsional)
RpcEpRegister membuat lintas produk dari parameter IfSpec, BindingVector, dan UuidVector dan menambahkan setiap elemen dalam lintas produk sebagai pendaftaran terpisah dalam database peta titik akhir.

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

RpcBindingFromStringBinding

RpcEpRegisterNoReplace

RpcEpUnregister

RpcNsBindingExport

RpcServerInqBindings

RpcServerUseAllProtseqs

RpcServerUseAllProtseqsIf

RpcServerUseProtseq

RpcServerUseProtseqEp

RpcServerUseProtseqIf