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


Функция DrvStartDoc (winddi.h)

Функция DrvStartDoc вызывается GDI, когда она готова начать отправку документа драйверу для отрисовки.

Синтаксис

BOOL DrvStartDoc(
  [in] SURFOBJ *pso,
  [in] LPWSTR  pwszDocName,
  [in] DWORD   dwJobId
);

Параметры

[in] pso

Указатель на структуру SURFOBJ , предоставленный вызывающим объектом.

[in] pwszDocName

Предоставленный вызывающим элементом указатель на строку Юникода, завершающуюся null, указывающую имя печатаемого документа.

[in] dwJobId

Номер задания печати, предоставленный вызывающим абонентом. Это значение возвращается в GDI из очереди очереди при вызове StartDocPrinter.

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

Если операция выполнена успешно, функция должна вернуть значение TRUE. В противном случае он должен вызвать функцию Win32 SetLastError , чтобы задать код ошибки, а затем вернуть значение FALSE.

Комментарии

Библиотека DLL графики принтера должна предоставлять функцию DrvStartDoc. Как правило, функция используется для отправки последовательностей управления на принтер перед печатью документа путем вызова функции EngWritePrinter GDI. Функция также может выполнять внутренние операции инициализации документа для библиотеки DLL графики принтера.

Функция DrvStartDoc вызывается в начале задания печати и всякий раз, когда приложение (например, обработчик печати) вызывает ResetDC (см. DrvResetPDEV). Когда вызов DrvStartDoc поступает из ResetDC, параметр pwszDocName имеет значение NULL , а параметр dwJobId — нулевое значение. При вызове из приложения эти параметры задаются соответственно в имени документа и номере задания печати.

Так как при запуске задания печати не выполняется отдельный вызов библиотеки DLL графики принтера, функция DrvStartDoc также должна отправлять последовательности элементов управления на принтер для инициализации задания, если это требуется принтером. (Иными словами, на каждое задание имеется один документ.)

Требования

   
Целевая платформа Персональный компьютер
Верхняя часть winddi.h (включая Winddi.h)

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

DrvEndDoc

DrvResetPDEV

EngWritePrinter