msi/tests: Delete the temp .msi file in all failure cases.
[wine.git] / dlls / sapi / sapi_private.h
blob219436f88c148a6c958350fb5a046fdeeec95efe
1 /*
2 * Speech API (SAPI) private header file.
4 * Copyright (C) 2017 Huw Davies
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "wine/list.h"
23 struct async_task
25 struct list entry;
26 void (*proc)(struct async_task *);
29 struct async_queue
31 BOOL init;
32 HANDLE wait;
33 HANDLE ready;
34 HANDLE empty;
35 HANDLE cancel;
36 struct list tasks;
37 CRITICAL_SECTION cs;
40 HRESULT async_start_queue(struct async_queue *queue);
41 void async_empty_queue(struct async_queue *queue);
42 void async_cancel_queue(struct async_queue *queue);
43 HRESULT async_queue_task(struct async_queue *queue, struct async_task *task);
44 HRESULT async_wait_queue_empty(struct async_queue *queue, DWORD timeout);
46 HRESULT data_key_create( IUnknown *outer, REFIID iid, void **obj );
47 HRESULT file_stream_create( IUnknown *outer, REFIID iid, void **obj );
48 HRESULT resource_manager_create( IUnknown *outer, REFIID iid, void **obj );
49 HRESULT speech_stream_create( IUnknown *outer, REFIID iid, void **obj );
50 HRESULT speech_voice_create( IUnknown *outer, REFIID iid, void **obj );
51 HRESULT mmaudio_out_create( IUnknown *outer, REFIID iid, void **obj );
52 HRESULT token_category_create( IUnknown *outer, REFIID iid, void **obj );
53 HRESULT token_enum_create( IUnknown *outer, REFIID iid, void **obj );
54 HRESULT token_create( IUnknown *outer, REFIID iid, void **obj );
56 enum type_id
58 ISpeechObjectToken_tid,
59 ISpeechObjectTokens_tid,
60 ISpeechVoice_tid,
61 last_tid
64 HRESULT get_typeinfo( enum type_id tid, ITypeInfo **typeinfo );
65 void release_typelib( void );