Windows tends to have these in their header files, what is the best way to translate them to D?

https://msdn.microsoft.com/en-us/library/whbyts4t.aspx

Example below. In general a named enum is close enough to the same thing, but this example has additional enumerations added based on the preprocessor.

Assuming _WIN32_MSI is defined for compile time, what is recommended for creating this enum?

typedef enum tagINSTALLMESSAGE
{
// 12 others ...
        INSTALLMESSAGE_INITIALIZE     ,
        INSTALLMESSAGE_TERMINATE      ,
        INSTALLMESSAGE_SHOWDIALOG     ,
#if (_WIN32_MSI >= 500)
        INSTALLMESSAGE_PERFORMANCE    ,
#endif // (_WIN32_MSI >= 500)
#if (_WIN32_MSI >= 400)
        INSTALLMESSAGE_RMFILESINUSE   ,
#endif // (_WIN32_MSI >= 400)
#if (_WIN32_MSI >= 450)
        INSTALLMESSAGE_INSTALLSTART   ,
        INSTALLMESSAGE_INSTALLEND     ,
#endif // (_WIN32_MSI >= 450)
} INSTALLMESSAGE;

Reply via email to