04.01.2020
Просмотров: 2669
Об ошибке 0x00000122 в сети написано достаточно много. К примеру, на официальном сайте Майкрософт указано, что синий экран смерти WHEA_INTERNAL_ERROR появляется при повреждении драйверов. На отечественных и зарубежных форумах пользователи отмечают, что ошибка 0x00000122 появляется при запуске Windows Media Player, после установки игр, при разгоне видеокарты и повреждении её драйверов. Поскольку точной причины ошибки 0x00000122: WHEA_INTERNAL_ERROR не установлено, рекомендуем включить малый дамп памяти и проанализировать полученный файл с помощью программы BlueScreenView.
Читайте также: Как исправить синий экран смерти 0x00000121: DRIVER_VIOLATION на Windows 7?
Решение ошибки 0x00000122: WHEA_INTERNAL_ERROR
Если с помощью программы BlueScreenView вам удалось определить сбойный файл, то можно ввести в поисковике название файла и найти, какой программе или драйверу он принадлежит. Далее, по ситуации: переустановка, удаление или откат.
Если же ошибка 0x00000122 появляется при запуске игры или приложения, то в первую очередь нужно проверить систему на вирусы. Для этого стоит использовать антивирус с обновленными вирусными базами или лечащую утилиту Dr.Web Curelt. Она позволит просканировать систему максимально глубоко и не требует установки. Распространяется утилита на бесплатной основе.
После проверки Windows на вирусы рекомендуем запустить проверку системы на целостность файлов и переустановить сбойный софт. Для проверки Windows 7 на целостность системных файлов стоит запустить командную строку с правами Администратора и ввести sfc /scannow.
Если нарушений целостности не было обнаружено, то рекомендуем переустановить программу, при запуске которой появляется ошибка 0x00000122. Для этого нужно удалить софт через «Панель управления», «Программы и компоненты».
Далее, если для вас программа очень важна, нужно переустановить её с правами Администратора и в режиме совместимости. Для этого нужно нажать на установочном файле программы правой кнопкой мыши и выбрать «Свойства». Появится небольшое окно. Переходим во вкладку «Совместимость» и ставим нужные отметки.
Некоторое время тестируем софт. Проверяем, появляется ли ошибка.
Также на зарубежных форумах указано, что BSOD 0x00000122: WHEA_INTERNAL_ERROR появляется при повреждении драйвера видеокарты, а также сетевого драйвера. Однако простое удаление ПО не поможет исправить ошибку. Драйвера для видеокарты нужно удалить в безопасном режиме, а затем запустить программу NVidia для удаления остатков ПО с ПК. Только затем нужно перейти на сайт производителя видеокарты и скачать актуальные драйвера, которые соответствуют версии и разрядности Windows. Установку также делаем с помощью программы от NVidia.
Точно также нужно сделать и с драйверами для сетевой карты. Обязательно после удаления ПО нужно почистить систему от мусора и остатков старых файлов. Сделать это можно и с помощью программы CCleaner.
Также может потребоваться обновление всех драйверов. Лучше вручную и по очереди обновлять установленное программное обеспечение. После каждого обновления нужно перезагрузить систему, чтобы изменения вступили в силу. Так вы узнаете, исчезла ли ошибка 0x00000122: WHEA_INTERNAL_ERROR и не появился ли новый BSOD.
В случае, если исправить ошибку 0x00000122 WHEA_INTERNAL_ERROR вышеуказанными способами не удалось, стоит откатить систему до более раннего состояния с помощью контрольной точки или воспользоваться установочным диском и выполнить восстановление Windows или полную переустановку.
Я использую API CreateProcess для запуска командного файла. Код прекрасно работает в Windows 7, но не работает в Windows 10.
Ниже приведен фрагмент кода:
CString param; //it holds the very long string of command line arguments
wstring excFile = L"C:\program files\BatchFile.bat";
wstring csExcuPath = L"C:\program files";
wstring exeWithParam = excFile + _T(" ");
exeWithParam = exeWithParam.append(param);
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
TCHAR lpExeWithParam[8191];
_tcscpy_s(lpExeWithParam, exeWithParam.c_str());
BOOL bStatus = CreateProcess(NULL, lpExeWithParam, NULL, NULL, TRUE, CREATE_NEW_CONSOLE | CREATE_BREAKAWAY_FROM_JOB, NULL, csExcuPath.c_str(), &si, &pi);
DWORD err;
if (!bStatus)
{
err = GetLastError();
}
С помощью приведенного выше кода он вызывает командный файл, который запускает исполняемый файл с заданными параметрами. Этот код не работает только Windows 10 в нашем продукте.
GetLastError возвращает код ошибки 122, код ошибки: «Область данных, переданная системному вызову, слишком мала». Как выяснить, что является причиной этой ошибки и как ее можно устранить?
Однако при использовании одного и того же кода в примере тестовое приложение не выдает никакой ошибки и прохождения.
Любая подсказка / подсказка, почему это вызывает сбой в Windows 10.
0
Решение
Вам нужно выполнить cmd.exe
с .bat
файл в качестве параметра, не пытайтесь выполнить .bat
непосредственно.
Кроме того, вам не нужно lpExeWithParam
, вы можете пройти exeWithParam
прямо к CreateProcess()
,
Попробуйте что-то более похожее на это:
CString param; //it holds the very long string of command line arguments
...
wstring excFile = L"C:\program files\BatchFile.bat";
wstring csExcuPath = L"C:\program files";
wstring exeWithParam = L"cmd.exe /c "" + excFile + L"" ";
exeWithParam.append(param);
STARTUPINFOW si = { sizeof(si) };
PROCESS_INFORMATION pi = {};
BOOL bStatus = CreateProcessW(NULL, &exeWithParam[0]/*or exeWithParam.data() in C++17*/, NULL, NULL, TRUE, CREATE_NEW_CONSOLE | CREATE_BREAKAWAY_FROM_JOB, NULL, csExcuPath.c_str(), &si, &pi);
if (!bStatus)
{
DWORD err = GetLastError();
...
}
else
{
...
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
1
Другие решения
Ошибка 122 приравнивается к ERROR_INSUFFICIENT_BUFFER, и я думаю, что ключом здесь является «она содержит очень длинную строку аргументов командной строки».
Как долго это длится? Предел может быть ниже на Windows 10 — я рекомендую вам поэкспериментировать (бинарная отбивная).
Так же документация за CreateProcess
утверждает, что вы должны запустить cmd.exe
явно, чтобы запустить командный файл, так что я думаю, вы должны делать то, что он говорит.
0
Я думаю, что для запуска пакетного файла вы должны установить lpApplicationName на cmd.exe и установить lpCommandLine для следующих аргументов: / c плюс имя пакетного файла
-2
統計
聯合勸募
分類
分類
最多人瀏覽的文章
- FortiGate 韌體下載 — 164,700 views
- Windows 7 (2008 R2) 更新出現 80092004 錯誤 — 63,598 views
- IE無法開啟,Windows 7一直出現com surrogate已經停止運作 — 60,236 views
- Intel Wireless-AC 9560 出現”這個裝置無法啟動”的錯誤 — 51,769 views
- Outlook 收到含有 image001.wmz 附檔的郵件 — 51,396 views
- 關閉 Outlook 索引,以搜尋找不到的郵件 — 47,645 views
- Sonicwall VPN 不斷出現 IKEv2 Payload processing error — 46,475 views
- 更新 KB4534310、KB4539601 出現 8024200D 錯誤 — 36,815 views
- 桌面捷徑圖示消失 — 36,367 views
- Windows XP 桌面不見 — 34,182 views
近期留言
- 「Chris M」於〈FortiGate 韌體下載〉發佈留言
- 「匿名訪客」於〈FortiGate 韌體下載〉發佈留言
- 「Frankie Man」於〈FortiGate 韌體下載〉發佈留言
- 「Hermann」於〈FortiGate 韌體下載〉發佈留言
- 「匿名訪客」於〈FortiGate 韌體下載〉發佈留言
創用 CC 授權條款
- Remove From My Forums
-
Question
-
i have recently upgraded win 10 pro (x6) from built 10240 to 10586 version 1511.
eversince, i have upgraded , multipel event 122 are logged in the event viewer.the screenshot is :
the device installation settings are as :
yesterday, i had changed the group policy :
local computer policy-computer configuration-administrative template-system-intwenet communication setting-turn off windows update device driver searching — by default it was «not configured» and i changed it to «disabled». after this
the number of events logged has gone down from 12 to 2. the screenshot is:kindly help me resolving this issue.
Atul
Номер ошибки: | Ошибка 0x122 | |
Название ошибки: | WHEA_INTERNAL_ERROR | |
Описание ошибки: | The WHEA_INTERNAL_ERROR bug check has a value of 0x00000122. This bug check indicates that an internal error in the Windows Hardware Error Architecture (WHEA) has occurred. Errors can result from a bug in the implementation of a platform-specific hardware | |
Шестнадцатеричный код: | 0x00000122 | |
Разработчик: | Microsoft Corporation | |
Программное обеспечение: | Windows Operating System | |
Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Основными причинами ошибок 0x122 типа BSOD («синий экран смерти»), связанных с 0x00000122, являются отсутствие или повреждение драйвера для Windows 10 или драйвера режима ядра, неисправное оборудование, а также заражение вредоносным ПО. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл 0x122, из-за которого возникает проблема.
Ошибки WHEA_INTERNAL_ERROR
Ошибки WHEA_INTERNAL_ERROR обычно связаны с синим экраном смерти (BSOD) или ошибкой «Stop»:
- «Windows неожиданно завершает работу из-за проблемы с WHEA_INTERNAL_ERROR. «
- «: (Ошибка из WHEA_INTERNAL_ERROR вызвала проблему, и ваш компьютер должен перезагрузиться. «
- «СТОП 0x000000D1: IRQL_NOT_LESS_EQUAL — WHEA_INTERNAL_ERROR»
- «STOP 0x0000001E: KMODE_EXCEPTION_NOT_HANDLED – WHEA_INTERNAL_ERROR»
- 0×00000050: СТРАНИЦА_FAULT_IN_NONPAGED_AREA — WHEA_INTERNAL_ERROR
Установка аппаратного или программного обеспечения, связанная с турбоналогом, может вызвать ошибки BSOD WHEA_INTERNAL_ERROR. Во время установки Windows могут возникнуть ошибки WHEA_INTERNAL_ERROR, во время работы программы, связанной с WHEA_INTERNAL_ERROR, во время загрузки драйвера устройства, связанного с Microsoft Corporation, или во время запуска/завершения работы. Документирование случаев BSOD WHEA_INTERNAL_ERROR является ключевым для определения причины проблемы и сообщения о них Microsoft Corporation для исправлений.
Источник ошибок WHEA_INTERNAL_ERROR
Ошибки Blue Screen WHEA_INTERNAL_ERROR часто вызваны связанными проблемами с оборудованием, программным обеспечением, драйвером устройства или прошивкой. Связанное с Microsoft Corporation оборудование или сам Windows может привести к этим проблемам.
В частности, ошибки, связанные с WHEA_INTERNAL_ERROR, создаются:
- Плохо настроенные, устаревшие или поврежденные драйверы устройств (WHEA_INTERNAL_ERROR).
- Повреждение реестра Windows из-за недавнего изменения программного обеспечения (установка или удаление), связанного с WHEA_INTERNAL_ERROR.
- Заражение вредоносными программами повреждено файл WHEA_INTERNAL_ERROR или связанные с ним файлы Windows.
- WHEA_INTERNAL_ERROR конфликтует после установки оборудования, связанного с Microsoft Corporation.
- Поврежденные или удаленные системные файлы после установки программного обеспечения или драйверов, связанных с Windows.
- Синий экран WHEA_INTERNAL_ERROR вызван повреждениями жесткого диска.
- Повреждение ОЗУ от ошибки WHEA_INTERNAL_ERROR STOP.
Продукт Solvusoft
Загрузка
WinThruster 2023 — Проверьте свой компьютер на наличие ошибок.
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
Синий экран смерти 0x00000122 указывает, что произошла внутренняя ошибка в Windows Hardware Error Architecture (WHEA). Ошибка может быть следствием сбоя platform-specific hardware error driver (PSHED), предоставленного поставщиком.
Параметры WHEA_INTERNAL_ERROR:
1 параметр | 2 параметр | 3 параметр | 4 параметр | Причина ошибки |
0x1 | Размер памяти | Количество источников ошибок | 0 | Не удавалось выделить достаточно памяти для всех источников ошибок. |
0x2 | Количество процессоров | 0 | 0 | Не удавалось выделить достаточно памяти для блока информации WHEA для каждого процессора. |
0x5 | Состояние | Фаза (Фаза инициализации для проверки ошибки) | 0 | WHEA не удавалось выделить достаточно памяти для источников ошибок. |
0x6 | Состояние | Фаза | Тип источника ошибок | Не удавалось инициализировать источник ошибки (4 параметр) во время фазы, определенной в 3 параметре. |
0x7 | Состояние | 0 | 0 | Не удавалось выделить достаточно памяти. |
0x8 | Количество источников ошибок | 0 | 0 | Не удавалось выделить достаточно памяти для всех дескрипторов источников ошибок. |
0x9 | Тип источника ошибок | ID | 0 | WHEA получил неисправленный источник ошибки от недопустимого источника ошибки. |
0xA | Тип источника ошибок | ID | 0 | Не удавалось выделить запись ошибки для неисправленной ошибки. |
0xB | Тип источника ошибок | ID | 0 | Не удавалось заполнить запись ошибки для неисправленной ошибки. |
Если 1 параметр равен 0x6, 0x9, 0xA, или 0xB, один из параметров указывает тип источника ошибки. Нижеприведенная таблица приводит возможные значения для этого параметра.
Значение | Описание |
0x00 | Исключение машинного контроля. |
0x01 | Исправленный машинный контроль. |
0x02 | Исправленная ошибка платформы. |
0x03 | Немаскируемое прерывание. |
0x04 | Ошибка PCI. |
0x05 | Другие типы источников ошибок/ Универсальные. |
0x06 | Источник ошибок IA64 INIT. |
0x07 | Источник ошибок Boot. |
0x08 | Основанный на SCI источники ошибок. |
0x09 | Аварийное прекращение работы машинного контроля Itanium. |
0x0A | Машинный контроль Itanium. |
0x0B | Ошибка исправленной платформы Itanium. |
Решение
Для устранения ошибки синего экрана 0x00000122 воспользуйтесь статьей “Общие рекомендации по устранению BSoD”.
Reader Interactions