Fungsi RpcImpersonateClient (rpcdce.h)
Utas server yang memproses panggilan prosedur jarak jauh klien dapat memanggil fungsi RpcImpersonateClient untuk meniru klien aktif.
Sintaks
RPC_STATUS RpcImpersonateClient(
RPC_BINDING_HANDLE BindingHandle
);
Parameter
BindingHandle
Handel pengikatan pada server yang mewakili pengikatan ke klien. Server meniru klien yang ditunjukkan oleh handel ini. Jika nilai nol ditentukan, server meniru klien yang sedang dilayani oleh utas server ini.
Menampilkan nilai
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Tidak ada klien yang aktif pada utas server ini. |
|
Fungsi ini tidak didukung untuk sistem operasi, transportasi, atau subsistem keamanan ini. |
|
Handel pengikatan tidak valid. |
|
Ini adalah jenis pengikatan yang salah untuk operasi. |
|
Server tidak memiliki izin untuk meniru klien. |
Keterangan
Dalam aplikasi multithreaded, jika panggilan ke RpcImpersonateClient adalah dengan handel ke utas klien lain, Anda harus memanggil RpcRevertToSelfEx dengan handel ke utas tersebut untuk mengakhiri peniruan.
Semua fungsi yang meniru pemeriksaan untuk menentukan apakah pemanggil fungsi ini (Server RPC) memiliki hak istimewa SeImpersonatePrivilege. Jika penelepon memiliki SeImpersonatePrivilege, atau jika identitas yang diautentikasi sama dengan identitas pemanggil fungsi ini, peniruan yang diminta diizinkan. Jika tidak, peniruan hanya berhasil pada tingkat Identifikasi.
Windows XP/2000/NT: Hak istimewa SeImpersonatePrivilege tidak didukung sampai Windows XP dengan Paket Layanan 2 (SP2).
Keterangan Keamanan
Jika panggilan ke RpcImpersonateClient gagal karena alasan apa pun, koneksi klien tidak ditiru dan permintaan klien dibuat dalam konteks keamanan proses. Jika proses berjalan sebagai akun yang sangat istimewa, seperti LocalSystem, atau sebagai anggota grup administratif, pengguna mungkin dapat melakukan tindakan yang seharusnya tidak diizinkan. Oleh karena itu, penting untuk selalu memeriksa nilai pengembalian panggilan, dan jika gagal, ajukan kesalahan; jangan melanjutkan eksekusi permintaan klien.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 | rpcdce.h |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |