Функция CommitSpoolData

Функция CommitSpoolData уведомляет средство очереди печати о том, что указанный объем данных записан в указанный файл спуля и готов к просмотру.

Синтаксис

HANDLE CommitSpoolData(
  _In_ HANDLE hPrinter,
  _In_ HANDLE hSpoolFile,
       DWORD  cbCommit
);

Параметры

hPrinter [in]

Дескриптор принтера, на который было отправлено задание. Это должен быть тот же дескриптор, который использовался для получения hSpoolFile с getSpoolFileHandle.

hSpoolFile [in]

Дескриптор изменяемого файла пула. При первом вызове CommitSpoolData это должен быть тот же дескриптор, который был возвращен GetSpoolFileHandle. Последующие вызовы CommitSpoolData должны передавать дескриптор, возвращенный предыдущим вызовом. См. заметки.

cbCommit

Количество байтов, зафиксированных в очереди печати.

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

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

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

Remarks

Приложения, отправляющие задание печати spooler, могут вызывать GetSpoolFileHandle , а затем напрямую записывать данные в дескриптор файла пула путем вызова WriteFile. Чтобы уведомить средство очереди печати о том, что файл содержит данные, готовые к просмотру, приложение должно вызвать CommitSpoolData и указать количество доступных байтов.

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

Перед вызовом CommitSpoolData приложения должны задать указатель файла на положение, в который он был до записи данных в файл. В процессе отрисовки данных в файле spooler средство очереди печати переместит указатель на файл очереди cbCommit байт из текущего значения указателя файла.

Требования

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

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

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

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

GetSpoolFileHandle

CloseSpoolFileHandle