SnmpDecodeMsg 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
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
ターゲット管理エンティティが制御するコンテキスト (マネージド オブジェクト リソースのセット) へのハンドルを受け取る変数へのポインター。
[out] pdu
SNMP プロトコル・データ・ユニット (PDU) へのハンドルを受け取る変数へのポインター。
[in] msgBufDesc
コンポーネントにデコードする SNMP メッセージを含む smiOCTETS 構造体へのポインター。 構造体の len メンバーは、処理する最大バイト数を指定します。 ptr メンバーは、エンコードされた SNMP メッセージを指します。
戻り値
関数が成功した場合、戻り値はデコードされたバイト数です。 この値は、msgBufDesc パラメーターが指す smiOCTETS 構造体の len メンバーと等しいか、それより小さい値にすることができます。
関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
セッション パラメーターが無効です。 |
|
エンティティ パラメーターの一方または両方が無効です。 |
|
context パラメーターが無効です。 |
|
pdu パラメーターが無効です。 |
|
出力バッファーの長さが不十分です。 出力パラメーターは作成されませんでした。 |
|
msgBufDesc パラメーターによって示されるバッファー内の SNMP メッセージ形式が無効です。 出力パラメーターは作成されませんでした。 |
|
不明または未定義のエラーが発生しました。 |
注釈
Microsoft WinSNMP 実装では、アプリケーションが SNMPv1 または SNMPv2C メッセージを SnmpDecodeMsg 関数に送信すると、srcEntity パラメーターと dstEntity パラメーターに 0 の値が返されます。 これは、メッセージ形式に WinSNMP エンティティ リソースを作成するために必要なアドレス情報が含まれていないためです。
Microsoft WinSNMP 実装では、 SnmpDecodeMsg 関数の呼び出しが成功した結果、リソースが WinSNMP アプリケーションに割り当てられます。 WinSNMP アプリケーションでは、リソースに対応する WinSNMP 関数を使用して個々のリソースを解放することをお勧めします。 詳細については、「WinSNMP 記述子の解放」と「WinSNMP データ管理概念」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |