Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce NotifyStableUnicastIpAddressTable načte stabilní tabulku IP adres jednosměrového vysílání v místním počítači.
Syntax
NETIOAPI_API NotifyStableUnicastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_UNICASTIPADDRESS_TABLE *Table,
_In_ PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback,
_In_ PVOID CallerContext,
_Inout_ HANDLE *NotificationHandle
);
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á, funkce načte stabilní tabulku IP adres jednosměrového vysílání, která obsahuje pouze položky IPv4.AF_INET6
Řada IPv6 adres. Pokud je tato hodnota zadaná, funkce načte stabilní tabulku IP adres jednosměrového vysílání, která obsahuje pouze položky IPv6.AF_UNSPEC
Řada adres není zadaná. Pokud je tato hodnota zadaná, funkce načte stabilní tabulku IP adres jednosměrového vysílání, která obsahuje položky IPv4 i IPv6.
tabulky [out]
Ukazatel na strukturu MIB_UNICASTIPADDRESS_TABLE Pokud NotifyStableUnicastIpAddressTable úspěšný, vrátí tento parametr stabilní tabulku IP adres jednosměrového vysílání v místním počítači.Když NotifyStableUnicastIpAddressTable vrátí ERROR_IO_PENDING, což značí, že požadavek na vstupně-výstupní operace čeká, vrátí se stabilní tabulka IP adres jednosměrového vysílání do funkce v parametru CallerCallback.
CallerCallback [in]
Ukazatel na funkci, která se má volat se stabilní tabulkou IP adres jednosměrového vysílání. Tato funkce se volá, pokud NotifyStableUnicastIpAddressTable vrátí ERROR_IO_PENDING, což značí, že V/V požadavek čeká na vyřízení.CallerContext [in]
Kontext uživatele, který je předán funkci zpětného volání, která je zadána v CallerCallback parametr, pokud je k dispozici stabilní jednosměrová tabulka IP adres.NotificationHandle [in, out]
Ukazatel, který se používá k vrácení popisovače, který může ovladač použít ke zrušení požadavku na načtení stabilní tabulky IP adres jednosměrového vysílání. Tento parametr se vrátí, pokud je vrácená hodnota z NotifyStableUnicastIpAddressTable je ERROR_IO_PENDING, což značí, že vstupně-výstupní požadavek čeká na vyřízení.
Návratová hodnota
NotifyStableUnicastIpAddressTable vrátí STATUS_SUCCESS a stabilní tabulka IP jednosměrového vysílání se vrátí v parametru Table, pokud funkce proběhne okamžitě.
Pokud požadavek na vstupně-výstupní operace čeká na vyřízení, vrátí funkce ERROR_IO_PENDING a funkci, na kterou CallerCallback odkazuje parametr, který je volán při dokončení V/V požadavku se stabilní tabulkou IP adres jednosměrového vysílání.
Pokud funkce selže, NotifyStableUnicastIpAddressTable vrátí jeden z následujících kódů chyb:
| Návratový kód | Popis |
|---|---|
| ERROR_INVALID_HANDLE | Při výskytu neplatného popisovače došlo k vnitřní chybě. |
| STATUS_INVALID_PARAMETER | Funkci byla předána neplatná hodnota parametru. Tato chyba se vrátí, pokud parametr tabulky byl ukazatelem NULL, parametr NotificationHand le byl ukazatel NULL nebo parametr Family nebyl buď AF_INET, AF_INET6 nebo AF_UNSPEC. |
| STATUS_NOT_ENOUGH_MEMORY | Nedostatek paměti. |
| Jiné | Pomocí funkce FormatMessage získejte řetězec zprávy pro vrácenou chybu. |
Poznámky
Všechny IP adresy jednosměrového vysílání s výjimkou adres vytáčených na vyžádání jsou považovány za stabilní pouze v případě, že jsou v upřednostňovaném stavu. U normální položky IP adresy jednosměrového vysílání by tento stav odpovídal DadState člen MIB_UNICASTIPADDRESS_ROW IP adresy, která je nastavena na IpDadStatePreferred. Každá adresa na vyžádání definuje vlastní metriku stability. V současné době je jedinou adresou na vyžádání, kterou funkce NotifyStableUnicastIpAddressTable považuje za IP adresu jednosměrového vysílání, kterou klient Teredo používá v místním počítači.
Ovladač musí nastavit parametr Family na AF_INET, AF_INET6 nebo AF_UNSPEC.
Když NotifyStableUnicastIpAddressTable úspěšný a vrátí STATUS_SUCCESS, vrátí parametr Table stabilní tabulku IP adres jednosměrového vysílání v místním počítači.
Když NotifyStableUnicastIpAddressTable vrátí ERROR_IO_PENDING, což značí, že požadavek na vstupně-výstupní operace čeká, vrátí se stabilní tabulka IP adres jednosměrového vysílání do funkce v parametru CallerCallback.
Pokud je IP adresa jednosměrového vysílání, kterou Teredo používá, dostupná v místním počítači, ale ne ve stabilním (kvalifikovaném) stavu, NotifyStableUnicastIpAddressTable vrátí ERROR_IO_PENDING a stabilní tabulka IP adres jednosměrového vysílání se nakonec vrátí voláním funkce v parametru CallerCallback. Pokud adresa Teredo není dostupná nebo je ve stabilním stavu a ostatní IP adresy jednosměrového vysílání jsou ve stabilním stavu, funkce v CallerCallback parametru nikdy není volána.
Funkce zpětného volání zadaná v parametru CallerCallback by měla být definována jako funkce typu VOID. Parametry předávané funkci zpětného volání zahrnují následující.
| Parametr | Popis |
|---|---|
IN PVOID CallerContext |
CallerContext parametr, který se předá NotifyStableUnicastIpAddressTable funkce při registraci ovladače pro oznámení. |
IN PMIB_UNICASTIPADDRESS_TABLE AddressTable |
Ukazatel na strukturu MIB_UNICASTIPADDRESS_TABLE, která obsahuje stabilní tabulku IP adres jednosměrového vysílání v místním počítači. |
Funkce NotifyStableUnicastIpAddressTable se používá především ovladači, které používají klienta Teredo.
Chcete-li zrušit oznámení po dokončení zpětného volání, zavolejte funkci CancelMibChangeNotify 2 a předejte NotificationHandle parametr, který NotifyStableUnicastIpAddressTable vrátí.