[ros-diffs] [weiden] 19604: initial implementation of DeviceAdvancedPropertiesA/W

weiden at svn.reactos.com weiden at svn.reactos.com
Sat Nov 26 04:22:36 CET 2005


initial implementation of DeviceAdvancedPropertiesA/W
Modified: trunk/reactos/lib/devmgr/devmgr.xml
Modified: trunk/reactos/lib/devmgr/hwpage.c
Modified: trunk/reactos/lib/devmgr/misc.c
Modified: trunk/reactos/lib/devmgr/precomp.h
Modified: trunk/reactos/lib/devmgr/stubs.c
  _____  

Modified: trunk/reactos/lib/devmgr/devmgr.xml
--- trunk/reactos/lib/devmgr/devmgr.xml	2005-11-26 03:21:41 UTC (rev
19603)
+++ trunk/reactos/lib/devmgr/devmgr.xml	2005-11-26 03:22:22 UTC (rev
19604)
@@ -13,6 +13,7 @@

 	<library>setupapi</library>
 	<library>user32</library>
 	<file>devmgr.rc</file>
+	<file>advprop.c</file>
 	<file>hwpage.c</file>
 	<file>misc.c</file>
 	<file>stubs.c</file>
  _____  

Modified: trunk/reactos/lib/devmgr/hwpage.c
--- trunk/reactos/lib/devmgr/hwpage.c	2005-11-26 03:21:41 UTC (rev
19603)
+++ trunk/reactos/lib/devmgr/hwpage.c	2005-11-26 03:22:22 UTC (rev
19604)
@@ -30,8 +30,6 @@

 #define NDEBUG
 #include <debug.h>
 
