GetDefaultPrinter 函数

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

语法

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

参数

pszBuffer [in]

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

pcchBuffer [in, out]

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

返回值

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

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

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

注解

注意

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

要求

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

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

另请参阅

打印

打印后台处理程序 API 函数

SetDefaultPrinter