Поделиться через


Функция GetSpoolFileHandle

Функция GetSpoolFileHandle извлекает дескриптор для файла очереди, связанного с заданием, которое в настоящее время отправлено приложением.

Синтаксис

HANDLE GetSpoolFileHandle(
  _In_ HANDLE hPrinter
);

Параметры

hPrinter [in]

Дескриптор принтера, на который было отправлено задание. Это должен быть тот же дескриптор, который использовался для отправки задания. (Используйте функцию OpenPrinter или AddPrinter для получения дескриптора принтера.)

Возвращаемое значение

Если функция выполняется успешно, она возвращает дескриптор в файл очереди.

Если функция завершается сбоем, она возвращает INVALID_HANDLE_VALUE.

Комментарии

Используя дескриптор файла очереди, приложение может выполнять запись в файл очереди с вызовами WriteFile и CommitSpoolData.

Приложение не должно вызывать ClosePrinter в hPrinter , пока оно не будет обращаться к файлу очереди в последний раз. Затем он должен вызвать CloseSpoolFileHandle , а затем ClosePrinter. Попытки получить доступ к дескриптору файла очереди после закрытия исходного hPrinter завершатся ошибкой, даже если сам дескриптор файла не был закрыт. CloseSpoolFileHandle само по себе завершится ошибкой, если метод ClosePrinter вызывается первым.

Эта функция завершится ошибкой, если она вызывается до завершения очереди задания печати.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Winspool.drv
Имя в кодировке Юникод и ANSI
GetSpoolFileHandleW (Юникод) и GetSpoolFileHandleA (ANSI)

См. также раздел

Вывод на печать

Функции API очереди печати принтера

OpenPrinter

AddPrinter

ClosePrinter

CloseSpoolFileHandle

CommitSpoolData