Plug-ins de renderização baseados em COM
Importante
A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Para fornecer funções de gancho personalizadas, seu plug-in de renderização baseado em COM deve implementar o método IPrintOemUni::EnableDriver ou IPrintOemPS::EnableDriver, que preenche uma estrutura DRVENABLEDATA com o endereço de cada função de gancho.
Um plug-in de renderização baseado em COM pode conectar uma função DDI de gráficos somente se o driver Unidrv ou Pscript5 definir a função. Para obter uma lista dessas funções, consulte IPrintOemUni::EnableDriver ou IPrintOemPS::EnableDriver.
Se você fornecer uma função de gancho personalizada específica, essa função se apropriará da função DDI de gráficos equivalentes do driver. Ao projetar uma função de engate personalizada, você tem as seguintes opções:
A função de gancho pode lidar completamente com a operação DDI de gráficos internamente.
A função de gancho pode chamar de volta para a função DDI de gráficos equivalentes do driver da impressora.
Ao chamar de volta para a função DDI de gráficos do driver, a função de gancho pode executar o pré-processamento ou pós-processamento de argumentos de função, mas ainda permitir que o driver realmente execute a operação de DDI de gráficos. Um dos argumentos de entrada para o método IPrintOemUni::EnablePDEV ou IPrintOemPS::EnablePDEV de um plug-in de renderização é uma estrutura DRVENABLEDATA que contém ponteiros para as funções DDI gráficas do driver. Se você quiser chamar de volta para essas funções, deverá salvar o conteúdo dessa estrutura.
Pode ser necessário que você forneça uma estrutura PDEV personalizada. Você pode fazer referência a essa estrutura de dentro de uma função de gancho DDI de gráficos, por meio do ponteiro de estrutura SURFOBJ que cada função de gancho recebe como entrada. Especificamente, o membro dhpdev da estrutura SURFOBJ aponta para uma estrutura DEVOBJ, e o membro pdevOEM da estrutura DEVOBJ member aponta para sua estrutura PDEV personalizada.