ISpObjectTokenCategory::EnumTokens (SAPI 5.4)

Speech API 5.4
Microsoft Speech API 5.4


ISpObjectTokenCategory::EnumTokens enumerates the tokens for the category by attempting to match specified requirements. Attributes, enumerations, and searches are discussed in Object Tokens and Registry Settings White Paper.

HRESULT EnumTokens(
   LPCWSTR               *pszReqAttribs,
   LPCWSTR               *pszOptAttribs,
   IEnumSpObjectTokens  **ppEnum


[in] The null terminated string of required attributes for the token.
[in] The null terminated string of optional attributes for the token. The order in which the tokens are listed in ppEnum is based on the order they match pszOptAttribs.
[out] The enumerated list of tokens found.

Return values

S_OKFunction completed successfully.
SPERR_UNINITIALIZEDData key interface is not initialized.
E_POINTERAt least one of the parameters is invalid or bad.
FAILED(hr)Appropriate error message.


The following code snippet demonstrates getting a complete enumerated token list. Since no specific requirement is given (pszReqAttribs and pszOptAttribs are NULL), all values are returned for SPCAT_VOICES.

// Declare local identifiers:
HRESULT                           hr = S_OK;
CComPtr<ISpObjectTokenCategory>   cpSpObjectTokenCategory;
CComPtr<IEnumSpObjectTokens>      cpSpEnumTokens;

hr = SpGetCategoryFromId(SPCAT_VOICES, &cpSpObjectTokenCategory;);

if (SUCCEEDED (hr))
   hr = cpSpObjectTokenCategory->EnumTokens(NULL, NULL, &cpSpEnumTokens;);

if (SUCCEEDED(hr))
   // Do stuff here.