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 函式可以傳回下列其中一個錯誤。
傳回碼 | 描述 |
---|---|
|
SnmpStartup函式未順利完成。 |
|
hEntity參數指定的實體已在代理程式角色中運作,因為呼叫 SnmpListen函式的結果。 如需詳細資訊,請參閱接下來的<備註>一節。 |
|
hEntity參數無效。 此參數必須是 先前呼叫 SnmpStrToEntity 函式所傳回的控制碼。 |
|
發生未知或未定義的錯誤。 |
備註
Microsoft WinSNMP 實作會根據 WinSNMP 應用程式對 SnmpStrToEntity 函式的呼叫,將埠指派給每個管理實體。 如果SNMPAPI_UNTRANSLATED模式在實作建立實體時生效,實作通常會將個別通訊協定系列的標準 SNMP 要求埠指派給實體;例如,UDP 161 或 IPX 36879。 如果SNMPAPI_TRANSLATED模式生效,實作會指派 WinSNMP 資料庫中實體所指定的埠。 若要擷取實作作用中的目前實體和內容轉譯模式,應用程式可以呼叫 SnmpGetTranslateMode 函式。 如需詳細資訊,請參閱 設定實體和內容轉譯模式 和 WinSNMP 資料庫。
如果hEntity參數指定的實體目前在代理程式角色中運作,SnmpSetPort函式的呼叫就會失敗。 這是因為實體已指派給 nPort 參數所指定埠以外的埠。 為了確保將代理程式應用程式指派給特定埠,WinSNMP 應用程式可以執行下列步驟。
-
呼叫 SnmpStrToEntity ,如下所示:
hAgent = SnmpStrToEntity (hSession, <addrString>);
-
呼叫 SnmpSetPort ,如下所示:
SnmpSetPort (hAgent, <nPort>);
-
呼叫 SnmpListen ,如下所示:
SnmpListen (hAgent, SNMPAPI_ON);
請注意,IPX 位址包含一個網路編號,其中包含八個十六進位數位, (在必要時填入零) ;分隔符號 (「:」、「.」 或 「 – 」) ;和節點編號,其中包含 12 個十六進位數位, () 填滿零,例如,00000001:00081A0D01C2。 如需詳細資訊,請參閱 WinSNMP 中 IPX 位址字串的支援。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winsnmp.h |
程式庫 | Wsnmp32.lib |
Dll | Wsnmp32.dll |