Compartilhar via


ISpNotifySink

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa interface especifica um coletor de eventos para receber notificações. No síntese de fala e reconhecimento de fala, aplicativos receber notificações quando palavras têm sido faladas ou quando frases tenham sido reconhecidos. Componentes do SAPI que geram implementar notificações ISpNotifySource.

The ISpNotifySink e MapVirtualKey. ISpNotifySource Somente interfaces sozinhas fornecem um mecanismo para uma notificação, mas não informações nos eventos que causaram a notificação. Com um ISpEventSource objeto, um aplicativo pode recuperar informações sobre os eventos que causaram a notificação. ISpEventSource Também fornece o mecanismo para filtro e eventos fila. Por padrão, um aplicativo (na verdade um ISpNotifySink) não recebe nenhum notificações de ISpEventSource Até SetInterests foi chamado para especificar em quais eventos para notificar ou fila.

Quando um aplicativo é notificado de um evento que é Não enfileirado, um aplicativo será tomar medidas com base em qual coletor de eventos é receber a notificação. Do contexto um aplicativo pode saber exatamente o que ele precisa fazer, ou ele precise interagir com os componentes que enviou as notificações. Se um aplicativo é notificado de um evento que é enfileirado e, em seguida, o aplicativo irá chamar ISpEventSource::GetEvents Para recuperar o real eventos que causaram uma notificação.

Quando a implementar

Implemente essa interface somente se o aplicativo pode aproveitar a latência ligeiramente reduzida de uma notificação Free-threaded. A maioria dos aplicativos devem usar um dos mecanismos de notificação simplificada no ISpEventSource Em vez de implementar essa interface diretamente. As notificações de segmentação livre são difíceis para implementar sem deadlocking o sistema. Além disso, outros mecanismos notificação requerem menos codificar on the part of o desenvolvedor. O aplicativo precisa notificações identificador Free-threaded, em seguida, implementar a ISpNotifySink interface quando um ISpNotifySink objeto deve ser notificado.

Porque notificações livre-segmentadas podem ocorrer em qualquer segmento, em qualquer apontar durante a execução, eles são extremamente propensos a bloqueios e problemas reentrada. A única interface que pode ser chamado em um objeto fonte de evento é ISpEventSource::GetEvents. Se ISpNotifySink é implementada diretamente, a codificar só deve usar algum mecanismo para sinalizar outro segmento ao processo de notificação (por exemplo, um evento Win32 ou uma porta de conclusão E/S) e, se necessário, chamar ISpEventSource::GetEvents. Fazer não chamar qualquer outros métodos.

Métodos

A seguinte tabela lista os métodos para a ISpNotifySink interface.

Método Description

Notificar

Chamado por um ISpNotifySource objeto para notificar o coletor quando o estado de origem de notificação foi alterada.

Requisitos

Header sapi.h, sapi.idl
Library sapilib.lib
Windows Embedded CE Windows CE .NET 4.1 and later

See Also

Reference

SAPI Interfaces