ISpLexicon::GetGeneration (Microsoft Speech Platform)

Microsoft Speech Platform SDK 11

Microsoft Speech Platform

ISpLexicon::GetGeneration

ISpLexicon::GetGeneration passes back the generation ID for a word.

Passes back the current generation ID of the user lexicon. It is used to detect the changes in the user lexicon because each change in the user lexicon (add/remove a word or install/uninstall an application lexicon) will increment the generation ID.

HRESULT GetGeneration(
   DWORD   *pdwGeneration
);

Parameters

pdwGeneration
The generation ID. This is a relative count of how many times the custom lexicons have changed.

Return values

Value Description
S_OK Function completed successfully.
E_POINTER pdwGeneration is not a valid write pointer.
SPERR_UNINITIALIZED Interface is not initialized.
FAILED(hr) Appropriate error message.

Remarks

ISpLexicon::GetGenerationChange and ISpLexicon::GetGeneration can be used when an application wants to determine what it has been done to the lexicon over a given period of time. That is, it can back out of changes it has made due to a user cancel. To do this before it begins modifying the lexicon, the application would call ISpLexicon::GetGeneration and store the generation ID. Later, when the application wants to see what words in the lexicon it has modified, it would call ISpLexicon::GetGenerationChanges with the stored ID. This can only be done for small changes, as SPERR_LEX_VERY_OUT_OF_SYNC will be returned once sufficient changes have been made.