共用方式為


snmpEncodeMsg 函式 (winsnmp.h)

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

Microsoft WinSNMP 實作會使用 WinSNMP SnmpEncodeMsg 函式中傳遞的參數來編碼 SNMP 訊息。 實作會將編碼的SNMP訊息傳回 msgBufDesc 參數所指定的緩衝區中的 WinSNMP 應用程式。

語法

SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg(
  [in]  HSNMP_SESSION session,
  [in]  HSNMP_ENTITY  srcEntity,
  [in]  HSNMP_ENTITY  dstEntity,
  [in]  HSNMP_CONTEXT context,
  [in]  HSNMP_PDU     pdu,
  [out] smiLPOCTETS   msgBufDesc
);

參數

[in] session

WinSNMP 會話的句柄。

[in] srcEntity

處理起始對SNMP訊息編碼要求的管理實體。

[in] dstEntity

目標管理實體的句柄。

[in] context

(一組受管理物件資源) 目標管理實體所控制的內容句柄。

[in] pdu

包含SNMP作業要求的 PDU 句柄。

[out] msgBufDesc

接收編碼 SNMP 訊息 之 smiOCTETS 結構的指標。

傳回值

如果函式成功,傳回值會是編碼 SNMP 訊息的長度,以位元組為單位。 這個數位也是 msgBufDesc 參數所指向之 smiOCTETS 結構的 len 成員值。

如果函式失敗,傳回值會SNMPAPI_FAILURE。 如需詳細資訊,請參閱下列一節。 若要取得擴充的錯誤資訊,請呼叫 SnmpGetLastErrorSnmpGetLastError 函式可以傳回下列其中一個錯誤。

傳回碼 Description
SNMPAPI_NOT_INITIALIZED
SnmpStartup 函式未順利完成。
SNMPAPI_ALLOC_ERROR
記憶體配置期間發生錯誤。
SNMPAPI_SESSION_INVALID
會話參數無效。
SNMPAPI_ENTITY_INVALID
一或兩個實體參數無效。
SNMPAPI_CONTEXT_INVALID
內容參數無效。
SNMPAPI_PDU_INVALID
pdu 參數無效。
SNMPAPI_OTHER_ERROR
發生未知或未定義的錯誤。

備註

傳遞至 SnmpEncodeMsg 函式的前五個參數是傳遞至 SnmpSendMsg 函 式的相同參數。

WinSNMP 應用程式必須呼叫 SnmpFreeDescriptor 函式,以釋放配置給 smiOCTETS 結構的 ptr 成員的資源。 這是 msgBufDesc 參數所指向的結構。 如需詳細資訊,請參閱 WinSNMP 資料管理 概念

在輸入時, SnmpEncodeMsg 函 式會忽略 msgBufDesc 參數所指向的結構成員。 如果函式順利完成,實作就會覆寫 結構的成員。

實作會驗證前五個輸入參數的格式。 如果其中一個參數無效, SnmpEncodeMsg 會傳回SNMPAPI_FAILURE, 而 SnmpGetLastError 會傳回擴充的錯誤碼。

規格需求

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

另請參閱

SnmpDecodeMsg

SnmpFreeDescriptor

SnmpSendMsg

WinSNMP 函式

WinSNMP API 概觀

smiOCTETS