AddPrinter功能将打印机添加到指定服务器支持的打印机列表中。
手柄AddPrinter(
LPTSTR 【PNAME】, | //指向服务器名称的指针 |
DWORD 【水平】, | //打印机信息。结构水平 |
LPBYTE 【pPrinter】 | //指向结构的指针 |
); |
参数
【PNAME】
指向指定要在其上安装打印机打印处理器的服务器的名称的以空值终止的字符串的指针。如果此字符串为NULL,打印处理器将在本地安装。
【水平】
指定【pPrinter】指向的结构的版本。该值必须为2。
【pPrinter】
指向包含有关打印机信息的PRINTER_INFO_2结构的指针。在调用AddPrinter之前,必须为此结构的pPrinterName,pPortName,pDriverName和pPrintProcessor成员指定非NULL值。
返回值
如果函数成功,则返回值是新打印机对象的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
备注
以下列表标识可在AddPrinter函数调用之前设置的PRINTER_INFO_2结构的成员。
属性 | pPrintProcessor |
DefaultPriority | 优先 |
pLocation | pSecurityDescriptor |
pDatatype | pSepFile |
pDevMode | pShareName |
// pointer to string with environment variables | StartTime |
pParameters | UntilTime |
状态,cJobs和AveragePPM成员PRINTER_INFO_2结构保留供GetPrinter功能使用。在调用AddPrinter之前不得设置它们。
如果pSecurityDescriptor为NULL,则系统会为打印机分配默认安全描述符。
应用程序创建具有AddPrinter功能的打印机对象后,必须使用PrinterProperties功能指定与打印机对象关联的打印机驱动程序的正确设置。
如果具有相同名称的打印机对象已存在,AddPrinter函数将返回错误,除非该对象被标记为待删除。在这种情况下,现有打印机不会被删除,AddPrinter创建参数将用于更改现有的打印机设置(就像应用程序使用SetPrinter功能一样)。
Windows NT: AddPrinter函数的调用者必须具有SERVER_ACCESS_ADMINISTER访问要在其上创建打印机的服务器。该函数返回的句柄将具有PRINTER_ALL_ACCESS权限,可用于对打印机执行管理操作。
Windows 95: Windows 95不支持此访问验证。
使用EnumPrintProcessors功能枚举安装在服务器上的一组打印处理器。使用EnumPrintProcessorDatatypes函数枚举打印处理器支持的一组数据类型。
也可以看看
ClosePrinter, DeletePrinter, EnumPrintProcessors, EnumPrintProcessorDatatypes, GetPrinter, PRINTER_INFO_2, PrinterProperties, SetPrinter