Partilhar via


Função DeletePortUI (winsplp.h)

Uma função DeletePortUI da IU do monitor de porta exclui uma porta da 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 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 excluída.

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 for cancelada pelo usuário ou não tiver suporte, 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 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 pelo 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 de NomedoMédulo 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 impressão seja chamada.

  2. Chame XcvData, especificando os seguintes argumentos de entrada:
    • O identificador recebido de 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 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, em seguida, 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 de 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)

Consulte também

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort