Função ExtDeviceMode (winspool.h)
A função ExtDeviceMode é fornecida apenas para compatibilidade com aplicativos de 16 bits. Os drivers de impressora sem esse requisito devem usar a função DocumentProperties, que é descrita na documentação do SDK do Microsoft Windows.
A função ExtDeviceMode recupera ou modifica informações de inicialização da impressora para um determinado driver gráfico ou exibe uma folha de propriedades de configuração de impressora fornecida pelo driver para a impressora especificada.
Sintaxe
LONG ExtDeviceMode(
[in, optional] HWND hWnd,
[in, optional] HANDLE hInst,
[in, out] LPDEVMODEA pDevModeOutput,
[in, optional] LPSTR pDeviceName,
[in, optional] LPSTR pPort,
[in, optional] LPDEVMODEA pDevModeInput,
[in, optional] LPSTR pProfile,
DWORD fMode
);
Parâmetros
[in, optional] hWnd
Manipule para a janela pai da folha de propriedades de configuração da impressora.
[in, optional] hInst
Não usado. Manipule para a instância do módulo do driver do dispositivo.
[in, out] pDevModeOutput
Ponteiro para a estrutura DEVMODE que recebe os dados de configuração da impressora fornecidos no buffer apontado pelo parâmetro pDevModeInput.
[in, optional] pDeviceName
Ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome do dispositivo para o qual a folha de propriedades de configuração da impressora é exibida.
[in, optional] pPort
Ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome da porta à qual o dispositivo está conectado, como LPT1.
[in, optional] pDevModeInput
Ponteiro para a estrutura DEVMODE que o sistema operacional usa para inicializar os campos da folha de propriedades.
Esse parâmetro será usado somente se o sinalizador de DM_IN_BUFFER for definido no parâmetro fMode. Se DM_IN_BUFFER não estiver definido, o sistema operacional usará a estrutura DEVMODE padrão da impressora.
[in, optional] pProfile
Não usado. Ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome do arquivo de inicialização no qual as informações de inicialização são gravadas e lidas.
fMode
Especifica as operações executadas pela função. Se esse parâmetro for zero, a função ExtDeviceMode retornará o número de bytes exigidos pela estrutura DEVMODE do driver de impressora. Caso contrário, esse parâmetro poderá ser definido como um ou mais dos seguintes valores de sinalizador.
Bandeira | Descrição |
---|---|
DM_COPY | Escreva as configurações atuais do driver na estrutura DEVMODE apontada pelo parâmetro pDevModeOutput. O aplicativo de chamada deve alocar um buffer grande o suficiente para conter as informações. Se esse sinalizador não estiver definido, pDevModeOutput poderá ser NULL. |
DM_IN_BUFFER | Mesclar as configurações de impressão atuais do driver de impressora com as configurações na estrutura DEVMODE apontadas pelo parâmetro pDevModeInput. Isso ocorre antes de solicitar, copiar ou atualizar. A função atualiza a estrutura somente para os membros especificados pelo membro dmFields da estrutura DEVMODE. Em casos de conflito durante a mesclagem, as configurações na estrutura DEVMODE apontadas por pDevModeInput substituir as configurações de impressão atuais do driver de impressora. |
DM_UPDATE | Exiba uma folha de propriedades para permitir que o usuário modifique as propriedades da impressora e escreva as configurações atuais "por usuário" do driver no hive do usuário no registro. |
Valor de retorno
Se o parâmetro wMode for zero, a função retornará o tamanho, em bytes, da estrutura DEVMODE necessária para conter os dados de inicialização do driver de impressora. Observe que esse valor pode ser maior do que o tamanho de uma estrutura DEVMODE se o driver da impressora anexar dados privados à estrutura. Se a função exibir a caixa de diálogo de inicialização, o valor retornado será IDOK ou IDCANCEL, dependendo de qual botão o usuário escolheu. Se a função não exibir a caixa de diálogo e tiver sido bem-sucedida, o valor retornado será IDOK. O valor retornado será menor que zero se a função falhar.
Observações
A função ExtDeviceMode chama a função DocumentProperties (descrita na documentação do SDK do Windows) para exibir uma folha de propriedades que permite que um usuário selecione opções de impressora, como tamanho do papel, orientação de papel e qualidade de saída. Os drivers de impressora escritos para Windows 3.x e Windows 9x usam essa função.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | winspool.h (inclua Winspool.h) |
biblioteca | Winspool.lib |
de DLL | WinSpool.drv |