sapi: Implement ISpeechObjectTokens::Invoke.
This commit is contained in:
parent
6f2a0c412f
commit
6e8d450804
4 changed files with 24 additions and 3 deletions
|
@ -35,6 +35,7 @@ static ITypeInfo *typeinfos[last_tid];
|
||||||
static REFIID tid_id[] =
|
static REFIID tid_id[] =
|
||||||
{
|
{
|
||||||
&IID_ISpeechObjectToken,
|
&IID_ISpeechObjectToken,
|
||||||
|
&IID_ISpeechObjectTokens,
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
|
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
|
||||||
|
|
|
@ -56,6 +56,7 @@ HRESULT token_create( IUnknown *outer, REFIID iid, void **obj );
|
||||||
enum type_id
|
enum type_id
|
||||||
{
|
{
|
||||||
ISpeechObjectToken_tid,
|
ISpeechObjectToken_tid,
|
||||||
|
ISpeechObjectTokens_tid,
|
||||||
last_tid
|
last_tid
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,8 @@ static void test_token_enum(void)
|
||||||
ISpObjectToken *out_tokens[5];
|
ISpObjectToken *out_tokens[5];
|
||||||
WCHAR token_id[MAX_PATH];
|
WCHAR token_id[MAX_PATH];
|
||||||
ULONG count;
|
ULONG count;
|
||||||
VARIANT vars[3];
|
VARIANT vars[3], ret;
|
||||||
|
DISPPARAMS params;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
hr = CoCreateInstance( &CLSID_SpObjectTokenEnum, NULL, CLSCTX_INPROC_SERVER,
|
hr = CoCreateInstance( &CLSID_SpObjectTokenEnum, NULL, CLSCTX_INPROC_SERVER,
|
||||||
|
@ -402,6 +403,14 @@ static void test_token_enum(void)
|
||||||
|
|
||||||
IEnumVARIANT_Release( enumvar );
|
IEnumVARIANT_Release( enumvar );
|
||||||
|
|
||||||
|
memset( ¶ms, 0, sizeof(params) );
|
||||||
|
VariantInit( &ret );
|
||||||
|
hr = ISpeechObjectTokens_Invoke( speech_tokens, DISPID_SOTsCount, &IID_NULL, 0,
|
||||||
|
DISPATCH_PROPERTYGET, ¶ms, &ret, NULL, NULL );
|
||||||
|
ok( hr == S_OK, "got %08lx\n", hr );
|
||||||
|
ok( V_VT( &ret ) == VT_I4, "got %#x\n", V_VT( &ret ) );
|
||||||
|
ok( V_I4( &ret ) == 3, "got %ld\n", V_I4( &ret ) );
|
||||||
|
|
||||||
ISpeechObjectTokens_Release( speech_tokens );
|
ISpeechObjectTokens_Release( speech_tokens );
|
||||||
ISpObjectTokenEnumBuilder_Release( token_enum );
|
ISpObjectTokenEnumBuilder_Release( token_enum );
|
||||||
|
|
||||||
|
|
|
@ -1339,8 +1339,18 @@ static HRESULT WINAPI speech_tokens_Invoke( ISpeechObjectTokens *iface,
|
||||||
EXCEPINFO *excepinfo,
|
EXCEPINFO *excepinfo,
|
||||||
UINT *argerr )
|
UINT *argerr )
|
||||||
{
|
{
|
||||||
FIXME( "stub\n" );
|
ITypeInfo *ti;
|
||||||
return E_NOTIMPL;
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE( "(%p)->(%ld %s %#lx %#x %p %p %p %p)\n", iface, dispid,
|
||||||
|
debugstr_guid( iid ), lcid, flags, params, result, excepinfo, argerr );
|
||||||
|
|
||||||
|
if (FAILED(hr = get_typeinfo( ISpeechObjectTokens_tid, &ti )))
|
||||||
|
return hr;
|
||||||
|
hr = ITypeInfo_Invoke( ti, iface, dispid, flags, params, result, excepinfo, argerr );
|
||||||
|
ITypeInfo_Release( ti );
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI speech_tokens_get_Count( ISpeechObjectTokens *iface,
|
static HRESULT WINAPI speech_tokens_get_Count( ISpeechObjectTokens *iface,
|
||||||
|
|
Loading…
Add table
Reference in a new issue