-typedef VOID (WINAPI *PINITCOMMONCONTROLS)(VOID);
-
 typedef enum
 {
     HWPD_STANDARDLIST = 0,
@@ -978,7 +976,6 @@
                            IN HWPAGE_DISPLAYMODE DisplayMode)
 {
     PHARDWARE_PAGE_DATA hpd;
-    PINITCOMMONCONTROLS pInitCommonControls;
 
     /* allocate the HARDWARE_PAGE_DATA structure. Make sure it is
        zeroed because the initialization code assumes that in
@@ -1006,21 +1003,12 @@
         }
 
         /* load comctl32.dll dynamically */
-        hpd->hComCtl32 = LoadLibrary(TEXT("comctl32.dll"));
+        hpd->hComCtl32 = LoadAndInitComctl32();
         if (hpd->hComCtl32 == NULL)
         {
             goto Cleanup;
         }
 
-        /* initialize the common controls */
-        pInitCommonControls =
(PINITCOMMONCONTROLS)GetProcAddress(hpd->hComCtl32,
-
"InitCommonControls");
-        if (pInitCommonControls == NULL)
-        {
-            goto Cleanup;
-        }
-        pInitCommonControls();
-
         /* create the dialog */
         hWnd = CreateDialogParam(hDllInstance,
                                  MAKEINTRESOURCE(IDD_HARDWARE), 
  _____  

Modified: trunk/reactos/lib/devmgr/misc.c
--- trunk/reactos/lib/devmgr/misc.c	2005-11-26 03:21:41 UTC (rev
19603)
+++ trunk/reactos/lib/devmgr/misc.c	2005-11-26 03:22:22 UTC (rev
19604)
@@ -149,6 +149,69 @@

     return 0;
 }
 
+LPWSTR
+ConvertMultiByteToUnicode(IN LPCSTR lpMultiByteStr,
+                          IN UINT uCodePage)
+{
+    LPWSTR lpUnicodeStr;
+    INT nLength;
+
+    nLength = MultiByteToWideChar(uCodePage,
+                                  0,
+                                  lpMultiByteStr,
+                                  -1,
+                                  NULL,
+                                  0);
+    if (nLength == 0)
+        return NULL;
+
+    lpUnicodeStr = HeapAlloc(GetProcessHeap(),
+                             0,
+                             nLength * sizeof(WCHAR));
+    if (lpUnicodeStr == NULL)
+        return NULL;
+
+    if (!MultiByteToWideChar(uCodePage,
+                             0,
+                             lpMultiByteStr,
+                             nLength,
+                             lpUnicodeStr,
+                             nLength))
+    {
+        HeapFree(GetProcessHeap(),
+                 0,
+                 lpUnicodeStr);
+        return NULL;
+    }
+
+    return lpUnicodeStr;
+}
+
+HINSTANCE
+LoadAndInitComctl32(VOID)
+{
+    typedef VOID (WINAPI *PINITCOMMONCONTROLS)(VOID);
+    PINITCOMMONCONTROLS pInitCommonControls;
+    HINSTANCE hComCtl32;
+
+    hComCtl32 = LoadLibrary(L"comctl32.dll");
+    if (hComCtl32 != NULL)
+    {
+        /* initialize the common controls */
+        pInitCommonControls =
(PINITCOMMONCONTROLS)GetProcAddress(hComCtl32,
+
"InitCommonControls");
+        if (pInitCommonControls == NULL)
+        {
+            FreeLibrary(hComCtl32);
+            return NULL;
+        }
+
+        pInitCommonControls();
+    }
+
+    return hComCtl32;
+}
+
 BOOL
 STDCALL
 DllMain(IN HINSTANCE hinstDLL,
  _____  

Modified: trunk/reactos/lib/devmgr/precomp.h
--- trunk/reactos/lib/devmgr/precomp.h	2005-11-26 03:21:41 UTC (rev
19603)
+++ trunk/reactos/lib/devmgr/precomp.h	2005-11-26 03:22:22 UTC (rev
19604)
@@ -191,6 +191,13 @@

 LPARAM
 ListViewGetSelectedItemData(IN HWND hwnd);
 
+LPWSTR
+ConvertMultiByteToUnicode(IN LPCSTR lpMultiByteStr,
+                          IN UINT uCodePage);
+
+HINSTANCE
+LoadAndInitComctl32(VOID);
+
 #endif /* __DEVMGR_H */
 
 /* EOF */
  _____  

Modified: trunk/reactos/lib/devmgr/stubs.c
--- trunk/reactos/lib/devmgr/stubs.c	2005-11-26 03:21:41 UTC (rev
19603)
+++ trunk/reactos/lib/devmgr/stubs.c	2005-11-26 03:22:22 UTC (rev
19604)
@@ -548,72 +548,6 @@

 
 
/***********************************************************************
****
  * NAME
EXPORTED
- *      DeviceAdvancedPropertiesA
- *
- * DESCRIPTION
- *   Invokes the device properties dialog, this version may add some
property pages
- *   for some devices
- *
- * ARGUMENTS
- *   hWndParent:    Handle to the parent window
- *   lpMachineName: Machine Name, NULL is the local machine
- *   lpDeviceID:    Specifies the device whose properties are to be
shown
- *
- * RETURN VALUE
- *   -1: if errors occured
- *
- * REVISIONS
- *
- * NOTE
- *
- * @unimplemented
- */
-int
-WINAPI
-DeviceAdvancedPropertiesA(HWND hWndParent,
-                          LPCSTR lpMachineName,
-                          LPCSTR lpDeviceID)
-{
-  UNIMPLEMENTED;
-  return -1;
-}
-
-
-/**********************************************************************
*****
- * NAME
EXPORTED
- *      DeviceAdvancedPropertiesW
- *
- * DESCRIPTION
- *   Invokes the device properties dialog, this version may add some
property pages
- *   for some devices
- *
- * ARGUMENTS
- *   hWndParent:    Handle to the parent window
- *   lpMachineName: Machine Name, NULL is the local machine
- *   lpDeviceID:    Specifies the device whose properties are to be
shown
- *
- * RETURN VALUE
- *   -1: if errors occured
- *
- * REVISIONS
- *
- * NOTE
- *
- * @unimplemented
- */
-int
-WINAPI
-DeviceAdvancedPropertiesW(HWND hWndParent,
-                          LPCWSTR lpMachineName,
-                          LPCWSTR lpDeviceID)
-{
-  UNIMPLEMENTED;
-  return -1;
-}
-
-
-/**********************************************************************
*****
- * NAME
EXPORTED
  *      DevicePropertiesExA
  *
  * DESCRIPTION
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051126/ffd20be5/attachment.html


More information about the Ros-diffs mailing list