Fungsi RpcServerRegisterIf3 (rpcdce.h)
Fungsi RpcServerRegisterIf3 mendaftarkan antarmuka dengan pustaka run-time RPC.
Sintaks
RPC_STATUS RpcServerRegisterIf3(
[in] RPC_IF_HANDLE IfSpec,
[in, optional] UUID *MgrTypeUuid,
[in, optional] RPC_MGR_EPV *MgrEpv,
[in] unsigned int Flags,
[in] unsigned int MaxCalls,
[in] unsigned int MaxRpcSize,
[in, optional] RPC_IF_CALLBACK_FN *IfCallback,
[in, optional] void *SecurityDescriptor
);
Parameter
[in] IfSpec
Struktur yang dihasilkan MIDL menunjukkan antarmuka untuk mendaftar.
[in, optional] MgrTypeUuid
Arahkan ke UUID jenis untuk dikaitkan dengan parameter MgrEpv . Menentukan nilai parameter null (atau UUID nihil) mendaftarkan IfSpec dengan UUID jenis nil.
[in, optional] MgrEpv
Vektor titik masuk (EPV) rutin manajer. Untuk menggunakan EPV default yang dihasilkan MIDL, tentukan nilai null . Untuk informasi lebih lanjut, silakan lihat RPC_MGR_EPV.
[in] Flags
Bendera. Untuk daftar nilai bendera, lihat Bendera Pendaftaran Antarmuka.
[in] MaxCalls
Jumlah maksimum permintaan panggilan prosedur jarak jauh bersamaan yang dapat diterima server pada antarmuka mendengarkan otomatis . Parameter MaxCalls hanya berlaku pada antarmuka mendengarkan otomatis , dan diabaikan pada antarmuka yang tidak mendengarkan secara otomatis. Pustaka run-time RPC berusaha sebaik mungkin untuk memastikan server tidak mengizinkan permintaan panggilan yang lebih bersamaan daripada jumlah panggilan yang ditentukan dalam MaxCalls. Jumlah aktual bisa lebih besar dan dapat bervariasi untuk setiap urutan protokol.
Panggilan pada antarmuka lain diatur oleh nilai parameter MaxCalls di seluruh proses yang ditentukan dalam panggilan fungsi RpcServerListen .
Jika jumlah panggilan bersamaan tidak menjadi perhatian, Anda dapat mencapai performa sisi server yang sedikit lebih baik dengan menentukan nilai default menggunakan RPC_C_LISTEN_MAX_CALLS_DEFAULT. Melakukannya akan meringankan lingkungan run-time RPC agar tidak memberlakukan pembatasan yang tidak perlu.
[in] MaxRpcSize
Ukuran maksimum blok data masuk, dalam byte. Parameter ini dapat digunakan untuk membantu mencegah serangan penolakan layanan berbahaya. Jika blok data panggilan prosedur jarak jauh lebih besar dari MaxRpcSize, pustaka run-time RPC menolak panggilan dan mengirim kesalahan RPC_S_ACCESS_DENIED ke klien. Menentukan nilai (int tidak ditandatangani) –1 untuk parameter ini akan menghapus batas ukuran blok data masuk. Parameter ini tidak berpengaruh pada panggilan yang dilakukan melalui protokol ncalrpc .
[in, optional] IfCallback
Fungsi panggilan balik keamanan, atau NULL tanpa panggilan balik. Setiap antarmuka terdaftar dapat memiliki fungsi panggilan balik yang berbeda. Lihat Komentar di RpcServerRegisterIf2.
[in, optional] SecurityDescriptor
Deskriptor keamanan untuk mengakses antarmuka RPC. Setiap antarmuka terdaftar dapat memiliki deskriptor keamanan yang berbeda.
Nilai kembali
Mengembalikan RPC_S_OK setelah berhasil.
Keterangan
Parameter dan efek fungsi RpcServerRegisterIf3 memperluas fungsi RpcServerRegisterIf2 . Perbedaannya adalah kemampuan untuk menentukan pendeskripsi keamanan untuk mengontrol akses ke antarmuka RPC terdaftar.
Jika SecurityDescriptor dan IfCallbackFn ditentukan, deskriptor keamanan di SecurityDescriptor akan diperiksa terlebih dahulu dan panggilan balik di IfCallbackFn akan dipanggil setelah pemeriksaan akses terhadap deskriptor keamanan lolos.
Saat memanggil RpcServerRegisterIf3 dengan SecurityDescriptor diatur ke NULL, atau memanggil RpcServerRegisterIf, RpcServerRegisterIf2, atau RpcServerRegisterIfEx untuk mendaftarkan antarmuka, deskriptor keamanan default akan digunakan. Deskriptor keamanan default tidak akan mengizinkan akses dari proses AppContainer apa pun ke antarmuka jika server RPC bukan proses AppContainer. Pendeskripsi keamanan default tidak akan mengizinkan akses dari proses apa pun dalam proses AppContainer lainnya ke antarmuka jika server RPC adalah proses AppContainer. Deskriptor keamanan default akan memungkinkan akses dari proses normal termasuk Proses integritas rendah.
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
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