A speech recognition engine must also be a fully compliant Command and Control (C&C) engine according to SAPI 1.0. It must support multiple grammars in the binary format described in the specification and allow those grammars to be activated or deactivated in real time.
In addition, to be considered Microsoft Agent-compliant, the engine must return results objects upon the successful recognition of a phrase (through ISRGramNotifySinkA::PhraseFinish). These results objects must support ISRResBasic, as the specification requires. In addition, they should support ISRResScore, which is a SAPI 3.0 interface not found in SAPI 1.0. Although Microsoft Agent will run with an engine that supports only ISRResBasic, or even with an engine that returns no results objects whatsoever, performance will usually be significantly poorer with such engines. Many applications use the confidence values provided by the engine to control how they respond to various commands.