diff --git a/dlls/mmdevapi/mmdevapi.h b/dlls/mmdevapi/mmdevapi.h index db91e333cc8..d694a3930aa 100644 --- a/dlls/mmdevapi/mmdevapi.h +++ b/dlls/mmdevapi/mmdevapi.h @@ -16,20 +16,13 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#include "unixlib.h" + #include extern HRESULT MMDevEnum_Create(REFIID riid, void **ppv) DECLSPEC_HIDDEN; extern void MMDevEnum_Free(void) DECLSPEC_HIDDEN; - -/* Changes to this enum must be synced in drivers. */ -enum _DriverPriority { - Priority_Unavailable = 0, /* driver won't work */ - Priority_Low, /* driver may work, but unlikely */ - Priority_Neutral, /* driver makes no judgment */ - Priority_Preferred /* driver thinks it's correct */ -}; - typedef struct _DriverFuncs { HMODULE module; WCHAR module_name[64]; diff --git a/dlls/mmdevapi/unixlib.h b/dlls/mmdevapi/unixlib.h index 163272c4398..97a35ffbc4d 100644 --- a/dlls/mmdevapi/unixlib.h +++ b/dlls/mmdevapi/unixlib.h @@ -22,6 +22,14 @@ typedef UINT64 stream_handle; +enum driver_priority +{ + Priority_Unavailable = 0, /* driver won't work */ + Priority_Low, /* driver may work, but unlikely */ + Priority_Neutral, /* driver makes no judgment */ + Priority_Preferred /* driver thinks it's correct */ +}; + struct endpoint { unsigned int name; @@ -211,7 +219,7 @@ struct set_event_handle_params struct test_connect_params { const char *name; - HRESULT result; + enum driver_priority priority; }; struct is_started_params @@ -273,6 +281,16 @@ struct midi_notify_wait_params struct notify_context *notify; }; +struct aux_message_params +{ + UINT dev_id; + UINT msg; + UINT_PTR user; + UINT_PTR param_1; + UINT_PTR param_2; + UINT *err; +}; + enum unix_funcs { process_attach, @@ -307,4 +325,5 @@ enum unix_funcs midi_out_message, midi_in_message, midi_notify_wait, + aux_message, }; diff --git a/dlls/winealsa.drv/alsa.c b/dlls/winealsa.drv/alsa.c index 7ac404fd6a4..c3daf25c85e 100644 --- a/dlls/winealsa.drv/alsa.c +++ b/dlls/winealsa.drv/alsa.c @@ -2463,6 +2463,7 @@ unixlib_entry_t __wine_unix_call_funcs[] = alsa_midi_out_message, alsa_midi_in_message, alsa_midi_notify_wait, + NULL, }; #ifdef _WIN64 @@ -2880,6 +2881,7 @@ unixlib_entry_t __wine_unix_call_wow64_funcs[] = alsa_wow64_midi_out_message, alsa_wow64_midi_in_message, alsa_wow64_midi_notify_wait, + NULL, }; #endif /* _WIN64 */ diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 8c3d4c0340f..ad322ccfa96 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -216,14 +216,6 @@ BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) return TRUE; } -/* From */ -enum DriverPriority { - Priority_Unavailable = 0, - Priority_Low, - Priority_Neutral, - Priority_Preferred -}; - int WINAPI AUDDRV_GetPriority(void) { return Priority_Neutral; diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index 78aad939198..d6765d4e26c 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -56,14 +56,6 @@ static unixlib_handle_t pulse_handle; #define NULL_PTR_ERR MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, RPC_X_NULL_REF_POINTER) -/* From */ -enum DriverPriority { - Priority_Unavailable = 0, - Priority_Low, - Priority_Neutral, - Priority_Preferred -}; - static HANDLE pulse_thread; static struct list g_sessions = LIST_INIT(g_sessions); static struct list g_devices_cache = LIST_INIT(g_devices_cache); @@ -493,10 +485,10 @@ int WINAPI AUDDRV_GetPriority(void) struct test_connect_params params; char *name; - params.name = name = get_application_name(FALSE); + params.name = name = get_application_name(FALSE); pulse_call(test_connect, ¶ms); free(name); - return SUCCEEDED(params.result) ? Priority_Preferred : Priority_Unavailable; + return params.priority; } static BOOL get_pulse_name_by_guid(const GUID *guid, char pulse_name[MAX_PULSE_NAME_LEN], EDataFlow *flow) diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c index a75184e712a..cbd9b3b97ae 100644 --- a/dlls/winepulse.drv/pulse.c +++ b/dlls/winepulse.drv/pulse.c @@ -773,7 +773,7 @@ static NTSTATUS pulse_test_connect(void *args) pa_mainloop_free(pulse_ml); pulse_ml = NULL; pulse_unlock(); - params->result = E_FAIL; + params->priority = Priority_Unavailable; return STATUS_SUCCESS; } @@ -839,7 +839,7 @@ static NTSTATUS pulse_test_connect(void *args) pulse_unlock(); - params->result = S_OK; + params->priority = Priority_Preferred; return STATUS_SUCCESS; fail: @@ -848,7 +848,7 @@ fail: pa_mainloop_free(pulse_ml); pulse_ml = NULL; pulse_unlock(); - params->result = E_FAIL; + params->priority = Priority_Unavailable; return STATUS_SUCCESS; } @@ -2392,6 +2392,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = NULL, NULL, NULL, + NULL, }; #ifdef _WIN64 @@ -2734,14 +2735,14 @@ static NTSTATUS pulse_wow64_test_connect(void *args) struct { PTR32 name; - HRESULT result; + enum driver_priority priority; } *params32 = args; struct test_connect_params params = { .name = ULongToPtr(params32->name), }; pulse_test_connect(¶ms); - params32->result = params.result; + params32->priority = params.priority; return STATUS_SUCCESS; } @@ -2835,6 +2836,7 @@ const unixlib_entry_t __wine_unix_call_wow64_funcs[] = NULL, NULL, NULL, + NULL, }; #endif /* _WIN64 */