Что означает код HRESULT 0x80000017 (E_STRING_NOT_NULL_TERMINATED)?

 
Также может означать:
КонстантаТипОС
STATUS_EXTRANEOUS_INFORMATIONNTSTATUSWindows
Предыдущий Следующий
RO_E_ERROR_STRING_NOT_FOUND E_ILLEGAL_DELEGATE_ASSIGNMENT

E_STRING_NOT_NULL_TERMINATED

Что означает E_STRING_NOT_NULL_TERMINATED

E_STRING_NOT_NULL_TERMINATED (0x80000017) — Строка не завершается нулевым символом.

Что отличает этот отказ

В API передана строка без ожидаемого NUL в допустимой границе буфера; сохраните length/capacity и encoding. Гарантируйте terminator внутри выделенного buffer и не полагайтесь на случайный нулевой байт за логической длиной строки.

Проверьте место, где буфер превращается в C/Win32 string: логическая длина должна оставлять место для terminator соответствующей кодировки. Для UTF-16 учитывайте размер в wchar_t, а не смешивайте число байтов и число символов.

Документация для результата 0x80000017:C++/WinRT error handling · concurrency and asynchronous operations · WinMD files.


Нужно найти другой код? Найти другой код состояния или ошибки.