DLL sensors
Every time the sensor is to be checked the selected DLL
file is called. The DLL must export one function:
function
perform(para,msg:pchar):integer; stdcall;
para and msg are zero terminated strings. The
allocated buffer for msg is 255 bytes, the DLL must make sure that fewer
bytes are returned. Msg must be in the following format:
value:message
Value has to be an 32 bit integer and will be used
as the resulting value for this sensor (e.g. bytes, milliseconds, etc.),
message can be any string and will be stored in the database.
The integer return value of the perform function has
to be one of the following values:
· 0 ok
· 1 warning
· 2 system
error (e.g. a socket error)
· 3 protocol
error (e.g. html returns a 404)
· 4 content
error (e.g. a webpage contains not a required word)
Warning: If the function call in the DLL does not return
control it can block the system. Make sure to handle your own timeouts and build
in a reliable error management. For this reason EXE sensors are recommended.