sapi/tests: Enable compilation with long types.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Eric Pouech 2022-03-04 09:25:28 +01:00 committed by Alexandre Julliard
parent 18fe398290
commit 0b3c158cb8
6 changed files with 71 additions and 72 deletions

View file

@ -1,4 +1,3 @@
EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = sapi.dll TESTDLL = sapi.dll
IMPORTS = ole32 user32 advapi32 IMPORTS = ole32 user32 advapi32

View file

@ -36,26 +36,26 @@ static void test_interfaces(void)
hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpeechFileStream, (void **)&filestream); &IID_ISpeechFileStream, (void **)&filestream);
ok(hr == S_OK, "Failed to create ISpeechFileStream interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechFileStream interface: %#lx.\n", hr);
hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void **)&unk); &IID_IUnknown, (void **)&unk);
ok(hr == S_OK, "Failed to create IUnknown interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IUnknown interface: %#lx.\n", hr);
IUnknown_Release(unk); IUnknown_Release(unk);
hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER,
&IID_IDispatch, (void **)&dispatch); &IID_IDispatch, (void **)&dispatch);
ok(hr == S_OK, "Failed to create IDispatch interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IDispatch interface: %#lx.\n", hr);
IDispatch_Release(dispatch); IDispatch_Release(dispatch);
hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpeechBaseStream, (void **)&basestream); &IID_ISpeechBaseStream, (void **)&basestream);
ok(hr == S_OK, "Failed to create ISpeechBaseStream interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechBaseStream interface: %#lx.\n", hr);
ISpeechBaseStream_Release(basestream); ISpeechBaseStream_Release(basestream);
hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpFileStream, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpStream, (void **)&spstrem); &IID_ISpStream, (void **)&spstrem);
ok(hr == S_OK, "Failed to create ISpStream interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpStream interface: %#lx.\n", hr);
ISpStream_Release(spstrem); ISpStream_Release(spstrem);
ISpeechFileStream_Release(filestream); ISpeechFileStream_Release(filestream);

View file

@ -34,26 +34,26 @@ static void test_interfaces(void)
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpResourceManager, (void **)&resource_manager); &IID_ISpResourceManager, (void **)&resource_manager);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#lx.\n", hr);
ok(!!resource_manager, "Expected non-NULL resource manager.\n"); ok(!!resource_manager, "Expected non-NULL resource manager.\n");
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpResourceManager, (void **)&resource_manager2); &IID_ISpResourceManager, (void **)&resource_manager2);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#lx.\n", hr);
ok(!!resource_manager2, "Expected non-NULL resource manager.\n"); ok(!!resource_manager2, "Expected non-NULL resource manager.\n");
todo_wine ok(resource_manager2 == resource_manager, "Expected managers to match.\n"); todo_wine ok(resource_manager2 == resource_manager, "Expected managers to match.\n");
ISpResourceManager_Release(resource_manager2); ISpResourceManager_Release(resource_manager2);
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void **)&unk); &IID_IUnknown, (void **)&unk);
ok(hr == S_OK, "Failed to create IUnknown interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IUnknown interface: %#lx.\n", hr);
ok(!!unk, "Expected non-NULL unk.\n"); ok(!!unk, "Expected non-NULL unk.\n");
todo_wine ok(unk == (IUnknown *)resource_manager, "Expected unk to match existing manager.\n"); todo_wine ok(unk == (IUnknown *)resource_manager, "Expected unk to match existing manager.\n");
IUnknown_Release(unk); IUnknown_Release(unk);
hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpResourceManager, NULL, CLSCTX_INPROC_SERVER,
&IID_IDispatch, (void **)&dispatch); &IID_IDispatch, (void **)&dispatch);
ok(hr == E_NOINTERFACE, "Succeeded to create IDispatch interface: %#x.\n", hr); ok(hr == E_NOINTERFACE, "Succeeded to create IDispatch interface: %#lx.\n", hr);
ok(!dispatch, "Expected NULL dispatch, got %p.", dispatch); ok(!dispatch, "Expected NULL dispatch, got %p.", dispatch);
ISpResourceManager_Release(resource_manager); ISpResourceManager_Release(resource_manager);

