NotifyIpInterfaceChange függvény

A NotifyIpInterfaceChange függvény regisztrálja az illesztőprogramot, hogy értesítést kapjon a helyi számítógép összes IP-adapterének, IPv4-adapterének vagy IPv6-adapterének változásairól.

Szintaxis

NETIOAPI_API NotifyIpInterfaceChange(
  _In_    ADDRESS_FAMILY               Family,
  _In_    PIPINTERFACE_CHANGE_CALLBACK Callback,
  _In_    PVOID                        CallerContext,
  _In_    BOOLEAN                      InitialNotification,
  _Inout_ HANDLE                       *NotificationHandle
);

Paraméterek

  • Családi [in]
    A címcsalád, amely regisztrálja az illesztőprogramot a változásértesítésekhez.

    A címcsalád lehetséges értékei a Winsock2.h fejlécfájlban jelennek meg. Vegye figyelembe, hogy a AF_ címcsalád és PF_ protokollcsalád állandói azonosak (például AF_INET és PF_INET), így bármelyik állandót használhatja.

    A Windows Vista és a Windows operációs rendszerek újabb verzióiban a Family paraméter lehetséges értékei a Ws2def.h fejlécfájlban vannak definiálva. Vegye figyelembe, hogy a Ws2def.h fejlécfájl automatikusan szerepel a Netioapi.h-ban, és soha ne használja közvetlenül a Ws2def.h fájlt.

    A címcsalád esetében jelenleg a következő értékek támogatottak:

    • AF_INET
      Az IPv4-címcsalád. Ha ez az érték meg van adva, ez a függvény regisztrálja az illesztőprogramot, hogy csak az IPv4 változásértesítésekért kapjon értesítést.

    • AF_INET6
      Az IPv6-címcsalád. Ha ez az érték meg van adva, ez a függvény csak az IPv6 változásértesítések illesztőprogramját regisztrálja.

    • AF_UNSPEC
      A címcsalád nincs meghatározva. Ha ez az érték meg van adva, ez a függvény regisztrálja az illesztőprogramot, hogy értesítést kapjon az IPv4- és az IPv6-módosításokról is.

  • visszahívási [in]
    A függvényre mutató mutató, amely meghívja, ha változás történik. Ezt a függvényt a rendszer akkor hívja meg, amikor egy felületi értesítés érkezik.

  • CallerContext [in]
    Felhasználói környezet, amely a Visszahívás paraméterben megadott visszahívási függvénynek lesz átadva felületi értesítés érkezésekor.

  • InitialNotification [in]
    Egy érték, amely jelzi, hogy a visszahívást közvetlenül a változásértesítés regisztrációjának befejezése után kell-e meghívni. Ez a kezdeti értesítés nem jelzi, hogy változás történt egy IP-adapteren. Ennek a paraméternek a célja annak megerősítése, hogy a visszahívás regisztrálva van.

  • NotificationHandle [be, ki]
    A változásértesítés regisztrációjának törléséhez később használható fogópont visszaadására szolgáló mutató. Sikeresség esetén a paraméter egy értesítési leírót ad vissza. Ha hiba történik, NULL ad vissza.

Visszaadott érték

NotifyIpInterfaceChange STATUS_SUCCESS ad vissza, ha a függvény sikeres.

Ha a függvény meghiúsul, NotifyIpInterfaceChange a következő hibakódok egyikét adja vissza:

Kód visszaadása Leírás
ERROR_INVALID_HANDLE

Belső hiba történt, amikor érvénytelen leírót észleltek.

STATUS_INVALID_PARAMETER

Érvénytelen paraméter lett átadva a függvénynek. Ez a hiba akkor jelenik meg, ha a Családi paraméter nem AF_INET, AF_INET6 vagy AF_UNSPEC.

STATUS_NOT_ENOUGH_MEMORY

Nem volt elég memória.

Egyéb

A FormatMessage függvénnyel szerezze be a visszaadott hiba üzenetsztringét.

Megjegyzések

Az illesztőprogramnak Családi paramétert kell beállítania AF_INET, AF_INET6 vagy AF_UNSPEC értékre.

A Visszahívás paraméterben megadott visszahívási függvény meghívása szerializálva van. A visszahívási függvényt VOIDtípusú függvényként kell definiálni. A visszahívási függvénynek átadott paraméterek a következők.

Paraméter Leírás

IN PVOID CallerContext

A CallerContext paraméter, amelyet a NotifyIpInterfaceChange függvénynek ad át, amikor regisztrálja az illesztőprogramot a változásértesítésekhez.

IN PMIB_IPINTERFACE_ROW Row OPTIONAL

A módosított felület MIB_IPINTERFACE_ROW bejegyzésére mutató mutató. Ez a paraméter egy NULL mutató, ha a visszahívási függvénynek a NotificationType paraméterben átadott MIB_NOTIFICATION_TYPE érték MibInitialNotificationértékre van állítva. Ez a helyzet csak akkor fordulhat elő, ha a NotifyIpInterfaceChangeInitialNotification paraméter értéke IGAZ lett beállítva az illesztőprogram változásértesítések regisztrálásakor.

IN MIB_NOTIFICATION_TYPE NotificationType

Az értesítés típusa. Ez a tag lehet az MIB_NOTIFICATION_TYPE enumerálási típus egyik értéke.

A változásértesítések illesztőprogramjának törléséhez hívja meg a CancelMibChangeNotify2 függvényt, és adja át az NotificationHandle paramétert, amelyet NotifyIpInterfaceChange visszaad.

Követelmények

Célplatform

Univerzális

Verzió

Elérhető a Windows Vista és a Windows operációs rendszerek újabb verzióiban.

Fejléc

Netioapi.h (netioapi.h)

Könyvtár

Netio.lib

IRQL

< DISPATCH_LEVEL

Lásd még:

CancelMibChangeNotify2

GetIfEntry2

GetIfStackTable

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IPINTERFACE_ROW

MIB_NOTIFICATION_TYPE

SetIpInterfaceEntry