Share via


ISpPhraseBuilder::InitFromSerializedPhrase (Windows Embedded CE 6.0)

1/6/2010

This method initializes the phrase being built from the specified serialized phrase.

Syntax

HRESULT InitFromSerializedPhrase(
  const SPSERIALIZEDPHRASE* pPhrase
);

Parameters

  • pPhrase
    [in] Pointer to an SPSERIALIZEDPHRASE structure that contains the serialized phrase.

Return Value

The following table shows the possible return values.

Value Description

S_OK

Function completed successfully.

E_INVALIDARG

SPSERIALIZEDPHRASE.ulSerializedSize is not correct for the phrase being built.

FAILED(hr)

Appropriate error message.

Example

The following code fragment demonstrates this method..

HRESULT hr;
CComPtr<ISpRecoResult>       RecoResult;
CComPtr<ISpPhraseBuilder>    pPhraseBuilder;
SPSERIALIZEDPHRASE           *pSerializedPhrase=NULL;
CComPtr<ISpStream>           cpStream;
LARGE_INTEGER   liZero = {0,0};
hr = SPBindToFile(L"SerializedPhrase.sp", SPFM_OPEN_READONLY, &cpStream, NULL,
NULL, SPFEI_ALL_EVENTS);
if (hr == S_OK)
{
   hr = cpStream->Seek(liZero, STREAM_SEEK_SET, NULL);
   ULONG ulSerializedSize = 0;
   hr = cpStream->Read(&ulSerializedSize, sizeof(ULONG), NULL);
   if (SUCCEEDED(hr))
   {
   //Seek back and read all of the data in.
   LARGE_INTEGER liseek;
   liseek.QuadPart  -= sizeof(ULONG);
   hr = cpStream->Seek(liseek, STREAM_SEEK_CUR, NULL);
   pSerializedPhrase = (SPSERIALIZEDPHRASE*)::CoTaskMemAlloc(ulSerializedSize);
   if (SUCCEEDED(hr) && pSerializedPhrase)
   {
      hr = cpStream->Read(pSerializedPhrase, ulSerializedSize, NULL);
   }
   if (SUCCEEDED(hr))
   {
      CComPtr cpPhraseBuilder;
                hr = cpPhraseBuilder.CoCreateInstance(CLSID_SpPhraseBuilder);
                if (SUCCEEDED(hr))
                {
                    hr = cpPhraseBuilder
>InitFromSerializedPhrase(pSerializedPhrase);
                }
   }
   ::CoTaskMemFree( pSerializedPhrase );
    }
}

Requirements

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

See Also

Reference

ISpPhraseBuilder
SAPI Interfaces