drvSplDeviceCaps 函数 (winddiui.h)

打印机接口 DLL 的 DrvSplDeviceCaps 函数查询打印机的功能。

语法

DWORD DrvSplDeviceCaps(
                  HANDLE   hPrinter,
  [in]            PWSTR    pszDeviceName,
                  WORD     Capability,
  [out, optional] PVOID    pOutput,
                  DWORD    cchBufSize,
  [in, optional]  PDEVMODE pDevmode
);

参数

hPrinter

调用方提供的打印机句柄。

[in] pszDeviceName

调用方提供的指向包含打印机名称的 Unicode 字符串的指针。

Capability

调用方提供的位标志,指示要查询的功能。 (标志在头文件 wingdi.h.) 此函数不需要支持所有 DC_XXX 标志,但它必须支持下表中列出的标志。

标志 定义
DC_MEDIAREADY pOutput 参数指向函数应使用字符串缓冲区数组填充的缓冲区,每个缓冲区长度为 64 个字符。 每个数组元素应包含一个以 NULL 结尾的字符串,该字符串表示可供使用的纸质窗体的名称。 函数的返回值应为返回数组中的元素数。 如果 pOutputNULL,则该函数应仅返回所需的数组元素数。
DC_PAPERNAMES pOutput 参数指向函数应使用字符串缓冲区数组填充的缓冲区,每个缓冲区长度为 64 个字符。 每个数组元素应包含一个以 NULL 结尾的字符串,该字符串表示纸张窗体的名称。 函数的返回值应为返回数组中的元素数。 如果 pOutputNULL,则该函数应仅返回所需的数组元素数。

[out, optional] pOutput

调用方提供的指针,指向接收函数提供的信息的缓冲区。 缓冲区的使用取决于 Capability 参数的值。 调用方负责分配和释放此缓冲区。

cchBufSize

调用方提供的大小 (,以 pOutput 参数指向的缓冲区) 字符为单位。

[in, optional] pDevmode

调用方提供的指向描述当前打印作业特征的 DEVMODEW 结构的指针。 如果 为 NULL,则函数应使用驱动程序的内部默认 DEVMODEW 结构。

返回值

返回值取决于 Capability 参数。 如果 Capability 指示驱动程序不支持的功能,或者如果遇到错误,则函数应返回GDI_ERROR。

注解

有关 DC_XXX 标志的说明,请参阅 DrvDeviceCapabilities

此函数必须在 .def 文件中定义为 DrvSplDeviceCaps @ 254,因为后台处理程序使用序号 254 来获取驱动程序函数指针。

要求

要求
目标平台 桌面
标头 winddiui.h (包括 Winddiui.h)

另请参阅

DrvDeviceCapabilities