# 13 Zabbix sender - biblioteka łączona dynamicznie dla Windows

W środowisku Windows, aplikacje zamiast uruchamiania zewnętrznego
procesu (zabbix\_sender.exe) mogą wysyłać dane bezpośrednio do
serwera/proxy Zabbix, używając biblioteki łączonej dynamicznie sendera
Zabbix (zabbix\_sender.dll).

Biblioteka łączona dynamicznie wraz z wymaganymi plikami umieszczona
jest w katalogach bin\\winXX\\dev. Żeby jej użyć, należy dołączyć plik
nagłówkowy zabbix\_sender.h i połączyć z biblioteką zabbix\_sender.lib.
Przykładowe pliki używające API sendera Zabbix można znaleźć w katalogu
build\\win32\\examples\\zabbix\_sender.

Biblioteka łączona dynamicznie sendera Zabbix udostępnia następujące
funkcjonalności:

|`int zabbix_sender_send_values(const char *address, unsigned short port,const char *source, const zabbix_sender_value_t *values, int count,char **result);`{.c}|<|<|
|---------------------------------------------------------------------------------------------------------------------------------------------------------------|-|-|
|char **result);`{.c}|<|<|

Biblioteka łączona dynamicznie sendera Zabbix używa następujących
struktur danych:

``` {.c}
typedef struct
{
    /* nazwa hosta, musi być zgodna z nazwą hosta docelowego w Zabbix */
    char    *host;
    /* klucz pozycji */
    char    *key;
    /* wartość pozycji */
    char    *value;
}
zabbix_sender_value_t;

typedef struct
{
    /* liczba wszystkich przetworzonych wartości */
    int total;
    /* liczba wartości błędnych */
    int failed;
    /* czas w sekundach spędzony przez serwer na przetwarzaniu wysłanych wartości */
    double  time_spent;
}
zabbix_sender_info_t;
```
