windows-nt/Source/XPSP1/NT/enduser/speech/tts/ms_entropic/spttsengui.cpp
2020-09-26 16:20:57 +08:00

85 lines
2.7 KiB
C++

// spttsengui.cpp : Implementation of SpTtsEngUI
#include "stdafx.h"
#include "spttsengui.h"
#include "ttspropertiesdialog.h"
#include "spddkhlp.h"
/****************************************************************************
* SpTtsEngUI::IsUISupported *
*-------------------------*
* Description: Determines if the supplied standard UI component is
* supported by the engine.
*
* Returns:
* *pfSupported - set to TRUE if the specified standard UI component
* is supported.
* E_INVALIDARG - If one of the supplied arguments is invalid.
*
********************************************************************* AH ***/
STDMETHODIMP SpTtsEngUI::IsUISupported( const WCHAR * pszTypeOfUI,
void * /* pvExtraData */,
ULONG /* cbExtraData */,
IUnknown * /* punkObject */,
BOOL * pfSupported )
{
SPDBG_FUNC("SpTtsEngUI::IsUISupported");
// Validate the params
if ( pfSupported == NULL ||
SP_IS_BAD_WRITE_PTR( pfSupported ) )
{
return E_INVALIDARG;
}
*pfSupported = FALSE;
// Test to see if the UI is supported
if ( wcscmp( pszTypeOfUI, SPDUI_EngineProperties ) == 0 )
{
*pfSupported = TRUE;
}
return S_OK;
} /* IsUISupported */
/****************************************************************************
* SpTtsEngUI::DisplayUI *
*---------------------*
* Description:
*
* Returns:
*
********************************************************************* AH ***/
STDMETHODIMP SpTtsEngUI::DisplayUI( HWND hwndParent,
const WCHAR * pszTitle,
const WCHAR * pszTypeOfUI,
void * /* pvExtraData */,
ULONG /* cbExtraData */,
ISpObjectToken * pToken,
IUnknown * /* punkObject */)
{
SPDBG_FUNC("SpTtsEngUI::DisplayUI");
// Validate the params
if ( !IsWindow( hwndParent ) ||
SP_IS_BAD_READ_PTR( pszTitle ) ||
SP_IS_BAD_INTERFACE_PTR( pToken ) )
{
return E_INVALIDARG;
}
HRESULT hr = S_OK;
// Display the UI
if ( SUCCEEDED( hr ) )
{
if ( wcscmp( pszTypeOfUI, SPDUI_EngineProperties ) == 0)
{
CTTSPropertiesDialog dlg( _Module.GetModuleInstance(), hwndParent );
hr = dlg.Run();
}
}
return hr;
} /* DisplayUI */