Stub EnumDesktopsW for now.
Implement EnumDesktopsA in terms of EnumDesktopsW.

diff --git a/dlls/user/misc.c b/dlls/user/misc.c
index bec20ff..9c36273 100644
--- a/dlls/user/misc.c
+++ b/dlls/user/misc.c
@@ -26,11 +26,39 @@
 #include "wingdi.h"
 #include "winuser.h"
 #include "winerror.h"
+#include "winnls.h"
 
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(win);
 
+/* callback to allow EnumDesktopsA to use EnumDesktopsW */
+typedef struct {
+    DESKTOPENUMPROCA lpEnumFunc;
+    LPARAM lParam;
+} ENUMDESKTOPS_LPARAM;
+
+/* EnumDesktopsA passes this callback function to EnumDesktopsW.
+ * It simply converts the string to ASCII and calls the callback
+ * function provided by the original caller
+ */
+static BOOL CALLBACK EnumDesktopProcWtoA(LPWSTR lpszDesktop, LPARAM lParam)
+{
+    LPSTR buffer;
+    INT   len;
+    BOOL  ret;
+    ENUMDESKTOPS_LPARAM *data = (ENUMDESKTOPS_LPARAM *)lParam;
+
+    len = WideCharToMultiByte(CP_ACP, 0, lpszDesktop, -1, NULL, 0, NULL, NULL);
+    if (!(buffer = HeapAlloc( GetProcessHeap(), 0, len))) return FALSE;
+    WideCharToMultiByte(CP_ACP, 0, lpszDesktop, -1, buffer, len, NULL, NULL);
+
+    ret = data->lpEnumFunc(buffer, data->lParam);
+
+    HeapFree(GetProcessHeap(), 0, buffer);
+    return ret;
+}
+
 /**********************************************************************
  * SetLastErrorEx [USER32.@]  Sets the last-error code.
  *
@@ -173,6 +201,30 @@
     return 0;
 }
 
+/******************************************************************************
+ *              EnumDesktopsA [USER32.@]
+ */
+BOOL WINAPI EnumDesktopsA( HWINSTA hwinsta, DESKTOPENUMPROCA lpEnumFunc,
+                    LPARAM lParam )
+{
+    ENUMDESKTOPS_LPARAM caller_data;
+
+    caller_data.lpEnumFunc = lpEnumFunc;
+    caller_data.lParam     = lParam;
+    
+    return EnumDesktopsW(hwinsta, EnumDesktopProcWtoA, (LPARAM) &caller_data);
+}
+
+/******************************************************************************
+ *              EnumDesktopsW [USER32.@]
+ */
+BOOL WINAPI EnumDesktopsW( HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc,
+                    LPARAM lParam )
+{
+    FIXME("%p,%p,%lx): stub\n",hwinsta,lpEnumFunc,lParam);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}
 
 /******************************************************************************
  *		SetUserObjectInformationA   (USER32.@)