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, em vez disso, 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 DM_IN_BUFFER estiver 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 registradas e lidas.
fMode
Especifica as operações que a função executa. 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 pode ser definido como um ou mais dos valores de sinalizador a seguir.
Sinalizador | 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 | Mescle 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 substituem 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 de "por usuário" do driver no hive do usuário no registro. |
Retornar valor
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 acrescentar 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.
Comentários
A função ExtDeviceMode chama a função DocumentProperties (descrita na documentação 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 gravados para Windows 3.x e Windows 9x usam essa função.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | winspool.h (inclua Winspool.h) |
Biblioteca | Winspool.lib |
DLL | WinSpool.drv |