次の方法で共有


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 関数は、次のいずれかのエラーを返すことができます。

リターン コード 説明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 関数が正常に完了しませんでした。
SNMPAPI_ALLOC_ERROR
メモリ割り当て中にエラーが発生しました。
SNMPAPI_OID_INVALID
文字列パラメーターが無効です。 詳細については、次の「備考」セクションを参照してください。
SNMPAPI_OTHER_ERROR
不明または未定義のエラーが発生しました。

解説

WinSNMP アプリケーションは SnmpFreeDescriptor 関数を呼び出して、dstOID パラメーターによって指される smiOID 構造体の ptr メンバーに割り当てられたリソースを解放する必要があります。 入力時に、 SnmpFreeDescriptor はこの smiOID 構造体のメンバーを無視します。 関数が正常に完了すると、Microsoft WinSNMP 実装によって smiOID メンバーが上書きされます。

SnmpStrToOid 関数は失敗し、文字列パラメーターが次のいずれかの条件を満たしている場合、SNMPAPI_OID_INVALIDエラー コードを返します。

  • null で終了しません。
  • 有効なオブジェクト識別子のテキスト形式ではありません。
  • 長さが不十分です。すべてのオブジェクト識別子には、2 つのサブ識別子が必要です。
  • MAXOBJIDSTRSIZE の 1408 バイトを超えています。
詳細については、「WinSNMP データ管理の概念」および「WinSNMP 記述子の解放」を参照してください

要件

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

関連項目

SnmpFreeDescriptor

WinSNMP 関数

WinSNMP API の概要

smiOID