次の方法で共有


SnmpEncodeMsg 関数 (winsnmp.h)

[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。

Microsoft WinSNMP 実装では、WinSNMP SnmpEncodeMsg 関数で渡されたパラメーターを使用して、SNMP メッセージをエンコードします。 実装は、 msgBufDesc パラメーターで指定されたバッファー内の WinSNMP アプリケーションにエンコードされた SNMP メッセージを返します。

構文

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。 詳細については、次の「解説」セクションを参照してください。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。

リターン コード 説明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 関数が正常に完了しませんでした。
SNMPAPI_ALLOC_ERROR
メモリ割り当て中にエラーが発生しました。
SNMPAPI_SESSION_INVALID
セッション パラメーターが無効です。
SNMPAPI_ENTITY_INVALID
エンティティ パラメーターの一方または両方が無効です。
SNMPAPI_CONTEXT_INVALID
context パラメーターが無効です。
SNMPAPI_PDU_INVALID
pdu パラメーターが無効です。
SNMPAPI_OTHER_ERROR
不明または未定義のエラーが発生しました。

注釈

SnmpEncodeMsg 関数に渡される最初の 5 つのパラメーターは、SnmpSendMsg 関数に渡されるパラメーターと同じです。

WinSNMP アプリケーションは SnmpFreeDescriptor 関数を呼び出して、smiOCTETS 構造体の ptr メンバーに割り当てられたリソースを解放する必要があります。 これは 、msgBufDesc パラメーターによって指される構造体です。 詳細については、「WinSNMP データ管理の概念」を参照してください。

入力時に、 SnmpEncodeMsg 関数は msgBufDesc パラメーターが指す構造体のメンバーを無視します。 関数が正常に完了すると、構造体のメンバーが上書きされます。

実装では、最初の 5 つの入力パラメーターの形式を検証します。 いずれかのパラメーターが無効な場合、 SnmpEncodeMsg はSNMPAPI_FAILUREを返し、 SnmpGetLastError は 拡張エラー コードを返します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winsnmp.h
Library Wsnmp32.lib
[DLL] Wsnmp32.dll

こちらもご覧ください

SnmpDecodeMsg

SnmpFreeDescriptor

SnmpSendMsg

WinSNMP 関数

WinSNMP API の概要

smiOCTETS