snmpDecodeMsg 函式 (winsnmp.h)
[SNMP 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 請改用 Windows 遠端管理,這是 WS-Man 的 Microsoft 實作。
WinSNMP SnmpDecodeMsg 函式會將編碼的SNMP訊息譯碼為其元件。 此函式會執行 WinSNMP SnmpEncodeMsg 函 式的相反動作。
語法
SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg(
[in] HSNMP_SESSION session,
[out] LPHSNMP_ENTITY srcEntity,
[out] LPHSNMP_ENTITY dstEntity,
[out] LPHSNMP_CONTEXT context,
[out] LPHSNMP_PDU pdu,
[in] smiLPCOCTETS msgBufDesc
);
參數
[in] session
WinSNMP 會話的句柄。 此為必要參數。 如需詳細資訊,請參閱下列一節。
[out] srcEntity
接收來源管理實體句柄的變數指標。 如需詳細資訊,請參閱接下來的<備註>一節。
[out] dstEntity
接收目標管理實體句柄之變數的指標。 如需詳細資訊,請參閱接下來的<備註>一節。
[out] context
接收內容句柄的變數指標, (目標管理實體所控制) 一組 Managed 物件資源。
[out] pdu
接收SNMP 通訊協議數據單位句柄的變數指標, (PDU) 。
[in] msgBufDesc
smiOCTETS 結構的指標,其中包含要譯碼成其元件的 SNMP 訊息。 結構的 len 成員會指定要處理的位元元數目上限; ptr 成員會指向編碼的SNMP訊息。
傳回值
如果函式成功,傳回值就是譯碼的位元元組數目。 這個值可以等於或小於 msgBufDesc 參數所指向之 smiOCTETS 結構的 len 成員。
如果函式失敗,傳回值會SNMPAPI_FAILURE。 若要取得擴充的錯誤資訊,請呼叫 SnmpGetLastError。 SnmpGetLastError 函式可以傳回下列其中一個錯誤。
傳回碼 | Description |
---|---|
|
SnmpStartup 函式未順利完成。 |
|
記憶體配置期間發生錯誤。 |
|
會話參數無效。 |
|
一或兩個實體參數無效。 |
|
內容參數無效。 |
|
pdu 參數無效。 |
|
輸出緩衝區長度不足。 未建立輸出參數。 |
|
msgBufDesc 參數所指示之緩衝區中的SNMP訊息格式無效。 未建立輸出參數。 |
|
發生未知或未定義的錯誤。 |
備註
當應用程式將 SNMPv1 或 SNMPv2C 訊息提交至 SnmpDecodeMsg 函式時,Microsoft WinSNMP 實作會在 srcEntity 和 dstEntity 參數中傳回零的值。 這是因為訊息格式不包含建立 WinSNMP 實體資源所需的地址資訊。
由於 成功呼叫 SnmpDecodeMsg 函式,Microsoft WinSNMP 實作會將資源配置給 WinSNMP 應用程式。 建議 WinSNMP 應用程式使用對應至資源的 WinSNMP 函式釋放個別資源。 如需詳細資訊,請參閱釋放 WinSNMP 描述元和 WinSNMP 資料管理 概念。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winsnmp.h |
程式庫 | Wsnmp32.lib |
Dll | Wsnmp32.dll |