В обработке Ping'err - реализован пример работы с классом Win32_PingStatus для возможности анализа доступности различных сетевых ресурсов в ручном и автоматическом режимах. В обработке происходит накапливание истории вызова команды PING и обрабатывается результат выполнения. Анализируются время отклика ресурса и расшифровываются возвращаемые коды ошибок. Присутствует автоматический режим работы по указанному интервалу времени. Настраивается таймаут для команды. На данный момент обработка реализована на обычных формах. Класс Win32_PingStatus не доступен на Linux - платформах.
Win32_PingStatus класс WMI возвращает значения , получаемые стандартной командой Ping и имеет следующий синтаксис (MOF):
[dynamic, provider("WMIPingProvider"), AMENDMENT] class Win32_PingStatus
{
string Address;
uint32 BufferSize = 32;
boolean NoFragmentation = FALSE;
uint32 PrimaryAddressResolutionStatus;
string ProtocolAddress = "";
string ProtocolAddressResolved = "";
uint32 RecordRoute = 0;
boolean ReplyInconsistency;
uint32 ReplySize;
boolean ResolveAddressNames = FALSE;
uint32 ResponseTime;
uint32 ResponseTimeToLive;
string RouteRecord[];
string RouteRecordResolved[];
String SourceRoute = "";
uint32 SourceRouteType = 0;
uint32 StatusCode;
uint32 Timeout = 1000;
uint32 TimeStampRecord[];
string TimeStampRecordAddress[];
string TimeStampRecordAddressResolved[];
uint32 TimeStampRoute = 0;
uint32 TimeToLive = 80;
uint32 TypeofService = 0;
};
В данной обработке используются методы: Timeout, ResponseTime, StatusCode (с расшифровками кодов ошибок).
Обработка тестировалась на платформе 1С:Предприятие 8.3 (8.3.10.2580).