| Предыдущий | Следующий |
| OSS_TYPE_NOT_SUPPORTED | OSS_REAL_CODE_NOT_LINKED |
OSS_REAL_DLL_NOT_LINKED
OSS_REAL_DLL_NOT_LINKED (0x8009301F) — результат OSS ASN.1 runtime для отсутствующей DLL поддержки ASN.1 REAL. Windows modular runtime path требует component для ASN.1 REAL values, но ожидаемая DLL не загружена. Поскольку REAL fields, достигнутые операцией имеют решающее значение для этого условия, диапазон HRESULT Microsoft следует рассматривать вместе с документацией return code OSS Nokalva. Начните исследование с фиксации имя module, версия и архитектура, затем отделите закодированное значение от сгенерированных артефактов, аргументов вызова и runtime-пакета, реально загруженного процессом.
Интерпретация во время выполнения
На границе отсутствующей DLL поддержки ASN.1 REAL зафиксируйте первую OSS-функцию, вернувшую значение, и отметьте, выполнялись ли encode, decode, copy, compare, constraint validation или настройка trace. Сохраните выбранный PDU, правила кодирования и loader search path и ошибки зависимостей; иначе внешний certificate/security wrapper может скрыть полезный результат codec за общей ошибкой.
Диагностическая запись
| Запишите | Диагностическое значение |
|---|---|
| REAL fields, достигнутые операцией | Локализует конкретное сообщение, allocation, module или границу API |
| имя module, версия и архитектура | Отделяет поведение, зависящее от payload, от состояния сборки и процесса |
| loader search path и ошибки зависимостей | Делает сравнение воспроизводимым без изменения исходного артефакта |
Небольшие эксперименты с высокой диагностической ценностью
- после упаковки выполните round-trip минимального REAL value
- проверьте фактически загруженный path
- в качестве изоляции протестируйте PDU без REAL component
При проверке сохраняйте исходные байты или object graph неизменными после упаковки выполните round-trip минимального REAL value. Изменение имя module, версия и архитектура после reload, замены plugin, restart или развертывания schema является данными о состоянии runtime, а не основанием выбрасывать reproducer. Когда loader search path и ошибки зависимостей указывает на конкретное сообщение, сохраняйте криптографический хеш и минимальный безопасный образец вместо записи certificate, subscriber, credential или private-key material.
Избегайте неверного обходного решения
REAL_CODE_NOT_LINKED — static/generated-code аналог; этот статус конкретно указывает на границу упаковки DLL.
Матрица решений
| Контролируемое наблюдение | Подтверждаемый вывод |
|---|---|
| после упаковки выполните round-trip минимального REAL value | Изменившийся результат локализует первый предлагаемый контроль вместо слепого повтора |
| REAL fields, достигнутые операцией, различаются между успешным и неуспешным случаем | Разница локализует отсутствие DLL поддержки ASN.1 REAL до изменения несвязанных настроек |
| Независимый decoder принимает тот же артефакт | Проверьте сгенерированную schema, выбранные rules, ABI и необязательные модули OSS, прежде чем объявлять байты недействительными |
| Новый control object изменяет результат | Исследуйте инициализацию, lifecycle, владение allocator, изменение конфигурации и concurrent access |
Инструментирование
Записывайте полный 32-битный HRESULT и младший OSS return number вместе с направлением операции, символическим PDU, правилом кодирования, числом байтов и идентификатором generated table. Там, где REAL fields, достигнутые операцией может раскрывать чувствительные данные, хеш с ограниченным структурным фрагментом безопаснее полного payload. Используйте имя module, версия и архитектура вместе с путями и версиями модулей OSS, записанными один раз на процесс, чтобы сопоставлять различия упаковки без засорения обычной диагностики.
Подтверждение восстановления
Поставляйте соответствующий REAL module и проверяйте finite, zero, infinity и разрешённые protocol специальные случаи. Тест восстановления для после упаковки выполните round-trip минимального REAL value должен повторять ту же операцию при той же schema и encoding rule, сохранять один намеренно недействительный control и проверять владение/очистку после обоих исходов. Успех после непроанализированного повтора не доказывает, что REAL fields, достигнутые операцией теперь соответствует контракту codec.
Технические ссылки
- Microsoft: определения HRESULT OSS ASN.1
- OSS Nokalva: return codes encoder/decoder
- OSS Nokalva: runtime-функции и инициализация control
- Соответствующая спецификация ASN.1 или деталь runtime
Нужно найти другой код? Найти другой код состояния или ошибки.