共用方式為


NotifyTeredoPortChange 函式

NotifyTeredoPortChange函式會註冊驅動程式,以通知 Teredo 用戶端在本機電腦上用於 Teredo 服務埠的 UDP 埠號碼變更。

語法

NETIOAPI_API NotifyTeredoPortChange(
  _In_    PTEREDO_PORT_CHANGE_CALLBACK Callback,
  _In_    PVOID                        CallerContext,
  _In_    BOOLEAN                      InitialNotification,
  _Inout_ HANDLE *                     NotificationHandle
);

參數

  • 回呼 [in]
    發生 Teredo 用戶端埠變更時要呼叫之函式的指標。 收到 Teredo 埠變更通知時,會呼叫此函式。

  • CallerCoNtext [in]
    收到 Teredo 埠變更通知時,傳遞至 Callback 參數中指定的回呼函式的使用者內容。

  • InitialNotification [in]
    值,指出是否應該在驅動程式變更通知註冊完成之後立即呼叫回呼。 此初始通知不會指出 Teredo 用戶端埠發生變更。 此參數提供已註冊回呼的確認。

  • NotificationHandle [in, out]
    指標,用來傳回驅動程式稍後可用來取消註冊驅動程式變更通知的控制碼。 成功時,此參數會傳回通知控制碼。 如果發生錯誤,則會傳回 Null

傳回值

如果函式成功,NotifyTeredoPortChange會傳回STATUS_SUCCESS。

如果函式失敗, NotifyTeredoPortChange 會傳回下列其中一個錯誤碼:

傳回碼 描述
ERROR_INVALID_HANDLE

發生內部錯誤,其中遇到不正確控制碼。

STATUS_INVALID_PARAMETER

不正確參數已傳遞至 函式。 如果 Callback 參數是 Null 指標,就會傳回此錯誤。

STATUS_NOT_ENOUGH_MEMORY

記憶體不足。

其他

使用 FormatMessage 函式來取得傳回錯誤的訊息字串。

備註

呼參數中指定的回呼函式調用會序列化。 回呼函式應該定義為 VOID類型的函式。 傳遞至回呼函式的參數包括下列各項。

參數 描述

IN PVOID CallerCoNtext

呼叫 器CoNtext 參數,在註冊驅動程式以取得變更通知時傳遞至 NotifyTeredoPortChange 函式。

IN USHORT

Teredo 用戶端目前使用的 UDP 埠號碼。 當NotificationType參數中傳遞至回呼函式的MIB_NOTIFICATION_TYPE值設定為MibInitialNotification時,此參數為零。 只有在註冊驅動程式以取得變更通知時,傳遞給NotifyTeredoPortChangeInitialNotification參數設定為TRUE時,才會發生這種情況。

IN MIB_NOTIFICATION_TYPE NotificationType

通知類型。 這個成員可以是 來自MIB_NOTIFICATION_TYPE 列舉類型的其中一個值。

您的驅動程式可以使用 GetTeredoPort 函式,擷取 Teredo 用戶端用於 Teredo 服務埠的初始 UDP 埠號碼。

Teredo 埠是動態的,而且可以隨時在本機電腦上重新開機 Teredo 用戶端時變更。 驅動程式可以藉由呼叫 NotifyTeredoPortChange 函式來註冊,以在 Teredo 服務埠變更時收到通知。

Teredo 用戶端也會使用靜態 UDP 埠 3544 來接聽多播 IPv4 位址 224.0.0.253 上傳送的多播流量,如 RFC 4380 中所定義。 如需詳細資訊,請參閱 Teredo:透過 UDPthrough 網路位址轉譯通道 IPv6 (NAT)

NotifyTeredoPortChange函式主要是由防火牆驅動程式用來設定適當的例外狀況,以啟用傳入和傳出 Teredo 流量。

若要取消註冊驅動程式以取得變更通知,請呼叫CancelMibChangeNotify2函式,傳遞NotifyTeredoPortChange函式傳回的NotificationHandle參數。

規格需求

目標平台

普遍

版本

可在 Windows Vista 和更新版本的 Windows 作業系統中使用。

標頭

Netioapi.h (包括 Netioapi.h)

程式庫

Netio.lib

IRQL

< DISPATCH_LEVEL

另請參閱

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable