Hi Alistair, Shouldn't this include the flags? I added _RO_ERROR_REPORTING_FLAGS for copyright reasons. typedef enum _RO_ERROR_REPORTING_FLAGS { RO_ERROR_REPORTING_NONE = 0x00000000, RO_ERROR_REPORTING_SUPPRESSEXCEPTIONS = 0x00000001, RO_ERROR_REPORTING_FORCEEXCEPTIONS = 0x00000002, RO_ERROR_REPORTING_USESETERRORINFO = 0x00000004, RO_ERROR_REPORTING_SUPPRESSSETERRORINFO = 0x00000008, } RO_ERROR_REPORTING_FLAGS; cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(RO_ERROR_REPORTING_FLAGS);") The semicolon at the end of the above line might not be needed. In the roerrorapi.h file there are 2 (+1 duplicate) enums for the error flags, one of which is enclosed in namespaces. I think Huw meant you should add the enum preceding the namespace. -- Kind regards, Mohamad