Função linePark (tapi.h)

A função linePark estaciona a chamada especificada de acordo com o modo de parque especificado.

Sintaxe

LONG linePark(
  HCALL       hCall,
  DWORD       dwParkMode,
  LPCSTR      lpszDirAddress,
  LPVARSTRING lpNonDirAddress
);

Parâmetros

hCall

Manipule para a chamada a ser estacionada. O aplicativo deve ser um proprietário da chamada. O estado de chamada de hCall deve estar conectado.

dwParkMode

Modo de parque com o qual a chamada deve ser estacionada. Esse parâmetro pode ter apenas um único conjunto de sinalizadores e usa uma das constantes LINEPARKMODE_.

lpszDirAddress

Ponteiro para uma cadeia de caracteres terminada em nulo que indica o endereço em que a chamada deve ser estacionada ao usar o parque direcionado. O endereço está no formato de número discável. Esse parâmetro é ignorado para o parque não redirecionado.

lpNonDirAddress

Ponteiro para uma estrutura do tipo VARSTRING. Para o parque não redirecionado, o endereço em que a chamada está estacionada é retornado nessa estrutura. Esse parâmetro é ignorado para o parque direcionado. Dentro da estrutura VARSTRING , dwStringFormat deve ser definido como STRINGFORMAT_ASCII (um buffer de cadeia de caracteres ASCII que contém uma cadeia de caracteres terminada em nulo) e o NULL de terminação deve ser contabilizado no dwStringSize. Antes de chamar linePark, o aplicativo deve definir o membro dwTotalSize dessa estrutura para indicar a quantidade de memória disponível para TAPI para retornar informações.

Retornar valor

Retorna um identificador de solicitação positivo se a função for concluída de forma assíncrona ou um número de erro negativo se ocorrer um erro. O parâmetro dwParam2 da mensagem de LINE_REPLY correspondente será zero se a função for bem-sucedida ou se for um número de erro negativo se ocorrer um erro. Os possíveis valores retornados são:

LINEERR_INVALADDRESS, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALPARKMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Comentários

Com o parque direcionado, o aplicativo determina o endereço no qual deseja estacionar a chamada. Com o parque não redirecionado, a opção determina o endereço e fornece isso ao aplicativo. Em ambos os casos, uma chamada estacionada pode ser desmarcada especificando esse endereço.

A chamada estacionada normalmente entra no estado ocioso depois de ter sido estacionada com êxito, e o aplicativo deve desalocar seu identificador para a chamada. Se o aplicativo executar um lineUnpark na chamada estacionada, um novo identificador de chamada será criado para a chamada não inicializada, mesmo que o aplicativo não tenha desalocado seu identificador de chamada antigo.

Algumas opções podem lembrar o usuário depois que uma chamada estiver estacionada por um longo período de tempo. O aplicativo vê uma chamada de oferta com um motivo de chamada definido como lembrete.

Em um parque não redirecionado, se o membro dwTotalSize na estrutura VARSTRING não especificar uma quantidade suficiente de memória para receber o endereço do parque, a mensagem de resposta correspondente retornará um valor de erro LINEERR_STRUCTURETOOSMALL. Nesses casos, não há como recuperar o endereço completo do parque. Quando um valor de erro LINEERR_STRUCTURETOOSMALL é retornado, o membro dwNeededSize da estrutura NonDirAddress não contém um valor válido. Se um valor de erro LINEERR_STRUCTURETOOSMALL for recebido de um linePark não redirecionado, aumente o tamanho do buffer e chame linePark novamente até que ele retorne êxito ou um resultado LINEERR_XXX diferente.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tapi.h
Biblioteca Tapi32.lib
DLL Tapi32.dll

Confira também

LINE_REPLY

Visão geral do parque

Funções de serviço de linha suplementar

Visão geral da referência do TAPI 2.2

VARSTRING

lineUnpark