Função ConfigurePortUI (winsplp.h)
Uma função ConfigurePortUI da IU do monitor de porta obtém informações de configuração de porta do usuário e as envia para a DLL do servidor de monitor de porta.
Sintaxe
BOOL WINAPI pfnConfigurePortUI(
_In_opt_ PCWSTR pszServer,
_In_ HWND hWnd,
_In_ PCWSTR pszPortName
);
Parâmetros
[in, optional] pszServer
Ponteiro fornecido pelo chamador para uma cadeia de caracteres que representa um nome de servidor ou NULL se a impressora for local. (O monitor de porta pode ignorar esse parâmetro.)
[in] hWnd
Identificador fornecido pelo chamador da janela que deve ser usado como o pai para caixas de diálogo. Se NULL, nenhuma caixa de diálogo deverá ser exibida.
[in] pszPortName
Ponteiro fornecido pelo chamador para uma cadeia de caracteres que representa o nome da porta a ser configurada.
Valor de retorno
Se a operação for bem-sucedida, a função deverá retornar VERDADEIRO. Caso contrário, ele deverá retornar FALSE. Se a operação não tiver suporte ou for cancelada pelo usuário (selecionando CANCEL ou selecionando OK sem alterar parâmetros de configuração), a função deverá chamar SetLastError(ERROR_CANCELLED) e retornar FALSE.
Observações
As DLLs da interface do usuário do monitor de porta são necessárias para definir uma função ConfigurePortUI e incluir o endereço da função em uma estrutura de monitorUI.
O spooler do cliente chama ConfigurePortUI de dentro de sua função ConfigurePort (descrita na documentação do SDK do Microsoft Windows). Os argumentos recebidos por ConfigurePortUI são os argumentos recebidos pelo ConfigurePort.
A função deve executar as seguintes operações:
-
Chame OpenPrinter, especificando um nome de impressora com o seguinte formato:
- \\ ServerName\,XcvPortPortName
em que ServerName e PortName são os nomes de servidor e porta recebidos como argumentos de função configurePortUI.
A chamada para OpenPrinter requer uma estrutura de PRINTER_DEFAULTS, que é descrita na documentação do SDK do Windows. O membro DesiredAccess da estrutura deve ser definido como SERVER_ACCESS_ADMINISTER. Seus membros pDatatype e pDevMode podem ser NULL.
Essa chamada faz com que a função XcvOpenPort do servidor de impressão seja chamada.
- Obtenha parâmetros de configuração de porta do usuário exibindo uma caixa de diálogo.
- Chame XcvData uma ou mais vezes, especificando cadeias de caracteres de nome de dados personalizadas, para enviar cada parâmetro de configuração para a DLL do servidor. Cada chamada XcvData faz com que a função XcvDataPort do servidor seja chamada.
- Chame ClosePrinter, especificando o identificador recebido do OpenPrinter. Isso faz com que a função XcvClosePort do servidor seja chamada.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | winsplp.h (inclua Winsplp.h) |
biblioteca | NtosKrnl.exe |