Share via


Modificando uma página de folha de propriedades Driver-Supplied

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.

Um plug-in de interface do usuário pode modificar páginas de folha de propriedades fornecidas por 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 Configurações de Dispositivo da folha de propriedades da impressora ou nas páginas Layout, Papel/Qualidade e Avançado 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

O plug-in da 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ção.

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ê deseja remover da folha de propriedades, você pode definir o sinalizador OPTIF_HIDE da estrutura OPTITEM. (Observe que isso não remove a opção de fato; ele oculta a opção do usuário para que o usuário não possa alterar seu valor padrão.)

Substituindo itens de opção

Para substituir uma opção em uma página de folha de propriedades fornecida por Unidrv ou Pscript, você deve seguir as instruções mostradas na seção Anterior Removendo Itens de Opção para remover o item de opção existente e, em seguida, siga as instruções na seção adicionando itens de opção anteriores 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 as 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 o 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 de 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.