If you know how to patch and compile wine , you could try the attached patch Code: diff --git a/dlls/tapi32/phone.c b/dlls/tapi32/phone.c index 994d787..662d8e8 100644 --- a/dlls/tapi32/phone.c +++ b/dlls/tapi32/phone.c @@ -205,6 +205,27 @@ DWORD WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONE } /*********************************************************************** + * phoneInitializeiExA (TAPI32.@) + */ +DWORD WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams) +{ + FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, lpszAppName, lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams); + *lpdwNumDevs = 0; + return 0; +} + +/*********************************************************************** + * phoneInitializeiExW (TAPI32.@) + */ +DWORD WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp, HINSTANCE hInstance, PHONECALLBACK lpfnCallback, LPCWSTR lpszAppName, LPDWORD lpdwNumDevs, LPDWORD lpdwAPIVersion, LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams) +{ + FIXME("(%p, %p, %p, %s, %p, %p, %p): stub.\n", lphPhoneApp, hInstance, lpfnCallback, debugstr_w(lpszAppName), lpdwNumDevs, lpdwAPIVersion, lpPhoneInitializeExParams); + *lpdwNumDevs = 0; + return 0; +} + + +/*********************************************************************** * phoneNegotiateAPIVersion (TAPI32.@) */ DWORD WINAPI phoneNegotiateAPIVersion(HPHONEAPP hPhoneApp, DWORD dwDeviceID, DWORD dwAPILowVersion, DWORD dwAPIHighVersion, LPDWORD lpdwAPIVersion, LPPHONEEXTENSIONID lpExtensionID) diff --git a/dlls/tapi32/tapi32.spec b/dlls/tapi32/tapi32.spec index ce7a04d..47f30ba 100644 --- a/dlls/tapi32/tapi32.spec +++ b/dlls/tapi32/tapi32.spec @@ -144,6 +144,8 @@ @ stdcall phoneGetStatusMessages(long ptr ptr ptr) @ stdcall phoneGetVolume(long long ptr) @ stdcall phoneInitialize(ptr long ptr str ptr) +@ stdcall phoneInitializeExA(ptr long ptr str ptr ptr ptr) +@ stdcall phoneInitializeExW(ptr long ptr str ptr ptr ptr) @ stdcall phoneNegotiateAPIVersion(long long long long ptr ptr) @ stdcall phoneNegotiateExtVersion(long long long long long ptr) @ stdcall phoneOpen(long long ptr long long long long) diff --git a/include/tapi.h b/include/tapi.h index ca2c4c8..73b699e 100644 --- a/include/tapi.h +++ b/include/tapi.h @@ -846,6 +846,18 @@ typedef struct phonestatus_tag { DWORD dwDevSpecificOffset; } PHONESTATUS, *LPPHONESTATUS; +typedef struct phoneinitializeexparams_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwOptions; + union { + HANDLE hEvent; + HANDLE hCompletionPort; + } Handles; + DWORD dwCompletionKey; +} PHONEINITIALIZEEXPARAMS, *LPPHONEINITIALIZEEXPARAMS; + typedef void (CALLBACK *PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD); typedef struct varstring_tag {