View file

@ -31,7 +31,7 @@ static void _expect_ref(IUnknown *obj, ULONG ref, int line)
ULONG rc; ULONG rc;
IUnknown_AddRef(obj); IUnknown_AddRef(obj);
rc = IUnknown_Release(obj); rc = IUnknown_Release(obj);
ok_(__FILE__,line)(rc == ref, "Unexpected refcount %d, expected %d.\n", rc, ref); ok_(__FILE__,line)(rc == ref, "Unexpected refcount %ld, expected %ld.\n", rc, ref);
} }
static void test_interfaces(void) static void test_interfaces(void)
@ -43,19 +43,19 @@ static void test_interfaces(void)
hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpStream, (void **)&speech_stream); &IID_ISpStream, (void **)&speech_stream);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#lx.\n", hr);
EXPECT_REF(speech_stream, 1); EXPECT_REF(speech_stream, 1);
hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void **)&unk); &IID_IUnknown, (void **)&unk);
ok(hr == S_OK, "Failed to create IUnknown interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IUnknown interface: %#lx.\n", hr);
EXPECT_REF(unk, 1); EXPECT_REF(unk, 1);
EXPECT_REF(speech_stream, 1); EXPECT_REF(speech_stream, 1);
IUnknown_Release(unk); IUnknown_Release(unk);
hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpStream, NULL, CLSCTX_INPROC_SERVER,
&IID_IDispatch, (void **)&dispatch); &IID_IDispatch, (void **)&dispatch);
ok(hr == E_NOINTERFACE, "Succeeded to create IDispatch interface: %#x.\n", hr); ok(hr == E_NOINTERFACE, "Succeeded to create IDispatch interface: %#lx.\n", hr);
ok(!dispatch, "Expected NULL dispatch, got %p.", dispatch); ok(!dispatch, "Expected NULL dispatch, got %p.", dispatch);
ISpStream_Release(speech_stream); ISpStream_Release(speech_stream);

View file

