Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

NET_CONFIG_GET_FAILED (37) IP-Телефония и СКУД

Dahua NetSDK Ошибка 37: NET_CONFIG_GET_FAILED — сбой чтения настроек

Обновлено: 24.08.2026 · Официальная документация ↗
  • Метод CLIENT_GetNewDevConfig или CLIENT_GetDevConfig возвращает FALSE с кодом ошибки 37.
  • Сервис не может вычитать список сетевых интерфейсов, каналов видеорегистратора или расписание праздников контроллера СКУД.
  • SDK завершает вызов по внутреннему таймауту синхронного RPC запроса.

1. Проверка индекса канала (nChannelID)

В Dahua NetSDK индексация физических каналов в одних структурах начинается с 0, а в других (например, СКУД двери/считыватели) с 1 или -1 (для глобальной конфигурации):

// Для общесистемных конфигураций (Network, NTP, General) используйте индекс -1
int nChannel = -1;
char szOutBuffer[1024 * 32] = { 0 };
int nError = 0;
BOOL bSuccess = CLIENT_GetNewDevConfig(
    lLoginHandle,
    CFG_CMD_NET_BASIC, 
    nChannel,
    szOutBuffer,
    sizeof(szOutBuffer),
    &nError,
    3000
);

2. Проверка размера выделяемого буфера (szOutBuffer)

Если переданный буфер меньше, чем размер возвращаемого блоком конфигурации JSON/бинарного пакета, SDK вернет ошибку 37:

// Выделяйте достаточный размер памяти под большие конфигурационные блоки (например, Alarm/Record)
const int BUFFER_SIZE = 1024 * 128; // 128 KB
char* pBuffer = (char*)malloc(BUFFER_SIZE);
memset(pBuffer, 0, BUFFER_SIZE);
// вызов CLIENT_GetNewDevConfig...
free(pBuffer);

3. Проверка поддержки команды устройством

Некоторые устройства (например, тепловизоры или IP-домофоны) не поддерживают стандартные команды аналоговых NVR. Проверьте возможности устройства (Device Capabilities):

NET_DEV_ABILITY_INFO stAbility = { sizeof(stAbility) };
BOOL bRet = CLIENT_QueryAbility(lLoginHandle, ABILITY_DEVALL_INFO, (char*)&stAbility, sizeof(stAbility), 3000);

4. Включение расширенного логирования NetSDK

LOG_SET_PRINT_INFO stLogInfo = { sizeof(stLogInfo) };
stLogInfo.bSetPrint = TRUE;
stLogInfo.bSetSave = TRUE;
strncpy(stLogInfo.szLogPath, "./sdk_log.log", sizeof(stLogInfo.szLogPath));
CLIENT_LogOpen(&stLogInfo);
💡 Практика специалистов: Для систем СКУД (DHI-ASC) получение списка карт и прав доступа через GetConfig не рекомендуется из-за лимитов буфера. Используйте специализированные методы протокола Access Control: CLIENT_StartFindRecord / CLIENT_FindNextRecordEx.

Частые вопросы (FAQ)

Почему CLIENT_GetDevConfig возвращает ошибку 37 на современных IP-камерах?

Функция CLIENT_GetDevConfig является устаревшей (Legacy API). В актуальных линейках камер Dahua (IPC-HX5xxx, WizMind) используйте исключительно CLIENT_GetNewDevConfig.

Что делать, если nError возвращает код переполнения буфера?

Увеличьте размер выходного массива char[] до 256KB или 512KB. Для объемных конфигураций журналов доступа или пользователей используйте пакетную выгрузку через специализированные интерфейсы CLIENT_FindRecord / CLIENT_QueryRecord.

Может ли ошибка 37 возникать из-за высокой загрузки CPU регистратора?

Да, при 100% утилизации CPU NVR (например, в момент активного экспорта архива или перегрузки видеоаналитикой) внутренний процесс daemon отбрасывает запросы по внутреннему таймауту 3 сек. Увеличьте nWaitTime до 10000 мс.

Как проверить, поддерживает ли устройство конкретный тип CFG_CMD?

Используйте интерфейс CLIENT_QueryDevCaps или CLIENT_QueryDevAbility с флагом нужной подсистемы перед чтением специфических конфигураций (Face Detection, ANPR, AccessControl).

Полезные материалы
Рекомендуем