Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Преобразвание типов   Найти похожие ветки 

 
UnknownC0der   (2007-06-04 17:18) [0]

Всем привет!
В общем хукаю я функцию:
CryptGenRandom(hProv: Hwnd; dwLen: DWORD; pbBuffer: PBYTE): BOOL;
Вопрос такой:
Как преобразовать pbBuffer в число, например в Dword и обратно?


 
Belorus ©   (2007-06-04 18:38) [1]

Pbyte в DWORD :) Ну только, как бы это сказать.... частично. Ибо Byte - однобайтовый тип, а DWORD - четырех.

var X : DWord;
begin
 X:=Byte(pbBuffer);
end;


 
Eraser ©   (2007-06-04 18:41) [2]

В данном случае PBYTE это просто условно, с таким же успехом можно было написать PChar иди PDWORD, во всех случаях переменная 4х байтовая.


 
UnknownC0der   (2007-06-04 19:22) [3]

Нет, смысл в том что есть прога, которая использует функцию
CryptGenRandom(hProv: Hwnd; dwLen: DWORD; pbBuffer: PBYTE): BOOL;
Я хочу получить то, что эта функция сгенерирует в этой проге в виде числа... Вот собственно в чем и вопрос...


 
Eraser ©   (2007-06-04 19:40) [4]

> [3] UnknownC0der   (04.06.07 19:22)


> Я хочу получить то, что эта функция сгенерирует в этой проге
> в виде числа...

ввиде числа не получится, т.к. размер буффера может быть (и будет) больше 64 бит.


 
UnknownC0der   (2007-06-04 19:50) [5]

Сформулирую вопрос по другому:
Как можно посмотреть что "нагенировала" программа и изменить это?

P.S. Она генерирует 3 значное число с помощью это функции...


 
Eraser ©   (2007-06-04 20:07) [6]

> [5] UnknownC0der   (04.06.07 19:50)

все зависит от параметра dwLen. Допустим если передали туда 4, то pbBuffer будет указывать на 4-байтный буффер, содержимое которого можно представить в виде числа примерно так PDWORD(pbBuffer)^.


 
UnknownC0der   (2007-06-04 21:14) [7]

Посмотрел... dwLen там всегда - 4...
Что с этим мона сделать?


 
Eraser ©   (2007-06-04 21:19) [8]

> [7] UnknownC0der   (04.06.07 21:14)

да ничего и не делать.
значение pbBuffer тогда можно увидеть так
showmessage(inttostr(PDWORD(pbBuffer)^));


 
UnknownC0der   (2007-06-04 21:50) [9]

Спасибо большое, разобрался!



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1180080951
Василий Ж.
2007-05-25 12:15
2007.06.24
Ручная установка JVCL v2.10 или 3.31


10-1133355468
Grant
2005-11-30 15:57
2007.06.24
Проблемы с Midas


3-1175490505
Карелин Артем
2007-04-02 09:08
2007.06.24
Компоненты прямого доступа для DBF подскажите.


15-1180004673
Gorlum
2007-05-24 15:04
2007.06.24
Excel сплющивает картинки... Понять не могу почему...


8-1160133927
Korneley
2006-10-06 15:25
2007.06.24
Запись с одного источника в несколько звуковых потоков