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


Функция 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.

Комментарии

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

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

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

Требования

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

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

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

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

GetSpoolFileHandle

CloseSpoolFileHandle