drvStartDoc 函数 (winddi.h)

当 DrvStartDoc 函数准备好开始将文档发送到驱动程序进行呈现时,GDI 将调用它。

语法

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

参数

[in] pso

调用方提供的指向 SURFOBJ 结构的指针。

[in] pwszDocName

调用方提供的指向以 NULL 结尾的 Unicode 字符串的指针,该字符串指定要打印的文档的名称。

[in] dwJobId

调用方提供的打印作业编号。 此值在调用 StartDocPrinter 时从后台处理程序返回到 GDI。

返回值

如果操作成功,函数应返回 TRUE。 否则,它应调用 Win32 SetLastError 函数来设置错误代码,然后返回 FALSE

注解

打印机图形 DLL 必须提供 DrvStartDoc 函数。 通常, 函数用于在打印文档之前,通过调用 GDI 的 EngWritePrinter 函数将控制序列发送到打印机硬件。 函数还可以对打印机图形 DLL 执行特定于文档的内部初始化操作。

DrvStartDoc 函数在打印作业开始时调用,每当应用程序 ((如打印处理器)) 调用 ResetDC (查看 DrvResetPDEV) 。 当对 DrvStartDoc 的调用来自 ResetDC 时, pwszDocName 参数设置为 NULLdwJobId 参数设置为零。 当调用来自应用程序时,这些参数将分别设置为文档名称和打印作业编号。

由于启动打印作业时不会单独调用打印机图形 DLL, 因此 DrvStartDoc 函数还必须将控制序列发送到打印机以初始化作业(如果打印机需要)。 (换句话说,每个作业有一个文档。)

要求

   
目标平台 桌面
标头 winddi.h (包括 Winddi.h)

另请参阅

DrvEndDoc

DrvResetPDEV

EngWritePrinter