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 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
セッション パラメーターが無効です。 |
|
エンティティ パラメーターの一方または両方が無効です。 |
|
context パラメーターが無効です。 |
|
pdu パラメーターが無効です。 |
|
不明または未定義のエラーが発生しました。 |
注釈
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 |