SnmpStrToOid 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
WinSNMP SnmpStrToOid 関数は、SNMP オブジェクト識別子の点線の数値文字列形式 ("1.2.3.4.5.6" など) を内部バイナリ表現に変換します。
構文
SNMPAPI_STATUS SNMPAPI_CALL SnmpStrToOid(
[in] LPCSTR string,
[out] smiLPOID dstOID
);
パラメーター
[in] string
変換する null で終わるオブジェクト識別子文字列へのポインター。
[out] dstOID
変換後の値を受け取る smiOID 構造体へのポインター。
戻り値
関数が成功した場合、戻り値は変換されたオブジェクト識別子内のサブ識別子の数です。 この数値は、dstOID パラメーターが指す smiOID 構造体の len メンバーの値でもあります。
関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、セッション パラメーターに NULL 値を指定して SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
文字列パラメーターが無効です。 詳細については、次の「備考」セクションを参照してください。 |
|
不明または未定義のエラーが発生しました。 |
解説
WinSNMP アプリケーションは SnmpFreeDescriptor 関数を呼び出して、dstOID パラメーターによって指される smiOID 構造体の ptr メンバーに割り当てられたリソースを解放する必要があります。 入力時に、 SnmpFreeDescriptor はこの smiOID 構造体のメンバーを無視します。 関数が正常に完了すると、Microsoft WinSNMP 実装によって smiOID メンバーが上書きされます。
SnmpStrToOid 関数は失敗し、文字列パラメーターが次のいずれかの条件を満たしている場合、SNMPAPI_OID_INVALIDエラー コードを返します。
- null で終了しません。
- 有効なオブジェクト識別子のテキスト形式ではありません。
- 長さが不十分です。すべてのオブジェクト識別子には、2 つのサブ識別子が必要です。
- MAXOBJIDSTRSIZE の 1408 バイトを超えています。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |