[PATCH] winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW

Dmitry Timoshkov dmitry at baikal.ru
Sun May 31 21:42:56 CDT 2020


Vijay Kiran Kamuju <infyquest at gmail.com> wrote:

>      FIXME("(%s,%s,%s,%s): stub\n", debugstr_a(pName), debugstr_a(pEnvironment),
>            debugstr_a(pPathName), debugstr_a(pPrintProcessorName));

This should be a TRACE.

> +    if (pName) {
> +        len = MultiByteToWideChar(CP_ACP, 0, pName, -1, NULL, 0);
> +        nameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
> +        MultiByteToWideChar(CP_ACP, 0, pName, -1, nameW, len);
> +    }
> +
> +    if (pEnvironment) {
> +        len = MultiByteToWideChar(CP_ACP, 0, pEnvironment, -1, NULL, 0);
> +        envW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
> +        MultiByteToWideChar(CP_ACP, 0, pEnvironment, -1, envW, len);
> +    }
> +
> +    if (pPathName) {
> +        len = MultiByteToWideChar(CP_ACP, 0, pPathName, -1, NULL, 0);
> +        pathW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
> +        MultiByteToWideChar(CP_ACP, 0, pPathName, -1, pathW, len);
> +    }
> +
> +    if (pPrintProcessorName) {
> +        len = MultiByteToWideChar(CP_ACP, 0, pPrintProcessorName, -1, NULL, 0);
> +        processorW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
> +        MultiByteToWideChar(CP_ACP, 0, pPrintProcessorName, -1, processorW, len);
> +    }
> +
> +    ret = AddPrintProcessorW(nameW, envW, pathW, processorW);
> +
> +    HeapFree(GetProcessHeap(), 0, nameW);
> +    HeapFree(GetProcessHeap(), 0, envW);
> +    HeapFree(GetProcessHeap(), 0, pathW);
> +    HeapFree(GetProcessHeap(), 0, processorW);
> +
> +    return ret;
>  }

There is asciitounicode() helper.

-- 
Dmitry.



More information about the wine-devel mailing list