Partilhar via


Modificando uma página da folha de propriedades fornecida pelo driver

Importante

A plataforma de impressão moderna é o meio preferencial 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.

Um plug-in de interface do usuário pode modificar as páginas de folha de propriedades fornecidas pelo Unidrv ou Pscript5 implementando o método IPrintOemUI::CommonUIProp e uma função de retorno de chamada.

O plug-in da interface do usuário usa o método IPrintOemUI::CommonUIProp para especificar um conjunto de itens de opção que o CPSUI pode adicionar, remover ou substituir na página Device Settings da folha de propriedades da impressora ou Layout, Paper/Quality, e Advanced da folha de propriedades do documento.

A função de retorno de chamada, do tipo OEMCUIPCALLBACK, é usada para processar modificações do usuário em itens de opção personalizados.

Adicionando itens de opção

Seu plug-in de interface do usuário deve descrever novos itens de opção colocando-os em uma matriz de estruturas OPTITEM fornecidas pelo driver. A DLL da interface da impressora do driver chama o método IPrintOemUI::CommonUIProp do plug-in da interface do usuário duas vezes. Na primeira vez que o método é chamado, ele deve retornar o número de estruturas OPTITEM necessárias. O driver aloca espaço para uma matriz OPTITEM e descreve a matriz em uma estrutura OEMCUIPPARAM. O driver chama IPrintOemUI::CommonUIProp novamente, fornecendo o endereço da estrutura OEMCUIPPARAM, para que o método possa carregar as estruturas OPTITEM com descrições de opções.

Removendo itens de opção

Para remover uma opção de uma página de folha de propriedades fornecida por Unidrv ou Pscript5, o método IPrintOemUI::CommonUIProp do plug-in da interface do usuário pode percorrer a matriz de estruturas OPTITEM apontadas pela estrutura OEMCUIPPARAM. Para cada opção que você gostaria de remover da folha de propriedades, você pode definir o sinalizador de OPTIF_HIDE da estrutura OPTITEM. (Observe que isso não remove a opção; ele oculta a opção do usuário para que o usuário não possa alterar seu valor padrão.)

Substituição de itens opcionais

Para substituir uma opção em uma página de folha de propriedades fornecida pelo Unidrv ou Pscript, você deve seguir as instruções mostradas na seção Removendo Itens de Opção para remover o item de opção existente e, em seguida, seguir as instruções na seção Adicionando Itens de Opção anterior para criar um novo item de opção para substituir o antigo.

Manipulando modificações em valores de opção personalizados

Para processar modificações do usuário em itens de opção personalizados, você deve fornecer pelo menos uma função de retorno de chamada. Você pode especificar uma única função de retorno de chamada que manipula opções para a folha de propriedades do documento e a folha de propriedades da impressora ou pode especificar uma função separada para cada uma. Esses retornos de chamada são do tipo OEMCUIPCALLBACK.

Uma função de retorno de chamada é especificada colocando seu endereço em uma estrutura OEMCUIPPARAM. O plug-in da interface do usuário recebe o endereço dessa estrutura como entrada para seu método IPrintOemUI::CommonUIProp.

Quando um usuário abre a folha de propriedades da impressora ou a folha de propriedades do documento e modifica as opções, o CPSUI chama a DLL da interface da impressora do driver da impressora. Essa DLL processa valores de opção contidos em suas próprias estruturas OPTITEM . Em seguida, para cada plug-in de interface do usuário, a DLL da interface da impressora chama a função de retorno de chamada do tipo OEMCUIPCALLBACK que foi especificada anteriormente por IPrintOemUI::CommonUIProp.