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