mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.7 KiB
85 lines
2.7 KiB
// 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 */
|