snmpStartup 函式 (winsnmp.h)

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

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

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

語法

SNMPAPI_STATUS SNMPAPI_CALL SnmpStartup(
  [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 函式可以傳回下列其中一個錯誤。 如需詳細資訊,請參閱後續的一節。

傳回碼 Description
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函式未順利完成。
SNMPAPI_ALLOC_ERROR
記憶體配置期間發生錯誤。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

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

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

WinSNMP 應用程式可以多次呼叫 SnmpStartup 。 例如,可能需要重試函數調用,原因如下所述。 WinSNMP 應用程式也必須至少呼叫 SnmpCleanup 一次,如同最後一個 WinSNMP 函式呼叫,才會終止。 多個 SnmpStartup 呼叫不需要多個 SnmpCleanup 呼叫。

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

規格需求

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

另請參閱

SnmpCleanup

SnmpStrToContext

SnmpStrToEntity

WinSNMP 函式

WinSNMP API 概觀