![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват ReadFile [D7, WinXP]
Tzw © (2008-02-19 15:01:00)Имеется пример перехватывающий ReadFIle
фрагемент
--cut--
function NewNtReadFile(FileHandle, Event: THandle; ApcRoutine: Pointer;
ApcContext: Pointer; IoStatusBlock: Pointer; Buffer: Pointer;
Length: ULONG; ByteOffset: Pointer; Key: Pointer): NTSTATUS; stdcall;
var
p: pchar;
begin
DoBefore(0);
Result := OldNtReadFile(FileHandle, Event, ApcRoutine, ApcContext,
IoStatusBlock, Buffer, Length, ByteOffset, Key);
DoAfter(0);
end;
--cut--
небыло опыта работы через native Readfile, подскжаите как с работать с буфером? как получить прочитанные данные ?
В том месте где сейчас DoAfter(0);
Tzw (2008-02-20 12:56:00) [1]Вопрос еще актуален. Если у кого то есть примеры напишите плиз.
Германн (2008-02-20 03:09:00) [2]
> Tzw (19.02.08 20:55) [4]
>
> Киньте примерами, уж чтоли
Может кто и кинет, когда перенесут вопрос в "Начинающие". А может никто и не кинет.
Tzw (2008-02-19 20:55:00) [3]Киньте примерами, уж чтоли. заоодно если у кого был опыт реализации перехвата, напишите какие могут быть подводные камни.
> А это ничего, что операция асинхронная ?
Если есть какие то нюансы применения ReadFile в данном случае буду интересно узнать. Можно даже с кодом. :)
Игорь Шевченко (2008-02-19 15:56:00) [4]А это ничего, что операция асинхронная ?
Riply (2008-02-19 15:38:00) [5]> [0] Tzw (19.02.08 15:01)
> Имеется пример перехватывающий ReadFIle
> небыло опыта работы через native Readfile, подскжаите как с работать с буфером? как получить прочитанные данные ?
Так, прежде чем перехватывать и наберись опыта "работы через native".
С посоздавай и почитай файлы их помощью - сразу все станет ясно.
Я серьезно.
P.S.
А то интересно получается: перехватываю нечто, а что оно такое и как работает не знаю :)
Сергей М. (2008-02-19 15:20:00) [6]
> как с работать с буфером? как получить прочитанные данные
> ?
В полном соответствии с логикой ф-ции NtReadFile.