Возвращение потока файлов из C ++ dll в Centura Team Developer

Я нашел C / C ++ QRCode Library и хочу использовать ее как .dll.
Одна функция, называемая просто «qrcode», имеет char szSourceString[], char OUT_FILE[] в качестве параметров.
SourceString это текст для преобразования и OUT_FILE это имя файла Эта функция записывает .bmp.
В Gupta / Centura Team Developer 5.2, где мне нужно использовать .dll, мне нужно передать эти параметры как «LPSTR».
Вышеупомянутое прекрасно работает, но я ищу способ вернуть файловый поток вместо того, чтобы писать .bmp, который я должен снова открыть в Centura для дальнейшей обработки.

В библиотеке C ++ файл записан так:

if (!(fopen_s(&f, OUT_FILE, "wb")))
{
fwrite(&kFileHeader, sizeof(BITMAPFILEHEADER), 1, f);
fwrite(&kInfoHeader, sizeof(BITMAPINFOHEADER), 1, f);
fwrite(pRGBData, sizeof(unsigned char), unDataBytes, f);

fclose(f);

Я хочу вернуть unsigned char*pRGBData туда, где я называю это из Centura.
Я понятия не имею, как это сделать / какой тип данных использовать.
Я пытался конвертировать pRGBData в std :: string и вернуть его, но это вызывает сбой при вызове функции из Centura. Я не знаю, будет ли само преобразование работать нормально, или оно просто сбоит, потому что я выбрал неправильный тип данных. Как Centura- «String» я могу передать «HARRAY»
HSTRING, LPSTRING, LPCSTR, LPCWSTR, LPVOID, LPWSTR «.
Может ли кто-нибудь помочь мне здесь, пожалуйста?

0

Решение

Верните его в виде байтового массива и используйте в Gupta строку приема LPCSTR.

2

Другие решения


По вопросам рекламы [email protected]