Форум: "WinAPI";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];
ВнизПеревод PByte -> PChar Найти похожие ветки
← →
Мой ник (2007-11-19 20:12) [0]Всем привет!
В общем есть переменная pbData: PBYTE, подскажите пожалуйста как преобразовать ее в PChar.
В таком виде:
MessageBox(0, PChar(pbData), "", 0);
Не получилось :(
← →
Anatoly Podgoretsky © (2007-11-19 20:15) [1]> Мой ник (19.11.2007 20:12:00) [0]
А что получилось.
← →
Мой ник (2007-11-19 20:20) [2]>А что получилось.
Там мусор вместо строки :(
← →
Anatoly Podgoretsky © (2007-11-19 20:23) [3]> Мой ник (19.11.2007 20:20:02) [2]
Так может в буффере и есть мусор, ведь приведения мало, надо что бы и данные соответствовали PChar.
Приведи содержимое буфера.
← →
Мой ник (2007-11-19 20:30) [4]В общем я перехватываю функцию
function CPEncrypt(
hProv: HCRYPTPROV;
hKey: HCRYPTKEY;
hHash: HCRYPTHASH;
Final: BOOL;
dwFlags: DWORD;
pbData: PBYTE;
pdwDataLen: PDWORD;
dwBufLen: DWORD
): Bool; stdcall;
из rsaenh.dll.
Код реализующий перехват 100% верный.
В обработчике перехватываемой функции вызываю настоящуюю функцию и показываю содержимое ее переменных:
begin
Result := CPEncrypt(
hProv,
hKey,
hHash,
Final,
dwFlags,
pbData,
pdwDataLen,
dwBufLen
);
MessageBox(0, PChar(pbData), "", 0);
end;
← →
Мой ник (2007-11-19 20:52) [5]Все, разобрался...
pbData
[in,out] Указатель на буфер, содержащий данные, которые необходимо зашифровать и, опционально, захэшировать.
Размер буфера, в байтах, передается в параметре dwBufLen.
Размер шифруемых данных передается в параметре pdwDataLen.
В качестве значения данного параметра может быть передан NULL. В этом случае в параметре pdwDataLen возвращается размер памяти необходимый для записи шифрованных данных. Шифрованные данные помещаются в этот же буфер (открытые данные перезаписываются).
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c