Bagikan melalui


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
WSAEFAULT
Sistem mendeteksi penunjuk alamat yang tidak valid dalam mencoba menggunakan argumen pointer panggilan. Kesalahan ini dikembalikan jika parameter PeerAddr adalah penunjuk NULL .
WSAEAFNOSUPPORT
Keluarga alamat yang ditentukan tidak didukung.
WSAEMSGSIZE
Buffer yang dilewati terlalu kecil.
WSAENOTSOCK
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

AcceptEx

Menggunakan Ekstensi Soket Aman

WSAAccept

WSADeleteSocketPeerTargetName

WSAQuerySocketSecurity

WSARecv

WSARecvEx

WSARecvFrom

LPFN_WSARECVMSG (WSARecvMsg)

WSARevertImpersonation

WSASetSocketPeerTargetName

WSASetSocketSecurity

Platform Pemfilteran Windows

Fungsi API Platform Pemfilteran Windows

Ekstensi Soket Aman Winsock

Menerima

recv

recvfrom