共用方式為


snmpSetPort 函式 (winsnmp.h)

[SNMP 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 請改用 Windows 遠端系統管理,這是 WS-Man 的 Microsoft 實作。

WinSNMP 應用程式會呼叫 SnmpSetPort 函式,以變更指派給目的地實體的埠。 SnmpSetPort函式是 WinSNMP API 2.0 版的元素。

語法

SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPort(
  [in] HSNMP_ENTITY hEntity,
  [in] UINT         nPort
);

參數

[in] hEntity

WinSNMP 目的地實體的控制碼。 此參數可以指定 SNMP 代理程式應用程式角色中實體的控制碼,因為 對 SnmpListen 函式的呼叫。 如需詳細資訊,請參閱接下來的<備註>一節。

[in] nPort

指定不帶正負號的整數,識別目的地實體的新埠指派。 如果您指定忙碌的本機位址,或指定無法使用的遠端位址, 則 SnmpSetPort 函式的呼叫會失敗。

傳回值

如果函式成功,傳回值會SNMPAPI_SUCCESS。

如果函式失敗,傳回值會SNMPAPI_FAILURE。 若要取得擴充的錯誤資訊,請呼叫SnmpGetLastError在其會話參數中指定Null值。 SnmpGetLastError 函式可以傳回下列其中一個錯誤。

傳回碼 描述
SNMPAPI_NOT_INITIALIZED
SnmpStartup函式未順利完成。
SNMPAPI_OPERATION_INVALID
hEntity參數指定的實體已在代理程式角色中運作,因為呼叫 SnmpListen函式的結果。 如需詳細資訊,請參閱接下來的<備註>一節。
SNMPAPI_ENTITY_INVALID
hEntity參數無效。 此參數必須是 先前呼叫 SnmpStrToEntity 函式所傳回的控制碼。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

Microsoft WinSNMP 實作會根據 WinSNMP 應用程式對 SnmpStrToEntity 函式的呼叫,將埠指派給每個管理實體。 如果SNMPAPI_UNTRANSLATED模式在實作建立實體時生效,實作通常會將個別通訊協定系列的標準 SNMP 要求埠指派給實體;例如,UDP 161 或 IPX 36879。 如果SNMPAPI_TRANSLATED模式生效,實作會指派 WinSNMP 資料庫中實體所指定的埠。 若要擷取實作作用中的目前實體和內容轉譯模式,應用程式可以呼叫 SnmpGetTranslateMode 函式。 如需詳細資訊,請參閱 設定實體和內容轉譯模式WinSNMP 資料庫

如果hEntity參數指定的實體目前在代理程式角色中運作,SnmpSetPort函式的呼叫就會失敗。 這是因為實體已指派給 nPort 參數所指定埠以外的埠。 為了確保將代理程式應用程式指派給特定埠,WinSNMP 應用程式可以執行下列步驟。

  1. 呼叫 SnmpStrToEntity ,如下所示:

    hAgent = SnmpStrToEntity (hSession, <addrString>);

  2. 呼叫 SnmpSetPort ,如下所示:

    SnmpSetPort (hAgent, <nPort>);

  3. 呼叫 SnmpListen ,如下所示:

    SnmpListen (hAgent, SNMPAPI_ON);

其中 < addrString > 包含 IP 位址或 IPX 位址的字串表示,而 < nPort > 則包含代理程式應用程式的新埠指派。

請注意,IPX 位址包含一個網路編號,其中包含八個十六進位數位, (在必要時填入零) ;分隔符號 (「:」、「.」 或 「 – 」) ;和節點編號,其中包含 12 個十六進位數位, () 填滿零,例如,00000001:00081A0D01C2。 如需詳細資訊,請參閱 WinSNMP 中 IPX 位址字串的支援

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winsnmp.h
程式庫 Wsnmp32.lib
Dll Wsnmp32.dll

另請參閱

SnmpGetTranslateMode

SnmpListen

SnmpStrToEntity

WinSNMP 函式

WinSNMP API 概觀