Sync to Wine-20050725:
[reactos.git] / reactos / lib / shell32 / shell32_main.c
index 64cdf6e..253635b 100644 (file)
@@ -718,6 +718,63 @@ HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex
     return NULL;
 }
 
+/*************************************************************************
+ * Printer_LoadIconsW        [SHELL32.205]
+ */
+VOID WINAPI Printer_LoadIconsW(LPCWSTR wsPrinterName, HICON * pLargeIcon, HICON * pSmallIcon)
+{
+    INT iconindex=IDI_SHELL_PRINTER;
+
+    TRACE("(%s, %p, %p)\n", debugstr_w(wsPrinterName), pLargeIcon, pSmallIcon);
+
+    /* We should check if wsPrinterName is
+       1. the Default Printer or not
+       2. connected or not
+       3. a Local Printer or a Network-Printer
+       and use different Icons
+    */
+    if((wsPrinterName != NULL) && (wsPrinterName[0] != 0))
+    {
+        FIXME("(select Icon by PrinterName %s not implemented)\n", debugstr_w(wsPrinterName));
+    }
+
+    if(pLargeIcon != NULL)
+        *pLargeIcon = LoadImageW(shell32_hInstance,
+                                 (LPCWSTR) MAKEINTRESOURCE(iconindex), IMAGE_ICON,
+                                 0, 0, LR_DEFAULTCOLOR|LR_DEFAULTSIZE);
+
+    if(pSmallIcon != NULL)
+        *pSmallIcon = LoadImageW(shell32_hInstance,
+                                 (LPCWSTR) MAKEINTRESOURCE(iconindex), IMAGE_ICON,
+                                 16, 16, LR_DEFAULTCOLOR);
+}
+
+/*************************************************************************
+ * Printers_RegisterWindowW        [SHELL32.213]
+ * used by "printui.dll":
+ * find the Window of the given Type for the specific Printer and 
+ * return the already existent hwnd or open a new window
+ */
+BOOL WINAPI Printers_RegisterWindowW(LPCWSTR wsPrinter, DWORD dwType,
+            HANDLE * phClassPidl, HWND * phwnd)
+{
+    FIXME("(%s, %lx, %p (%p), %p (%p)) stub!\n", debugstr_w(wsPrinter), dwType,
+                phClassPidl, (phClassPidl != NULL) ? *(phClassPidl) : NULL,
+                phwnd, (phwnd != NULL) ? *(phwnd) : NULL);
+
+    return FALSE;
+} 
+
+/*************************************************************************
+ * Printers_UnregisterWindow      [SHELL32.214]
+ */
+VOID WINAPI Printers_UnregisterWindow(HANDLE hClassPidl, HWND hwnd)
+{
+    FIXME("(%p, %p) stub!\n", hClassPidl, hwnd);
+} 
+
+/*************************************************************************/
+
 typedef struct
 {
     LPCWSTR  szApp;
@@ -985,14 +1042,6 @@ void WINAPI FreeIconList( DWORD dw )
 }
 
 
-/*************************************************************************
- * ShellDDEInit (SHELL32.@)
- */
-void WINAPI ShellDDEInit(BOOL start)
-{
-    FIXME("stub: %d\n", start);
-}
-
 /***********************************************************************
  * DllGetVersion [SHELL32.@]
  *