Fungsi WSAImpersonateSocketPeer (ws2tcpip.h)
Fungsi WSAImpersonateSocketPeer digunakan untuk meniru prinsip keamanan yang sesuai dengan peer soket untuk melakukan otorisasi tingkat aplikasi.
Sintaks
INT WSAAPI WSAImpersonateSocketPeer(
[in] SOCKET Socket,
[in, optional] const sockaddr *PeerAddr,
[in] ULONG PeerAddrLen
);
Parameter
[in] Socket
Mengidentifikasi soket aplikasi.
[in, optional] PeerAddr
Alamat IP serekan yang akan ditiru. Untuk soket berorientasi koneksi, soket yang terhubung secara unik mengidentifikasi serekan. Dalam hal ini, parameter ini diabaikan.
[in] PeerAddrLen
Ukuran, dalam byte, dari parameter PeerAddress .
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah 0. Jika tidak, nilai SOCKET_ERROR dikembalikan, dan kode kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.
Beberapa kemungkinan kode kesalahan tercantum di bawah ini.
Kode kesalahan | Makna |
---|---|
Sistem mendeteksi penunjuk alamat yang tidak valid dalam mencoba menggunakan argumen pointer panggilan. Kesalahan ini dikembalikan jika parameter PeerAddr adalah penunjuk NULL . | |
Keluarga alamat yang ditentukan tidak didukung. | |
Buffer yang dilewati terlalu kecil. | |
Deskriptor yang diteruskan dalam parameter Soket bukan soket yang valid. |
Keterangan
Fungsi WSAImpersonateSocketPeer menyediakan aplikasi kemampuan untuk meniru prinsip keamanan yang sesuai dengan peer soket untuk melakukan otorisasi tingkat aplikasi. Jika token pengguna serekan (peniruan) tersedia, token tersebut akan digunakan untuk peniruan identitas, jika tidak, token komputer serekan akan digunakan. Fungsi WSAImpersonateSocketPeer hanya dapat dipanggil untuk memblokir soket yang tidak tumpang tindih. Setelah melakukan pemeriksaan otorisasi, aplikasi harus memanggil fungsi WSARevertImpersonation untuk mengakhiri peniruan.
Untuk soket berorientasi koneksi, fungsi WSAImpersonateSocketPeer harus dipanggil setelah koneksi dibuat. Untuk aplikasi server yang menggunakan soket berorientasi koneksi, WSAImpersonateSocketPeer harus dipanggil setelah fungsi accept, AcceptEx, atau WSAAccept kembali.
Untuk soket tanpa koneksi, aplikasi harus memanggil fungsi WSAImpersonateSocketPeer segera setelah fungsi recv, recvfrom, WSARecv, WSARecvEx, WSARecvFrom, atau LPFN_WSARECVMSG (WSARecvMsg) kembali untuk alamat peer baru.
Fungsi WSAImpersonateSocketPeer dapat dipanggil beberapa kali untuk satu soket.
Kesalahan akan dikembalikan jika kondisi berikut tidak terpenuhi.
- Keluarga alamat parameter Soket harus AF_INET atau AF_INET6.
- Jenis soket harus SOCK_STREAM atau SOCK_DGRAM.
Fungsi WSARevertImpersonation harus dipanggil untuk mengakhiri peniruan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | ws2tcpip.h |
Pustaka | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |
Lihat juga
Menggunakan Ekstensi Soket Aman