Compartilhar via


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