EnumPrintProcessorDatatypes 函数

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

语法

BOOL EnumPrintProcessorDatatypes(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pPrintProcessorName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDatatypes,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

参数

pName [in]

指向以 null 结尾的字符串的指针,该字符串指定打印处理器所在的服务器的名称。 如果此参数为 NULL,则枚举本地打印处理器的数据类型。

pPrintProcessorName [in]

指向以 null 结尾的字符串的指针,该字符串指定枚举其数据类型的打印处理器的名称。

级别 [in]

pDatatypes 缓冲区中返回的信息类型。 此参数必须为 1。

pDatatypes [out]

指向接收DATATYPES_INFO_1结构的数组的缓冲区 指针。 每个结构都描述可用的数据类型。 缓冲区必须足够大,才能接收结构数组以及结构成员指向的任何字符串或其他数据。

若要确定所需的缓冲区大小,请调用将 cbBuf 设置为零的 EnumPrintProcessorDatatypesEnumPrintProcessorDatatypes 失败, GetLastError 返回ERROR_INSUFFICIENT_BUFFER, 而ERROR_INSUFFICIENT_BUFFER,而印刷板Needed 参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。

cbBuf [in]

pDatatypes 指向的缓冲区的大小(以字节为单位)。

线路板 [out]

指向变量的指针,该变量接收复制到 pDatatypes 缓冲区(如果函数成功)的字节数。 如果缓冲区太小,函数将失败,变量将接收所需的字节数。

pcReturned [out]

指向变量的指针,该变量接收 pDatatypes 缓冲区中返回的结构数。 这是支持的数据类型的数量。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

注意

这是一个阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置以及编写应用程序时难以预测的打印机驱动程序实现因素。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。

v

从 Windows Vista 开始,从本地缓存检索远程打印服务器的数据类型信息。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
EnumPrintProcessorDatatypesW (Unicode) 和 EnumPrintProcessorDatatypesA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

DATATYPES_INFO_1

EnumPrintProcessors