typedef HRESULT (*PFN_HANDLE)(ClassName&);
それは次のように使われています:
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;
}
たWaitForMultipleObjectsになったときを待ち、ブロックを除いて何もしないことが表示されますし、その後、この奇妙なpfnh_fooの事をして、周りにループバックのいずれかに再度待機するか終了する
「完了」に割り当てられていませんか? –
doneは本当ですが、これはコードスニップです。 –
pfnh_fooは関数へのポインタです。したがって、Wait関数の行は、渡された関数を呼び出します。 –