|
|
|
|
|
|
|
|
WAVEFORMATEX **format); |
|
|
WAVEFORMATEX **format); |
|
|
private: |
|
|
private: |
|
|
ULONG refCount; |
|
|
ULONG refCount; |
|
|
|
|
|
ISpObjectToken *objectToken; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
TtsEngine::TtsEngine() |
|
|
TtsEngine::TtsEngine() |
|
|
: refCount(1) |
|
|
: refCount(1) |
|
|
|
|
|
, objectToken(NULL) |
|
|
{ |
|
|
{ |
|
|
InterlockedIncrement(&ObjectCount); |
|
|
InterlockedIncrement(&ObjectCount); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
TtsEngine::~TtsEngine() |
|
|
TtsEngine::~TtsEngine() |
|
|
{ |
|
|
{ |
|
|
InterlockedDecrement(&ObjectCount); |
|
|
InterlockedDecrement(&ObjectCount); |
|
|
|
|
|
if (objectToken) |
|
|
|
|
|
objectToken->Release(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
ULONG __stdcall TtsEngine::AddRef() |
|
|
ULONG __stdcall TtsEngine::AddRef() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HRESULT __stdcall TtsEngine::GetObjectToken(ISpObjectToken **token) |
|
|
HRESULT __stdcall TtsEngine::GetObjectToken(ISpObjectToken **token) |
|
|
{ |
|
|
{ |
|
|
return E_NOTIMPL; |
|
|
|
|
|
|
|
|
if (!token) |
|
|
|
|
|
return E_POINTER; |
|
|
|
|
|
|
|
|
|
|
|
*token = objectToken; |
|
|
|
|
|
if (objectToken) |
|
|
|
|
|
objectToken->AddRef(); |
|
|
|
|
|
return S_OK; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
HRESULT __stdcall TtsEngine::SetObjectToken(ISpObjectToken *token) |
|
|
HRESULT __stdcall TtsEngine::SetObjectToken(ISpObjectToken *token) |
|
|
{ |
|
|
{ |
|
|
return E_NOTIMPL; |
|
|
|
|
|
|
|
|
if (objectToken) |
|
|
|
|
|
objectToken->Release(); |
|
|
|
|
|
objectToken = token; |
|
|
|
|
|
if (objectToken) |
|
|
|
|
|
objectToken->AddRef(); |
|
|
|
|
|
return S_OK; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
HRESULT __stdcall |
|
|
HRESULT __stdcall |