Share via


Usar CPSUI com drivers de impressora

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com aplicativos de suporte de impressão (PSA), para personalizar a experiência de impressão em Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte o Guia de design do aplicativo de suporte de impressão.

O spooler de impressão, em conjunto com DLLs de interface da impressora, usa CPSUI para criar páginas de folha de propriedades para imprimir documentos e dispositivos de impressora. As etapas a seguir estão envolvidas quando um aplicativo (como o Microsoft Word) exibe uma folha de propriedades para um documento de impressão:

  1. O aplicativo chama a função DocumentProperties do spooler de impressão, especificando a impressora na qual o documento deve ser impresso.

  2. O spooler de impressão chama a função de ponto de entrada do CPSUI, CommonPropertySheetUI, especificando uma função de retorno de chamada interna do tipo PFNPROPSHEETUI.

  3. CPSUI chama a função de retorno de chamada do tipo PFNPROPSHEETUI do spooler.

  4. A função de retorno de chamada do tipo PFNPROPSHEETUI do spooler chama a função ComPropSheet da CPSUI (com um código de função CPSFUNC_ADD_PFNPROPSHEETUI ) para notificar o CPSUI do endereço da função DrvDocumentPropertySheets da interface da impressora apropriada.

  5. CPSUI chama a função DrvDocumentPropertySheets da interface da impressora.

  6. A função DrvDocumentPropertySheets da interface da impressora chama a função ComPropSheet da CPSUI (normalmente com um código de função CPSFUNC_ADD_PCOMPROPSHEETUI ) para fornecer CPSUI com descrições de página de folha de propriedades e retornos de chamada de eventos de página.

  7. A função ComPropSheet do CPSUI chama CreatePropertySheetPage (descrito na documentação do SDK do Windows) para criar as páginas da folha de propriedades especificadas pela DLL da interface da impressora. EM seguida, o CPSUI chama PropertySheet para exibir as páginas da folha de propriedades.

O diagrama a seguir ilustra essas etapas.

diagrama ilustrando os módulos envolvidos na exibição de uma folha de propriedades.

À medida que o usuário do aplicativo atravessa as páginas da folha de propriedades e modifica valores de opção, o sistema operacional notifica o CPSUI de eventos de página e o CPSUI, por sua vez, chama o retorno de chamada de evento de página fornecido pela DLL da interface da impressora. O retorno de chamada de evento de página manipula eventos de página e armazena valores de opção recém-selecionados internamente, conforme necessário.

Quando o usuário descarta a folha de propriedades clicando no botão Ok ou Cancelar , o CPSUI destrói as páginas e faz com que a função CommonPropertySheetUI retorne ao spooler de impressão, que retorna o controle para o aplicativo.

Quando um aplicativo exibe uma folha de propriedades para um dispositivo de impressora em vez de um documento de impressão, as mesmas etapas são seguidas, exceto que o aplicativo chama a função PrinterProperties do spooler e o spooler passa o endereço da função DrvDevicePropertySheets da interface da impressora para CPSUI.