Usando parâmetros

Este tópico não é atual. Para obter as informações mais atuais, consulte Especificação do esquema de impressão.

Além de pontuar corretamente uma opção que contém instâncias ParameterRef (consulte Referenciando parâmetros), os provedores printCapabilities ou PrintTicket e os clientes devem estar preparados para lidar com as seguintes situações envolvendo parâmetros.

Os clientes da interface do usuário devem solicitar que o usuário forneça inicializadores de parâmetro (valores para elementos ParameterInit) para parâmetros designados no momento apropriado para que os elementos ParameterInit apropriados sejam inseridos no PrintTicket. Os clientes de interface do usuário devem ser capazes de distinguir os dois tipos de parâmetros, incondicionalmente obrigatórios e condicionalmente obrigatórios, e devem ser capazes de lidar com cada tipo adequadamente. Para um parâmetro incondicionalmente obrigatório, a interface do usuário deve garantir que um elemento ParameterInit seja fornecido para esse tipo de parâmetro. Para um parâmetro condicionalmente obrigatório, a interface do usuário deverá fornecer um valor ParameterInit se o parâmetro for referenciado por uma opção selecionada no PrintTicket. A status obrigatória de um parâmetro é especificada em uma instância parameterDef. Para obter mais informações, consulte Elementos ParameterDef e ParameterInit. Os clientes de interface do usuário devem validar os valores ParameterInit fornecidos pelo usuário para verificar se eles atendem aos requisitos especificados na instância ParameterDef.

Os provedores PrintTicket também devem marcar as instâncias ParameterInit fornecidas pelo PrintTicket para verificar se todos os parâmetros necessários estão presentes e que atendem aos requisitos especificados na instância ParameterDef. O código de validação deve fornecer padrões razoáveis caso os valores ParameterInit sejam inválidos ou ausentes. Observe que um ParameterDef permite que um valor padrão seja fornecido para essa finalidade. Além disso, se houver restrições envolvendo os parâmetros, por exemplo, "se CopyCount for maior que N, não use uma pequena caixa de entrada de capacidade", o código de validação PrintTicket deverá detectar essa restrição e modificar o PrintTicket para evitar a ativação da restrição.

Se houver alguma dependência das PrintCapabilities nos parâmetros especificados no PrintTicket, os provedores PrintCapabilities deverão monitorar os valores ParameterInit e produzir um documento PrintCapabilities apropriado.

Especificação de esquema de impressão