Andrey Turkin : setupapi: Add support for DIRID_PRINTPROCESSOR.

Alexandre Julliard julliard at winehq.org
Tue Jan 13 10:56:40 CST 2009


Module: wine
Branch: master
Commit: 000136ac301327a85fecbd0aef788bc1629b6121
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=000136ac301327a85fecbd0aef788bc1629b6121

Author: Andrey Turkin <andrey.turkin at gmail.com>
Date:   Tue Jan 13 13:49:28 2009 +0300

setupapi: Add support for DIRID_PRINTPROCESSOR.

---

 dlls/setupapi/Makefile.in |    2 +-
 dlls/setupapi/dirid.c     |   10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/setupapi/Makefile.in b/dlls/setupapi/Makefile.in
index 91bc87b..e6d3e80 100644
--- a/dlls/setupapi/Makefile.in
+++ b/dlls/setupapi/Makefile.in
@@ -6,7 +6,7 @@ VPATH     = @srcdir@
 MODULE    = setupapi.dll
 IMPORTLIB = setupapi
 IMPORTS   = uuid user32 version advapi32 rpcrt4 kernel32 ntdll
-DELAYIMPORTS = shell32 wintrust ole32
+DELAYIMPORTS = shell32 wintrust ole32 winspool
 
 C_SRCS = \
 	devinst.c \
diff --git a/dlls/setupapi/dirid.c b/dlls/setupapi/dirid.c
index 89f92fd..419f157 100644
--- a/dlls/setupapi/dirid.c
+++ b/dlls/setupapi/dirid.c
@@ -28,6 +28,7 @@
 #include "wingdi.h"
 #include "winuser.h"
 #include "winnls.h"
+#include "winspool.h"
 #include "setupapi.h"
 #include "shlobj.h"
 #include "wine/unicode.h"
@@ -86,6 +87,7 @@ static const WCHAR *create_system_dirid( int dirid )
 
     WCHAR buffer[MAX_PATH+32], *str;
     int len;
+    DWORD needed;
 
     switch(dirid)
     {
@@ -138,8 +140,14 @@ static const WCHAR *create_system_dirid( int dirid )
         return get_csidl_dir(CSIDL_PROFILE);
     case DIRID_LOADER:
         return C_Root;  /* FIXME */
+    case DIRID_PRINTPROCESSOR:
+        if (!GetPrintProcessorDirectoryW(NULL, NULL, 1, (LPBYTE)buffer, sizeof(buffer), &needed))
+        {
+            WARN( "cannot retrieve print processor directory\n" );
+            return get_unknown_dirid();
+        }
+        break;
     case DIRID_COLOR:  /* FIXME */
-    case DIRID_PRINTPROCESSOR:  /* FIXME */
     default:
         FIXME( "unknown dirid %d\n", dirid );
         return get_unknown_dirid();




More information about the wine-cvs mailing list