SnmpCreateVbl 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
WinSNMP SnmpCreateVbl 関数は、呼び出し元の WinSNMP アプリケーションの新しい変数バインド リストを作成します。 名前と値のパラメーターが NULL でない場合、SnmpCreateVbl は値を使用して、新しい変数バインド リストの最初の変数バインド エントリを作成します。 SnmpCreateVbl 関数は、新しい変数バインド リストへのハンドルを返し、それに必要なメモリを割り当てます。
構文
HSNMP_VBL SNMPAPI_CALL SnmpCreateVbl(
[in] HSNMP_SESSION session,
[in] smiLPCOID name,
[in] smiLPCVALUE value
);
パラメーター
[in] session
WinSNMP セッションを処理します。
[in] name
最初の変数バインド エントリの変数名を含む smiOID 構造体へのポインター。 このパラメーターは、NULL でもかまいません。 詳細については、次の「解説」セクションを参照してください。
[in] value
最初の変数バインド エントリの変数に関連付ける値を含む smiVALUE 構造体へのポインター。 このパラメーターは、NULL でもかまいません。 詳細については、次の「解説」セクションを参照してください。
戻り値
関数が成功した場合、戻り値は新しい変数バインド リストへのハンドルです。
関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
セッション ハンドルが無効です。 |
|
name パラメーターは、無効な smiOID 構造体を参照します。 |
|
value パラメーターが指す構造体の構文メンバーが無効です。 |
|
不明または未定義のエラーが発生しました。 |
解説
SnmpCreateVbl 関数は、名前パラメーターと値パラメーターの値を使用して、新しい変数バインド リストの最初の変数バインド エントリを作成および初期化します。 name パラメーターが NULL の場合、Microsoft WinSNMP 実装では value パラメーターが無視され、空の変数バインド リストが作成されます。
name パラメーターが NULL ではなく、value パラメーターが NULL の場合、実装は変数バインド リスト内の最初の変数バインド エントリを作成して初期化します。 value パラメーターが指す構造体の 構文 メンバーを 、値 SNMP_SYNTAX_NULLで初期化します。
WinSNMP アプリケーションは、各変数バインド リストに関連付けられているリソースを解放する必要があります。 これを行うには、 SnmpCreateVbl 関数と SnmpDuplicateVbl 関数の各呼び出しと 、対応する SnmpFreeVbl 関数の呼び出しを照合する必要があります。 メモリ リークを回避するには、WinSNMP アプリケーションが SnmpCreateVbl または SnmpDuplicateVbl の後続の呼び出しで変数バインド リストへのハンドルを再利用する前に、SnmpFreeVbl を呼び出す必要があります。 詳細については、「WinSNMP データ管理の概念」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |