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:

  1. 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.

  2. 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.

  3. 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.
  4. 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)

Confira também

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort