Поделиться через


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;
}