共用方式為


SnmpOpen 函式 (winsnmp.h)

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

SnmpOpen 函式會要求 Microsoft WinSNMP 實作來開啟 WinSNMP 應用程式的會話。 此 WinSNMP 函式可讓實作配置和初始化記憶體、資源、數據結構和通訊機制。 SnmpOpen 函式會傳回新 WinSNMP 會話的句柄。

注意 開發新的 WinSNMP 應用程式時,建議您呼叫 SnmpCreateSession 函式來開啟 WinSNMP 會話,而不是呼叫 SnmpOpen 函式。
 

語法

HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
  [in] HWND hWnd,
  [in] UINT wMsg
);

參數

[in] hWnd

處理 WinSNMP 應用程式的視窗,以在異步要求完成時或發生陷阱通知時通知。

[in] wMsg

指定不帶正負號的整數,識別要傳送至 WinSNMP 應用程式視窗的通知訊息。

傳回值

如果函式成功,傳回值就是識別呼叫應用程式實作開啟之 WinSNMP 會話的句柄。

如果函式失敗,傳回值會SNMPAPI_FAILURE。 若要取得延伸的錯誤資訊,請呼叫 SnmpGetLastError,在其會話參數中指定 NULL 值。 SnmpGetLastError 函式可以傳回下列其中一個錯誤。

傳回碼 Description
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函式未順利完成。
SNMPAPI_ALLOC_ERROR
記憶體配置期間發生錯誤。
SNMPAPI_HWND_INVALID
hWnd 參數不是有效的視窗句柄。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

SnmpOpen 函式會傳回呼叫 WinSNMP 應用程式內每個開啟 WinSNMP 會話的唯一句柄。 應用程式必須使用 SnmpOpen 在其他 WinSNMP 函式呼叫中傳回的作業階段句柄,以協助實作配置和取消配置資源。 當實作將資源配置給個別會話時,它會執行資源的順序釋放,以回應會話的 SnmpClose 呼叫。

SnmpOpen 函式會將句柄傳遞給應用程式視窗和通知訊息標識碼的實作。 如果 wMsg 參數所指定之通知訊息的 wParam 元件等於零,WinSNMP 應用程式必須擷取傳入通訊協議數據單位, (PDU) 。 應用程式會呼叫 SnmpRecvMsg 函式,並使用 SnmpOpen 所傳回的會話句柄來執行此動作。 如果通知訊息的 wParam 參數不等於零,則表示 WinSNMP 錯誤碼。 錯誤碼適用於通知訊息 之 lParam 參數中要求標識碼所識別的 PDU。

一個 WinSNMP 應用程式可以開啟多個 WinSNMP 會話。 如果應用程式使用相同的視窗句柄開啟多個會話,建議 WinSNMP 應用程式為每個會話指定唯一 的 wMsg 參數。

建議 WinSNMP 應用程式針對實作開啟的每個會話呼叫 SnmpClose 函式一次,因為 呼叫 SnmpOpen 函式。 如果 WinSNMP 應用程式意外終止,它必須先呼叫 SnmpCleanup ,才能終止,才能讓實作解除分配所有資源。 實作會將一個 SnmpCleanup 呼叫視為一連串 的 SnmpClose 呼叫,實作會在呼叫 SnmpOpen 時開啟每個會話的一個呼叫。

如需開啟 WinSNMP 會話並指定用來通知會話可用 SNMP 訊息和異步事件的方法的相關信息,請參閱 SnmpCreateSession。 當您呼叫 SnmpCreateSession 時,您可以指定視窗通知訊息或 SNMPAPI_CALLBACK 函式來通知工作階段。

如需詳細資訊,請參閱 WinSNMP 工作階段

規格需求

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

另請參閱

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

WinSNMP 函式

WinSNMP API 概觀