snmpExtensionTrap 函式 (snmp.h)
[SNMP 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 請改用 Windows 遠端管理,這是 WS-Man 的 Microsoft 實作。
Microsoft SNMP 服務會呼叫 SnmpExtensionTrap 函式,以擷取服務產生 SNMP 擴充代理程式陷阱所需的資訊。 服務只有在擴充代理程式在呼叫 SnmpExtensionInit 函式時,才會將陷阱事件句柄設定為訊號狀態。 SnmpExtensionTrap 函式是 SNMP 延伸模組代理程式 API 的元素。
語法
BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(
[out] AsnObjectIdentifier *pEnterpriseOid,
[out] AsnInteger32 *pGenericTrapId,
[out] AsnInteger32 *pSpecificTrapId,
[out] AsnTimeticks *pTimeStamp,
[out] SnmpVarBindList *pVarBindList
);
參數
[out] pEnterpriseOid
AsnObjectIdentifier 結構的指標,以接收產生陷阱之企業的對象標識碼。 SNMP 服務不會釋放此變數的記憶體。
[out] pGenericTrapId
要接收泛型陷阱指示的變數指標。 此參數可以是下列其中一個值。
[out] pSpecificTrapId
要接收所產生特定陷阱之指示的變數指標。
[out] pTimeStamp
要接收時間戳之變數的指標。 建議您使用呼叫 SnmpSvcGetUptime 函式所傳回的值,初始化此參數。
[out] pVarBindList
變數系結清單的指標。 擴充代理程式必須配置此參數的記憶體。 SNMP 服務會使用 SnmpUtilVarBindListFree 函式的呼叫來釋放記憶體。
傳回值
如果 SnmpExtensionTrap 函式傳回陷阱,則傳回值為 TRUE。 SNMP 服務會重複呼叫 函式,直到函式傳回 FALSE 值為止。 如需詳細資訊,請參閱下列一節。
備註
當 phSubagentTrapEvent 事件句柄設定為訊號狀態時,SNMP 服務會重複呼叫 SnmpExtensionTrap 函式。 此句柄會在 呼叫 SnmpExtensionInit 進入點函式期間傳回。 SnmpExtensionTrap 函式必須傳回 TRUE,以指出參數包含單一陷阱的有效數據。 函式必須傳回 FALSE ,以指出參數不代表有效的陷阱數據,以及停止服務的重複呼叫。
請注意,SNMP 服務傳送陷阱之後,它會釋放與變數系結清單相關聯的記憶體。
請務必注意,先前的檔指出擴充代理程式應該動態配置企業對象標識碼的記憶體,因為 SNMP 服務會在傳送陷阱之後嘗試釋放記憶體。 服務不會釋放與企業物件標識符相關聯的記憶體。 建議您改為傳回靜態 AsnObjectIdentifier 結構的指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | snmp.h |