typedef HRESULT (*PFN_HANDLE)(ClassName&);
Es ist wie folgt verwendet:
DWORD ClassName::Wait(PFN_HANDLE pfnh_foo)
{
while (!done) {
waitCode = WaitForMultipleObjects(paramA, paramB, paramC, paramD)
if (waitCode == WAIT_OBJECT_0)
{
pfnh_foo(*this);
}
else
done;
}
return waitCode;
}
Es scheint, dass Warten tut nichts, außer Block, wenn es um WaitForMultipleObjects bekommt und dann danach tut diese seltsame pfnh_foo Sache und entweder eine Schleife zurück um wieder warten oder verlässt
keine Zuordnung zu 'done'? –
getan wäre wahr, aber das ist ein Code-Snip. –
pfnh_foo ist ein Zeiger auf eine Funktion - so ruft die Zeile in der Wait-Funktion jede Funktion auf, die an sie übergeben wird. –