共用方式為


SnmpMgrGetTrap 函式 (mgmtapi.h)

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

如果啟用陷阱接收, SnmpMgrGetTrap 函式會傳回呼叫端尚未收到的未完成陷阱數據。 此函式是SNMP管理 API 的元素。

除了此函式傳回的資訊之外, SnmpMgrGetTrapEx 函式還會傳回傳輸來源的位址和陷阱的社群字串。

語法

BOOL SNMP_FUNC_TYPE SnmpMgrGetTrap(
  [out] AsnObjectIdentifier *enterprise,
  [out] AsnNetworkAddress   *IPAddress,
  [out] AsnInteger          *genericTrap,
  [out] AsnInteger          *specificTrap,
  [out] AsnTimeticks        *timeStamp,
  [out] RFC1157VarBindList  *variableBindings
);

參數

[out] enterprise

AsnObjectIdentifier 結構的指標,以接收產生 SNMP 陷阱的企業。

[out] IPAddress

要接收產生SNMP陷阱之代理程式的位址之變數指標。

[out] genericTrap

要接收泛型陷阱指標的變數指標。 此參數可以是下列其中一個值。

意義
SNMP_GENERICTRAP_COLDSTART
代理程式正在受控模式上初始化通訊協議實體。 它可以在其檢視中改變物件。
SNMP_GENERICTRAP_WARMSTART
代理程式正在重新初始化本身,但它不會在其檢視中改變物件。
SNMP_GENERICTRAP_LINKDOWN
附加介面已從「向上」狀態變更為「關閉」狀態。 變數系結清單中的第一個變數會識別 介面。
SNMP_GENERICTRAP_LINKUP
附加介面已從「關閉」狀態變更為「上」狀態。 變數系結清單中的第一個變數會識別 介面。
SNMP_GENERICTRAP_AUTHFAILURE
SNMP 實體已傳送 SNMP 訊息,但已誤宣告屬於已知的社群。
SNMP_GENERICTRAP_EGPNEIGHLOSS
EGP 對等互連已變更為「關閉」狀態。 變數系結清單中的第一個變數會識別 EGP 對等互連的IP位址。
SNMP_GENERICTRAP_ENTERSPECIFIC
發生異常事件,而且會在具有企業特定值的 specificTrap 參數中識別。

[out] specificTrap

要接收所產生特定陷阱之指示的變數指標。

[out] timeStamp

要接收時間戳之變數的指標。

[out] variableBindings

要接收變數系結清單之 SnmpVarBindList 結構的指標。

傳回值

如果函式傳回陷阱,則傳回值為 TRUE。 呼叫之後立即呼叫 SnmpGetLastError 即可擷取錯誤的程序代碼。

您應該重複呼叫 SnmpMgrGetTrap 函式,直到傳回 FALSE (零) 為止。 函式也可以傳回下列錯誤碼。

傳回碼 Description
SNMP_MGMTAPI_TRAP_ERRORS
指出發生錯誤;無法存取陷阱。
SNMP_MGMTAPI_NOTRAPS
表示沒有可用的陷阱。
SNMP_MEM_ALLOC_ERROR
表示記憶體配置錯誤。

備註

應用程式必須一律呼叫 SnmpMgrTrapListen 函式,才能呼叫 SnmpMgrGetTrap 函式。 這是因為 SnmpMgrTrapListen 函式的 phTrapAvailable 參數所指向的事件句柄可啟用 SNMP 陷阱的事件驅動取得。 SNMP 管理 API 會在 SNMP 陷阱服務提供陷阱時發出應用程式事件的訊號。

應用程式也可以定期輪詢 SnmpMgrGetTrap 函式中的陷阱。 在此情況下,應用程式應該重複呼叫 SnmpMgrGetTrap ,直到函式傳回零為止。

規格需求

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

另請參閱

AsnObjectIdentifier

SNMP 函式

Simple Network Management Protocol (SNMP) 概觀

SnmpMgrTrapListen

SnmpVarBindList