Я работаю на Windows. Я должен увидеть определенный набор API для Windows 2008 и выше и другой набор API для других разновидностей Windows. Я хочу знать, как лучше всего спроектировать такие вещи, чтобы у моего основного кода драйвера не было #ifdef
Например:
В Windows 2008 у нас есть API
EVT_HANDLE WINAPI EvtOpenLog(
__in EVT_HANDLE Session,
__in LPCWSTR Path,
__in DWORD Flags
);
и для Windows 2003 у нас есть другой API, который делает то же самое.
HANDLE OpenEventLog(
__in LPCTSTR lpUNCServerName,
__in LPCTSTR lpSourceName
);
То, что я ищу, - это наличие в моем коде некоторого API-оболочки, который внутренне обрабатывает эти вызовы.