共用方式為


snmpStartupEx 函式 (winsnmp.h)

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

SnmpStartupEx函式會通知 Microsoft WinSNMP 實作 WinSNMP 應用程式需要實作的服務。 WinSNMP SnmpStartupEx 函式可讓實作初始化並傳回應用程式 Windows SNMP 應用程式開發介面版本, (WinSNMP API) 、實作所支援的 SNMP 通訊層級,以及實作的預設轉譯和重新傳輸模式。

如果已安裝 Windows Server 2003 Service Pack 1 (SP1) 或更新版本,則應該使用這個函式,而不是 SnmpStartupSnmpStartupEx 可支援在相同應用程式中使用 WinSNMP 的多個獨立軟體模組。

注意 WinSNMP 應用程式必須先成功呼叫 SnmpStartupEx 函式,才能呼叫任何其他 WinSNMP 函式。
 

語法

SNMPAPI_STATUS SNMPAPI_CALL SnmpStartupEx(
  [out] smiLPUINT32 nMajorVersion,
  [out] smiLPUINT32 nMinorVersion,
  [out] smiLPUINT32 nLevel,
  [out] smiLPUINT32 nTranslateMode,
  [out] smiLPUINT32 nRetransmitMode
);

參數

[out] nMajorVersion

不帶正負號長整數變數的指標,可接收實作所支援之 WinSNMP API 的主要版本號碼。 例如,若要指出實作支援 WinSNMP 2.0 版,函式會傳回值 2。

[out] nMinorVersion

不帶正負號長整數變數的指標,可接收實作支援的 WinSNMP API 次要版本號碼。 例如,若要指出實作支援 WinSNMP 2.0 版,函式會傳回 0 的值。

[out] nLevel

要接收實作所支援最高層級 SNMP 通訊之不帶正負號長整數變數的指標。 成功傳回時,此參數會包含 2 的值。 如需層級 2 支援的描述,請參閱 SNMP 支援層級

[out] nTranslateMode

不帶正負號長整數變數的指標,以接收實作作用中的預設轉譯模式。 轉譯模式適用于實作如何解譯 實體 參數,而 WinSNMP 應用程式會傳遞至 SnmpStrToEntity 函式。 轉譯模式也適用于 WinSNMP 應用程式傳遞給SnmpStrToCoNtext函式的字串參數。 此參數可以是下列其中一個值。

意義
SNMPAPI_TRANSLATED
實作會使用其資料庫來翻譯 SNMP 實體和 Managed 物件的易記名稱。 實作會將它們轉譯成其 SNMPv1 或 SNMPv2C 元件。
SNMPAPI_UNTRANSLATED_V1
實作會將 SNMP 實體參數解譯為 SNMP 傳輸位址,並將內容參數解譯為 SNMP 社群字串。 針對 SNMPv2 目的地實體,實作會建立傳出 SNMP 訊息,其中包含版本欄位中的零值。
SNMPAPI_UNTRANSLATED_V2
實作會將 SNMP 實體參數解譯為 SNMP 傳輸位址,並將內容參數解譯為 SNMP 社群字串。 針對 SNMPv2 目的地實體,實作會建立包含版本欄位中值 1 的傳出 SNMP 訊息。
 

如需詳細資訊,請參閱 設定實體和內容轉譯模式

[out] nRetransmitMode

不帶正負號長整數變數的指標,以接收實作生效的預設重新傳輸模式。 此參數可以是下列其中一個值。

意義
SNMPAPI_OFF
實作不會執行 WinSNMP 應用程式的重新傳輸原則。
SNMPAPI_ON
實作正在執行 WinSNMP 應用程式的重新傳輸原則。
 

如需詳細資訊,請參閱 關於重新傳輸

傳回值

如果函式成功,傳回值會SNMPAPI_SUCCESS,而且參數包含適當的值,如上述參數描述中所述。

如果函式失敗,傳回值會SNMPAPI_FAILURE。 若要取得擴充的錯誤資訊,請呼叫SnmpGetLastError在其會話參數中指定Null值。 SnmpGetLastError 函式可以傳回下列其中一個錯誤。 如需詳細資訊,請參閱本檔稍後的一節。

傳回碼 描述
SNMPAPI_TL_RESOURCE_ERROR
啟動期間發生資源配置錯誤。
SNMPAPI_TL_NOT_INITIALIZED
SnmpStartupEx 函式未正確初始化。
SNMPAPI_ALLOC_ERROR
記憶體配置期間發生錯誤。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

WinSNMP 應用程式必須至少呼叫 SnmpStartupEx 函式一次,才能呼叫任何其他 WinSNMP 函式。 如果 WinSNMP 應用程式在成功呼叫 SnmpStartupEx之前呼叫另一個 WinSNMP 函式,實作會傳回錯誤SNMPAPI_NOT_INITIALIZED。

WinSNMP 應用程式可以呼叫 SnmpGetLastError 以取得錯誤資訊,或在 SnmpStartupEx 函式呼叫失敗時重試 SnmpStartupEx 。 當 SnmpStartupEx 傳回SNMPAPI_FAILURE,而 SnmpGetLastError 的後續呼叫會傳回SNMP_ALLOC_ERROR時,WinSNMP 應用程式可以選擇等候。 當實作有足夠的可用資源時,它可以重試 對 SnmpStartupEx 的呼叫。

WinSNMP 應用程式必須針對每次成功呼叫SnmpStartupEx 呼叫 SnmpCleanupEx WinSNMP 實作會執行最終清除,其中 沒有未成功的 SnmpStartupSnmpStartupEx呼叫。

如需詳細資訊,請參閱 SNMP 支援層級關於 SNMP 版本

規格需求

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

另請參閱

SnmpCleanupEx

SnmpStrToCoNtext

SnmpStrToEntity

WinSNMP API 概觀

WinSNMP 函式