Regarding convention, does it really worth it to return some special value or check for 0 count in each driver for this special case? It seems to me it would make things uglier, count - 1 is not a special value, for all the other cases it indicates that the wait succeeded for the last object which is always queue handle. Instead of checking of zero count I could as well (instead) check for ~0 status, not sure if adding a special one for this case will make anything easier?