Compartilhar via


função TSPI_providerRemove (tspi.h)

A função TSPI_providerRemove está obsoleta. Os provedores de serviços TAPI versão 1.4 ou anteriores podem implementar essa função TSPI. Os TSPs tapi versão 2.0 ou posterior implementam TUISPI_providerRemove.

A função TSPI_providerRemove solicita que o usuário confirme a eliminação do provedor de serviços. É responsabilidade do provedor de serviços remover todas as entradas do Registro que o provedor de serviços adicionou no momento addProvider , bem como quaisquer outros módulos e arquivos que não são mais necessários.

Sintaxe

LONG TSPIAPI TSPI_providerRemove(
  HWND  hwndOwner,
  DWORD dwPermanentProviderID
);

Parâmetros

hwndOwner

O identificador da janela pai na qual a função pode criar qualquer janela de caixa de diálogo necessária durante a remoção.

dwPermanentProviderID

O identificador de provedor permanente do provedor de serviços.

Retornar valor

Retornará zero se a função for bem-sucedida ou um número de erro se ocorrer um erro. Os valores retornados possíveis são os seguintes:

LINEERR_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALPARAM.

Comentários

Essa função deve garantir que a seção do provedor de serviços e as informações definidas de modo privado para o provedor de serviços sejam removidas do registro se retornarem êxito. Em particular, a seção [PROVIDER<PPID>] cujo <PPID> corresponde a dwPermanentProviderID deve ser removida, incluindo suas entradas NumLines e NumPhones . Se a função retornar êxito, é responsabilidade do chamador remover as entradas ProviderIDx e ProviderFilenamex correspondentes da seção [Provedores] e renumerar as entradas restantes na seção [Provedores] adequadamente.

Esse procedimento deve deixar o sistema em um estado consistente. Ele deve ser executado até a conclusão, não permitindo que o usuário anule a remoção quando ela for parcialmente concluída. Se a remoção falhar, é responsabilidade do provedor "recuar" o que foi feito e retornar um erro. Isso pode implicar a pré-verificação para verificar se uma remoção completa é possível, antes do início da remoção.

Essa função pode ser chamada enquanto o provedor de serviços está em uso (ou seja, entre TSPI_providerInit e TSPI_providerShutdown). Se isso acontecer, o provedor de serviços deverá fazer uma combinação apropriada de exibir uma caixa de diálogo do usuário para anunciar qualquer conflito e confirmar a remoção, restringindo as opções de remoção para aqueles que podem ser executados de forma transparente ou emitindo mensagens LINE_CLOSE e PHONE_CLOSE para informar ao TAPI e aos aplicativos que os dispositivos afetados foram fechados à força para remoção. De qualquer forma, todas as alterações que afetam o comportamento visível por meio do TSPI devem entrar em vigor somente quando o provedor de serviços for desligado no próximo TSPI_providerShutdown.

Essa função não deve retornar LINEERR_INUSE ou outros erros que possam ocorrer porque o provedor está em uso por um aplicativo; Em vez disso, o provedor deve conferir ao usuário diretamente sobre esse problema e, em seguida, retornar LINEERR_OPERATIONFAILED se o usuário decidir anular a operação.

Esse procedimento é chamado apenas uma vez, no momento da remoção do provedor de serviços, até que haja uma chamada para TSPI_providerInstall. É responsabilidade do chamador garantir isso.

O utilitário Painel de Controle telefonia fornecido com o Windows Telephony nas versões 1.4 e anteriores chama essa função (com requisitos de sequência externos atendidos conforme descrito aqui) quando o comando "remove" é invocado.

Não há nenhuma função correspondente no nível tapi. Nesse nível, os aplicativos esperam ter provedores de serviços já instalados; caso contrário, suas linhas e telefones não aparecem dentro da sequência disponível de identificadores de dispositivo. Os aplicativos em execução são informados sobre a reconfiguração dinâmica, incluindo a remoção de provedores de serviços, por meio do valor LINEDEVSTATE_REINIT ou PHONESTATE_REINIT na mensagem LINE_LINEDEVSTATE ou PHONE_STATE.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tspi.h

Confira também

LINE_CLOSE

LINE_LINEDEVSTATE

PHONE_CLOSE

PHONE_STATE

Tspi_providerinit

TSPI_providerInstall

TSPI_providerShutdown