다음을 통해 공유


NotifyRouteChange2 함수

NotifyRouteChange2 함수는 로컬 컴퓨터의 IP 경로 항목 변경에 대한 알림을 받을 드라이버를 등록합니다.

통사론

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

매개 변수

  • 가족 [in]
    변경 알림을 위해 드라이버를 등록할 주소 패밀리입니다.

    주소 패밀리에 대한 가능한 값은 Winsock2.h 헤더 파일에 나열됩니다. AF_ 주소 패밀리 및 PF_ 프로토콜 패밀리 상수의 값은 동일하므로(예: AF_INET 및 PF_INET) 상수 중 하나를 사용할 수 있습니다.

    Windows Vista 이상 버전의 Windows 운영 체제에서는 Family 매개 변수에 대한 가능한 값이 Ws2def.h 헤더 파일에 정의되어 있습니다. Ws2def.h 헤더 파일은 Netioapi.h에 자동으로 포함되며 Ws2def.h를 직접 사용하면 안 됩니다.

    현재 주소 패밀리에 대해 지원되는 값은 다음과 같습니다.

    • AF_INET
      IPv4 주소 패밀리입니다. 이 값을 지정하면 이 함수는 IPv4 경로 변경 알림에 대해서만 드라이버를 등록합니다.

    • AF_INET6
      IPv6 주소 패밀리입니다. 이 값을 지정하면 이 함수는 IPv6 경로 변경 알림에 대해서만 드라이버를 등록합니다.

    • AF_UNSPEC
      주소 패밀리가 지정되지 않았습니다. 이 값을 지정하면 이 함수는 IPv4 및 IPv6 경로 변경 알림 모두에 대한 드라이버를 등록합니다.

  • 콜백 [in]
    변경이 발생할 때 호출할 함수에 대한 포인터입니다. 이 함수는 인터페이스 알림을 받을 때 호출됩니다.

  • CallerContext [in]
    인터페이스 알림이 수신될 때 콜백 매개 변수에 지정된 콜백 함수에 전달되는 사용자 컨텍스트입니다.

  • InitialNotification [in]
    변경 알림 등록이 완료된 직후 콜백을 호출해야 하는지 여부를 나타내는 값입니다. 이 초기 알림은 IP 경로에 대한 변경이 발생했음을 나타내지 않습니다. 콜백이 등록되었음을 확인하는 이 매개 변수의 용도입니다.

  • NotificationHandle [in, out]
    초기화할 MIB_IPINTERFACE_ROW 구조체에 대한 포인터입니다. 반환이 성공하면 이 구조의 멤버는 로컬 컴퓨터의 인터페이스에 대한 기본 정보를 사용하여 초기화됩니다.

반환 값

NotifyRouteChange2 함수가 성공하면 STATUS_SUCCESS 반환합니다.

함수가 실패하면 notifyRouteChange2 다음 오류 코드 중 하나를 반환합니다.

반환 코드 묘사
ERROR_INVALID_HANDLE

잘못된 핸들이 발생한 내부 오류가 발생했습니다.

STATUS_INVALID_PARAMETER

잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Family 매개 변수가 AF_INET, AF_INET6 또는 AF_UNSPEC 않은 경우 반환됩니다.

STATUS_NOT_ENOUGH_MEMORY

메모리가 부족했습니다.

기타

FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

발언

드라이버는 Family 매개 변수를 AF_INET, AF_INET6 또는 AF_UNSPEC 설정해야 합니다.

콜백 매개 변수에 지정된 콜백 함수의 호출이 serialize됩니다. 콜백 함수는 VOID 형식의 함수로 정의되어야. 콜백 함수에 전달되는 매개 변수는 다음과 같습니다.

매개 변수 묘사

IN PVOID CallerContext

변경 알림을 위해 드라이버를 등록할 때 NotifyRouteChange2 함수에 전달되는 CallerContext 매개 변수입니다.

IN PMIB_IPFORWARD_ROW2 Row OPTIONAL

변경된 IP 경로 항목의 MIB_IPFORWARD_ROW2 항목에 대한 포인터입니다. 콜백 함수에 NotificationType 매개 변수에 전달된 MIB_NOTIFICATION_TYPE 값이 MibInitialNotification으로 설정된 경우 이 매개 변수는 NULL 포인터입니다. 이 상황은 변경 알림을 위해 드라이버를 등록할 때 NotifyRouteChange2 전달된 InitialNotification 매개 변수가 TRUE 설정된 경우에만 발생할 수 있습니다.

IN MIB_NOTIFICATION_TYPE NotificationType

알림 유형입니다. 이 멤버는 MIB_NOTIFICATION_TYPE 열거형 형식의 값 중 하나일 수 있습니다.

변경 알림에 대한 드라이버를 등록 취소하려면 CancelMibChangeNotify2 함수를 호출하여 NotifyRouteChange2 반환할NotificationHandle 매개 변수를 전달합니다.

요구 사항

대상 플랫폼

유니버설

버전

Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.

머리글

Netioapi.h(Netioapi.h 포함)

도서관

Netio.lib

IRQL

< DISPATCH_LEVEL

참고 항목

CancelMibChangeNotify2

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

getIpForwardEntry2

getIpForwardTable2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_NOTIFICATION_TYPE

setIpForwardEntry2