Мое приложение устанавливает драйвер виртуального принтера.
В некоторых пользовательских системах мне нужно перезапустить диспетчер очереди печати, поскольку такие функции, как OpenPrinter, возвращают RPC_S_SERVER_UNAVAILABLE (текст «Сервер RPC недоступен.»), Что означает, что диспетчер очереди перестал работать.
Я пытаюсь сделать это, вызывая «net start spooler» с CreateProcess:
PROCESS_INFORMATION pi = { 0 };
STARTUPINFO si = { sizeof(si) };
// later
CreateProcess(0, "net start spooler", 0, 0, 0, 0, 0, 0, &si, &pi );
В некоторых пользовательских системах это работает, но в других это завершается неудачно с кодом выхода 2, и GetLastError возвращает ERROR_NO_MORE_FILES (текст: «Больше нет файлов.»).
Кто-нибудь знает, что ERROR_NO_MORE_FILES будет означать в этом случае?