GetDefaultPrinter 函数

GetDefaultPrinter 函数检索本地计算机上当前用户的默认打印机的打印机名称。

语法

BOOL GetDefaultPrinter(
  _In_    LPTSTR  pszBuffer,
  _Inout_ LPDWORD pcchBuffer
);

参数

pszBuffer [in]

指向缓冲区的指针,该缓冲区接收包含默认打印机名称的以 null 结尾的字符串。 如果此参数为 NULL,则该函数将失败, 并且 pcchBuffer 指向的变量将返回所需的缓冲区大小(以字符为单位)。

pcchBuffer [in, out]

输入时,指定 pszBuffer 缓冲区的大小(以字符为单位)。 输出时,接收打印机名称字符串的大小(以字符为单位),包括终止 null 字符。

返回值

如果函数成功,则返回值为非零值, pcchBuffer 指向的变量包含复制到 pszBuffer 缓冲区的字符数,包括终止 null 字符。

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

含义
ERROR_INSUFFICIENT_BUFFER pszBuffer 缓冲区太小。 pcchBuffer 指向的变量包含所需的缓冲区大小(以字符为单位)。
ERROR_FILE_NOT_FOUND 没有默认打印机。

备注

注意

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

要求

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

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
GetDefaultPrinterW (Unicode) 和 GetDefaultPrinterA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

SetDefaultPrinter