Bagikan melalui


fungsi getipv4sourcefilter (ws2tcpip.h)

Fungsi sebaris getipv4sourcefilter mengambil status filter multicast untuk soket IPv4.

Sintaks

int getipv4sourcefilter(
  [in]      SOCKET              Socket,
  [in]      IN_ADDR             Interface,
  [in]      IN_ADDR             Group,
  [out]     MULTICAST_MODE_TYPE *FilterMode,
  [in, out] ULONG               *SourceCount,
  [out]     IN_ADDR             *SourceList
);

Parameter

[in] Socket

Deskriptor yang mengidentifikasi soket multicast.

[in] Interface

Alamat IPv4 lokal antarmuka atau indeks antarmuka tempat grup multicast harus digabungkan atau dihilangkan.

Nilai ini dalam urutan byte jaringan. Jika anggota ini menentukan alamat IPv4 0.0.0.0, antarmuka multicast IPv4 default akan digunakan.

Alamat IP apa pun di blok 0.x.x.x (oktet pertama 0) kecuali alamat IPv4 0.0.0.0 diperlakukan sebagai indeks antarmuka. Indeks antarmuka adalah angka 24-bit, dan blok alamat IPv4 0.0.0.0/8 tidak digunakan (rentang ini dicadangkan).

Untuk menggunakan indeks antarmuka 1 akan sama dengan alamat IP 0.0.0.1.

[in] Group

Alamat IPv4 dari grup multicast.

[out] FilterMode

Penunjuk ke nilai untuk menerima mode filter multicast untuk alamat grup multicast saat fungsi kembali.

[in, out] SourceCount

Pada input, pointer ke nilai yang menunjukkan jumlah maksimum alamat sumber yang akan pas di buffer yang ditunjukkan oleh parameter SourceList .

Pada output, pointer ke nilai yang menunjukkan jumlah total alamat sumber yang terkait dengan filter multicast.

[out] SourceList

Penunjuk ke buffer untuk menerima daftar alamat IP yang terkait dengan filter multicast.

Jika SourceCount nol pada input, pointer NULL dapat disediakan.

Mengembalikan nilai

Jika berhasil, getipv4sourcefilter mengembalikan NO_ERROR (0). Setiap nilai pengembalian bukan nol menunjukkan kegagalan dan kode kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.

Kode kesalahan Makna
WSAENOBUFS
Ruang buffer tidak cukup tersedia.
WSAENOTSOCK
Deskriptor bukan soket.

Keterangan

Fungsi sebaris getipv4sourcefilter digunakan untuk mengambil status filter multicast untuk soket IPv4.

Jika aplikasi tidak tahu ukuran daftar sumber sebelumnya, aplikasi dapat membuat tebakan (nol, misalnya). Jika setelah selesai, parameter SourceCount memegang nilai yang lebih besar, operasi dapat diulang dengan buffer yang cukup besar.

Saat dikembalikan, parameter SourceCount selalu diperbarui menjadi jumlah total sumber dalam filter, sementara buffer yang ditunjukkan oleh parameter SourceList akan menyimpan alamat sumber sebanyak yang pas, hingga minimum ukuran array yang diteruskan sebagai nilai SourceCount asli dan jumlah total sumber dalam filter.

Fungsi ini adalah bagian dari ekstensi antarmuka soket untuk filter sumber multicast yang ditentukan dalam RFC 3678. Aplikasi dapat menggunakan fungsi ini untuk mengambil dan mengatur filter alamat sumber multicast yang terkait dengan soket.

Windows Phone 8: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8 dan yang lebih baru.

Windows 8.1 dan Windows Server 2012 R2: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.

Persyaratan

   
Klien minimum yang didukung Windows 8.1, Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header ws2tcpip.h
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

MULTICAST_MODE_TYPE

getsourcefilter

in_addr

setipv4sourcefilter

setsourcefilter