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
要接收泛型陷阱指標的變數指標。 此參數可以是下列其中一個值。
[out] specificTrap
要接收所產生特定陷阱之指示的變數指標。
[out] timeStamp
要接收時間戳之變數的指標。
[out] variableBindings
要接收變數系結清單之 SnmpVarBindList 結構的指標。
傳回值
如果函式傳回陷阱,則傳回值為 TRUE。 呼叫之後立即呼叫 SnmpGetLastError 即可擷取錯誤的程序代碼。
您應該重複呼叫 SnmpMgrGetTrap 函式,直到傳回 FALSE (零) 為止。 函式也可以傳回下列錯誤碼。
傳回碼 | Description |
---|---|
|
指出發生錯誤;無法存取陷阱。 |
|
表示沒有可用的陷阱。 |
|
表示記憶體配置錯誤。 |
備註
應用程式必須一律呼叫 SnmpMgrTrapListen 函式,才能呼叫 SnmpMgrGetTrap 函式。 這是因為 SnmpMgrTrapListen 函式的 phTrapAvailable 參數所指向的事件句柄可啟用 SNMP 陷阱的事件驅動取得。 SNMP 管理 API 會在 SNMP 陷阱服務提供陷阱時發出應用程式事件的訊號。
應用程式也可以定期輪詢 SnmpMgrGetTrap 函式中的陷阱。 在此情況下,應用程式應該重複呼叫 SnmpMgrGetTrap ,直到函式傳回零為止。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mgmtapi.h |
程式庫 | Mgmtapi.lib |
Dll | Mgmtapi.dll |