Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), 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 Guia de design do aplicativo de suporte de impressão v1 e v2.
Se a impressora suportar formulários adicionais, pode adicioná-los ao controlador de impressora Unidrv descrevendo-os no ficheiro GPD do controlador de impressora. Se utilizar um ID de recurso com o campo *rcNameId e uma DLL de recurso para o nome de exibição do formulário, o seu driver usará automaticamente as novas funcionalidades de localização melhoradas fornecidas pelo driver de impressora Unidrv do Windows Vista. Os plug-ins de driver de impressora Unidrv também se beneficiam automaticamente dessas alterações no spooler e não exigem modificações adicionais. Para obter mais informações sobre esses aprimoramentos, consulte Alterações nos formulários de impressora no Windows Vista.
Se você não estiver usando uma DLL de recurso para as cadeias de caracteres localizáveis no arquivo GPD, deverá remover as cadeias de caracteres localizáveis, armazená-las em uma DLL de recurso e substituir as cadeias de caracteres pela ID de recurso correspondente no arquivo GPD.
O exemplo de código a seguir é um trecho de um arquivo GPD que usa um identificador de recurso para o nome exibido.
*Feature: PaperSize
{
*Option: Option2
{
*rcNameID: 259
(form definition)
}
(other form definitions).
}
Dentro do driver de impressora Unidrv fornecido com o Windows Vista, a estrutura FORM_INFO_2 é preenchida por dados lidos do arquivo GPD, como mostra a tabela a seguir. Se o arquivo GPD da impressora já contiver as informações necessárias para preencher essa estrutura, não será necessário alterar nada para usar os novos recursos fornecidos pelo driver de impressora Unidrv do Windows Vista.
typedef struct _FORM_INFO_2 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
LPCSTR pKeyword;
DWORD StringType;
LPCTSTR pMuiDll;
DWORD dwResourceId;
LPCTSTR pDisplayName;
LANGID wLangId;
} FORM_INFO_2, *PFORM_INFO_2;
| FORM_INFO_2 campo | Valor GPD usado | Descrição do campo |
|---|---|---|
| Flags | IMPRESSORA_FORMULÁRIO Esse valor é atribuído pelo driver de impressora Unidrv porque ele está adicionando o formulário. Um valor do arquivo GPD não é usado para este campo. |
As propriedades da estrutura. |
| pNome | O nome localizado do formulário obtido da DLL do recurso ou do campo *rcName no arquivo GPD. | Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do formulário. Essa cadeia de caracteres é usada para identificar o formulário no banco de dados de formulários e deve ser exclusiva. |
| Tamanho | Informações de tamanho que são lidas a partir do atributo *PageDimensions no ficheiro GPD. | A largura e altura, em milésimos de milímetros, da forma. |
| Área imprimível | Informações de tamanho que são lidas a partir da opção *PrintableArea no arquivo GPD. | A largura e altura, em milésimos de milímetros, da área da página na qual a impressora pode imprimir. |
| pPalavra-chave | O valor da entrada *Option no arquivo GPD. | Um ponteiro para um identificador de cadeia de caracteres não localizável do formulário. Quando passado para AddForm ou SetForm, esse ponteiro dá ao chamador uma maneira de identificar o formulário em todas as localidades. |
| TipoString | STRING_MUIDLL Se o GPD utilizar a opção *rcNameId e se o nome do formulário estiver disponível na DLL de recursos, o valor STRING_MUIDLL será atribuído. Se, em vez disso, a opção *rcName for usada no arquivo GPD, o valor para este campo será STRING_NONE. Um valor do arquivo GPD não é usado para este campo. |
Especifica como um nome de exibição localizado para o formulário é obtido em tempo de execução. |
| pMuiDll | O valor da entrada *ResourceDLL no arquivo GPD se a opção *rcNameId for usada. Se a opção *rcName for usada no arquivo GPD em vez disso, o valor desse campo será NULL. | A DLL de recurso localizado MUI que contém o nome de exibição localizado quando StringType contém STRING_MUIDLL. |
| dwResourceId | O valor da entrada *rcNameID no arquivo GPD. Se a opção *rcName for usada no arquivo GPD, o valor para este campo será 0. | O identificador de recurso, em pMuiDll, do nome de apresentação do formulário quando StringType contém STRING_MUIDLL. |
| pDisplayName |
NULL Este campo não é utilizado. |
O nome de exibição do formulário no idioma que wLangId especifica quando StringType contém STRING_LANGPAIR. |
| wLangId | 0 Este campo não é utilizado. |
O idioma de pDisplayName quando StringType contém STRING_LANGPAIR. |