ISpPhrase::Discard (SAPI 5.4)

Speech API 5.4
Microsoft Speech API 5.4


ISpPhrase::Discard discards the requested data from a phrase object.

HRESULT Discard(
   DWORD   dwValueTypes


[in] Flags of type SPVALUETYPE indicating elements to discard. Multiple values may be combined.

Return values

S_OKFunction completed successfully.
E_INVALIDARGdwValueTypes is not a valid value type flag.
FAILED(hr)Appropriate error message.


Applications that have no use for certain types of retained data, and will be persisting or serializing the phrase or result objects, may discard the unnecessary data. For example, an application performing offline transcription may need to retain only the audio and the final result. It can call ::Discard with SPDF_ALTERNATES to eliminate the alternate data (possibly including a large amount of private engine data).

Note that once retained audio is discarded, a call to ISpRecoResult::GetAudio will fail.


The following code snippet illustrates the use of ISpRecoResult::Discard as inherited from ISpPhrase to discard the retained audio.

// Declare local identifiers:
HRESULT                   hr = S_OK;
CComPtr<ISpRecoResult>    cpRecoResult;

// ... Get a recognition result object from the SR engine ...

// Discard audio.
hr = cpRecoResult->Discard(SPDF_AUDIO);

if (SUCCEEDED (hr))
   // Serialize the "shrunken" result
   // to the disk or do other stuff.