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 {