#include "common.h"
-#ifdef UNICODE
-# warning "Unicode mode not tested"
-#endif
-
-#ifdef UNICODE
-# define DIRECTDRAWENUMERATEEX_NAME "DirectDrawEnumerateExA"
-#else
-# define DIRECTDRAWENUMERATEEX_NAME "DirectDrawEnumerateExA"
-#endif
+/* Unicode function "DirectDrawEnumerateExW" has been desactivated
+ since in some cases this function fails and the callbacks are not
+ called. If the Unicode mode is restored, one should modify the
+ prototype of the callbacks and call the FromT conversion function.
+*/
+#define DIRECTDRAWENUMERATEEX_NAME "DirectDrawEnumerateExA"
/*****************************************************************************
* Module descriptor
}
/* */
-static BOOL WINAPI DirectXOpenDDrawCallback(GUID *guid, LPTSTR desc,
- LPTSTR drivername, VOID *context,
+static BOOL WINAPI DirectXOpenDDrawCallback(GUID *guid, LPSTR desc,
+ LPSTR drivername, VOID *context,
HMONITOR hmon)
{
vout_display_t *vd = context;
if (!hmon)
return TRUE;
- char *psz_drivername = (char*)drivername;
- char *psz_desc = (char*)desc;
+ char *psz_drivername = drivername;
+ char *psz_desc = desc;
msg_Dbg(vd, "DirectXEnumCallback: %s, %s", psz_desc, psz_drivername);
}
/* */
- HRESULT (WINAPI *OurDirectDrawEnumerateEx)(LPDDENUMCALLBACKEX, LPVOID, DWORD);
+ HRESULT (WINAPI *OurDirectDrawEnumerateEx)(LPDDENUMCALLBACKEXA, LPVOID, DWORD);
OurDirectDrawEnumerateEx =
(void *)GetProcAddress(sys->hddraw_dll, DIRECTDRAWENUMERATEEX_NAME);
/*****************************************************************************
* config variable callback
*****************************************************************************/
-static BOOL WINAPI DirectXEnumCallback2(GUID *guid, LPTSTR desc,
- LPTSTR drivername, VOID *data,
+static BOOL WINAPI DirectXEnumCallback2(GUID *guid, LPSTR desc,
+ LPSTR drivername, VOID *data,
HMONITOR hmon)
{
enum_context_t *ctx = data;
VLC_UNUSED(guid); VLC_UNUSED(desc); VLC_UNUSED(hmon);
- char *psz_drivername = (char*)(drivername);
+ char *psz_drivername = drivername;
ctx->values = xrealloc(ctx->values, (ctx->count + 1) * sizeof(char *));
ctx->descs = xrealloc(ctx->descs, (ctx->count + 1) * sizeof(char *));
if (hddraw_dll != NULL)
{
/* Enumerate displays */
- HRESULT (WINAPI *OurDirectDrawEnumerateEx)(LPDDENUMCALLBACKEX,
+ HRESULT (WINAPI *OurDirectDrawEnumerateEx)(LPDDENUMCALLBACKEXA,
LPVOID, DWORD) =
(void *)GetProcAddress(hddraw_dll, DIRECTDRAWENUMERATEEX_NAME);
if (OurDirectDrawEnumerateEx != NULL)