Fungsi RpcServerInterfaceGroupCreateW (rpcdce.h)
Fungsi RpcServerInterfaceGroupCreate membuat grup antarmuka server RPC untuk aplikasi server. Grup antarmuka ini sepenuhnya menentukan antarmuka, titik akhir, dan properti menganggur aplikasi server RPC. Setelah dibuat, grup antarmuka dapat diaktifkan dan dinonaktifkan sesuai kebutuhan aplikasi.
Sintaks
RPC_STATUS RpcServerInterfaceGroupCreateW(
[in] RPC_INTERFACE_TEMPLATEW *Interfaces,
[in] unsigned long NumIfs,
[in] RPC_ENDPOINT_TEMPLATEW *Endpoints,
[in] unsigned long NumEndpoints,
[in] unsigned long IdlePeriod,
[in] RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN IdleCallbackFn,
[in] void *IdleCallbackContext,
[out] PRPC_INTERFACE_GROUP IfGroup
);
Parameter
[in] Interfaces
Penunjuk ke array struktur RPC_INTERFACE_TEMPLATE yang menentukan antarmuka yang diekspos oleh grup antarmuka.
[in] NumIfs
Jumlah elemen dalam Antarmuka.
[in] Endpoints
Penunjuk ke array struktur RPC_ENDPOINT_TEMPLATE yang menentukan titik akhir yang digunakan oleh grup antarmuka.
[in] NumEndpoints
Jumlah elemen di Titik Akhir.
[in] IdlePeriod
Lamanya waktu dalam detik setelah grup antarmuka menganggur bahwa runtime RPC harus menunggu sebelum memanggil panggilan balik diam. 0 berarti panggilan balik segera dipanggil. INFINITE berarti aplikasi server tidak peduli dengan status menganggur grup antarmuka.
[in] IdleCallbackFn
Panggilan balik RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN yang akan dipanggil runtime RPC setelah grup antarmuka diam selama waktu yang diberikan di IdlePeriod. Bisa NULL hanya jika IdlePeriod ADALAH INFINITE.
[in] IdleCallbackContext
Penunjuk yang ditentukan pengguna untuk diteruskan ke panggilan balik menganggur di IdleCallbackFn.
[out] IfGroup
Jika berhasil, penunjuk ke buffer RPC_INTERFACE_GROUP yang menerima handel ke grup antarmuka yang baru dibuat. Jika fungsi ini gagal, IfGroup tidak terdefinisi.
Nilai kembali
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
Keterangan
Aplikasi server secara opsional dapat diberi tahu ketika grup antarmuka menjadi menganggur. Meskipun aplikasi apa pun dapat memanfaatkan fungsionalitas ini, aplikasi ini ditargetkan untuk pengembang layanan yang ingin memungkinkan layanan mereka berhenti diam.
IdlePeriod mencegah runtime RPC menghasilkan sejumlah besar pemberitahuan jika status diam berubah dengan cepat, dan dalam kasus layanan yang dipicu, membantu layanan menghindari memulai dan menghentikan tanpa perlu. Pengembang harus mempertimbangkan biaya inisialisasi dan pematian layanan, frekuensi yang diharapkan di mana aktivitas baru akan terjadi, dan biaya menjaga layanan tetap diam saat memilih nilai ini. Periode diam yang rendah akan menyebabkan layanan sering dimulai dan dihentikan saat aktivitas klien baru berlangsung, sedangkan periode menganggur yang tinggi akan menyebabkan layanan mengonsumsi sumber daya tanpa melakukan pekerjaan yang bermakna.
Antarmuka dalam grup antarmuka hanya dapat dipanggil melalui titik akhir dari grup yang sama. Antarmuka yang bukan bagian dari grup antarmuka tidak dapat dipanggil melalui titik akhir yang merupakan bagian dari grup.
Aktivitas server RPC tidak selalu terlihat oleh aplikasi server. Dalam beberapa kasus, hanya memiliki klien dengan koneksi terbuka ke server dapat membuatnya tetap aktif bahkan jika tidak ada panggilan yang dikirim untuk jangka waktu yang lama. Aplikasi server tidak boleh mengandalkan korelasi apa pun antara runtime RPC yang menyatakan bahwa grup menganggur dan waktu sejak panggilan terakhir dikirim.
Catatan
Header rpcdce.h mendefinisikan RpcServerInterfaceGroupCreate 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 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | rpcdce.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |
Lihat juga
RpcServerInterfaceGroupActivate