Função DeletePortUI (winsplp.h)
Uma função DeletePortUI da DLL do monitor de porta exclui uma porta de impressora.
Sintaxe
BOOL DeletePortUI(
[in, optional] 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 usada como pai para caixas de diálogo. Se FOR 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 excluída.
Retornar valor
Se a operação for bem-sucedida, a função deverá retornar TRUE. Caso contrário, ele deverá retornar FALSE. Se a operação for cancelada pelo usuário ou não tiver suporte, a função deverá chamar SetLastError(ERROR_CANCELLED) e retornar FALSE.
Comentários
As DLLs da interface do usuário do monitor de porta são necessárias para definir uma função DeletePortUI e incluir o endereço da função em uma estrutura MONITORUI .
O spooler chama DeletePortUI de dentro de sua função DeletePort . Os argumentos recebidos por DeletePortUI são os argumentos recebidos por DeletePort. (A função DeletePort é descrita na documentação do SDK do Microsoft Windows.)
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 DeletePortUI .
A chamada para OpenPrinter requer uma estrutura 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 monitor de impressão seja chamada.
-
Chame XcvData, especificando os seguintes argumentos de entrada:
- O identificador recebido do OpenPrinter
- O nome da porta recebido como um argumento de função
- Uma cadeia de caracteres de nome de dados de "DeletePort"
Essa chamada faz com que a função XcvClosePort da DLL do servidor seja chamada.
- Se a interação do usuário for necessária, obtenha informações do usuário exibindo uma caixa de diálogo e chame XcvData, especificando cadeias de caracteres de nome de dados personalizadas, para enviar as informações para a DLL do servidor. A 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 da DLL do servidor seja chamada.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | winsplp.h (inclua Winsplp.h) |