共用方式為


snmpListen 函式 (winsnmp.h)

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

WinSNMP SnmpListen 函式會將 WinSNMP 應用程式註冊為 SNMP 代理程式。 代理程式應用程式會呼叫此函式,通知 Microsoft WinSNMP 實作實體將擔任 SNMP 代理程式的角色。 應用程式也會呼叫此函式,以在實體不再在此角色中運作時通知實作。 SnmpListen 函式是 WinSNMP API 2.0 版的元素。

語法

SNMPAPI_STATUS SNMPAPI_CALL SnmpListen(
  [in] HSNMP_ENTITY   hEntity,
  [in] SNMPAPI_STATUS lStatus
);

參數

[in] hEntity

處理 WinSNMP 實體,以在 Microsoft WinSNMP 實作收到傳入的 SNMP 要求訊息 (PDU) 時通知。 此參數會識別代理程式應用程式。 如需詳細資訊,請參閱下列和一節。

當您呼叫 SnmpCreateSession 函式時,您可以指定實作是否應該使用視窗通知訊息或 SNMPAPI_CALLBACK 函式,以在 SNMP 訊息或異步事件可用時通知應用程式。

[in] lStatus

指定不帶正負號的長整數變數,指出 hEntity 參數所識別的 WinSNMP 實體是否在 SNMP 代理程式角色中,或如果它不再在這個角色中運作。 此參數可以是下列其中一個值。

意義
SNMPAPI_ON
指定的 WinSNMP 實體在代理程式角色中運作。
SNMPAPI_OFF
指定的 WinSNMP 實體無法在代理程式角色中運作。
 

傳遞 值SNMPAPI_OFF釋放配置給實體的資源,以及指派它的埠。 如需詳細資訊,請參閱接下來的<備註>一節。

傳回值

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

如果函式失敗,傳回值會SNMPAPI_FAILURE。 若要取得擴充的錯誤資訊,請呼叫 SnmpGetLastErrorSnmpGetLastError 函式可以傳回下列其中一個錯誤。

傳回碼 Description
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函式未順利完成。
SNMPAPI_ALLOC_ERROR
記憶體配置期間發生錯誤。
SNMPAPI_ENTITY_INVALID
hEntity 參數無效。 此參數必須是先前呼叫 SnmpStrToEntity 函式所傳回的句柄。
SNMPAPI_MODE_INVALID
lStatus 參數無效。
SNMPAPI_NOOP
hEntity 參數指定的實體已在 SNMP 代理程式的角色中運作。
SNMPAPI_TL_RESOURCE_ERROR
網路傳輸層錯誤。 無法為 hEntity 參數指定的實體建立套接字。
SNMPAPI_TL_OTHER
嘗試系結 hEntity 參數所指定實體的套接字時,網路傳輸層發生錯誤。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

當您指定實體時,您可以明確指定實體的位址系列、介面位址和埠。 這是因為 WinSNMP 會根據 對 SnmpStrToEntity 函式的呼叫,將這些屬性指派給每個 WinSNMP 實體。 實作會在將通知傳送給代理程式應用程式時,使用目前指派給 hEntity 參數所指定之實體的位址和埠設定。 如需詳細資訊,請參閱 SnmpSetPort

當您呼叫 WinSNMP 會話的 SnmpClose 函式和 WinSNMP 應用程式的 SnmpCleanup 函式時,您必須釋放與 WinSNMP 代理程式應用程式相關聯的所有埠。

如需SNMP管理應用程式和代理程式應用程式的詳細資訊,請參閱註冊 SNMP 代理程式應用程式和關於SNMP

規格需求

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

另請參閱

SnmpCleanup

SnmpClose

SnmpRecvMsg

SnmpSendMsg

SnmpSetPort

SnmpStrToEntity

WinSNMP 函式

WinSNMP API 概觀