Fungsi RpcNsBindingUnexportA (rpcnsi.h)

Fungsi RpcNsBindingUnexport menghapus handel pengikatan untuk antarmuka dan objek dari entri dalam database layanan nama.

Catatan Fungsi ini tidak didukung pada Windows Vista dan sistem operasi yang lebih baru.
 

Sintaks

RPC_STATUS RpcNsBindingUnexportA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID_VECTOR   *ObjectUuidVec
);

Parameter

EntryNameSyntax

Sintaks EntryName.

Untuk menggunakan sintaks yang ditentukan dalam entri nilai registri HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax, berikan nilai RPC_C_NS_SYNTAX_DEFAULT.

EntryName

Arahkan ke nama entri untuk menghapus handel pengikatan dan UUID objek.

IfSpec

Spesifikasi antarmuka untuk handel pengikatan yang akan dihapus dari database layanan nama. Nilai parameter null menunjukkan untuk tidak membatalkan ekspor handel pengikatan apa pun (hanya UUID objek yang tidak didukung).

ObjectUuidVec

Arahkan ke vektor UUID objek yang tidak lagi ingin ditawarkan server. Aplikasi membangun vektor ini. Nilai null menunjukkan tidak ada UUID objek yang tidak diekspor (hanya handel pengikatan yang tidak didukung).

Mengembalikan nilai

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_INVALID_VERS_OPTION
Opsi versi tidak valid.
RPC_S_INVALID_NAME_SYNTAX
Sintaks nama tidak valid.
RPC_S_UNSUPPORTED_NAME_SYNTAX
Sintaks nama tidak didukung.
RPC_S_INCOMPLETE_NAME
Nama tidak lengkap.
RPC_S_ENTRY_NOT_FOUND
Entri layanan-nama tidak ditemukan.
RPC_S_NAME_SERVICE_UNAVAILABLE
Layanan nama tidak tersedia.
RPC_S_INTERFACE_NOT_FOUND
Antarmuka tidak ditemukan.
RPC_S_NOT_ALL_OBJS_UNEXPORTED
Tidak semua objek tidak didukung.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Fungsi RpcNsBindingUnexport memungkinkan aplikasi server untuk menghapus handel pengikatan dan UUID objek sumber daya dari entri database layanan nama. Aplikasi server dapat membatalkan ekspor antarmuka dan objek yang ditentukan dalam satu panggilan ke RpcNsBindingUnexport, atau dapat membatalkan ekspornya secara terpisah. Hanya handel pengikatan yang cocok dengan antarmuka UUID dan nomor versi antarmuka utama dan minor yang ditemukan dalam parameter IfSpec yang tidak didukung. Gunakan fungsi RpcNsMgmtBindingUnexport untuk menghapus beberapa versi antarmuka.

Efektif dengan Windows 2000, lingkungan run-time RPC menggunakan Direktori Aktif sebagai database layanan-namanya. Ini berarti bahwa entri resmi yang tidak didukung akan dihapus baik dari cache lokal maupun dari Direktori Aktif. Unexports yang tidak sah hanya akan dihapus dari cache lokal. Lihat Access Control di bagian Keamanan Kit Pengembangan Perangkat Lunak Platform (SDK) untuk informasi selengkapnya tentang otorisasi dan Access Control Lists.

Jika RpcNsBindingUnexport tidak menemukan handel pengikatan untuk antarmuka yang ditentukan, fungsi mengembalikan kode status RPC_S_INTERFACE_NOT_FOUND dan tidak membatalkan ekspor UUID objek, jika ada yang ditentukan.

Jika satu atau beberapa handel pengikatan untuk antarmuka yang ditentukan ditemukan dan tidak didukung tanpa kesalahan, RpcNsBindingUnexport tidak mendukung UUID objek yang ditentukan, jika ada.

Jika salah satu UUID objek yang ditentukan tidak ditemukan, RpcNsBindingUnexport mengembalikan kode status RPC_S_NOT_ALL_OBJS_UNEXPORTED.

Selain memanggil RpcNsBindingUnexport, server juga harus memanggil fungsi RpcEpUnregister untuk membatalkan pendaftaran titik akhir server yang sebelumnya terdaftar di database peta titik akhir lokal.

Setelah dibuat, entri server tetap ada, bahkan ketika semua handel pengikatan dan UUID dihapus. Entri server harus memiliki setidaknya satu handel pengikatan yang ada. Akibatnya, mengekspor hanya UUID ke entri yang tidak ada tidak berpengaruh, dan membatalkan dukungan semua handel pengikatan akan menghapus entri.

Gunakan RpcNsBindingUnexport secara yudisial. Untuk menjaga server yang diaktifkan secara otomatis tersedia, Anda harus membiarkan handel pengikatannya dalam database layanan-nama antara waktu ketika proses server diaktifkan. Namun, dengan pengikatan dinamis, jika Anda tidak mengekspor handel pengikatan, Direktori Aktif dapat menjadi sangat besar agar tidak dapat dikelola.

Oleh karena itu, sebelum Anda memanggil fungsi ini, perlu diingat berapa lama Anda mengharapkan server tidak tersedia, dan jenis pengikatan yang digunakan. Jika Anda menggunakan pengikatan statis, cadangkan fungsi ini ketika Anda mengharapkan server tidak tersedia untuk waktu yang lama—misalnya, ketika dihapus secara permanen dari layanan.

Catatan Database layanan nama dirancang agar relatif stabil. Dalam database layanan nama yang direplikasi, penggunaan fungsi RpcNsBindingExport dan RpcNsBindingUnexport yang sering menyebabkan database layanan nama berulang kali menghapus dan mengganti entri yang sama dan dapat menyebabkan masalah performa.
 

Catatan

Header rpcnsi.h mendefinisikan RpcNsBindingUnexport 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 rpcnsi.h (termasuk Rpc.h)
Pustaka Rpcns4.lib
DLL Rpcns4.dll

Lihat juga

RpcEpUnregister

RpcNsBindingExport