You mean, if some day M$ changes ddraw.h so that szDescription type becomes WCHAR, right?
Well, the API is like this:
HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
With:
typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
The question now is wether it is guaranteed to have the string returned by 'DirectDrawEnumerateExW' be the same than the one returned by 'DDRAW->GetDeviceIdentifier()'.
Lionel