It can easily be seen from do***entation of WaitFor* functions that
named pipes are not waitable.
If you refer to waiting for someone to connect to your pipe instance,
then you use ConnectNamedPipe().
If you mean waiting for something to read, ReadFile() is the solution.
If you want to peek to see if something is available, use
PeekNamedPipe() which despite it's name also works with anonymous pipes.
I though you said you were rewriting it....
I'm not familiar with other poll()'s but the DirectX one
but it seems like PeekNamedPipe() + some Sleep() would do it.
IMHO it is simple and intuitive... but i wouldn't have minded if they
would have made it possible to wait for it with WaitMultipleObject().
But usually you handle each pipe with it's own thread...
- Sten