EnumPrintProcessorDatatypesA 函数 (winspool.h)

打印处理器的 EnumPrintProcessorDatatypes 函数枚举打印处理器支持的数据类型。

语法

BOOL EnumPrintProcessorDatatypesA(
  [in, optional]  LPSTR   pName,
  [in]            LPSTR   pPrintProcessorName,
                  DWORD   Level,
  [out, optional] LPBYTE  pDatatypes,
                  DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

参数

[in, optional] pName

调用方提供的指针指向一个字符串,表示安装打印处理器的服务器的名称。 如果 NULL,则服务器是本地系统。

[in] pPrintProcessorName

调用方提供的指向表示打印处理器名称的字符串的指针。

Level

调用方提供的值,指示 pDatatypes指向的缓冲区中要返回的结构的类型。 此值必须为 1,表示结构DATATYPES_INFO_1。

[out, optional] pDatatypes

调用方提供的指向缓冲区的指针,用于接收DATATYPES_INFO_1结构的数组,后跟一组表示数据类型名称的字符串。 Microsoft Windows SDK 文档中介绍了DATATYPES_INFO_1结构。 pName 的结构成员 必须为 LPWSTR 类型。

cbBuf

调用方提供的值,表示 pDatatypes指向的缓冲区的大小(以字节为单位)。

[out] pcbNeeded

调用方提供的指针指向一个位置,用于接收 pDatatypes指向的缓冲区所需的最小大小。

[out] pcReturned

调用方提供的指向位置的指针,用于接收 pDatatypes指向的缓冲区中返回的DATATYPES_INFO_1结构数。

返回值

如果作成功,函数应返回 true 。 如果作失败,该函数应调用 SetLastError 来设置错误代码,然后返回 FALSE

言论

打印处理器需要导出 EnumPrintProcessorDatatypes 函数。 本地打印提供程序在初始化期间调用函数。 当应用程序调用同一函数的后台处理程序版本时,也会调用该函数。

该函数必须返回DATATYPES_INFO_1结构的数组,每个结构指向表示数据类型的字符串。 在结构数组之后,还必须在缓冲区中包含实际字符串。 有关示例,请参阅 示例打印处理器

该函数应返回DATATYPES_INFO_1结构(即支持的数据类型数)在 pcReturned指向的位置。

该函数应返回 指向的位置中所需的最小缓冲区大小。 如果提供的缓冲区太小,函数应为 指定值,将错误代码设置为ERROR_INSUFFICIENT_BUFFER,并返回 FALSE

要求

要求 价值
目标平台 桌面
标头 winspool.h (包括 Winspool.h)