# 13 Windows向けZabbixセンダーダイナミックリンクライブラリ

Windows環境では、外部プロセス（zabbix\_sender.exe）を起動することなく、Zabbixセンダーダイナミックリンク（zabbix\_sender.dll）を使用することによって、アプリケーションはZabbixサーバ／プロキシにデータを送信できます。

開発ファイルを備えるダイナミックリンクライブラリは、bin\\winXX\\devフォルダに存在します。このライブラリを使用する場合は、zabbix\_sender.hヘッダファイルとzabbix\_sender.libライブラリとのリンクを含めてください。ZabbixセンダーAPIの使い方を示したサンプルファイルが、build\\win32\\examples\\zabbix\_senderフォルダにあります。

Zabbixセンダーダイナミックリンクライブラリによって、以下の機能が提供されます。

|   |   |   |
|---|---|---|
|説明|<|<|
|<|プロキシ／サーバの値構造の配列を送信します。値構造は、ホスト名、アイテムキー、アイテム値を含みます。|<|
|パラメータ|<|<|
|<|**address** - \[入力\]サーバまたはプロキシアドレス<br>**port** - \[入力\]サーバまたはプロキシ上のトラッパーポート<br>**source** - \[入力\]ソースIP（オプション）<br>**values** - \[入力\]送信する値の配列<br>**count** - \[入力\]値配列内のアイテム数<br>**result** - \[出力\]サーバ応答またはエラーメッセージ（オプション）|<|
|戻り値|<|<|
|<|**0** - 操作が正常に完了しました。<br>**-1** - 操作が失敗しました。|<|
|コメント|<|<|
|<|結果の変数が指定された場合、サーバレスポンスまたはエラーメッセージを保存するために必要なメモリを割り当てます。zabbix\_sender\_free\_result関数で、後ほど、解放する必要があります。<br>実行するアクションに成功した場合、結果には、zabbix\_sender\_parse\_result関数で構文解析できる、サーバの応答が含まれます。エラー発生時には、代わりにエラーメッセージが結果に保存されます。|<|
|説明|<|<|
|<|zabbix\_sender\_send\_values関数から返された結果を構文解析します。|<|
|パラメータ|<|<|
|<|**result** - \[入力\]zabbix\_sender\_send\_values関数から戻された結果<br>**response** - \[出力\]実行アクションとレスポンス0 - 成功、-1 失敗。<br>**info** - \[出力\]実行アクションに関する詳細な情報（オプション）。|<|
|戻り値|<|<|
|<|**0** - 操作が正常に完了しました。<br>**-1** - 操作が失敗しました。|<|
|コメント|<|<|
|<|情報パラメータが指定されたものの、関数が結果情報フィールドへの構文解析に失敗した場合、情報構造フィールドの合計は-1に設定されます。|<|
|説明|<|<|
|<|zabbix\_sender\_send\_values関数によって割り当てられたデータを削除します。|<|
|パラメータ|<|<|
|<|**result** - zabbix\_sender\_send\_values関数から戻された結果。|<|

Zabbixセンダーダイナミックリンクライブラリによって、以下のデータ構造が使用されます。

``` {.c}
typedef struct
{
    /* host name, must match the name of target host in Zabbix */
    char    *host;
    /* the item key */
    char    *key;
    /* the item value */
    char    *value;
}
zabbix_sender_value_t;

typedef struct
{
    /* number of total values processed */
    int total;
    /* number of failed values */
    int failed;
    /* time in seconds the server spent processing the sent values */
    double  time_spent;
}
zabbix_sender_info_t;
```

------------------------------------------------------------------------

*本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。\
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。*
