Alfred Agrell (@Alcaro) commented about include/winbase.h:
WINBASEAPI void WINAPI DeleteFiber(LPVOID); WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR); WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR); -#define DeleteFile WINELIB_NAME_AW(DeleteFile)
While I agree that that define is trouble (dlls/kernel32/tests/file.c already has a workaround), I feel that deleting it yields a high regression risk from code trying to call the actual function.
Perhaps you should instead move the define higher, so the struct's member gets renamed alongside the accessors. That's what the official headers do. https://godbolt.org/z/4a3fjsqTx
(Alternatively, create an inline function that calls the appropriate A/W version. I don't think anyone cares whether that name is a macro or a define, as long as it's callable.)