勇芳软件工作室.汉化:  Printing > Print Spooler API > Printer Driver Installation >

EnumPrintProcessorDatatypes

Previous pageReturn to chapter overviewNext page

描述

 

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

 

C++ 语法

 

BOOL EnumPrintProcessorDatatypes(

__in  LPTSTR pName,

__in  LPTSTR pPrintProcessorName,

__in  DWORD Level,

__out LPBYTE pDatatypes,

__in  DWORD cbBuf,

__out LPDWORD pcbNeeded,

__out LPDWORD pcReturned

);

 

PowerBASIC 语法

 

FUNCTION EnumPrintProcessorDatatypesA ( _

BYREF pName AS ASCIIZ, _

BYREF pPrintProcessorName AS ASCIIZ, _

BYVAL Level AS DWORD, _

BYREF pDatatypes AS ANY, _

BYVAL cbBuf AS DWORD, _

BYREF pcbNeeded AS DWORD, _

BYREF pcReturned AS DWORD _

) AS LONG

 

Unicode版本:

 

FUNCTION EnumPrintProcessorDatatypesW ( _

BYVAL pName AS DWORD, _

BYREF pPrintProcessorName AS WSTRINGZ, _

BYVAL Level AS DWORD, _

BYREF pDatatypes AS ANY, _

BYVAL cbBuf AS DWORD, _

BYREF pcbNeeded AS DWORD, _

BYREF pcReturned AS DWORD _

) AS LONG

 

参数

 

pName

 

[in]指向指定打印处理器所在服务器名称的以空值终止的字符串的指针。如果此参数为NULL,则枚举本地打印处理器的数据类型。

 

pPrintProcessorName

 

[in]指向以空值终止的字符串的指针,该字符串指定列举数据类型的打印处理器的名称。

 

Level

 

[in]指定在pDatatypes缓冲区中返回的信息类型。此参数必须为1。

 

pDatatypes

 

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

 

要确定所需的缓冲区大小,请将cbBuf设为零。EnumPrintProcessorDatatypes失败,GetLastError返回ERROR_INSUFFICIENT_BUFFER,pcbNeeded参数返回保存结构数组及其数据所需的缓冲区大小(以字节为单位)。

 

cbBuf

 

[in]指定由pDatatypes指向的缓冲区的大小(以字节为单位)。

 

pcbNeeded

 

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

 

pcReturned

 

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

 

返回值

 

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

 

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

 

备注

 

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

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)