@ -35,16 +35,16 @@ static void test_data_key(void)
hr = CoCreateInstance( &CLSID_SpDataKey, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpDataKey, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpRegDataKey, (void **)&data_key ); &IID_ISpRegDataKey, (void **)&data_key );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
res = RegCreateKeyExA( HKEY_CURRENT_USER, "Software\\Winetest\\sapi", 0, NULL, 0, KEY_ALL_ACCESS, res = RegCreateKeyExA( HKEY_CURRENT_USER, "Software\\Winetest\\sapi", 0, NULL, 0, KEY_ALL_ACCESS,
NULL, &key, NULL ); NULL, &key, NULL );
ok( res == ERROR_SUCCESS, "got %d\n", res ); ok( res == ERROR_SUCCESS, "got %ld\n", res );
hr = ISpRegDataKey_SetKey( data_key, key, FALSE ); hr = ISpRegDataKey_SetKey( data_key, key, FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpRegDataKey_SetKey( data_key, key, FALSE ); hr = ISpRegDataKey_SetKey( data_key, key, FALSE );
ok( hr == SPERR_ALREADY_INITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_ALREADY_INITIALIZED, "got %08lx\n", hr );
ISpRegDataKey_Release( data_key ); ISpRegDataKey_Release( data_key );
} }
@ -58,25 +58,25 @@ static void test_token_category(void)
hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectTokenCategory, (void **)&cat ); &IID_ISpObjectTokenCategory, (void **)&cat );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_EnumTokens( cat, NULL, NULL, &enum_tokens ); hr = ISpObjectTokenCategory_EnumTokens( cat, NULL, NULL, &enum_tokens );
ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_SetId( cat, L"bogus", FALSE ); hr = ISpObjectTokenCategory_SetId( cat, L"bogus", FALSE );
ok( hr == SPERR_INVALID_REGISTRY_KEY, "got %08x\n", hr ); ok( hr == SPERR_INVALID_REGISTRY_KEY, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_SetId( cat, SPCAT_VOICES, FALSE ); hr = ISpObjectTokenCategory_SetId( cat, SPCAT_VOICES, FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_SetId( cat, SPCAT_VOICES, FALSE ); hr = ISpObjectTokenCategory_SetId( cat, SPCAT_VOICES, FALSE );
ok( hr == SPERR_ALREADY_INITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_ALREADY_INITIALIZED, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_EnumTokens( cat, NULL, NULL, &enum_tokens ); hr = ISpObjectTokenCategory_EnumTokens( cat, NULL, NULL, &enum_tokens );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = IEnumSpObjectTokens_GetCount( enum_tokens, &count ); hr = IEnumSpObjectTokens_GetCount( enum_tokens, &count );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
IEnumSpObjectTokens_Release( enum_tokens ); IEnumSpObjectTokens_Release( enum_tokens );
ISpObjectTokenCategory_Release( cat ); ISpObjectTokenCategory_Release( cat );
@ -91,26 +91,26 @@ static void test_token_enum(void)
hr = CoCreateInstance( &CLSID_SpObjectTokenEnum, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectTokenEnum, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectTokenEnumBuilder, (void **)&token_enum ); &IID_ISpObjectTokenEnumBuilder, (void **)&token_enum );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectTokenEnumBuilder_GetCount( token_enum, &count ); hr = ISpObjectTokenEnumBuilder_GetCount( token_enum, &count );
ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
hr = ISpObjectTokenEnumBuilder_Next( token_enum, 1, &token, &count ); hr = ISpObjectTokenEnumBuilder_Next( token_enum, 1, &token, &count );
ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
hr = ISpObjectTokenEnumBuilder_SetAttribs( token_enum, NULL, NULL ); hr = ISpObjectTokenEnumBuilder_SetAttribs( token_enum, NULL, NULL );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
count = 0xdeadbeef; count = 0xdeadbeef;
hr = ISpObjectTokenEnumBuilder_GetCount( token_enum, &count ); hr = ISpObjectTokenEnumBuilder_GetCount( token_enum, &count );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
ok( count == 0, "got %u\n", count ); ok( count == 0, "got %lu\n", count );
count = 0xdeadbeef; count = 0xdeadbeef;
hr = ISpObjectTokenEnumBuilder_Next( token_enum, 1, &token, &count ); hr = ISpObjectTokenEnumBuilder_Next( token_enum, 1, &token, &count );
ok( hr == S_FALSE, "got %08x\n", hr ); ok( hr == S_FALSE, "got %08lx\n", hr );
ok( count == 0, "got %u\n", count ); ok( count == 0, "got %lu\n", count );
ISpObjectTokenEnumBuilder_Release( token_enum ); ISpObjectTokenEnumBuilder_Release( token_enum );
} }
@ -126,21 +126,21 @@ static void test_default_token_id(void)
hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectTokenCategory, (void **)&cat ); &IID_ISpObjectTokenCategory, (void **)&cat );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
token_id = (LPWSTR)0xdeadbeef; token_id = (LPWSTR)0xdeadbeef;
hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id ); hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id );
ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
ok( token_id == (LPWSTR)0xdeadbeef, "got %p\n", token_id ); ok( token_id == (LPWSTR)0xdeadbeef, "got %p\n", token_id );
hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, NULL ); hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, NULL );
ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_SetId( cat, SPCAT_AUDIOOUT, FALSE ); hr = ISpObjectTokenCategory_SetId( cat, SPCAT_AUDIOOUT, FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, NULL ); hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, NULL );
ok( hr == E_POINTER, "got %08x\n", hr ); ok( hr == E_POINTER, "got %08lx\n", hr );
token_id = (LPWSTR)0xdeadbeef; token_id = (LPWSTR)0xdeadbeef;
hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id ); hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id );
@ -152,7 +152,7 @@ static void test_default_token_id(void)
return; return;
} }
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
ok( token_id != (LPWSTR)0xdeadbeef && token_id != NULL, "got %p\n", token_id ); ok( token_id != (LPWSTR)0xdeadbeef && token_id != NULL, "got %p\n", token_id );
regvalue_size = sizeof( regvalue ); regvalue_size = sizeof( regvalue );
@ -163,7 +163,7 @@ static void test_default_token_id(void)
skip( "DefaultDefaultTokenId not found for AudioOutput category (%s)\n", skip( "DefaultDefaultTokenId not found for AudioOutput category (%s)\n",
wine_dbgstr_w(token_id) ); wine_dbgstr_w(token_id) );
} else { } else {
ok( res == ERROR_SUCCESS, "got %08x\n", res ); ok( res == ERROR_SUCCESS, "got %08lx\n", res );
ok( !wcscmp(regvalue, token_id), ok( !wcscmp(regvalue, token_id),
"GetDefaultTokenId (%s) should be equal to the DefaultDefaultTokenId key (%s)\n", "GetDefaultTokenId (%s) should be equal to the DefaultDefaultTokenId key (%s)\n",
wine_dbgstr_w(token_id), wine_dbgstr_w(regvalue) ); wine_dbgstr_w(token_id), wine_dbgstr_w(regvalue) );
@ -182,52 +182,52 @@ static void test_object_token(void)
hr = CoCreateInstance( &CLSID_SpObjectToken, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectToken, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectToken, (void **)&token ); &IID_ISpObjectToken, (void **)&token );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectToken_GetId( token, NULL ); hr = ISpObjectToken_GetId( token, NULL );
todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
tempW = (LPWSTR)0xdeadbeef; tempW = (LPWSTR)0xdeadbeef;
hr = ISpObjectToken_GetId( token, &tempW ); hr = ISpObjectToken_GetId( token, &tempW );
todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
ok( tempW == (LPWSTR)0xdeadbeef, "got %s\n", wine_dbgstr_w(tempW) ); ok( tempW == (LPWSTR)0xdeadbeef, "got %s\n", wine_dbgstr_w(tempW) );
hr = ISpObjectToken_GetCategory( token, NULL ); hr = ISpObjectToken_GetCategory( token, NULL );
todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
cat = (LPVOID)0xdeadbeef; cat = (LPVOID)0xdeadbeef;
hr = ISpObjectToken_GetCategory( token, &cat ); hr = ISpObjectToken_GetCategory( token, &cat );
todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08x\n", hr ); todo_wine ok( hr == SPERR_UNINITIALIZED, "got %08lx\n", hr );
ok( cat == (LPVOID)0xdeadbeef, "got %p\n", cat ); ok( cat == (LPVOID)0xdeadbeef, "got %p\n", cat );
hr = ISpObjectToken_SetId( token, NULL, NULL, FALSE ); hr = ISpObjectToken_SetId( token, NULL, NULL, FALSE );
ok( hr == E_POINTER, "got %08x\n", hr ); ok( hr == E_POINTER, "got %08lx\n", hr );
hr = ISpObjectToken_SetId( token, L"bogus", NULL, FALSE ); hr = ISpObjectToken_SetId( token, L"bogus", NULL, FALSE );
ok( hr == E_POINTER, "got %08x\n", hr ); ok( hr == E_POINTER, "got %08lx\n", hr );
hr = ISpObjectToken_SetId( token, NULL, L"bogus", FALSE ); hr = ISpObjectToken_SetId( token, NULL, L"bogus", FALSE );
ok( hr == SPERR_NOT_FOUND, "got %08x\n", hr ); ok( hr == SPERR_NOT_FOUND, "got %08lx\n", hr );
hr = ISpObjectToken_SetId( token, NULL, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\winetest bogus", FALSE ); hr = ISpObjectToken_SetId( token, NULL, L"HKEY_LOCAL_MACHINE\\SOFTWARE\\winetest bogus", FALSE );
ok( hr == SPERR_NOT_FOUND, "got %08x\n", hr ); ok( hr == SPERR_NOT_FOUND, "got %08lx\n", hr );
/* SetId succeeds even if the key is invalid, but exists */ /* SetId succeeds even if the key is invalid, but exists */
hr = ISpObjectToken_SetId( token, NULL, L"HKEY_LOCAL_MACHINE\\SOFTWARE", FALSE ); hr = ISpObjectToken_SetId( token, NULL, L"HKEY_LOCAL_MACHINE\\SOFTWARE", FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectToken_SetId( token, NULL, NULL, FALSE ); hr = ISpObjectToken_SetId( token, NULL, NULL, FALSE );
ok( hr == SPERR_ALREADY_INITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_ALREADY_INITIALIZED, "got %08lx\n", hr );
hr = ISpObjectToken_SetId( token, NULL, L"bogus", FALSE ); hr = ISpObjectToken_SetId( token, NULL, L"bogus", FALSE );
ok( hr == SPERR_ALREADY_INITIALIZED, "got %08x\n", hr ); ok( hr == SPERR_ALREADY_INITIALIZED, "got %08lx\n", hr );
hr = ISpObjectToken_GetId( token, NULL ); hr = ISpObjectToken_GetId( token, NULL );
todo_wine ok( hr == E_POINTER, "got %08x\n", hr ); todo_wine ok( hr == E_POINTER, "got %08lx\n", hr );
hr = ISpObjectToken_GetCategory( token, NULL ); hr = ISpObjectToken_GetCategory( token, NULL );
todo_wine ok( hr == E_POINTER, "got %08x\n", hr ); todo_wine ok( hr == E_POINTER, "got %08lx\n", hr );
tempW = NULL; tempW = NULL;
hr = ISpObjectToken_GetId( token, &tempW ); hr = ISpObjectToken_GetId( token, &tempW );
todo_wine ok( hr == S_OK, "got %08x\n", hr ); todo_wine ok( hr == S_OK, "got %08lx\n", hr );
todo_wine ok( tempW != NULL, "got %p\n", tempW ); todo_wine ok( tempW != NULL, "got %p\n", tempW );
if (tempW) { if (tempW) {
ok( !wcscmp(tempW, L"HKEY_LOCAL_MACHINE\\SOFTWARE"), "got %s\n", ok( !wcscmp(tempW, L"HKEY_LOCAL_MACHINE\\SOFTWARE"), "got %s\n",
@ -237,22 +237,22 @@ static void test_object_token(void)
cat = (LPVOID)0xdeadbeef; cat = (LPVOID)0xdeadbeef;
hr = ISpObjectToken_GetCategory( token, &cat ); hr = ISpObjectToken_GetCategory( token, &cat );
todo_wine ok( hr == SPERR_INVALID_REGISTRY_KEY, "got %08x\n", hr ); todo_wine ok( hr == SPERR_INVALID_REGISTRY_KEY, "got %08lx\n", hr );
ok( cat == (LPVOID)0xdeadbeef, "got %p\n", cat ); ok( cat == (LPVOID)0xdeadbeef, "got %p\n", cat );
/* get the default token id for SPCAT_AUDIOOUT */ /* get the default token id for SPCAT_AUDIOOUT */
hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectTokenCategory, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectTokenCategory, (void **)&cat ); &IID_ISpObjectTokenCategory, (void **)&cat );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
hr = ISpObjectTokenCategory_SetId( cat, SPCAT_AUDIOOUT, FALSE ); hr = ISpObjectTokenCategory_SetId( cat, SPCAT_AUDIOOUT, FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
token_id = (LPWSTR)0xdeadbeef; token_id = (LPWSTR)0xdeadbeef;
hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id ); hr = ISpObjectTokenCategory_GetDefaultTokenId( cat, &token_id );
if (hr == SPERR_NOT_FOUND) { if (hr == SPERR_NOT_FOUND) {
skip( "AudioOutput category not found for GetDefaultTokenId\n" ); skip( "AudioOutput category not found for GetDefaultTokenId\n" );
return; return;
} }
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
ok( token_id != (LPWSTR)0xdeadbeef && token_id != NULL, "got %p\n", token_id ); ok( token_id != (LPWSTR)0xdeadbeef && token_id != NULL, "got %p\n", token_id );
ISpObjectTokenCategory_Release( cat ); ISpObjectTokenCategory_Release( cat );
@ -260,15 +260,15 @@ static void test_object_token(void)
ISpObjectToken_Release( token ); ISpObjectToken_Release( token );
hr = CoCreateInstance( &CLSID_SpObjectToken, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance( &CLSID_SpObjectToken, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpObjectToken, (void **)&token ); &IID_ISpObjectToken, (void **)&token );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
/* NULL appears to auto-detect the category */ /* NULL appears to auto-detect the category */
hr = ISpObjectToken_SetId( token, NULL, token_id, FALSE ); hr = ISpObjectToken_SetId( token, NULL, token_id, FALSE );
ok( hr == S_OK, "got %08x\n", hr ); ok( hr == S_OK, "got %08lx\n", hr );
tempW = NULL; tempW = NULL;
hr = ISpObjectToken_GetId( token, &tempW ); hr = ISpObjectToken_GetId( token, &tempW );
todo_wine ok( hr == S_OK, "got %08x\n", hr ); todo_wine ok( hr == S_OK, "got %08lx\n", hr );
todo_wine ok( tempW != NULL, "got %p\n", tempW ); todo_wine ok( tempW != NULL, "got %p\n", tempW );
if (tempW) { if (tempW) {
ok( !wcsncmp(tempW, token_id, wcslen(token_id)), ok( !wcsncmp(tempW, token_id, wcslen(token_id)),
@ -278,12 +278,12 @@ static void test_object_token(void)
cat = (LPVOID)0xdeadbeef; cat = (LPVOID)0xdeadbeef;
hr = ISpObjectToken_GetCategory( token, &cat ); hr = ISpObjectToken_GetCategory( token, &cat );
todo_wine ok( hr == S_OK, "got %08x\n", hr ); todo_wine ok( hr == S_OK, "got %08lx\n", hr );
todo_wine ok( cat != (LPVOID)0xdeadbeef, "got %p\n", cat ); todo_wine ok( cat != (LPVOID)0xdeadbeef, "got %p\n", cat );
if (cat != (LPVOID)0xdeadbeef) { if (cat != (LPVOID)0xdeadbeef) {
tempW = NULL; tempW = NULL;
hr = ISpObjectTokenCategory_GetId( cat, &tempW ); hr = ISpObjectTokenCategory_GetId( cat, &tempW );
todo_wine ok( hr == S_OK, "got %08x\n", hr ); todo_wine ok( hr == S_OK, "got %08lx\n", hr );
todo_wine ok( tempW != NULL, "got %p\n", tempW ); todo_wine ok( tempW != NULL, "got %p\n", tempW );
if (tempW) { if (tempW) {
ok( !wcscmp(tempW, SPCAT_AUDIOOUT), "got %s\n", wine_dbgstr_w(tempW) ); ok( !wcscmp(tempW, SPCAT_AUDIOOUT), "got %s\n", wine_dbgstr_w(tempW) );

View file

@ -31,7 +31,7 @@ static void _expect_ref(IUnknown *obj, ULONG ref, int line)
ULONG rc; ULONG rc;
IUnknown_AddRef(obj); IUnknown_AddRef(obj);
rc = IUnknown_Release(obj); rc = IUnknown_Release(obj);
ok_(__FILE__,line)(rc == ref, "Unexpected refcount %d, expected %d.\n", rc, ref); ok_(__FILE__,line)(rc == ref, "Unexpected refcount %ld, expected %ld.\n", rc, ref);
} }
static void test_interfaces(void) static void test_interfaces(void)
@ -45,38 +45,38 @@ static void test_interfaces(void)
hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpeechVoice, (void **)&speech_voice); &IID_ISpeechVoice, (void **)&speech_voice);
ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpeechVoice interface: %#lx.\n", hr);
EXPECT_REF(speech_voice, 1); EXPECT_REF(speech_voice, 1);
hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER,
&IID_IDispatch, (void **)&dispatch); &IID_IDispatch, (void **)&dispatch);
ok(hr == S_OK, "Failed to create IDispatch interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IDispatch interface: %#lx.\n", hr);
EXPECT_REF(dispatch, 1); EXPECT_REF(dispatch, 1);
EXPECT_REF(speech_voice, 1); EXPECT_REF(speech_voice, 1);
IDispatch_Release(dispatch); IDispatch_Release(dispatch);
hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void **)&unk); &IID_IUnknown, (void **)&unk);
ok(hr == S_OK, "Failed to create IUnknown interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create IUnknown interface: %#lx.\n", hr);
EXPECT_REF(unk, 1); EXPECT_REF(unk, 1);
EXPECT_REF(speech_voice, 1); EXPECT_REF(speech_voice, 1);
IUnknown_Release(unk); IUnknown_Release(unk);
hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER,
&IID_ISpVoice, (void **)&spvoice); &IID_ISpVoice, (void **)&spvoice);
ok(hr == S_OK, "Failed to create ISpVoice interface: %#x.\n", hr); ok(hr == S_OK, "Failed to create ISpVoice interface: %#lx.\n", hr);
EXPECT_REF(spvoice, 1); EXPECT_REF(spvoice, 1);
EXPECT_REF(speech_voice, 1); EXPECT_REF(speech_voice, 1);
hr = ISpVoice_QueryInterface(spvoice, &IID_ISpeechVoice, (void **)&speech_voice2); hr = ISpVoice_QueryInterface(spvoice, &IID_ISpeechVoice, (void **)&speech_voice2);
ok(hr == S_OK, "ISpVoice_QueryInterface failed: %#x.\n", hr); ok(hr == S_OK, "ISpVoice_QueryInterface failed: %#lx.\n", hr);
EXPECT_REF(speech_voice2, 2); EXPECT_REF(speech_voice2, 2);
EXPECT_REF(spvoice, 2); EXPECT_REF(spvoice, 2);
EXPECT_REF(speech_voice, 1); EXPECT_REF(speech_voice, 1);
ISpeechVoice_Release(speech_voice2); ISpeechVoice_Release(speech_voice2);
hr = ISpeechVoice_QueryInterface(speech_voice, &IID_ISpVoice, (void **)&spvoice2); hr = ISpeechVoice_QueryInterface(speech_voice, &IID_ISpVoice, (void **)&spvoice2);
ok(hr == S_OK, "ISpeechVoice_QueryInterface failed: %#x.\n", hr); ok(hr == S_OK, "ISpeechVoice_QueryInterface failed: %#lx.\n", hr);
EXPECT_REF(speech_voice, 2); EXPECT_REF(speech_voice, 2);
EXPECT_REF(spvoice2, 2); EXPECT_REF(spvoice2, 2);
EXPECT_REF(spvoice, 1); EXPECT_REF(spvoice, 1);
@ -85,7 +85,7 @@ static void test_interfaces(void)
hr = ISpeechVoice_QueryInterface(speech_voice, &IID_IConnectionPointContainer, hr = ISpeechVoice_QueryInterface(speech_voice, &IID_IConnectionPointContainer,
(void **)&container); (void **)&container);
ok(hr == S_OK, "ISpeechVoice_QueryInterface failed: %#x.\n", hr); ok(hr == S_OK, "ISpeechVoice_QueryInterface failed: %#lx.\n", hr);
EXPECT_REF(speech_voice, 2); EXPECT_REF(speech_voice, 2);
EXPECT_REF(container, 2); EXPECT_REF(container, 2);
IConnectionPointContainer_Release(container); IConnectionPointContainer_Release(container);