Fungsi RpcNsBindingUnexportW (rpcnsi.h)
Fungsi RpcNsBindingUnexport menghapus handel pengikatan untuk antarmuka dan objek dari entri dalam database layanan nama.
Sintaks
RPC_STATUS RpcNsBindingUnexportW(
unsigned long EntryNameSyntax,
RPC_WSTR 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 boleh diekspor).
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 boleh diekspor).
Nilai kembali
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Opsi versi tidak valid. |
|
Sintaks nama tidak valid. |
|
Sintaks nama tidak didukung. |
|
Nama tidak lengkap. |
|
Entri layanan-nama tidak ditemukan. |
|
Layanan nama tidak tersedia. |
|
Antarmuka tidak ditemukan. |
|
Tidak semua objek tidak didukung. |
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 yang tidak didukung yang sah akan dihapus baik dari cache lokal maupun dari Direktori Aktif. Ketidakeksporan yang tidak sah hanya akan dihapus dari cache lokal. Lihat Access Control di bagian Keamanan Platform Software Development Kit (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 membatalkan ekspor 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 tidak mengekspor semua handel pengikatan akan menghapus entri.
Gunakan RpcNsBindingUnexport secara judiciously. Agar server yang diaktifkan tetap tersedia secara otomatis, Anda harus membiarkan handel pengikatannya dalam database layanan nama antara saat proses server diaktifkan. Namun, dengan pengikatan dinamis, jika Anda tidak membatalkan ekspor 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, pesan fungsi ini ketika Anda mengharapkan server tidak tersedia untuk waktu yang lama—misalnya, ketika dihapus secara permanen dari layanan.
Catatan
Header rpcnsi.h mendefinisikan RpcNsBindingUnexport sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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 |