Changeset 21627 for trunk/src


Ignore:
Timestamp:
Apr 19, 2011, 1:17:40 AM (14 years ago)
Author:
dmik
Message:

winspool: Implemented GetPrinter* Unicode API.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winspool/winspool.cpp

    r21342 r21627  
    24862486              LPDWORD pcbNeeded)
    24872487{
    2488   dprintf(("WINSPOOL: GetPrinterW not implemented\n"));
    2489   return (FALSE);
     2488        return WINSPOOL_GetPrinter(hPrinter, Level, pPrinter, cbBuf, pcbNeeded,
     2489                                   TRUE);
    24902490}
    24912491
     
    25552555              LPDWORD pcbNeeded)
    25562556{
    2557   dprintf(("WINSPOOL: GetPrinterDriverW not implemented\n"));
    2558   return (FALSE);
     2557    return WINSPOOL_GetPrinterDriver(hPrinter, pEnvironment, Level, pDriverInfo,
     2558                    cbBuf, pcbNeeded, TRUE);
    25592559}
    25602560
     
    26142614    }
    26152615    return TRUE;
    2616 
    26172616}
    26182617
     
    26452644              LPDWORD pcbNeeded)
    26462645{
    2647   dprintf(("WINSPOOL: GetPrinterDriverDirectoryW not implemented\n"));
    2648   return (FALSE);
     2646    DWORD needed;
     2647
     2648        TRACE("(%s, %s, %ld, %p, %ld, %p)\n", debugstr_w(pName), pEnvironment, Level,
     2649          pDriverDirectory, cbBuf, pcbNeeded);
     2650        if(pName != NULL) {
     2651                FIXME("pName = `%s' - unsupported\n", debugstr_w(pName));
     2652        SetLastError(ERROR_INVALID_PARAMETER);
     2653        return FALSE;
     2654        }
     2655        if(pEnvironment != NULL) {
     2656                FIXME("pEnvironment = `%s' - unsupported\n", debugstr_w(pEnvironment));
     2657        SetLastError(ERROR_INVALID_ENVIRONMENT);
     2658        return FALSE;
     2659        }
     2660        if(Level != 1)  /* win95 ignores this so we just carry on */
     2661                WARN("Level = %ld - assuming 1\n", Level);
     2662
     2663    /* FIXME should read from registry */
     2664    needed = GetSystemDirectoryW((LPWSTR)pDriverDirectory, cbBuf);
     2665    needed++;
     2666    if(pcbNeeded)
     2667        *pcbNeeded = needed;
     2668    if(needed > cbBuf) {
     2669        SetLastError(ERROR_INSUFFICIENT_BUFFER);
     2670    return FALSE;
     2671    }
     2672    return TRUE;
    26492673}
    26502674
Note: See TracChangeset for help on using the changeset viewer.