GetSupportedVersions

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

IPrintTicketProvider::GetSupportedVersions 方法返回打印驱动程序支持的打印架构的主要版本号。 目前,版本 1 是唯一存在的版本,因此该方法必须只返回一个支持的版本。

以下示例代码中显示的实现方式将适用于 Windows Vista 的初始版本,直至新版本的推出。 支持新版本时,此值将发生变化。

STDMETHODIMP 
CPrintTicketProvider::
GetSupportedVersions(THIS_ HANDLE hPrinter,
                           INT *ppVersions[],
                           INT *pcVersions)
{
    if ( (*ppVersions = (INT*)CoTaskMemAlloc(sizeof(INT))) != NULL)
    {
         (*ppVersions)[0] = 1;  // Version 1
        *pcVersions = 1; // 1 supported version
        return S_OK;
    }
    else
        return E_OUTOFMEMORY;
}