共用方式為


snmpExtensionInit 函式 (snmp.h)

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

Microsoft SNMP 服務會呼叫 SnmpExtensionInit 函式來初始化 SNMP 擴充代理程式 DLL。 此函式是SNMP擴充代理程式 API 的元素。

語法

BOOL SNMP_FUNC_TYPE SnmpExtensionInit(
  [in]  DWORD               dwUptimeReference,
  [out] HANDLE              *phSubagentTrapEvent,
  [out] AsnObjectIdentifier *pFirstSupportedRegion
);

參數

[in] dwUptimeReference

指定延伸模組代理程式的零時參考。

注意 擴充代理程序應該忽略此參數。 SNMP 擴充代理程式 DLL 應該使用 SnmpSvcGetUptime 函式來擷取 SNMP 服務已執行的 centisecond 數目。 如需詳細資訊,請參閱接下來的<備註>一節。
 

[out] phSubagentTrapEvent

擴充代理程式傳回至SNMP服務的事件句柄指標。 此句柄可用來通知服務延伸模組代理程式有一或多個要傳送的陷阱。 如需配置和解除分配事件句柄的其他資訊,請參閱下列一節。

[out] pFirstSupportedRegion

AsnObjectIdentifier 結構的指標,以接收擴充代理程式所支援的第一個 MIB 子樹。 如需配置和解除配置此結構資源的其他資訊,請參閱下列一節。

擴充代理程式可以實作 SnmpExtensionInitEx 進入點函式來註冊其他MIB子樹。

傳回值

如果函式成功,則傳回值為 TRUE

如果函式失敗,傳回值為 FALSE

備註

擴充代理程序應該忽略 dwUptimeReference 參數。 相反地,他們應該呼叫 SnmpSvcGetUptime 函式來擷取 Microsoft SNMP 服務已執行的 centisecond 數目。 因為 dwUptimeReference 參數會將經過的時間儲存為以毫秒為單位 的 DWORD 值,所以時間可以換行為零,並反映不正確的時間間隔。

擴充代理程式會將 phSubagentTrapEvent 參數中傳回的事件句柄設定為訊號狀態,以通知 SNMP 服務需要傳送一或多個陷阱。 收到此事件的訊號之後,SNMP 服務會重複呼叫擴充代理程式的 SnmpExtensionTrap 進入點,直到函式傳回 FALSE 的值為止。 這表示延伸模組代理程序沒有再傳送的陷阱。 如果擴充代理程式不會產生陷阱, phSubagentTrapEvent 參數應該會傳回 NULL 值。

SNMP 擴充代理程式必須配置和解除分配陷阱事件句柄的資源。 當 SNMP 服務呼叫 SnmpExtensionInit 函式時,擴充代理程式必須呼叫 CreateEvent 函式來配置事件句柄。 擴充代理程式會將句柄傳遞至 phSubagentTrapEvent 參數中的 SNMP 服務。 當 SNMP 服務呼叫 SnmpExtensionClose 函式時,擴充代理程式必須解除分配陷阱事件句柄的資源。

SNMP 服務會複製 AsnObjectIdentifier 結構,延伸代理程式會在 pFirstSupportedRegion 參數中傳回。 擴充代理程式必須配置和解除分配與原始結構相關聯的資源。 當 SNMP 服務呼叫 SnmpExtensionClose 函式時,就可以這麼做。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 snmp.h

另請參閱

AsnObjectIdentifier

CreateEvent

SNMP 函式

Simple Network Management Protocol (SNMP) 概觀

SnmpExtensionClose

SnmpExtensionMonitor

SnmpExtensionTrap

SnmpSvcGetUptime