summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c77
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c19
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h15
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c189
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h13
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c28
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h24
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c42
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h14
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java5
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java14
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROPERTYKEY.java18
13 files changed, 343 insertions, 118 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
index e84c20de12..b06f7313ee 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c
@@ -2291,29 +2291,6 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IIJJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJ) && defined(JNI64))
-#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3)
-#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3)
-#endif
-{
- jint rc = 0;
-#ifndef JNI64
- COM_NATIVE_ENTER(env, that, VtblCall__IIJJ_FUNC);
-#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJJ_FUNC);
-#endif
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
-#ifndef JNI64
- COM_NATIVE_EXIT(env, that, VtblCall__IIJJ_FUNC);
-#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJJ_FUNC);
-#endif
- return rc;
-}
-#endif
-
#if (!defined(NO_VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3, jobject arg4, jlong arg5, jlongArray arg6)
@@ -3245,60 +3222,6 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJZ)(JNIEnv *env, jclass that, jint
}
#endif
-#if (!defined(NO_VtblCall__II_3C) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3C) && defined(JNI64))
-#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3C)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2)
-#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2)
-#endif
-{
- jchar *lparg2=NULL;
- jint rc = 0;
-#ifndef JNI64
- COM_NATIVE_ENTER(env, that, VtblCall__II_3C_FUNC);
-#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJ_3C_FUNC);
-#endif
- if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *))(*(jintLong **)arg1)[arg0])(arg1, lparg2);
-fail:
- if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-#ifndef JNI64
- COM_NATIVE_EXIT(env, that, VtblCall__II_3C_FUNC);
-#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJ_3C_FUNC);
-#endif
- return rc;
-}
-#endif
-
-#if (!defined(NO_VtblCall__II_3CI) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CI) && defined(JNI64))
-#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
-#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
-#endif
-{
- jchar *lparg2=NULL;
- jint rc = 0;
-#ifndef JNI64
- COM_NATIVE_ENTER(env, that, VtblCall__II_3CI_FUNC);
-#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CI_FUNC);
-#endif
- if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
-fail:
- if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
-#ifndef JNI64
- COM_NATIVE_EXIT(env, that, VtblCall__II_3CI_FUNC);
-#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CI_FUNC);
-#endif
- return rc;
-}
-#endif
-
#if (!defined(NO_VtblCall__II_3CIIII_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CIIII_3I) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CIIII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
index 6e6fb0b45e..d63b30b768 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int COM_nativeFunctionCount = 182;
-int COM_nativeFunctionCallCount[182];
+int COM_nativeFunctionCount = 179;
+int COM_nativeFunctionCallCount[179];
char * COM_nativeFunctionNames[] = {
"AccessibleObjectFromWindow",
"CALLBACK_1setCurrentValue",
@@ -328,11 +328,6 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJJI_3J",
#endif
#ifndef JNI64
- "VtblCall__IIJJ",
-#else
- "VtblCall__IJJJ",
-#endif
-#ifndef JNI64
"VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J",
#else
"VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J",
@@ -498,16 +493,6 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJZ",
#endif
#ifndef JNI64
- "VtblCall__II_3C",
-#else
- "VtblCall__IJ_3C",
-#endif
-#ifndef JNI64
- "VtblCall__II_3CI",
-#else
- "VtblCall__IJ_3CI",
-#endif
-#ifndef JNI64
"VtblCall__II_3CIIII_3I",
#else
"VtblCall__IJ_3CIIII_3I",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
index 3b78ebd7fa..a950cd9fa0 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h
@@ -336,11 +336,6 @@ typedef enum {
VtblCall__IJJI_3J_FUNC,
#endif
#ifndef JNI64
- VtblCall__IIJJ_FUNC,
-#else
- VtblCall__IJJJ_FUNC,
-#endif
-#ifndef JNI64
VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC,
#else
VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC,
@@ -506,16 +501,6 @@ typedef enum {
VtblCall__IJZ_FUNC,
#endif
#ifndef JNI64
- VtblCall__II_3C_FUNC,
-#else
- VtblCall__IJ_3C_FUNC,
-#endif
-#ifndef JNI64
- VtblCall__II_3CI_FUNC,
-#else
- VtblCall__IJ_3CI_FUNC,
-#endif
-#ifndef JNI64
VtblCall__II_3CIIII_3I_FUNC,
#else
VtblCall__IJ_3CIIII_3I_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
index 92744afdc1..96f39d1ad8 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
@@ -11672,6 +11672,57 @@ JNIEXPORT jint JNICALL OS_NATIVE(PROCESS_1INFORMATION_1sizeof)
}
#endif
+#ifndef NO_PROPERTYKEY_1sizeof
+JNIEXPORT jint JNICALL OS_NATIVE(PROPERTYKEY_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, PROPERTYKEY_1sizeof_FUNC);
+ rc = (jint)PROPERTYKEY_sizeof();
+ OS_NATIVE_EXIT(env, that, PROPERTYKEY_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_PROPVARIANT_1sizeof
+JNIEXPORT jint JNICALL OS_NATIVE(PROPVARIANT_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, PROPVARIANT_1sizeof_FUNC);
+ rc = (jint)PROPVARIANT_sizeof();
+ OS_NATIVE_EXIT(env, that, PROPVARIANT_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_PSPropertyKeyFromString
+JNIEXPORT jint JNICALL OS_NATIVE(PSPropertyKeyFromString)
+ (JNIEnv *env, jclass that, jcharArray arg0, jobject arg1)
+{
+ jchar *lparg0=NULL;
+ PROPERTYKEY _arg1, *lparg1=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, PSPropertyKeyFromString_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ if (arg1) if ((lparg1 = getPROPERTYKEYFields(env, arg1, &_arg1)) == NULL) goto fail;
+/*
+ rc = (jint)PSPropertyKeyFromString(lparg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, PSPropertyKeyFromString)
+ if (fp) {
+ rc = (jint)((jint (CALLING_CONVENTION*)(jchar *, PROPERTYKEY *))fp)(lparg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) setPROPERTYKEYFields(env, arg1, lparg1);
+ if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, PSPropertyKeyFromString_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_PatBlt
JNIEXPORT jboolean JNICALL OS_NATIVE(PatBlt)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
@@ -15381,6 +15432,30 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(SetClipboardData)
}
#endif
+#ifndef NO_SetCurrentProcessExplicitAppUserModelID
+JNIEXPORT jint JNICALL OS_NATIVE(SetCurrentProcessExplicitAppUserModelID)
+ (JNIEnv *env, jclass that, jcharArray arg0)
+{
+ jchar *lparg0=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, SetCurrentProcessExplicitAppUserModelID_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jint)SetCurrentProcessExplicitAppUserModelID(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, SetCurrentProcessExplicitAppUserModelID)
+ if (fp) {
+ rc = (jint)((jint (CALLING_CONVENTION*)(jchar *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, SetCurrentProcessExplicitAppUserModelID_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_SetCursor
JNIEXPORT jintLong JNICALL OS_NATIVE(SetCursor)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -17305,6 +17380,33 @@ JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IJJJJ)(JNIEnv *env, jclass that, jint
}
#endif
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3)
+#else
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3)
+#endif
+{
+ PROPERTYKEY _arg2, *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC);
+#endif
+ if (arg2) if ((lparg2 = getPROPERTYKEYFields(env, arg2, &_arg2)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, PROPERTYKEY *, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+fail:
+ if (arg2 && lparg2) setPROPERTYKEYFields(env, arg2, lparg2);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2)
@@ -17395,6 +17497,60 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__II_3C) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3C) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3C)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2)
+#else
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IJ_3C)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2)
+#endif
+{
+ jchar *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, VtblCall__II_3C_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, VtblCall__IJ_3C_FUNC);
+#endif
+ if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *))(*(jintLong **)arg1)[arg0])(arg1, lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, VtblCall__II_3C_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, VtblCall__IJ_3C_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__II_3CI) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CI) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
+#else
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IJ_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
+#endif
+{
+ jchar *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, VtblCall__II_3CI_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, VtblCall__IJ_3CI_FUNC);
+#endif
+ if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, VtblCall__II_3CI_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, VtblCall__IJ_3CI_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__II_3CII_3I_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CII_3I_3I) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3CII_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3, jint arg4, jintArray arg5, jintArray arg6)
@@ -17455,6 +17611,39 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__II_3I_3B_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3I_3B_3I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3I_3B_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintArray arg2, jbyteArray arg3, jintArray arg4)
+#else
+JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__IJ_3I_3B_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintArray arg2, jbyteArray arg3, jintArray arg4)
+#endif
+{
+ jint *lparg2=NULL;
+ jbyte *lparg3=NULL;
+ jint *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, VtblCall__II_3I_3B_3I_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, VtblCall__IJ_3I_3B_3I_FUNC);
+#endif
+ if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint *, jbyte *, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
+ if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, VtblCall__II_3I_3B_3I_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, VtblCall__IJ_3I_3B_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__II_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL OS_NATIVE(VtblCall__II_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlongArray arg2)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
index 13376a951a..27b3629ec4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
@@ -97,6 +97,7 @@
#define NO_OUTLINETEXTMETRICA
#define NO_OUTLINETEXTMETRICW
#define NO_PANOSE
+#define NO_PROPERTYKEY
#define NO_PRINTDLG
#define NO_SCRIPT_ANALYSIS
#define NO_SCRIPT_CONTROL
@@ -417,6 +418,9 @@
#define NO_PrintDlgA
#define NO_PrintDlgW
#define NO_PrintWindow
+#define NO_PROPERTYKEY_1sizeof
+#define NO_PROPVARIANT_1sizeof
+#define NO_PSPropertyKeyFromString
#define NO_RedrawWindow
#define NO_RegEnumKeyExA
#define NO_RegOpenKeyExA
@@ -430,6 +434,7 @@
#define NO_RemovePropA
#define NO_RemovePropW
#define NO_ReplyMessage
+#define NO_SetCurrentProcessExplicitAppUserModelID
#define NO_SetLayeredWindowAttributes
#define NO_SetLayout
#define NO_SetProcessDPIAware
@@ -630,6 +635,14 @@ typedef struct _BP_PAINTPARAMS {
} BP_PAINTPARAMS, *PBP_PAINTPARAMS;
#endif
+#ifndef PROPERTYKEY_DEFINED
+#define PROPERTYKEY_DEFINED
+typedef struct _tagpropertykey {
+ GUID fmtid;
+ DWORD pid;
+} PROPERTYKEY;
+#endif
+
#ifndef _DWM_BLURBEHIND
typedef struct _DWM_BLURBEHIND {
DWORD dwFlags;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
index 3adc1f03d4..393c971de6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h
@@ -11,6 +11,7 @@
/* Special sizeof's */
#define SCRIPT_STRING_ANALYSIS_sizeof() sizeof(SCRIPT_STRING_ANALYSIS)
+#define PROPVARIANT_sizeof() sizeof(PROPVARIANT)
/* Libraries for dynamic loaded functions */
#define ActivateActCtx_LIB "kernel32.dll"
@@ -70,6 +71,8 @@
#define NotifyWinEvent_LIB "user32.dll"
#define OpenThemeData_LIB "uxtheme.dll"
#define PrintWindow_LIB "user32.dll"
+#define PSPropertyKeyFromString_LIB "propsys.dll"
+#define SetCurrentProcessExplicitAppUserModelID_LIB "shell32.dll"
#define SetLayeredWindowAttributes_LIB "user32.dll"
#define SetLayout_LIB "gdi32.dll"
#define SetMenuInfo_LIB "user32.dll"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
index 357d9d78cf..499b171a1a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 990;
-int OS_nativeFunctionCallCount[990];
+int OS_nativeFunctionCount = 998;
+int OS_nativeFunctionCallCount[998];
char * OS_nativeFunctionNames[] = {
"ACCEL_1sizeof",
"ACTCTX_1sizeof",
@@ -1166,6 +1166,9 @@ char * OS_nativeFunctionNames[] = {
"PRIMARYLANGID",
"PRINTDLG_1sizeof",
"PROCESS_1INFORMATION_1sizeof",
+ "PROPERTYKEY_1sizeof",
+ "PROPVARIANT_1sizeof",
+ "PSPropertyKeyFromString",
"PatBlt",
"PathIsExe",
"PeekMessageA",
@@ -1637,6 +1640,7 @@ char * OS_nativeFunctionNames[] = {
"SetCapture",
"SetCaretPos",
"SetClipboardData",
+ "SetCurrentProcessExplicitAppUserModelID",
"SetCursor",
"SetCursorPos",
"SetDIBColorTable",
@@ -1813,6 +1817,11 @@ char * OS_nativeFunctionNames[] = {
"VtblCall__IJJJJ",
#endif
#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I",
+#else
+ "VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I",
+#endif
+#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2",
#else
"VtblCall__IJLorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2",
@@ -1828,6 +1837,16 @@ char * OS_nativeFunctionNames[] = {
"VtblCall__IJ_3B_3J",
#endif
#ifndef JNI64
+ "VtblCall__II_3C",
+#else
+ "VtblCall__IJ_3C",
+#endif
+#ifndef JNI64
+ "VtblCall__II_3CI",
+#else
+ "VtblCall__IJ_3CI",
+#endif
+#ifndef JNI64
"VtblCall__II_3CII_3I_3I",
#else
"VtblCall__IJ_3CII_3I_3I",
@@ -1838,6 +1857,11 @@ char * OS_nativeFunctionNames[] = {
"VtblCall__IJ_3I",
#endif
#ifndef JNI64
+ "VtblCall__II_3I_3B_3I",
+#else
+ "VtblCall__IJ_3I_3B_3I",
+#endif
+#ifndef JNI64
"VtblCall__II_3J",
#else
"VtblCall__IJ_3J",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
index 2e24675614..e856ad76ee 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
@@ -1174,6 +1174,9 @@ typedef enum {
PRIMARYLANGID_FUNC,
PRINTDLG_1sizeof_FUNC,
PROCESS_1INFORMATION_1sizeof_FUNC,
+ PROPERTYKEY_1sizeof_FUNC,
+ PROPVARIANT_1sizeof_FUNC,
+ PSPropertyKeyFromString_FUNC,
PatBlt_FUNC,
PathIsExe_FUNC,
PeekMessageA_FUNC,
@@ -1645,6 +1648,7 @@ typedef enum {
SetCapture_FUNC,
SetCaretPos_FUNC,
SetClipboardData_FUNC,
+ SetCurrentProcessExplicitAppUserModelID_FUNC,
SetCursor_FUNC,
SetCursorPos_FUNC,
SetDIBColorTable_FUNC,
@@ -1821,6 +1825,11 @@ typedef enum {
VtblCall__IJJJJ_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC,
+#else
+ VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2I_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2_FUNC,
#else
VtblCall__IJLorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2_FUNC,
@@ -1836,6 +1845,16 @@ typedef enum {
VtblCall__IJ_3B_3J_FUNC,
#endif
#ifndef JNI64
+ VtblCall__II_3C_FUNC,
+#else
+ VtblCall__IJ_3C_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__II_3CI_FUNC,
+#else
+ VtblCall__IJ_3CI_FUNC,
+#endif
+#ifndef JNI64
VtblCall__II_3CII_3I_3I_FUNC,
#else
VtblCall__IJ_3CII_3I_3I_FUNC,
@@ -1846,6 +1865,11 @@ typedef enum {
VtblCall__IJ_3I_FUNC,
#endif
#ifndef JNI64
+ VtblCall__II_3I_3B_3I_FUNC,
+#else
+ VtblCall__IJ_3I_3B_3I_FUNC,
+#endif
+#ifndef JNI64
VtblCall__II_3J_FUNC,
#else
VtblCall__IJ_3J_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
index eb4851fb66..a7c7a15e6c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -6277,6 +6277,46 @@ void setPROCESS_INFORMATIONFields(JNIEnv *env, jobject lpObject, PROCESS_INFORMA
}
#endif
+#ifndef NO_PROPERTYKEY
+typedef struct PROPERTYKEY_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID fmtid, pid;
+} PROPERTYKEY_FID_CACHE;
+
+PROPERTYKEY_FID_CACHE PROPERTYKEYFc;
+
+void cachePROPERTYKEYFields(JNIEnv *env, jobject lpObject)
+{
+ if (PROPERTYKEYFc.cached) return;
+ PROPERTYKEYFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ PROPERTYKEYFc.fmtid = (*env)->GetFieldID(env, PROPERTYKEYFc.clazz, "fmtid", "[B");
+ PROPERTYKEYFc.pid = (*env)->GetFieldID(env, PROPERTYKEYFc.clazz, "pid", "I");
+ PROPERTYKEYFc.cached = 1;
+}
+
+PROPERTYKEY *getPROPERTYKEYFields(JNIEnv *env, jobject lpObject, PROPERTYKEY *lpStruct)
+{
+ if (!PROPERTYKEYFc.cached) cachePROPERTYKEYFields(env, lpObject);
+ {
+ jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PROPERTYKEYFc.fmtid);
+ (*env)->GetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->fmtid), (jbyte *)&lpStruct->fmtid);
+ }
+ lpStruct->pid = (*env)->GetIntField(env, lpObject, PROPERTYKEYFc.pid);
+ return lpStruct;
+}
+
+void setPROPERTYKEYFields(JNIEnv *env, jobject lpObject, PROPERTYKEY *lpStruct)
+{
+ if (!PROPERTYKEYFc.cached) cachePROPERTYKEYFields(env, lpObject);
+ {
+ jbyteArray lpObject1 = (jbyteArray)(*env)->GetObjectField(env, lpObject, PROPERTYKEYFc.fmtid);
+ (*env)->SetByteArrayRegion(env, lpObject1, 0, sizeof(lpStruct->fmtid), (jbyte *)&lpStruct->fmtid);
+ }
+ (*env)->SetIntField(env, lpObject, PROPERTYKEYFc.pid, (jint)lpStruct->pid);
+}
+#endif
+
#ifndef NO_REBARBANDINFO
typedef struct REBARBANDINFO_FID_CACHE {
int cached;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
index 8099eda64c..b13086fb14 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1283,6 +1283,18 @@ void setPROCESS_INFORMATIONFields(JNIEnv *env, jobject lpObject, PROCESS_INFORMA
#define PROCESS_INFORMATION_sizeof() 0
#endif
+#ifndef NO_PROPERTYKEY
+void cachePROPERTYKEYFields(JNIEnv *env, jobject lpObject);
+PROPERTYKEY *getPROPERTYKEYFields(JNIEnv *env, jobject lpObject, PROPERTYKEY *lpStruct);
+void setPROPERTYKEYFields(JNIEnv *env, jobject lpObject, PROPERTYKEY *lpStruct);
+#define PROPERTYKEY_sizeof() sizeof(PROPERTYKEY)
+#else
+#define cachePROPERTYKEYFields(a,b)
+#define getPROPERTYKEYFields(a,b,c) NULL
+#define setPROPERTYKEYFields(a,b,c)
+#define PROPERTYKEY_sizeof() 0
+#endif
+
#ifndef NO_REBARBANDINFO
void cacheREBARBANDINFOFields(JNIEnv *env, jobject lpObject);
REBARBANDINFO *getREBARBANDINFOFields(JNIEnv *env, jobject lpObject, REBARBANDINFO *lpStruct);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
index 940d0a1987..da0c5918a9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
@@ -420,8 +420,6 @@ public class COM extends OS {
public static final short VT_UI4 = 19;
public static final short VT_UNKNOWN = 13;
public static final short VT_VARIANT = 12;
- public static final short VARIANT_TRUE = -1;
- public static final short VARIANT_FALSE = 0;
public static boolean FreeUnusedLibraries = true;
@@ -662,10 +660,8 @@ public static final native int VariantClear(int /*long*/ pvarg);
/** @param pvarg cast=(VARIANTARG FAR* ) */
public static final native void VariantInit(int /*long*/ pvarg);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, POINT arg2, int arg3);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, POINT arg2, int arg3);
@@ -688,7 +684,6 @@ public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
index 3b7b6ffa61..831cb3c932 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
@@ -2005,6 +2005,10 @@ public class OS extends C {
public static final int VK_APP4 = 0xc4;
public static final int VK_APP5 = 0xc5;
public static final int VK_APP6 = 0xc6;
+ public static final int VT_BOOL = 11;
+ public static final int VT_LPWSTR = 31;
+ public static final short VARIANT_TRUE = -1;
+ public static final short VARIANT_FALSE = 0;
public static final String WC_HEADER = "SysHeader32"; //$NON-NLS-1$
public static final String WC_LINK = "SysLink"; //$NON-NLS-1$
public static final String WC_LISTVIEW = "SysListView32"; //$NON-NLS-1$
@@ -2272,6 +2276,8 @@ public static final native int PANOSE_sizeof ();
public static final native int POINT_sizeof ();
public static final native int PRINTDLG_sizeof ();
public static final native int PROCESS_INFORMATION_sizeof ();
+public static final native int PROPVARIANT_sizeof ();
+public static final native int PROPERTYKEY_sizeof ();
public static final native int REBARBANDINFO_sizeof ();
public static final native int RECT_sizeof ();
public static final native int SAFEARRAY_sizeof ();
@@ -5505,6 +5511,8 @@ public static final native boolean PrintDlgA (PRINTDLG lppd);
* @param hdcBlt cast=(HDC)
*/
public static final native boolean PrintWindow (int /*long*/ hwnd, int /*long*/ hdcBlt, int nFlags);
+/** @method flags=dynamic */
+public static final native int PSPropertyKeyFromString (char[] pszString, PROPERTYKEY pkey);
/**
* @param rect flags=no_out
* @param pt flags=no_out struct
@@ -6244,6 +6252,8 @@ public static final native int /*long*/ SetCapture (int /*long*/ hWnd);
public static final native boolean SetCaretPos (int X, int Y);
/** @param hMem cast=(HANDLE) */
public static final native int /*long*/ SetClipboardData (int uFormat, int /*long*/ hMem);
+/** @method flags=dynamic */
+public static final native int SetCurrentProcessExplicitAppUserModelID (char[] AppID);
/** @param hCursor cast=(HCURSOR) */
public static final native int /*long*/ SetCursor (int /*long*/ hCursor);
public static final native boolean SetCursorPos (int X, int Y);
@@ -6606,6 +6616,10 @@ public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int
public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, int[] arg0, byte[] arg1, int[] arg2);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, char[] arg0);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1);
+public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, PROPERTYKEY arg0, int arg1);
public static final native boolean WaitMessage ();
/**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROPERTYKEY.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROPERTYKEY.java
new file mode 100644
index 0000000000..5cedc78177
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/PROPERTYKEY.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class PROPERTYKEY {
+ /** @field flags=struct */
+ public byte [] fmtid = new byte [16];
+ public int pid;
+ public static final int sizeof = OS.PROPERTYKEY_sizeof ();
+}