Sdílet prostřednictvím


Funkce GetMulticastIpAddressTable

Funkce GetMulticastIpAddressTable načte tabulku IP adres vícesměrového vysílání na místním počítači.

Syntax

NETIOAPI_API GetMulticastIpAddressTable(
  _In_  ADDRESS_FAMILY                Family,
  _Out_ PMIB_MULTICASTIPADDRESS_TABLE *Table
);

Parametry

  • rodinný [in]
    Rodina adres, která se má načíst.

    Možné hodnoty pro řadu adres jsou uvedeny v souboru záhlaví Winsock2.h. Všimněte si, že hodnoty pro řadu AF_ adres a konstanty rodiny protokolu PF_ jsou stejné (například AF_INET a PF_INET), takže můžete použít kteroukoli konstantu.

    V systému Windows Vista a novějších verzích operačních systémů Windows jsou možné hodnoty parametru Family definovány v souboru hlaviček Ws2def.h. Všimněte si, že soubor hlavičky Ws2def.h je automaticky zahrnutý v Netioapi.h a nikdy byste neměli používat Ws2def.h přímo.

    Pro řadu adres se v současné době podporují následující hodnoty:

    • AF_INET
      Řada adres IPv4. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku IP adres vícesměrového vysílání, která obsahuje pouze položky IPv4.

    • AF_INET6
      Řada IPv6 adres. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku IP adres vícesměrového vysílání, která obsahuje pouze položky IPv6.

    • AF_UNSPEC
      Řada adres není zadaná. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku IP adres vícesměrového vysílání, která obsahuje položky IPv4 i IPv6.

  • tabulky [out]
    Ukazatel na strukturu MIB_MULTICASTIPADDRESS_TABLE, která obsahuje tabulku položek IP adresy vysílání v místním počítači.

Návratová hodnota

GetMulticastIpAddressTable vrátí STATUS_SUCCESS, pokud bude funkce úspěšná.

Pokud funkce selže, GetMulticastIpAddressTable vrátí jeden z následujících kódů chyb:

Návratový kód Popis
STATUS_INVALID_PARAMETER

Funkci byla předána neplatná hodnota parametru. Tato chyba se vrátí , pokud je v parametru Table předán ukazatel NULL nebo parametr Family nebyl zadán jako AF_INET, AF_INET6 nebo AF_UNSPEC.

STATUS_NOT_ENOUGH_MEMORY

K dokončení operace je k dispozici nedostatek prostředků paměti.

STATUS_NOT_FOUND

Nebyly nalezeny žádné položky IP adresy vysílání zadané v parametru Family.

STATUS_NOT_SUPPORTED

Požadavek není podporován. Tato chyba se vrátí, pokud se na místním počítači nenachází žádný zásobník IPv4 a AF_INET byl zadán v parametru Family nebo pokud se v místním počítači nenachází zásobník IPv6 a AF_INET6 byl zadán v parametru Family. Tato chyba se také vrátí ve verzích Windows, kde tato funkce není podporovaná.

Jiné

Pomocí funkce FormatMessage získejte řetězec zprávy pro vrácenou chybu.

Poznámky

Funkce GetMulticastIpAddressTable vytvoří výčet IP adres vícesměrového vysílání v místním počítači a vrátí tyto informace ve struktuře MIB_MULTICASTIPADDRESS_TABLE.

GetMulticastIpAddressTable vrátí položky IP adresy vícesměrového vysílání ve struktuře MIB_MULTICASTIPADDRESS_TABLE ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_MULTICASTIPADDRESS_TABLE obsahuje počet položek IP adres vícesměrového vysílání a pole struktur MIB_MULTICASTIPADDRESS_ROW pro každou položku IP adresy vícesměrového vysílání. Pokud tyto vrácené struktury již nejsou požadovány, ovladač by měl uvolnit paměť voláním FreeMibTable.

Ovladač musí inicializovat parametr Family na AF_INET, AF_INET6 nebo AF_UNSPEC.

Všimněte si , že vrácená struktura MIB_MULTICASTIPADDRESS_TABLE tabulky tabulka může obsahovat odsazení pro zarovnání mezi NumEntries člen a první položku pole MIB_MULTICASTIPADDRESS_ROW v Tabulce člen struktury MIB_MULTICASTIPADDRESS_TABLE. Odsazení pro zarovnání může být také mezi položkami pole MIB_MULTICASTIPADDRESS_ROW. Jakýkoli přístup k položce pole MIB_MULTICASTIPADDRESS_ROW by měl předpokládat, že odsazení může existovat.

Požadavky

Cílová platforma

univerzální

Verze

K dispozici v systémech Windows Vista a novějších verzích operačních systémů Windows.

Záhlaví

Netioapi.h (včetně Netioapi.h)

Knihovna

Netio.lib

IRQL

< DISPATCH_LEVEL

Viz také

GetMulticastIpAddressEntry

MIB_MULTICASTIPADDRESS_ROW

MIB_MULTICASTIPADDRESS_TABLE