-
1. Data: 2017-11-09 19:21:39
Temat: [WinAPI] OVERLAPPED
Od: DMR <m...@g...com>
Potrzebuję kogoś mądrego, żeby mi wyłuszczył, co i jak. :-)
Rozumiem, że w ogólności działa to tak, że po wywołaniu funkcji w tym trybie można o
niej zapomnieć - wykonanie bierze na siebie system, zawiadamiając o jej zakończeniu
poprzez zapalenie eventa zaszytego w strukturze OVERLAPPED?
Dobrze kombinuję?
Zapalenie tego eventa trzeba oczywiście przechwycić, ale to już inna para kaloszy.
Czyli - jeśli odpalę ReadFile w tym trybie, to system będzie sobie gdzieś na boku
czytał, dopóki nie przeczyta, po czym zapali eventa?
I może sobie przy tym grzebać w moim buforze? Tak bez ostrzeżenia? :-)
A może z jakichś powodów lepiej użyć ReadFileEx?
Tylko nie bardzo rozumiem, w którym momencie ma wykonać się funkcja z ostatniego
parametru...
-
2. Data: 2017-11-10 04:25:25
Temat: Re: [WinAPI] OVERLAPPED
Od: bartekltg <b...@g...com>
On Thursday, November 9, 2017 at 7:21:40 PM UTC+1, DMR wrote:
> Potrzebuję kogoś mądrego, żeby mi wyłuszczył, co i jak. :-)
>
> Rozumiem, że w ogólności działa to tak, że po wywołaniu funkcji w tym trybie można
o niej zapomnieć - wykonanie bierze na siebie system, zawiadamiając o jej zakończeniu
poprzez zapalenie eventa zaszytego w strukturze OVERLAPPED?
> Dobrze kombinuję?
>
> Zapalenie tego eventa trzeba oczywiście przechwycić, ale to już inna para kaloszy.
>
> Czyli - jeśli odpalę ReadFile w tym trybie, to system będzie sobie gdzieś na boku
czytał, dopóki nie przeczyta, po czym zapali eventa?
> I może sobie przy tym grzebać w moim buforze? Tak bez ostrzeżenia? :-)
>
> A może z jakichś powodów lepiej użyć ReadFileEx?
> Tylko nie bardzo rozumiem, w którym momencie ma wykonać się funkcja z ostatniego
parametru...
Przecież napisali:
lpCompletionRoutine [in]
A pointer to the completion routine to be called when the read operation is complete
and the calling thread is in an alertable wait state.
Jak skonczy wczytywać.
pzdr
bartekltg