Index: dll/win32/setupapi/dirid.c =================================================================== --- dll/win32/setupapi/dirid.c (revision 61145) +++ dll/win32/setupapi/dirid.c (working copy) @@ -72,6 +72,7 @@ WCHAR buffer[MAX_PATH+32], *str; int len; + DWORD needed; switch(dirid) { @@ -124,8 +125,14 @@ 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(); @@ -270,4 +277,4 @@ if (!(str = HeapAlloc( GetProcessHeap(), 0, len ))) return FALSE; memcpy( str, dir, len ); return store_user_dirid( hinf, id, str ); -} +} \ No newline at end of file