ExtDeviceMode 函数 (winspool.h)
ExtDeviceMode 函数仅用于与 16 位应用程序的兼容性。 不需此要求的打印机驱动程序应改用 DocumentProperties 函数,该函数Microsoft Windows SDK 文档中介绍。
ExtDeviceMode 函数检索或修改给定图形驱动程序的打印机初始化信息,或显示指定打印机的驱动程序提供的打印机配置属性表。
语法
LONG ExtDeviceMode(
[in, optional] HWND hWnd,
[in, optional] HANDLE hInst,
[in, out] LPDEVMODEA pDevModeOutput,
[in, optional] LPSTR pDeviceName,
[in, optional] LPSTR pPort,
[in, optional] LPDEVMODEA pDevModeInput,
[in, optional] LPSTR pProfile,
DWORD fMode
);
参数
[in, optional] hWnd
打印机配置属性表的父窗口的句柄。
[in, optional] hInst
未使用。 设备驱动程序的模块实例的句柄。
[in, out] pDevModeOutput
指向 DEVMODE 结构的指针,该结构接收 pDevModeInput 参数指向的缓冲区中提供的打印机配置数据。
[in, optional] pDeviceName
指向 NULL 终止的字符串的指针,该字符串包含显示打印机配置属性表的设备的名称。
[in, optional] pPort
指向 NULL 终止的字符串的指针,该字符串包含设备连接到的端口的名称,例如 LPT1。
[in, optional] pDevModeInput
指向作系统用于初始化属性表字段的 DEVMODE 结构的指针。
仅当在 fMode 参数中设置DM_IN_BUFFER标志时,才使用此参数。 如果未设置DM_IN_BUFFER,作系统将使用打印机的默认 DEVMODE 结构。
[in, optional] pProfile
未使用。 指向 NULL 终止的字符串的指针,该字符串包含初始化文件的名称,在其中记录和读取初始化信息。
fMode
指定函数执行的作。 如果此参数为零,则 ExtDeviceMode 函数返回打印机驱动程序的 DEVMODE 结构所需的字节数。 否则,可以将此参数设置为以下一个或多个标志值。
旗 | 描述 |
---|---|
DM_COPY | 将驱动程序的当前设置写入 pDevModeOutput 参数指向的 DEVMODE 结构。 调用应用程序必须分配足够大的缓冲区才能包含信息。 如果未设置此标志,pDevModeOutput 可以 NULL。 |
DM_IN_BUFFER | 将打印机驱动程序的当前打印设置与 pDevModeInput 参数指向的 DEVMODE 结构中的设置合并。 这在提示、复制或更新之前发生。 该函数仅更新由 DEVMODE 结构的 dmFields 成员指定的成员的结构。 在合并期间发生冲突时,pDevModeInput 指向的 DEVMODE 结构中的设置 替代打印机驱动程序的当前打印设置。 |
DM_UPDATE | 显示属性表以允许用户修改打印机属性,然后将驱动程序的当前“每个用户”设置写入注册表中的用户的 hive。 |
返回值
如果 wMode 参数为零,则函数将返回包含打印机驱动程序初始化数据所需的 DEVMODE 结构的大小(以字节为单位)。 请注意,如果打印机驱动程序将专用数据追加到结构中,此值可能大于 DEVMODE 结构的大小。 如果函数显示初始化对话框,则返回值为 IDOK 或 IDCANCEL,具体取决于用户选择的按钮。 如果函数未显示对话框且成功,则返回值为 IDOK。 如果函数失败,则返回值小于零。
言论
ExtDeviceMode 函数调用 DocumentProperties 函数(在 Windows SDK 文档中介绍)以显示属性表,允许用户选择打印机选项,如纸张大小、纸张方向和输出质量。 为 Windows 3.x 和 Windows 9x 编写的打印机驱动程序使用此函数。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | winspool.h (包括 Winspool.h) |
库 | Winspool.lib |
DLL | WinSpool.drv |