1 /*******************************************************************************
2  * Copyright (c) 2000, 2012 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.swt.internal.ole.win32;
15 
16 import org.eclipse.swt.internal.win32.*;
17 
18 public class COM extends OS {
19 	/** GUID Constants */
20 	public static final GUID CLSID_CMultiLanguage = IIDFromString("{275c23e2-3747-11d0-9fea-00aa003f8646}");
21 	public static final GUID CLSID_DestinationList = IIDFromString ("{77f10cf0-3db5-4966-b520-b7c54fd35ed6}"); //$NON-NLS-1$
22 	public static final GUID CLSID_DragDropHelper = COM.IIDFromString("{4657278A-411B-11d2-839A-00C04FD918D0}"); //$NON-NLS-1$
23 	public static final GUID CLSID_EnumerableObjectCollection = IIDFromString ("{2d3468c1-36a7-43b6-ac24-d3f02fd9607a}"); //$NON-NLS-1$
24 	public static final GUID CLSID_FileOpenDialog = IIDFromString("{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}"); //$NON-NLS-1$
25 	public static final GUID CLSID_FileSaveDialog = IIDFromString("{84bccd23-5fde-4cdb-aea4-af64b83d78ab}"); //$NON-NLS-1$
26 	public static final GUID CLSID_ShellLink = IIDFromString ("{00021401-0000-0000-C000-000000000046}"); //$NON-NLS-1$
27 	public static final GUID CLSID_TaskbarList = IIDFromString ("{56FDF344-FD6D-11d0-958A-006097C9A090}"); //$NON-NLS-1$
28 	public static final GUID CLSID_TF_InputProcessorProfiles = IIDFromString("{33C53A50-F456-4884-B049-85FD643ECFED}"); //$NON-NLS-1$
29 	public static final GUID GUID_TFCAT_TIP_KEYBOARD = IIDFromString("{34745C63-B2F0-4784-8B67-5E12C8701A31}"); //$NON-NLS-1$
30 	public static final GUID IID_ICustomDestinationList = IIDFromString ("{6332debf-87b5-4670-90c0-5e57b408a49e}"); //$NON-NLS-1$
31 	public static final GUID IID_IDropTargetHelper = COM.IIDFromString("{4657278B-411B-11D2-839A-00C04FD918D0}"); //$NON-NLS-1$
32 	public static final GUID IID_IFileOpenDialog = IIDFromString("{d57c7288-d4ad-4768-be02-9d969532d960}"); //$NON-NLS-1$
33 	public static final GUID IID_IFileSaveDialog = IIDFromString("{84bccd23-5fde-4cdb-aea4-af64b83d78ab}"); //$NON-NLS-1$
34 	public static final GUID IID_IMLangFontLink2 = IIDFromString("{DCCFC162-2B38-11d2-B7EC-00C04F8F5D9A}");
35 	public static final GUID IID_IObjectArray = IIDFromString ("{92CA9DCD-5622-4bba-A805-5E9F541BD8C9}"); //$NON-NLS-1$
36 	public static final GUID IID_IObjectCollection = IIDFromString ("{5632b1a4-e38a-400a-928a-d4cd63230295}"); //$NON-NLS-1$
37 	public static final GUID IID_IPropertyStore = IIDFromString ("{886d8eeb-8cf2-4446-8d02-cdba1dbdcf99}"); //$NON-NLS-1$
38 	public static final GUID IID_IShellItem = IIDFromString("{43826d1e-e718-42ee-bc55-a1e261c37bfe}"); //$NON-NLS-1$
39 	public static final GUID IID_IShellLinkW = IIDFromString ("{000214F9-0000-0000-C000-000000000046}"); //$NON-NLS-1$
40 	public static final GUID IID_ITaskbarList3 = IIDFromString ("{ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf}"); //$NON-NLS-1$
41 	public static final GUID IID_ITfDisplayAttributeProvider = IIDFromString("{fee47777-163c-4769-996a-6e9c50ad8f54}"); //$NON-NLS-1$
42 	public static final GUID IID_ITfInputProcessorProfiles = IIDFromString("{1F02B6C5-7842-4EE6-8A0B-9A24183A95CA}"); //$NON-NLS-1$
43 	public static final GUID IIDJavaBeansBridge = COM.IIDFromString("{8AD9C840-044E-11D1-B3E9-00805F499D93}"); //$NON-NLS-1$
44 	public static final GUID IIDShockwaveActiveXControl = COM.IIDFromString("{166B1BCA-3F9C-11CF-8075-444553540000}"); //$NON-NLS-1$
45 	public static final GUID IIDIAccessible = IIDFromString("{618736E0-3C3D-11CF-810C-00AA00389B71}"); //$NON-NLS-1$
46 	public static final GUID IIDIAdviseSink = IIDFromString("{0000010F-0000-0000-C000-000000000046}"); //$NON-NLS-1$
47 	public static final GUID IIDIClassFactory = IIDFromString("{00000001-0000-0000-C000-000000000046}"); //$NON-NLS-1$
48 	public static final GUID IIDIClassFactory2 = IIDFromString("{B196B28F-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
49 	public static final GUID IIDIConnectionPointContainer = IIDFromString("{B196B284-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
50 	public static final GUID IIDIDataObject = IIDFromString("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
51 	public static final GUID IIDIDispatch = IIDFromString("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$
52 	public static final GUID IIDIDispatchEx = IIDFromString("{A6EF9860-C720-11D0-9337-00A0C90DCAA9}"); //$NON-NLS-1$
53 	public static final GUID IIDIDocHostUIHandler = IIDFromString("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
54 	public static final GUID IIDIDocHostShowUI = IIDFromString("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
55 	public static final GUID IIDIDropSource = IIDFromString("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$
56 	public static final GUID IIDIDropTarget = IIDFromString("{00000122-0000-0000-C000-000000000046}"); //$NON-NLS-1$
57 	public static final GUID IIDIEnumFORMATETC = IIDFromString("{00000103-0000-0000-C000-000000000046}"); //$NON-NLS-1$
58 	public static final GUID IIDIEnumVARIANT = IIDFromString("{00020404-0000-0000-C000-000000000046}"); //$NON-NLS-1$
59 	public static final /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromString(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/;
60 	public static final GUID IIDIInternetSecurityManager = IIDFromString("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
61 	public static final GUID IIDIAuthenticate = IIDFromString("{79eac9d0-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
62 	public static final GUID IIDIJScriptTypeInfo = IIDFromString("{C59C6B12-F6C1-11CF-8835-00A0C911E8B2}"); //$NON-NLS-1$
63 	public static final GUID IIDIOleClientSite = IIDFromString("{00000118-0000-0000-C000-000000000046}"); //$NON-NLS-1$
64 	public static final GUID IIDIOleCommandTarget = IIDFromString("{B722BCCB-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
65 	public static final GUID IIDIOleControl = IIDFromString("{B196B288-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
66 	public static final GUID IIDIOleControlSite = IIDFromString("{B196B289-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
67 	public static final GUID IIDIOleDocument = IIDFromString("{B722BCC5-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
68 	public static final GUID IIDIOleDocumentSite = IIDFromString("{B722BCC7-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
69 	public static final GUID IIDIOleInPlaceFrame = IIDFromString("{00000116-0000-0000-C000-000000000046}"); //$NON-NLS-1$
70 	public static final GUID IIDIOleInPlaceObject = IIDFromString("{00000113-0000-0000-C000-000000000046}"); //$NON-NLS-1$
71 	public static final GUID IIDIOleInPlaceSite = IIDFromString("{00000119-0000-0000-C000-000000000046}"); //$NON-NLS-1$
72 	public static final GUID IIDIOleLink = IIDFromString("{0000011D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
73 	public static final GUID IIDIOleObject = IIDFromString("{00000112-0000-0000-C000-000000000046}"); //$NON-NLS-1$
74 	public static final GUID IIDIPersist = IIDFromString("{0000010C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
75 	public static final GUID IIDIPersistFile = IIDFromString("{0000010B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
76 	public static final GUID IIDIPersistStorage = IIDFromString("{0000010A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
77 	public static final GUID IIDIPersistStreamInit = IIDFromString("{7FD52380-4E07-101B-AE2D-08002B2EC713}"); //$NON-NLS-1$
78 	public static final GUID IIDIPropertyNotifySink = IIDFromString("{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"); //$NON-NLS-1$
79 	public static final GUID IIDIProvideClassInfo = IIDFromString("{B196B283-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
80 	public static final GUID IIDIProvideClassInfo2 = IIDFromString("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"); //$NON-NLS-1$
81 	public static final GUID IIDIServiceProvider = IIDFromString("{6d5140c1-7436-11ce-8034-00aa006009fa}"); //$NON-NLS-1$
82 	public static final GUID IIDISpecifyPropertyPages = IIDFromString("{B196B28B-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
83 	public static final GUID IIDIUnknown = IIDFromString("{00000000-0000-0000-C000-000000000046}"); //$NON-NLS-1$
84 	public static final GUID IIDIViewObject2 = IIDFromString("{00000127-0000-0000-C000-000000000046}"); //$NON-NLS-1$
85 	public static final GUID CGID_DocHostCommandHandler = IIDFromString("{f38bc242-b950-11d1-8918-00c04fc2c836}"); //$NON-NLS-1$
86 	public static final GUID CGID_Explorer = IIDFromString("{000214D0-0000-0000-C000-000000000046}"); //$NON-NLS-1$
87 
88 	// IA2 related GUIDS
89 	public static final GUID IIDIAccessible2 = IIDFromString("{E89F726E-C4F4-4c19-BB19-B647D7FA8478}"); //$NON-NLS-1$
90 	public static final GUID IIDIAccessibleRelation = IIDFromString("{7CDF86EE-C3DA-496a-BDA4-281B336E1FDC}"); //$NON-NLS-1$
91 	public static final GUID IIDIAccessibleAction = IIDFromString("{B70D9F59-3B5A-4dba-AB9E-22012F607DF5}"); //$NON-NLS-1$
92 	public static final GUID IIDIAccessibleComponent = IIDFromString("{1546D4B0-4C98-4bda-89AE-9A64748BDDE4}"); //$NON-NLS-1$
93 	public static final GUID IIDIAccessibleValue = IIDFromString("{35855B5B-C566-4fd0-A7B1-E65465600394}"); //$NON-NLS-1$
94 	public static final GUID IIDIAccessibleText = IIDFromString("{24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B}"); //$NON-NLS-1$
95 	public static final GUID IIDIAccessibleEditableText = IIDFromString("{A59AA09A-7011-4b65-939D-32B1FB5547E3}"); //$NON-NLS-1$
96 	public static final GUID IIDIAccessibleHyperlink = IIDFromString("{01C20F2B-3DD2-400f-949F-AD00BDAB1D41}"); //$NON-NLS-1$
97 	public static final GUID IIDIAccessibleHypertext = IIDFromString("{6B4F8BBF-F1F2-418a-B35E-A195BC4103B9}"); //$NON-NLS-1$
98 	public static final GUID IIDIAccessibleTable = IIDFromString("{35AD8070-C20C-4fb4-B094-F4F7275DD469}"); //$NON-NLS-1$
99 	public static final GUID IIDIAccessibleTable2 = IIDFromString("{6167f295-06f0-4cdd-a1fa-02e25153d869}"); //$NON-NLS-1$
100 	public static final GUID IIDIAccessibleTableCell = IIDFromString("{594116B1-C99F-4847-AD06-0A7A86ECE645}"); //$NON-NLS-1$
101 	public static final GUID IIDIAccessibleImage = IIDFromString("{FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE}"); //$NON-NLS-1$
102 	public static final GUID IIDIAccessibleApplication = IIDFromString("{D49DED83-5B25-43F4-9B95-93B44595979E}"); //$NON-NLS-1$
103 	public static final GUID IIDIAccessibleContext = IIDFromString("{77A123E4-5794-44e0-B8BF-DE600C9D29BD}"); //$NON-NLS-1$
104 
105 	/** Constants */
106 	public static final int CF_TEXT = 1;
107 	public static final int CF_BITMAP = 2;
108 	public static final int CF_METAFILEPICT = 3;
109 	public static final int CF_SYLK = 4;
110 	public static final int CF_DIF = 5;
111 	public static final int CF_TIFF = 6;
112 	public static final int CF_OEMTEXT = 7;
113 	public static final int CF_DIB = 8;
114 	public static final int CF_PALETTE = 9;
115 	public static final int CF_PENDATA = 10;
116 	public static final int CF_RIFF = 11;
117 	public static final int CF_WAVE = 12;
118 	public static final int CF_UNICODETEXT = 13;
119 	public static final int CF_ENHMETAFILE = 14;
120 	public static final int CF_HDROP = 15;
121 	public static final int CF_LOCALE = 16;
122 	public static final int CF_MAX = 17;
123 	public static final int CLSCTX_INPROC_HANDLER = 2;
124 	public static final int CLSCTX_INPROC_SERVER = 1;
125 	public static final int CLSCTX_LOCAL_SERVER = 4;
126 	public static final int DATADIR_GET = 1;
127 	public static final int DATADIR_SET = 2;
128 	public static final int DISPATCH_CONSTRUCT = 0x4000;
129 	public static final int DISP_E_EXCEPTION = 0x80020009;
130 	public static final int DISP_E_MEMBERNOTFOUND = -2147352573;
131 	public static final int DISP_E_UNKNOWNINTERFACE = 0x80020001;
132 	public static final int DISP_E_UNKNOWNNAME = 0x80020006;
133 	public static final int DISPID_AMBIENT_BACKCOLOR = -701;
134 	public static final int DISPID_AMBIENT_FONT = -703;
135 	public static final int DISPID_AMBIENT_FORECOLOR = -704;
136 	public static final int DISPID_AMBIENT_LOCALEID = -705;
137 	public static final int DISPID_AMBIENT_MESSAGEREFLECT = -706;
138 	public static final int DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501;
139 	public static final int DISPID_AMBIENT_SHOWGRABHANDLES = -711;
140 	public static final int DISPID_AMBIENT_SHOWHATCHING = -712;
141 	public static final int DISPID_AMBIENT_SILENT = -5502;
142 	public static final int DISPID_AMBIENT_SUPPORTSMNEMONICS = -714;
143 	public static final int DISPID_AMBIENT_UIDEAD = -710;
144 	public static final int DISPID_AMBIENT_USERMODE = -709;
145 	public static final int DISPID_BACKCOLOR = -501;
146 	public static final int DISPID_FONT = -512;
147 	public static final int DISPID_FONT_BOLD = 3;
148 	public static final int DISPID_FONT_CHARSET = 8;
149 	public static final int DISPID_FONT_ITALIC = 4;
150 	public static final int DISPID_FONT_NAME = 0;
151 	public static final int DISPID_FONT_SIZE = 2;
152 	public static final int DISPID_FONT_STRIKE = 6;
153 	public static final int DISPID_FONT_UNDER = 5;
154 	public static final int DISPID_FONT_WEIGHT = 7;
155 	public static final int DISPID_FORECOLOR = -513;
156 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK = 0xFFFFFDA7;
157 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGEND = 0x80010015;
158 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART = 0x8001000B;
159 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN = 0xFFFFFDA6;
160 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS = 0xFFFFFDA5;
161 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYUP = 0xFFFFFDA4;
162 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT = 0x80010009;
163 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER = 0x80010008;
164 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE = 0xFFFFFDA2;
165 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN = 0xFFFFFDA3;
166 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP = 0xFFFFFDA1;
167 	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL = 1033;
168 
169 	public static final int DRAGDROP_S_DROP = 0x00040100;
170 	public static final int DRAGDROP_S_CANCEL = 0x00040101;
171 	public static final int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102;
172 	public static final int DROPEFFECT_NONE = 0;
173 	public static final int DROPEFFECT_COPY = 1;
174 	public static final int DROPEFFECT_MOVE = 2;
175 	public static final int DROPEFFECT_LINK = 4;
176 	public static final int DV_E_FORMATETC = -2147221404;
177 	public static final int DV_E_STGMEDIUM = -2147221402;
178 	public static final int DV_E_TYMED = -2147221399;
179 	public static final int DVASPECT_CONTENT = 1;
180 	public static final int E_ACCESSDENIED = 0x80070005;
181 	public static final int E_FAIL = -2147467259;
182 	public static final int E_INVALIDARG = -2147024809;
183 	public static final int E_NOINTERFACE = -2147467262;
184 	public static final int E_NOTIMPL = -2147467263;
185 	public static final int E_NOTSUPPORTED = 0x80040100;
186 	public static final int E_OUTOFMEMORY = -2147024882;
187 	public static final int GMEM_FIXED = 0;
188 	public static final int GMEM_ZEROINIT = 64;
189 	public static final int GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1;
190 	public static final int IMPLTYPEFLAG_FDEFAULT = 1;
191 	public static final int IMPLTYPEFLAG_FRESTRICTED = 4;
192 	public static final int IMPLTYPEFLAG_FSOURCE = 2;
193 	public static final int LOCALE_USER_DEFAULT = 2048;
194 	public static final int OLECLOSE_NOSAVE = 1;
195 	public static final int OLECLOSE_SAVEIFDIRTY = 0;
196 	public static final int OLEEMBEDDED = 1;
197 	public static final int OLELINKED = 0;
198 	public static final int OLERENDER_DRAW = 1;
199 	public static final int S_FALSE = 1;
200 	public static final int S_OK = 0;
201 	public static final int STGC_DEFAULT = 0;
202 	public static final int STGM_CREATE = 0x00001000;
203 	public static final int STGM_DELETEONRELEASE = 0x04000000;
204 	public static final int STGM_DIRECT = 0x00000000;
205 	public static final int STGM_READ = 0x00000000;
206 	public static final int STGM_READWRITE = 0x00000002;
207 	public static final int STGM_SHARE_EXCLUSIVE = 0x00000010;
208 	public static final int STGM_TRANSACTED = 0x00010000;
209 	public static final int TYMED_HGLOBAL = 1;
210 	public static final short DISPATCH_METHOD = 0x1;
211 	public static final short DISPATCH_PROPERTYGET = 0x2;
212 	public static final short DISPATCH_PROPERTYPUT = 0x4;
213 	public static final short DISPATCH_PROPERTYPUTREF = 0x8;
214 	public static final short DISPID_PROPERTYPUT = -3;
215 	public static final short DISPID_UNKNOWN = -1;
216 	public static final short DISPID_VALUE = 0;
217 	public static final short VT_BOOL = 11;
218 	public static final short VT_BSTR = 8;
219 	public static final short VT_BYREF = 16384;
220 	public static final short VT_DATE = 7;
221 	public static final short VT_DISPATCH = 9;
222 	public static final short VT_EMPTY = 0;
223 	public static final short VT_I1 = 16;
224 	public static final short VT_I2 = 2;
225 	public static final short VT_I4 = 3;
226 	public static final short VT_I8 = 20;
227 	public static final short VT_NULL = 1;
228 	public static final short VT_R4 = 4;
229 	public static final short VT_R8 = 5;
230 	public static final short VT_UI1 = 17;
231 	public static final short VT_UI2 = 18;
232 	public static final short VT_UI4 = 19;
233 	public static final short VT_UNKNOWN = 13;
234 	public static final short VT_VARIANT = 12;
235 
236 	public static boolean FreeUnusedLibraries = true;
237 
IIDFromString(String lpsz)238 private static GUID IIDFromString(String lpsz) {
239 	int length = lpsz.length();
240 	char[] buffer = new char[length + 1];
241 	lpsz.getChars(0, length, buffer, 0);
242 	GUID lpiid = new GUID();
243 	if (COM.IIDFromString(buffer, lpiid) == COM.S_OK) return lpiid;
244 	return null;
245 }
246 
247 /** Natives */
248 
249 /** @param lpszProgID cast=(LPCOLESTR) */
CLSIDFromProgID(char[] lpszProgID, GUID pclsid)250 public static final native int CLSIDFromProgID(char[] lpszProgID, GUID pclsid);
251 /** @param lpsz cast=(LPOLESTR) */
CLSIDFromString(char[] lpsz, GUID pclsid)252 public static final native int CLSIDFromString(char[] lpsz, GUID pclsid);
253 /**
254  * @param pUnkOuter cast=(LPUNKNOWN)
255  * @param ppv cast=(LPVOID *)
256  */
CoCreateInstance(GUID rclsid, long pUnkOuter, int dwClsContext, GUID riid, long[] ppv)257 public static final native int CoCreateInstance(GUID rclsid, long pUnkOuter, int dwClsContext, GUID riid, long[] ppv);
CoFreeUnusedLibraries()258 public static final native void CoFreeUnusedLibraries();
259 /**
260  * @param pServerInfo cast=(COSERVERINFO *)
261  * @param ppv cast=(LPVOID *)
262  */
CoGetClassObject(GUID rclsid, int dwClsContext, long pServerInfo, GUID riid, long[] ppv)263 public static final native int CoGetClassObject(GUID rclsid, int dwClsContext, long pServerInfo, GUID riid, long[] ppv);
264 /**
265  * @param pUnk cast=(IUnknown *)
266  * @param fLock cast=(BOOL)
267  * @param fLastUnlockReleases cast=(BOOL)
268  */
CoLockObjectExternal(long pUnk, boolean fLock, boolean fLastUnlockReleases)269 public static final native int CoLockObjectExternal(long pUnk, boolean fLock, boolean fLastUnlockReleases);
270 /**
271  * @param pDataObject cast=(IDataObject *)
272  * @param pDropSource cast=(IDropSource *)
273  * @param pdwEffect cast=(LPDWORD)
274  */
DoDragDrop(long pDataObject, long pDropSource, int dwOKEffect, int[] pdwEffect)275 public static final native int DoDragDrop(long pDataObject, long pDropSource, int dwOKEffect, int[] pdwEffect);
276 /** @param szFileName cast=(LPCWSTR) */
GetClassFile(char[] szFileName, GUID clsid)277 public static final native int GetClassFile(char[] szFileName, GUID clsid);
278 /** @param lpsz cast=(LPOLESTR) */
IIDFromString(char[] lpsz, GUID lpiid)279 public static final native int IIDFromString(char[] lpsz, GUID lpiid);
IsEqualGUID(GUID rguid1, GUID rguid2)280 public static final native boolean IsEqualGUID(GUID rguid1, GUID rguid2);
281 /**
282  * @param Destination cast=(PVOID)
283  * @param Source cast=(CONST VOID *),flags=no_out
284  */
MoveMemory(long Destination, FORMATETC Source, int Length)285 public static final native void MoveMemory(long Destination, FORMATETC Source, int Length);
286 /**
287  * @param DestinationPtr cast=(PVOID)
288  * @param Source cast=(CONST VOID *),flags=no_out
289  */
MoveMemory(long DestinationPtr, OLEINPLACEFRAMEINFO Source, int Length)290 public static final native void MoveMemory(long DestinationPtr, OLEINPLACEFRAMEINFO Source, int Length);
291 /**
292  * @param Destination cast=(PVOID)
293  * @param Source cast=(CONST VOID *),flags=no_out
294  */
MoveMemory(long Destination, STGMEDIUM Source, int Length)295 public static final native void MoveMemory(long Destination, STGMEDIUM Source, int Length);
296 /**
297  * @param Destination cast=(PVOID),flags=no_in
298  * @param SourcePtr cast=(CONST VOID *)
299  */
MoveMemory(STGMEDIUM Destination, long SourcePtr, int Length)300 public static final native void MoveMemory(STGMEDIUM Destination, long SourcePtr, int Length);
301 /**
302  * @param Destination cast=(PVOID),flags=no_in
303  * @param SourcePtr cast=(CONST VOID *)
304  */
MoveMemory(DISPPARAMS Destination, long SourcePtr, int Length)305 public static final native void MoveMemory(DISPPARAMS Destination, long SourcePtr, int Length);
306 /**
307  * @param Destination cast=(PVOID),flags=no_in
308  * @param Source cast=(CONST VOID *)
309  */
MoveMemory(FORMATETC Destination, long Source, int Length)310 public static final native void MoveMemory(FORMATETC Destination, long Source, int Length);
311 /**
312  * @param Destination cast=(PVOID),flags=no_in
313  * @param SourcePtr cast=(CONST VOID *)
314  */
MoveMemory(GUID Destination, long SourcePtr, int Length)315 public static final native void MoveMemory(GUID Destination, long SourcePtr, int Length);
316 /**
317  * @param Destination cast=(PVOID),flags=no_in
318  * @param SourcePtr cast=(CONST VOID *)
319  */
MoveMemory(TYPEATTR Destination, long SourcePtr, int Length)320 public static final native void MoveMemory(TYPEATTR Destination, long SourcePtr, int Length);
321 /**
322  * @param Destination cast=(PVOID),flags=no_in
323  * @param Source cast=(CONST VOID *)
324  */
MoveMemory(RECT Destination, long Source, int Length)325 public static final native void MoveMemory(RECT Destination, long Source, int Length);
326 /**
327  * @param Destination cast=(PVOID),flags=no_in
328  * @param Source cast=(CONST VOID *)
329  */
MoveMemory(FUNCDESC Destination, long Source, int Length)330 public static final native void MoveMemory(FUNCDESC Destination, long Source, int Length);
331 /**
332  * @param Destination cast=(PVOID),flags=no_in
333  * @param Source cast=(CONST VOID *)
334  */
MoveMemory(VARDESC Destination, long Source, int Length)335 public static final native void MoveMemory(VARDESC Destination, long Source, int Length);
336 /**
337  * @param Destination cast=(PVOID),flags=no_in
338  * @param Source cast=(CONST VOID *)
339  */
MoveMemory(VARIANT Destination, long Source, int Length)340 public static final native void MoveMemory(VARIANT Destination, long Source, int Length);
341 /**
342  * @param pClientSite cast=(IOleClientSite *)
343  * @param pStg cast=(IStorage *)
344  * @param ppvObject cast=(void **)
345  */
OleCreate(GUID rclsid, GUID riid, int renderopt, FORMATETC pFormatEtc, long pClientSite, long pStg, long[] ppvObject)346 public static final native int OleCreate(GUID rclsid, GUID riid, int renderopt, FORMATETC pFormatEtc, long pClientSite, long pStg, long[] ppvObject);
347 /**
348  * @param lpszFileName cast=(LPCOLESTR)
349  * @param pClientSite cast=(LPOLECLIENTSITE)
350  * @param pStg cast=(LPSTORAGE)
351  * @param ppvObj cast=(LPVOID *)
352  */
OleCreateFromFile(GUID rclsid, char[] lpszFileName, GUID riid, int renderopt, FORMATETC pFormatEtc, long pClientSite, long pStg, long[] ppvObj)353 public static final native int OleCreateFromFile(GUID rclsid, char[] lpszFileName, GUID riid, int renderopt, FORMATETC pFormatEtc, long pClientSite, long pStg, long[] ppvObj);
354 /**
355  * @param hwndOwner cast=(HWND)
356  * @param lpszCaption cast=(LPCOLESTR)
357  * @param lplpUnk cast=(LPUNKNOWN FAR*)
358  * @param lpPageClsID cast=(LPCLSID)
359  * @param lcid cast=(LCID)
360  * @param lpvReserved cast=(LPVOID)
361  */
OleCreatePropertyFrame(long hwndOwner,int x, int y, char[] lpszCaption, int cObjects, long[] lplpUnk, int cPages, long lpPageClsID, int lcid, int dwReserved, long lpvReserved)362 public static final native int OleCreatePropertyFrame(long hwndOwner,int x, int y, char[] lpszCaption, int cObjects, long[] lplpUnk, int cPages, long lpPageClsID, int lcid, int dwReserved, long lpvReserved);
363 /**
364  * @param pUnk cast=(LPUNKNOWN)
365  * @param dwAspect cast=(DWORD)
366  * @param hdcDraw cast=(HDC)
367  * @param lprcBounds cast=(LPRECT)
368  */
OleDraw(long pUnk, int dwAspect, long hdcDraw, long lprcBounds)369 public static final native int OleDraw(long pUnk, int dwAspect, long hdcDraw, long lprcBounds);
OleFlushClipboard()370 public static final native int OleFlushClipboard();
371 /** @param ppDataObject cast=(IDataObject **) */
OleGetClipboard(long[] ppDataObject)372 public static final native int OleGetClipboard(long[] ppDataObject);
373 /** @param pDataObject cast=(IDataObject *) */
OleIsCurrentClipboard(long pDataObject)374 public static final native int OleIsCurrentClipboard(long pDataObject);
375 /** @param pObject cast=(LPOLEOBJECT) */
OleIsRunning(long pObject)376 public static final native boolean OleIsRunning(long pObject);
377 /** @param pUnknown cast=(LPUNKNOWN) */
OleRun(long pUnknown)378 public static final native int OleRun(long pUnknown);
379 /**
380  * @param pPS cast=(IPersistStorage *)
381  * @param pStg cast=(IStorage *)
382  */
OleSave(long pPS, long pStg, boolean fSameAsLoad)383 public static final native int OleSave(long pPS, long pStg, boolean fSameAsLoad);
384 /** @param pDataObject cast=(IDataObject *) */
OleSetClipboard(long pDataObject)385 public static final native int OleSetClipboard(long pDataObject);
386 /** @param pUnk cast=(LPUNKNOWN) */
OleSetContainedObject(long pUnk, boolean fContained)387 public static final native int OleSetContainedObject(long pUnk, boolean fContained);
388 /**
389  * @param holemenu cast=(HOLEMENU)
390  * @param hwndFrame cast=(HWND)
391  * @param hwndActiveObject cast=(HWND)
392  * @param lpFrame cast=(LPOLEINPLACEFRAME)
393  * @param lpActiveObj cast=(LPOLEINPLACEACTIVEOBJECT)
394  */
OleSetMenuDescriptor(long holemenu, long hwndFrame, long hwndActiveObject, long lpFrame, long lpActiveObj)395 public static final native int OleSetMenuDescriptor(long holemenu, long hwndFrame, long hwndActiveObject, long lpFrame, long lpActiveObj);
396 /**
397  * @param clr cast=(OLE_COLOR)
398  * @param hpal cast=(HPALETTE)
399  * @param pcolorref cast=(COLORREF *)
400  */
OleTranslateColor(int clr, long hpal, int[] pcolorref)401 public static final native int OleTranslateColor(int clr, long hpal, int[] pcolorref);
402 /**
403  * Custom native function.
404  * @param pszName cast=(PCWSTR)
405  * @param ppidl cast=(PIDLIST_ABSOLUTE *)
406  */
PathToPIDL(char [] pszName, long [] ppidl)407 public static final native int PathToPIDL (char [] pszName, long [] ppidl);
408 /** @param lplpszProgID cast=(LPOLESTR *) */
ProgIDFromCLSID(GUID clsid, long[] lplpszProgID)409 public static final native int ProgIDFromCLSID(GUID clsid, long[] lplpszProgID);
410 /**
411  * @param hwnd cast=(HWND)
412  * @param pDropTarget cast=(IDropTarget *)
413  */
RegisterDragDrop(long hwnd, long pDropTarget)414 public static final native int RegisterDragDrop(long hwnd, long pDropTarget);
415 /** @param pmedium cast=(STGMEDIUM *) */
ReleaseStgMedium(long pmedium)416 public static final native void ReleaseStgMedium(long pmedium);
417 /** @param hwnd cast=(HWND) */
RevokeDragDrop(long hwnd)418 public static final native int RevokeDragDrop(long hwnd);
419 /**
420  * @param pszName cast=(PCWSTR)
421  * @param pbc cast=(IBindCtx *)
422  * @param riid cast=(REFIID)
423  * @param ppv cast=(void **)
424  */
SHCreateItemFromParsingName(char [] pszName, long pbc, GUID riid, long [] ppv)425 public static final native int SHCreateItemFromParsingName (char [] pszName, long pbc, GUID riid, long [] ppv);
426 /** @param ppstgOpen cast=(IStorage **) */
StgCreateDocfile(char[] pwcsName, int grfMode, int reserved, long[] ppstgOpen)427 public static final native int StgCreateDocfile(char[] pwcsName, int grfMode, int reserved, long[] ppstgOpen);
428 /** @param pwcsName cast=(const WCHAR *) */
StgIsStorageFile(char[] pwcsName)429 public static final native int StgIsStorageFile(char[] pwcsName);
430 /**
431  * @param pwcsName cast=(const WCHAR *)
432  * @param pstgPriority cast=(IStorage *)
433  * @param snbExclude cast=(SNB)
434  * @param ppstgOpen cast=(IStorage **)
435  */
StgOpenStorage(char[] pwcsName, long pstgPriority, int grfMode, long snbExclude, int reserved, long[] ppstgOpen)436 public static final native int StgOpenStorage(char[] pwcsName, long pstgPriority, int grfMode, long snbExclude, int reserved, long[] ppstgOpen);
437 /** @param sz cast=(OLECHAR *) */
SysAllocString(char [] sz)438 public static final native long SysAllocString(char [] sz);
439 /** @param bstr cast=(BSTR) */
SysFreeString(long bstr)440 public static final native void SysFreeString(long bstr);
441 /** @param bstr cast=(BSTR) */
SysStringByteLen(long bstr)442 public static final native int SysStringByteLen(long bstr);
443 /** @param bstr cast=(BSTR) */
SysStringLen(long bstr)444 public static final native int SysStringLen(long bstr);
445 /**
446  * @param pvargDest cast=(VARIANTARG FAR* )
447  * @param pvarSrc cast=(VARIANTARG FAR* )
448  * @param vt cast=(VARTYPE)
449  */
VariantChangeType(long pvargDest, long pvarSrc, short wFlags, short vt)450 public static final native int VariantChangeType(long pvargDest, long pvarSrc, short wFlags, short vt);
451 /** @param pvarg cast=(VARIANTARG FAR* ) */
VariantClear(long pvarg)452 public static final native int VariantClear(long pvarg);
453 /** @param pvarg cast=(VARIANTARG FAR* ) */
VariantInit(long pvarg)454 public static final native void VariantInit(long pvarg);
455 /** @param pStg cast=(IStorage *) */
WriteClassStg(long pStg, GUID rclsid)456 public static final native int WriteClassStg(long pStg, GUID rclsid);
457 
VtblCall(int fnNumber, long ppVtbl)458 public static final native int VtblCall(int fnNumber, long ppVtbl);
VtblCall(int fnNumber, long ppVtbl, int arg0)459 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0);
VtblCall(int fnNumber, long ppVtbl, long arg0)460 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, int arg2, long[] arg3)461 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, int arg2, long[] arg3);
VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, int arg2, long[] arg3)462 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, int arg2, long[] arg3);
VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int arg2, long[] arg3)463 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int arg2, long[] arg3);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1, int arg2, int[] arg3, int[] arg4)464 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
VtblCall(int fnNumber, long ppVtbl, int[] arg0)465 public static final native int VtblCall(int fnNumber, long ppVtbl, int[] arg0);
VtblCall(int fnNumber, long ppVtbl, long[] arg0)466 public static final native int VtblCall(int fnNumber, long ppVtbl, long[] arg0);
VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, int[] arg2)467 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, int[] arg2);
VtblCall(int fnNumber, long ppVtbl, TF_DISPLAYATTRIBUTE arg0)468 public static final native int VtblCall(int fnNumber, long ppVtbl, TF_DISPLAYATTRIBUTE arg0);
VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, long arg2)469 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, long arg2);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2)470 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2);
VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1)471 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1)472 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1);
VtblCall(int fnNumber, long ppVtbl, char[] arg0)473 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1)474 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1)475 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1);
VtblCall(int fnNumber, long ppVtbl, PROPERTYKEY arg0, long arg1)476 public static final native int VtblCall(int fnNumber, long ppVtbl, PROPERTYKEY arg0, long arg1);
VtblCall(int fnNumber, long ppVtbl, int arg0, int[] arg1)477 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int[] arg1);
VtblCall(int fnNumber, long ppVtbl, long arg0, int[] arg1)478 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int[] arg1);
VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1)479 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, char[] arg1)480 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, char[] arg1);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, POINT arg2, int arg3)481 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, POINT arg2, int arg3);
VtblCall(int fnNumber, long ppVtbl, int[] arg0, GUID arg1, long[] arg2)482 public static final native int VtblCall(int fnNumber, long ppVtbl, int[] arg0, GUID arg1, long[] arg2);
VtblCall(int fnNumber, long ppVtbl, long arg0, POINT arg1, long arg2)483 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, POINT arg1, long arg2);
VtblCall(int fnNumber, long ppVtbl, POINT arg0, int arg1)484 public static final native int VtblCall(int fnNumber, long ppVtbl, POINT arg0, int arg1);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1, int arg2, int arg3, long[] arg4)485 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, int arg1, int arg2, int arg3, long[] arg4);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1, int arg2, int arg3, long[] arg4)486 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1, int arg2, int arg3, long[] arg4);
VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1, int arg2, int arg3, int arg4, long[] arg5)487 public static final native int VtblCall(int fnNumber, long ppVtbl, char[] arg0, long arg1, int arg2, int arg3, int arg4, long[] arg5);
VtblCall(int fnNumber, long ppVtbl, long arg0, long[] arg1)488 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long[] arg1);
VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, long[] arg2)489 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, long[] arg2);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long[] arg2)490 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long[] arg2);
VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, int[] arg2)491 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long arg1, int[] arg2);
VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int[] arg2)492 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int[] arg2);
VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, long arg2, SIZE arg3)493 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, long arg2, SIZE arg3);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, GUID arg2, long arg3, long [] arg4)494 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, GUID arg2, long arg3, long [] arg4);
VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1)495 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1);
VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, long arg2, long arg3)496 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, long arg2, long arg3);
VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, long arg5, EXCEPINFO arg6, int[] arg7)497 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, long arg5, EXCEPINFO arg6, int[] arg7);
VtblCall(int fnNumber, long ppVtbl, MSG arg0)498 public static final native int VtblCall(int fnNumber, long ppVtbl, MSG arg0);
VtblCall(int fnNumber, long ppVtbl, int arg0, MSG arg1, long arg2, int arg3, long arg4, RECT arg5)499 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, MSG arg1, long arg2, int arg3, long arg4, RECT arg5);
VtblCall(int fnNumber, long ppVtbl, int arg0, SIZE arg1)500 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, SIZE arg1);
VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1)501 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1);
VtblCall(int fnNumber, long ppVtbl, CAUUID arg0)502 public static final native int VtblCall(int fnNumber, long ppVtbl, CAUUID arg0);
VtblCall(int fnNumber, long ppVtbl, CONTROLINFO arg0)503 public static final native int VtblCall(int fnNumber, long ppVtbl, CONTROLINFO arg0);
VtblCall(int fnNumber, long ppVtbl, FORMATETC arg0)504 public static final native int VtblCall(int fnNumber, long ppVtbl, FORMATETC arg0);
VtblCall(int fnNumber, long ppVtbl, FORMATETC arg0, STGMEDIUM arg1)505 public static final native int VtblCall(int fnNumber, long ppVtbl, FORMATETC arg0, STGMEDIUM arg1);
VtblCall(int fnNumber, long ppVtbl, GUID arg0)506 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0);
VtblCall(int fnNumber, long ppVtbl, GUID arg0, long[] arg1)507 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0, long[] arg1);
VtblCall(int fnNumber, long ppVtbl, GUID arg0, GUID arg1, long[] arg2)508 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0, GUID arg1, long[] arg2);
VtblCall(int fnNumber, long ppVtbl, GUID arg0, long arg1, int arg2, int arg3, int[] arg4)509 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0, long arg1, int arg2, int arg3, int[] arg4);
VtblCall(int fnNumber, long ppVtbl, GUID arg0, int arg1, int arg2, long arg3, long arg4)510 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0, int arg1, int arg2, long arg3, long arg4);
VtblCall(int fnNumber, long ppVtbl, GUID arg0, int arg1, OLECMD arg2, long arg3)511 public static final native int VtblCall(int fnNumber, long ppVtbl, GUID arg0, int arg1, OLECMD arg2, long arg3);
VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, GUID arg2, GUID arg3)512 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, GUID arg1, GUID arg2, GUID arg3);
VtblCall(int fnNumber, long ppVtbl, LICINFO arg0)513 public static final native int VtblCall(int fnNumber, long ppVtbl, LICINFO arg0);
VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, int arg2)514 public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, int arg2);
VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4)515 public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
VtblCall(int fnNumber, long ppVtbl, RECT arg0, RECT arg1)516 public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, RECT arg1);
VtblCall(int fnNumber, long ppVtbl, RECT arg0)517 public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0);
VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4)518 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4);
VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3)519 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3);
VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6)520 public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6);
521 /**
522  * @param arg0 flags=struct
523  */
VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, long arg2)524 public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, long arg2);
525 
526 /** Accessibility constants */
527 public static final int CHILDID_SELF = 0;
528 public static final int CO_E_OBJNOTCONNECTED = 0x800401FD;
529 public static final int ROLE_SYSTEM_MENUBAR = 0x2;
530 public static final int ROLE_SYSTEM_SCROLLBAR = 0x3;
531 public static final int ROLE_SYSTEM_ALERT = 0x8;
532 public static final int ROLE_SYSTEM_WINDOW = 0x9;
533 public static final int ROLE_SYSTEM_CLIENT = 0xa;
534 public static final int ROLE_SYSTEM_MENUPOPUP = 0xb;
535 public static final int ROLE_SYSTEM_MENUITEM = 0xc;
536 public static final int ROLE_SYSTEM_TOOLTIP = 0xd;
537 public static final int ROLE_SYSTEM_DOCUMENT = 0xf;
538 public static final int ROLE_SYSTEM_DIALOG = 0x12;
539 public static final int ROLE_SYSTEM_GROUPING = 0x14;
540 public static final int ROLE_SYSTEM_SEPARATOR = 0x15;
541 public static final int ROLE_SYSTEM_TOOLBAR = 0x16;
542 public static final int ROLE_SYSTEM_STATUSBAR = 0x17;
543 public static final int ROLE_SYSTEM_TABLE = 0x18;
544 public static final int ROLE_SYSTEM_COLUMNHEADER = 0x19;
545 public static final int ROLE_SYSTEM_ROWHEADER = 0x1a;
546 public static final int ROLE_SYSTEM_COLUMN = 0x1b;
547 public static final int ROLE_SYSTEM_ROW = 0x1c;
548 public static final int ROLE_SYSTEM_CELL = 0x1d;
549 public static final int ROLE_SYSTEM_LINK = 0x1e;
550 public static final int ROLE_SYSTEM_LIST = 0x21;
551 public static final int ROLE_SYSTEM_LISTITEM = 0x22;
552 public static final int ROLE_SYSTEM_OUTLINE = 0x23;
553 public static final int ROLE_SYSTEM_OUTLINEITEM = 0x24;
554 public static final int ROLE_SYSTEM_PAGETAB = 0x25;
555 public static final int ROLE_SYSTEM_GRAPHIC = 0x28;
556 public static final int ROLE_SYSTEM_STATICTEXT = 0x29;
557 public static final int ROLE_SYSTEM_TEXT = 0x2a;
558 public static final int ROLE_SYSTEM_PUSHBUTTON = 0x2b;
559 public static final int ROLE_SYSTEM_CHECKBUTTON = 0x2c;
560 public static final int ROLE_SYSTEM_RADIOBUTTON = 0x2d;
561 public static final int ROLE_SYSTEM_COMBOBOX = 0x2e;
562 public static final int ROLE_SYSTEM_DROPLIST = 0x2f;
563 public static final int ROLE_SYSTEM_PROGRESSBAR = 0x30;
564 public static final int ROLE_SYSTEM_SLIDER = 0x33;
565 public static final int ROLE_SYSTEM_SPINBUTTON = 0x34;
566 public static final int ROLE_SYSTEM_ANIMATION = 0x36;
567 public static final int ROLE_SYSTEM_PAGETABLIST = 0x3c;
568 public static final int ROLE_SYSTEM_CLOCK = 0x3d;
569 public static final int ROLE_SYSTEM_SPLITBUTTON = 0x3e;
570 
571 public static final int STATE_SYSTEM_NORMAL = 0;
572 public static final int STATE_SYSTEM_UNAVAILABLE = 0x1;
573 public static final int STATE_SYSTEM_SELECTED = 0x2;
574 public static final int STATE_SYSTEM_FOCUSED = 0x4;
575 public static final int STATE_SYSTEM_PRESSED = 0x8;
576 public static final int STATE_SYSTEM_CHECKED = 0x10;
577 public static final int STATE_SYSTEM_MIXED = 0x20;
578 public static final int STATE_SYSTEM_READONLY = 0x40;
579 public static final int STATE_SYSTEM_HOTTRACKED = 0x80;
580 public static final int STATE_SYSTEM_EXPANDED = 0x200;
581 public static final int STATE_SYSTEM_COLLAPSED = 0x400;
582 public static final int STATE_SYSTEM_BUSY = 0x800;
583 public static final int STATE_SYSTEM_INVISIBLE = 0x8000;
584 public static final int STATE_SYSTEM_OFFSCREEN = 0x10000;
585 public static final int STATE_SYSTEM_SIZEABLE = 0x20000;
586 public static final int STATE_SYSTEM_FOCUSABLE = 0x100000;
587 public static final int STATE_SYSTEM_SELECTABLE = 0x200000;
588 public static final int STATE_SYSTEM_LINKED = 0x400000;
589 public static final int STATE_SYSTEM_MULTISELECTABLE = 0x1000000;
590 
591 public static final int EVENT_OBJECT_SELECTIONWITHIN = 0x8009;
592 public static final int EVENT_OBJECT_STATECHANGE = 0x800A;
593 public static final int EVENT_OBJECT_LOCATIONCHANGE = 0x800B;
594 public static final int EVENT_OBJECT_NAMECHANGE = 0x800C;
595 public static final int EVENT_OBJECT_DESCRIPTIONCHANGE = 0x800D;
596 public static final int EVENT_OBJECT_VALUECHANGE = 0x800E;
597 public static final int EVENT_OBJECT_TEXTSELECTIONCHANGED = 0x8014;
598 
599 /* IA2 additional constants */
600 public static final int IA2_COORDTYPE_SCREEN_RELATIVE = 0;
601 public static final int IA2_COORDTYPE_PARENT_RELATIVE = 1;
602 
603 public static final int IA2_STATE_ACTIVE = 0x00000001;
604 public static final int IA2_STATE_SINGLE_LINE = 0x00002000;
605 public static final int IA2_STATE_MULTI_LINE = 0x00000200;
606 public static final int IA2_STATE_REQUIRED = 0x00000800;
607 public static final int IA2_STATE_INVALID_ENTRY = 0x00000040;
608 public static final int IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x00008000;
609 public static final int IA2_STATE_EDITABLE = 0x00000008;
610 
611 public static final int IA2_EVENT_DOCUMENT_LOAD_COMPLETE = 0x00000105;
612 public static final int IA2_EVENT_DOCUMENT_LOAD_STOPPED = 0x00000106;
613 public static final int IA2_EVENT_DOCUMENT_RELOAD = 0x00000107;
614 public static final int IA2_EVENT_PAGE_CHANGED = 0x00000111;
615 public static final int IA2_EVENT_SECTION_CHANGED = 0x00000112;
616 public static final int IA2_EVENT_ACTION_CHANGED = 0x00000101;
617 public static final int IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = 0x0000010d;
618 public static final int IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = 0x00000108;
619 public static final int IA2_EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED = 0x00000109;
620 public static final int IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = 0x0000010a;
621 public static final int IA2_EVENT_HYPERLINK_ACTIVATED = 0x0000010b;
622 public static final int IA2_EVENT_HYPERTEXT_LINK_SELECTED = 0x0000010c;
623 public static final int IA2_EVENT_HYPERTEXT_LINK_COUNT_CHANGED = 0x0000010f;
624 public static final int IA2_EVENT_ATTRIBUTE_CHANGED = 0x00000110;
625 public static final int IA2_EVENT_TABLE_CAPTION_CHANGED = 0x00000113;
626 public static final int IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = 0x00000114;
627 public static final int IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = 0x00000115;
628 public static final int IA2_EVENT_TABLE_CHANGED = 0x00000116;
629 public static final int IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = 0x00000117;
630 public static final int IA2_EVENT_TABLE_ROW_HEADER_CHANGED = 0x00000118;
631 public static final int IA2_EVENT_TABLE_SUMMARY_CHANGED = 0x00000119;
632 public static final int IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = 0x0000011a;
633 public static final int IA2_EVENT_TEXT_CARET_MOVED = 0x0000011b;
634 public static final int IA2_EVENT_TEXT_COLUMN_CHANGED = 0x0000011d;
635 public static final int IA2_EVENT_TEXT_INSERTED = 0x0000011e;
636 public static final int IA2_EVENT_TEXT_REMOVED = 0x0000011f;
637 
638 public static final int IA2_TEXT_BOUNDARY_CHAR = 0;
639 public static final int IA2_TEXT_BOUNDARY_WORD = 1;
640 public static final int IA2_TEXT_BOUNDARY_SENTENCE = 2;
641 public static final int IA2_TEXT_BOUNDARY_PARAGRAPH = 3;
642 public static final int IA2_TEXT_BOUNDARY_LINE = 4;
643 public static final int IA2_TEXT_BOUNDARY_ALL = 5;
644 
645 public static final int IA2_TEXT_OFFSET_LENGTH = -1;
646 public static final int IA2_TEXT_OFFSET_CARET =  -2;
647 
648 public static final int IA2_SCROLL_TYPE_TOP_LEFT = 0;
649 public static final int IA2_SCROLL_TYPE_BOTTOM_RIGHT = 1;
650 public static final int IA2_SCROLL_TYPE_TOP_EDGE = 2;
651 public static final int IA2_SCROLL_TYPE_BOTTOM_EDGE = 3;
652 public static final int IA2_SCROLL_TYPE_LEFT_EDGE = 4;
653 public static final int IA2_SCROLL_TYPE_RIGHT_EDGE = 5;
654 public static final int IA2_SCROLL_TYPE_ANYWHERE = 6;
655 
656 /** Accessibility natives */
657 
658 /**
659  * @method flags=dynamic
660  * @param hwnd cast=(HWND)
661  * @param dwObjectID cast=(DWORD)
662  * @param ppvObject cast=(LPVOID *)
663  */
AccessibleObjectFromWindow(long hwnd, int dwObjectID, GUID riid, long[] ppvObject)664 public static final native int AccessibleObjectFromWindow (long hwnd, int dwObjectID, GUID riid, long[] ppvObject);
665 /**
666  * @method flags=dynamic
667  * @param hwnd cast=(HWND)
668  * @param ppvObject cast=(LPVOID *)
669  */
CreateStdAccessibleObject(long hwnd, int idObject, GUID riidInterface, long[] ppvObject)670 public static final native int CreateStdAccessibleObject (long hwnd, int idObject, GUID riidInterface, long[] ppvObject);
671 /**
672  * @method flags=dynamic
673  * @param pAcc cast=(LPUNKNOWN)
674  */
LresultFromObject(GUID riid, long wParam, long pAcc)675 public static final native long LresultFromObject (GUID riid, long wParam, long pAcc);
676 /**
677  * @method flags=dynamic
678  * @param paccContainer cast=(IAccessible *)
679  * @param iChildStart cast=(LONG)
680  * @param cChildren cast=(LONG)
681  * @param rgvarChildren cast=(VARIANT *)
682  * @param pcObtained cast=(LONG *)
683  */
AccessibleChildren(long paccContainer, int iChildStart, int cChildren, long rgvarChildren, int [] pcObtained)684 public static final native int AccessibleChildren(long paccContainer, int iChildStart, int cChildren, long rgvarChildren, int [] pcObtained);
685 
686 /* sizeof's */
CAUUID_sizeof()687 public static final native int CAUUID_sizeof();
CONTROLINFO_sizeof()688 public static final native int CONTROLINFO_sizeof();
DISPPARAMS_sizeof()689 public static final native int DISPPARAMS_sizeof();
ELEMDESC_sizeof()690 public static final native int ELEMDESC_sizeof();
EXCEPINFO_sizeof()691 public static final native int EXCEPINFO_sizeof();
FORMATETC_sizeof()692 public static final native int FORMATETC_sizeof();
FUNCDESC_sizeof()693 public static final native int FUNCDESC_sizeof();
GUID_sizeof()694 public static final native int GUID_sizeof();
LICINFO_sizeof()695 public static final native int LICINFO_sizeof();
OLECMD_sizeof()696 public static final native int OLECMD_sizeof();
OLEINPLACEFRAMEINFO_sizeof()697 public static final native int OLEINPLACEFRAMEINFO_sizeof();
STGMEDIUM_sizeof()698 public static final native int STGMEDIUM_sizeof();
TYPEATTR_sizeof()699 public static final native int TYPEATTR_sizeof();
TYPEDESC_sizeof()700 public static final native int TYPEDESC_sizeof();
VARDESC_sizeof()701 public static final native int VARDESC_sizeof();
VARIANT_sizeof()702 public static final native int VARIANT_sizeof();
703 
704 }
705