Fungsi RpcNsBindingImportNext (rpcnsi.h)
Fungsi RpcNsBindingImportNext mencari antarmuka (dan secara opsional objek dari database layanan nama) dan mengembalikan handel pengikatan server yang kompatibel, jika ditemukan.
Sintaks
RPC_STATUS RpcNsBindingImportNext(
RPC_NS_HANDLE ImportContext,
RPC_BINDING_HANDLE *Binding
);
Parameter
ImportContext
Handel layanan nama yang dikembalikan dari fungsi RpcNsBindingImportBegin .
Binding
Mengembalikan penunjuk ke handel pengikatan server yang kompatibel dengan klien untuk server.
Menampilkan nilai
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Tidak ada lagi pengikatan. |
|
Layanan nama tidak tersedia. |
Keterangan
Fungsi RpcNsBindingImportNext mengembalikan satu handel pengikatan server yang kompatibel dengan klien untuk server yang menawarkan antarmuka dan UUID objek yang ditentukan oleh parameter IfSpec dan ObjUuid dalam fungsi RpcNsBindingImportBegin . Fungsi ini hanya berkomunikasi dengan database layanan nama, tidak langsung dengan server.
Efektif dengan Windows 2000, lingkungan RPC menggunakan Direktori Aktif sebagai database layanan-nama dan urutan di mana lingkungan run-time melakukan pencarian adalah sebagai berikut:
- Cari di cache lokal. Jika tidak ada entri,
- Cari di Direktori Aktif. Jika tidak ada entri,
- Kirim permintaan siaran ke semua layanan direktori lainnya di domain.
Perhatikan bahwa jika entri ada di Direktori Aktif, tetapi tidak ada informasi yang terkait dengan entri, lingkungan run-time tidak mengeluarkan permintaan siaran ini.
- Jika server tidak mengekspor UUID objek apa pun, handel pengikatan yang dikembalikan berisi UUID objek nihil.
- Jika server mengekspor satu UUID objek, handel pengikatan yang dikembalikan berisi UUID objek tersebut.
- Jika server mengekspor beberapa UUID objek, handel pengikatan yang dikembalikan berisi salah satu UUID objek. Operasi impor-berikutnya memilih UUID objek yang dikembalikan dengan cara non-deterministik. Akibatnya, UUID objek yang berbeda dapat dikembalikan untuk setiap handel pengikatan yang kompatibel dari satu entri server.
Setiap kali klien memanggil RpcNsBindingImportNext, fungsi mengembalikan handel pengikatan server lain. Handel pengikatan yang dikembalikan tidak diurutkan. Aplikasi klien memanggil fungsi RpcNsBindingInqEntryName untuk mendapatkan database layanan nama dalam nama entri tempat handel pengikatan datang. Ketika pencarian mencapai akhir database layanan nama, RpcNsBindingInqEntryName mengembalikan status RPC_S_NO_MORE_BINDINGS dan mengembalikan nilai parameter pengikatan NULL.
Fungsi RpcNsBindingImportNext mengalokasikan penyimpanan untuk data yang direferensikan oleh parameter Pengikatan yang dikembalikan. Ketika aplikasi klien selesai dengan handel pengikatan, aplikasi harus memanggil RpcBindingFree untuk membatalkan alokasi penyimpanan. Setiap panggilan ke RpcNsBindingImportNext memerlukan panggilan yang sesuai ke RpcBindingFree.
Klien bertanggung jawab untuk memanggil fungsi RpcNsBindingImportDone , yang menghapus konteks impor. Klien juga memanggil RpcNsBindingImportDone sebelum memanggil RpcNsBindingImportBegin untuk memulai pencarian baru untuk server yang kompatibel. Karena urutan handel pengikatan yang dikembalikan berbeda untuk setiap pencarian baru, urutan di mana handel pengikatan dikembalikan ke aplikasi dapat berbeda setiap kali aplikasi dijalankan.
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 | rpcnsi.h (termasuk Rpc.h) |
Pustaka | Rpcns4.lib |
DLL | Rpcns4.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk