James Hawkins wrote:
if ((hr = callback(hinf, buffer, arg)) != S_OK)
if (FAILED(hr = callback(hinf, buffer, arg)))
It's usually a bad idea to do function calls or assignments inside macros... in this case it's safe, but sometimes the macro is something like:
#define FAILED(hr) (((hr)>0xf00) && (hr)<0xb00))
then the function would get called twice...
It's even more fun if you do:
FAILED(hr++)
Mike