Compartilhar via


função TSPI_lineGenerateDigits (tspi.h)

A função TSPI_lineGenerateDigits inicia a geração dos dígitos especificados na chamada especificada como tons em banda usando o modo de sinalização especificado. Invocar essa função enquanto a geração de dígito ou tom está em andamento anula o dígito atual ou a geração de tom. Passar um valor NULL para lpsDigits não gera novos dígitos.

Nota Apenas uma solicitação de geração em banda por vez (geração de tom ou geração de dígito) pode estar em andamento por chamada.
 

Sintaxe

LONG TSPIAPI TSPI_lineGenerateDigits(
  HDRVCALL hdCall,
  DWORD    dwEndToEndID,
  DWORD    dwDigitMode,
  LPCWSTR  lpszDigits,
  DWORD    dwDuration
);

Parâmetros

hdCall

O identificador para a chamada na qual a geração de dígitos deve ser feita.

dwEndToEndID

Esse identificador de solicitação exclusivo deve ser armazenado pelo provedor de serviços e passado de volta como dwParam2 para o procedimento LINEEVENT quando a geração de dígito é concluída.

dwDigitMode

O formato a ser usado para sinalizar esses dígitos. Esse parâmetro usa uma e apenas uma das constantes LINEDIGITMODE_.

lpszDigits

Um ponteiro para um buffer de caracteres Unicode terminado em nulo que contém os dígitos a serem gerados. Uma vírgula injeta um atraso extra entre a sinalização dos dígitos anterior e próximo separados. A duração dessa pausa é definida pela configuração. Os recursos do dispositivo da linha indicam qual é essa duração. Várias vírgulas podem ser usadas para injetar pausas mais longas. Dígitos inválidos são ignorados durante a geração, em vez de serem relatados como um erro.

dwDuration

Especifica a duração em milissegundos de dígitos DTMF e o espaçamento entre dígitos de pulso e DTMF. Um valor de 0 usa um valor padrão. O parâmetro dwDuration deve estar dentro do intervalo especificado por MinDialParams para MaxDialParams em LINEDEVCAPS. Se estiver fora do intervalo, o valor real será definido pelo provedor de serviços como o valor mais próximo no intervalo. Esse parâmetro não é validado pelo TAPI quando essa função é chamada.

Valor retornado

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_INVALCALLHANDLE, LINEERR_NOMEM, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALDIGITMODE, LINEERR_OPERATIONFAILED, LINEERR_RESOURCEUNAVAIL LINEERR_RESOURCEUNAVAIL.

Comentários

O estado da chamada de hdCall pode ser qualquer estado.

A função TSPI_lineGenerateDigits é considerada concluída com êxito quando a geração de dígitos é iniciada com êxito; não quando todos os dígitos são gerados.

Depois que todos os dígitos em lpsDigits forem gerados ou após a geração de dígitos ser anulada ou cancelada, uma mensagem de LINE_GENERATE será enviada ao TAPI.

Nota Somente uma solicitação de geração de inband (geração de tom ou geração de dígito) tem permissão para estar em andamento por chamada. Isso implica que, se a geração de dígitos estiver em andamento em uma chamada, invocar TSPI_lineGenerateDigits ou TSPI_lineGenerateTone cancelará a geração de dígitos. O provedor de serviços deve encerrar qualquer geração de dígito em andamento quando um TSPI_lineGenerateDigits ou TSPI_lineGenerateTone subsequente é invocado. Invocar TSPI_lineGenerateDigits com lpszDigits definidos como NULL cancela qualquer geração de dígito (ou tom) atual.
 
A função correspondente no nível TAPI não inclui o parâmetro formal dwEndToEndID. Nesse nível, não há marcação de ponta a ponta. O TAPI usa a marcação de ponta a ponta no nível do TSPI para desambiguar uma TSPI_lineGenerateDigits solicitação de outra.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho tspi.h

Confira também

LINEDEVCAPS

Constantes LINEDIGITMODE_

LINEEVENT

LINE_GENERATE

Tspi_linegeneratetone