Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевод PByte -> PChar [D7, WinXP]


Мой ник ©   (2007-11-19 20:12:00) 

Всем привет!
В общем есть переменная pbData: PBYTE, подскажите пожалуйста как преобразовать ее в PChar.
В таком виде:
MessageBox(0, PChar(pbData), '', 0);
Не получилось :(


Мой ник   (2007-11-19 20:52:00) [1]

Все, разобрался...

pbData
[in,out] Указатель на буфер, содержащий данные, которые необходимо зашифровать и, опционально, захэшировать.
Размер буфера, в байтах, передается в параметре dwBufLen.
Размер шифруемых данных передается в параметре pdwDataLen.
В качестве значения данного параметра может быть передан NULL. В этом случае в параметре pdwDataLen возвращается размер памяти необходимый для записи шифрованных данных. Шифрованные данные помещаются в этот же буфер (открытые данные перезаписываются).


Мой ник   (2007-11-19 20:30:00) [2]

В общем я перехватываю функцию
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;


Anatoly Podgoretsky   (2007-11-19 20:23:00) [3]

> Мой ник  (19.11.2007 20:20:02)  [2]

Так может в буффере и есть мусор, ведь приведения мало, надо что бы и данные соответствовали PChar.
Приведи содержимое буфера.


Мой ник   (2007-11-19 20:20:00) [4]

>А что получилось.
Там мусор вместо строки :(


Anatoly Podgoretsky   (2007-11-19 20:15:00) [5]

> Мой ник  (19.11.2007 20:12:00)  [0]

А что получилось.


Наверх

Титульная страница Поиск, карта сайта Написать письмо