У меня есть кусок кода, который получает случайную двоичную строку из CAPICOM.Utilities.Firebreath: исключение двоичной строки Возвращаемое значение
m_pUtilities.CreateInstance(__uuidof(Utilities));
_bstr_t bstrResult;
m_pUtilities->raw_GetRandom(64, CAPICOM_ENCODE_BINARY, bstrResult.GetAddress());
Я сделал метод, который возвращает
return std::wstring(bstrResult);
мой метод аварии плагин провер. 1 из 6 звонков. Описание исключения: Необработанное исключение в 0x7572969b в chrome.exe: исключение Microsoft C++: utf8 :: invalid_utf16 в ячейке памяти. Я попытался изменить возвращаемый тип моего метода из FB :: variant в std :: wstring, но это не помогло.
Что я сделал не так? Как мне вернуть двоичную строку? Преобразование двоичной строки в base64 или другие изменения в возвращаемой строке мне не подходит.
Да; вы не можете вернуть двоичные строки из плагина npapi в браузер, он просто не поддерживается. В браузерах ожидается строка, закодированная utf8 – taxilian
К сожалению, мне нужно передать это значение из моего плагина. Вероятно, я не буду реализовывать этот вариант вообще. – Pisaren
@Pisaren: Технически вы можете заполнить массив (JS) равными значениями и вернуть его, но это будет очень медленно. Как передать его как base64 в JS и декодировать его на массив чисел? –