/*******************************************************************************
 * Copyright (c) 2000, 2012 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.internal.ole.win32;

import org.eclipse.swt.internal.win32.*;

public class COM extends OS {
	/** GUID Constants */
	public static final GUID CLSID_DragDropHelper = COM.IIDFromString("{4657278A-411B-11d2-839A-00C04FD918D0}"); //$NON-NLS-1$
	public static final GUID IID_IDropTargetHelper = COM.IIDFromString("{4657278B-411B-11d2-839A-00C04FD918D0}"); //$NON-NLS-1$
	public static final GUID IID_IDragSourceHelper = COM.IIDFromString("{DE5BF786-477A-11d2-839D-00C04FD918D0}"); //$NON-NLS-1$
	public static final GUID IID_IDragSourceHelper2 = COM.IIDFromString("{83E07D0D-0C5F-4163-BF1A-60B274051E40}"); //$NON-NLS-1$
	public static final GUID IIDJavaBeansBridge = COM.IIDFromString("{8AD9C840-044E-11D1-B3E9-00805F499D93}"); //$NON-NLS-1$
	public static final GUID IIDShockwaveActiveXControl = COM.IIDFromString("{166B1BCA-3F9C-11CF-8075-444553540000}"); //$NON-NLS-1$
	public static final GUID IIDIEditorSiteTime = IIDFromString("{6BD2AEFE-7876-45e6-A6E7-3BFCDF6540AA}"); //$NON-NLS-1$
	public static final GUID IIDIEditorSiteProperty = IIDFromString("{D381A1F4-2326-4f3c-AFB9-B7537DB9E238}"); //$NON-NLS-1$
	public static final GUID IIDIEditorBaseProperty = IIDFromString("{61E55B0B-2647-47c4-8C89-E736EF15D636}"); //$NON-NLS-1$
	public static final GUID IIDIEditorSite = IIDFromString("{CDD88AB9-B01D-426E-B0F0-30973E9A074B}"); //$NON-NLS-1$
	public static final GUID IIDIEditorService = IIDFromString("{BEE283FE-7B42-4FF3-8232-0F07D43ABCF1}"); //$NON-NLS-1$
	public static final GUID IIDIEditorManager = IIDFromString("{EFDE08C4-BE87-4B1A-BF84-15FC30207180}"); //$NON-NLS-1$
	public static final GUID IIDIAccessible = IIDFromString("{618736E0-3C3D-11CF-810C-00AA00389B71}"); //$NON-NLS-1$
	//public static final GUID IIDIAccessibleHandler = IIDFromString("{03022430-ABC4-11D0-BDE2-00AA001A1953}"); //$NON-NLS-1$
	//public static final GUID IIDIAccessor = IIDFromString("{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}"); //$NON-NLS-1$
	public static final GUID IIDIAdviseSink = IIDFromString("{0000010F-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIAdviseSink2 = IIDFromString("{00000125-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIBindCtx = IIDFromString("{0000000E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIClassFactory = IIDFromString("{00000001-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIClassFactory2 = IIDFromString("{B196B28F-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIConnectionPoint = IIDFromString("{B196B286-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIConnectionPointContainer = IIDFromString("{B196B284-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	//public static final GUID IIDICreateErrorInfo = IIDFromString("{22F03340-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
	//public static final GUID IIDICreateTypeInfo = IIDFromString("{00020405-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDICreateTypeLib = IIDFromString("{00020406-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIDataAdviseHolder = IIDFromString("{00000110-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIDataObject = IIDFromString("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIDispatch = IIDFromString("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIDispatchEx = IIDFromString("{A6EF9860-C720-11D0-9337-00A0C90DCAA9}"); //$NON-NLS-1$
	public static final GUID IIDIDocHostUIHandler = IIDFromString("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
	public static final GUID IIDIDocHostShowUI = IIDFromString("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
	public static final GUID IIDIDropSource = IIDFromString("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIDropTarget = IIDFromString("{00000122-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumConnectionPoints = IIDFromString("{B196B285-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumConnections = IIDFromString("{B196B287-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIEnumFORMATETC = IIDFromString("{00000103-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumMoniker = IIDFromString("{00000102-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumOLEVERB = IIDFromString("{00000104-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumSTATDATA = IIDFromString("{00000105-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumSTATSTG = IIDFromString("{0000000D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumString = IIDFromString("{00000101-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIEnumUnknown = IIDFromString("{00000100-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIEnumVARIANT = IIDFromString("{00020404-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIErrorInfo = IIDFromString("{1CF2B120-547D-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
	//public static final GUID IIDIErrorLog = IIDFromString("{3127CA40-446E-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
	//public static final GUID IIDIExternalConnection = IIDFromString("{00000019-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIFont = IIDFromString("{BEF6E002-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$
	//public static final GUID IIDIFontDisp = IIDFromString("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$
	public static final /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromString(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/;
	public static final GUID IIDIInternetSecurityManager = IIDFromString("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
	public static final GUID IIDIAuthenticate = IIDFromString("{79eac9d0-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
	public static final GUID IIDIJScriptTypeInfo = IIDFromString("{C59C6B12-F6C1-11CF-8835-00A0C911E8B2}"); //$NON-NLS-1$
	//public static final GUID IIDILockBytes = IIDFromString("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIMalloc = IIDFromString("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIMallocSpy = IIDFromString("{0000001D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIMarshal = IIDFromString("{00000003-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIMessageFilter = IIDFromString("{00000016-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIMoniker = IIDFromString("{0000000F-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIOleAdviseHolder = IIDFromString("{00000111-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIOleCache = IIDFromString("{0000011E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIOleCache2 = IIDFromString("{00000128-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIOleCacheControl = IIDFromString("{00000129-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleClientSite = IIDFromString("{00000118-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleCommandTarget = IIDFromString("{B722BCCB-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
	public static final GUID IIDIOleContainer = IIDFromString("{0000011B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleControl = IIDFromString("{B196B288-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIOleControlSite = IIDFromString("{B196B289-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIOleDocument = IIDFromString("{B722BCC5-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
	public static final GUID IIDIOleDocumentSite = IIDFromString("{B722BCC7-4E68-101B-A2BC-00AA00404770}"); //$NON-NLS-1$
	public static final GUID IIDIOleInPlaceActiveObject = IIDFromString("{00000117-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleInPlaceFrame = IIDFromString("{00000116-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleInPlaceObject = IIDFromString("{00000113-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleInPlaceSite = IIDFromString("{00000119-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleInPlaceUIWindow = IIDFromString("{00000115-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIOleItemContainer = IIDFromString("{0000011C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleLink = IIDFromString("{0000011D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleObject = IIDFromString("{00000112-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIOleWindow = IIDFromString("{00000114-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIParseDisplayName = IIDFromString("{0000011A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIPerPropertyBrowsing = IIDFromString("{376BD3AA-3845-101B-84ED-08002B2EC713}"); //$NON-NLS-1$
	public static final GUID IIDIPersist = IIDFromString("{0000010C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIPersistFile = IIDFromString("{0000010B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIPersistMemory = IIDFromString("{BD1AE5E0-A6AE-11CE-BD37-504200C10000}"); //$NON-NLS-1$
	//public static final GUID IIDIPersistPropertyBag = IIDFromString("{37D84F60-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
	public static final GUID IIDIPersistStorage = IIDFromString("{0000010A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIPersistStream = IIDFromString("{00000109-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIPersistStreamInit = IIDFromString("{7FD52380-4E07-101B-AE2D-08002B2EC713}"); //$NON-NLS-1$
	//public static final GUID IIDIPicture = IIDFromString("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$
	//public static final GUID IIDIPictureDisp = IIDFromString("{7BF80981-BF32-101A-8BBB-00AA00300CAB}"); //$NON-NLS-1$
	//public static final GUID IIDIPropertyBag = IIDFromString("{55272A00-42CB-11CE-8135-00AA004BB851}"); //$NON-NLS-1$
	public static final GUID IIDIPropertyNotifySink = IIDFromString("{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"); //$NON-NLS-1$
	//public static final GUID IIDIPropertyPage = IIDFromString("{B196B28D-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	//public static final GUID IIDIPropertyPage2 = IIDFromString("{01E44665-24AC-101B-84ED-08002B2EC713}"); //$NON-NLS-1$
	//public static final GUID IIDIPropertyPageSite = IIDFromString("{B196B28C-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIProvideClassInfo = IIDFromString("{B196B283-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	public static final GUID IIDIProvideClassInfo2 = IIDFromString("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"); //$NON-NLS-1$
	//public static final GUID IIDIPSFactoryBuffer = IIDFromString("{D5F569D0-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
	//public static final GUID IIDIRootStorage = IIDFromString("{00000012-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIROTData = IIDFromString("{F29F6BC0-5021-11CE-AA15-00006901293F}"); //$NON-NLS-1$
	//public static final GUID IIDIRpcChannelBuffer = IIDFromString("{D5F56B60-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
	//public static final GUID IIDIRpcProxyBuffer = IIDFromString("{D5F56A34-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
	//public static final GUID IIDIRpcStubBuffer = IIDFromString("{D5F56AFC-593B-101A-B569-08002B2DBF7A}"); //$NON-NLS-1$
	//public static final GUID IIDIRunnableObject = IIDFromString("{00000126-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIRunningObjectTable = IIDFromString("{00000010-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDISimpleFrameSite = IIDFromString("{742B0E01-14E6-101B-914E-00AA00300CAB}"); //$NON-NLS-1$
	public static final GUID IIDIServiceProvider = IIDFromString("{6d5140c1-7436-11ce-8034-00aa006009fa}"); //$NON-NLS-1$
	public static final GUID IIDISpecifyPropertyPages = IIDFromString("{B196B28B-BAB4-101A-B69C-00AA00341D07}"); //$NON-NLS-1$
	//public static final GUID IIDIStdMarshalInfo = IIDFromString("{00000018-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIStorage = IIDFromString("{0000000B-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIStream = IIDFromString("{0000000C-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDISupportErrorInfo = IIDFromString("{DF0B3D60-548F-101B-8E65-08002B2BD119}"); //$NON-NLS-1$
	//public static final GUID IIDITypeComp = IIDFromString("{00020403-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDITypeLib = IIDFromString("{00020402-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIUnknown = IIDFromString("{00000000-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	//public static final GUID IIDIViewObject = IIDFromString("{0000010D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID IIDIViewObject2 = IIDFromString("{00000127-0000-0000-C000-000000000046}"); //$NON-NLS-1$
	public static final GUID CGID_DocHostCommandHandler = IIDFromString("{f38bc242-b950-11d1-8918-00c04fc2c836}"); //$NON-NLS-1$
	public static final GUID CGID_Explorer = IIDFromString("{000214D0-0000-0000-C000-000000000046}"); //$NON-NLS-1$

	// IA2 related GUIDS
	public static final GUID IIDIAccessible2 = IIDFromString("{E89F726E-C4F4-4c19-BB19-B647D7FA8478}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleRelation = IIDFromString("{7CDF86EE-C3DA-496a-BDA4-281B336E1FDC}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleAction = IIDFromString("{B70D9F59-3B5A-4dba-AB9E-22012F607DF5}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleComponent = IIDFromString("{1546D4B0-4C98-4bda-89AE-9A64748BDDE4}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleValue = IIDFromString("{35855B5B-C566-4fd0-A7B1-E65465600394}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleText = IIDFromString("{24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleEditableText = IIDFromString("{A59AA09A-7011-4b65-939D-32B1FB5547E3}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleHyperlink = IIDFromString("{01C20F2B-3DD2-400f-949F-AD00BDAB1D41}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleHypertext = IIDFromString("{6B4F8BBF-F1F2-418a-B35E-A195BC4103B9}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleTable = IIDFromString("{35AD8070-C20C-4fb4-B094-F4F7275DD469}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleTable2 = IIDFromString("{6167f295-06f0-4cdd-a1fa-02e25153d869}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleTableCell = IIDFromString("{594116B1-C99F-4847-AD06-0A7A86ECE645}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleImage = IIDFromString("{FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleApplication = IIDFromString("{D49DED83-5B25-43F4-9B95-93B44595979E}"); //$NON-NLS-1$
	public static final GUID IIDIAccessibleContext = IIDFromString("{77A123E4-5794-44e0-B8BF-DE600C9D29BD}"); //$NON-NLS-1$

	/** Constants */
	//public static final int ADVF_DATAONSTOP = 64;
	//public static final int ADVF_NODATA = 1;
	//public static final int ADVF_ONLYONCE = 2;
	//public static final int ADVF_PRIMEFIRST = 4;
	//public static final int ADVFCACHE_FORCEBUILTIN = 16;
	//public static final int ADVFCACHE_NOHANDLER = 8;
	//public static final int ADVFCACHE_ONSAVE = 32;
	public static final int CF_TEXT = 1;
	public static final int CF_BITMAP = 2;
	public static final int CF_METAFILEPICT = 3;
	public static final int CF_SYLK = 4;
	public static final int CF_DIF = 5;
	public static final int CF_TIFF = 6;
	public static final int CF_OEMTEXT = 7;
	public static final int CF_DIB = 8;
	public static final int CF_PALETTE = 9;
	public static final int CF_PENDATA = 10;
	public static final int CF_RIFF = 11;
	public static final int CF_WAVE = 12;
	public static final int CF_UNICODETEXT = 13;
	public static final int CF_ENHMETAFILE = 14;
	public static final int CF_HDROP = 15;
	public static final int CF_LOCALE = 16;
	public static final int CF_MAX = 17;
	public static final int CLSCTX_INPROC_HANDLER = 2;
	public static final int CLSCTX_INPROC_SERVER = 1;
	public static final int CLSCTX_LOCAL_SERVER = 4;
	public static final int CLSCTX_REMOTE_SERVER = 16;
	public static final int CO_E_CLASSSTRING = -2147221005;
	//public static final int COINIT_APARTMENTTHREADED = 2;
	//public static final int COINIT_DISABLE_OLE1DDE = 4;
	//public static final int COINIT_MULTITHREADED = 0;
	//public static final int COINIT_SPEED_OVER_MEMORY = 8;
	public static final int DATADIR_GET = 1;
	public static final int DATADIR_SET = 2;
	public static final int DISPATCH_CONSTRUCT = 0x4000;
	public static final int DISP_E_EXCEPTION = 0x80020009;
	public static final int DISP_E_MEMBERNOTFOUND = -2147352573;
	public static final int DISP_E_UNKNOWNINTERFACE = 0x80020001;
	public static final int DISP_E_UNKNOWNNAME = 0x80020006;
	//public static final int DISPID_AMBIENT_APPEARANCE = -716;
	//public static final int DISPID_AMBIENT_AUTOCLIP = -715;
	public static final int DISPID_AMBIENT_BACKCOLOR = -701;
	//public static final int DISPID_AMBIENT_CHARSET = -727;
	//public static final int DISPID_AMBIENT_CODEPAGE = -725;
	//public static final int DISPID_AMBIENT_DISPLAYASDEFAULT = -713;
	//public static final int DISPID_AMBIENT_DISPLAYNAME = -702;
	public static final int DISPID_AMBIENT_FONT = -703;
	public static final int DISPID_AMBIENT_FORECOLOR = -704;
	public static final int DISPID_AMBIENT_LOCALEID = -705;
	public static final int DISPID_AMBIENT_MESSAGEREFLECT = -706;
	public static final int DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501;
	//public static final int DISPID_AMBIENT_PALETTE = -726;
	//public static final int DISPID_AMBIENT_RIGHTTOLEFT = -732;
	//public static final int DISPID_AMBIENT_SCALEUNITS = -707;
	public static final int DISPID_AMBIENT_SHOWGRABHANDLES = -711;
	public static final int DISPID_AMBIENT_SHOWHATCHING = -712;
	public static final int DISPID_AMBIENT_SILENT = -5502;
	public static final int DISPID_AMBIENT_SUPPORTSMNEMONICS = -714;
	//public static final int DISPID_AMBIENT_TEXTALIGN = -708;
	//public static final int DISPID_AMBIENT_TOPTOBOTTOM = -733;
	//public static final int DISPID_AMBIENT_TRANSFERPRIORITY = -728;
	public static final int DISPID_AMBIENT_UIDEAD = -710;
	public static final int DISPID_AMBIENT_USERMODE = -709;
	public static final int DISPID_BACKCOLOR = -501;
	public static final int DISPID_FONT = -512;
	public static final int DISPID_FONT_BOLD = 3;
	public static final int DISPID_FONT_CHARSET = 8;
	public static final int DISPID_FONT_ITALIC = 4;
	public static final int DISPID_FONT_NAME = 0;
	public static final int DISPID_FONT_SIZE = 2;
	public static final int DISPID_FONT_STRIKE = 6;
	public static final int DISPID_FONT_UNDER = 5;
	public static final int DISPID_FONT_WEIGHT = 7;
	public static final int DISPID_FORECOLOR = -513;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK = 0xFFFFFDA7;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGEND = 0x80010015;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART = 0x8001000B;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN = 0xFFFFFDA6;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS = 0xFFFFFDA5;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONKEYUP = 0xFFFFFDA4;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT = 0x80010009;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER = 0x80010008;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE = 0xFFFFFDA2;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN = 0xFFFFFDA3;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP = 0xFFFFFDA1;
	public static final int DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL = 1033;

	//public static final int DISPID_READYSTATE = -525;
	//public static final int DISPID_READYSTATECHANGE = -609;
	public static final int DRAGDROP_S_DROP = 0x00040100;
	public static final int DRAGDROP_S_CANCEL = 0x00040101;
	public static final int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102;
	public static final int DROPEFFECT_NONE = 0;
	public static final int DROPEFFECT_COPY = 1;
	public static final int DROPEFFECT_MOVE = 2;
	public static final int DROPEFFECT_LINK = 4;
	public static final int DROPEFFECT_SCROLL = 0x80000000;
	public static final int DSH_ALLOWDROPDESCRIPTIONTEXT = 0x1;
	public static final int DV_E_FORMATETC = -2147221404;
	public static final int DV_E_STGMEDIUM = -2147221402;
	public static final int DV_E_TYMED = -2147221399;
	public static final int DVASPECT_CONTENT = 1;
	//public static final int DVASPECT_DOCPRINT = 8;
	//public static final int DVASPECT_ICON = 4;
	//public static final int DVASPECT_THUMBNAIL = 2;
	public static final int E_ACCESSDENIED = 0x80070005;
	public static final int E_FAIL = -2147467259;
	public static final int E_INVALIDARG = -2147024809;
	public static final int E_NOINTERFACE = -2147467262;
	public static final int E_NOTIMPL = -2147467263;
	public static final int E_NOTSUPPORTED = 0x80040100;
	//public static final int E_NOTLICENSED = -2147221230;
	public static final int E_OUTOFMEMORY = -2147024882;
	//public static final int E_POINTER = -2147467261;
	public static final int GMEM_FIXED = 0;
	//public static final int GMEM_MOVABLE = 2;
	//public static final int GMEM_NODISCARD = 32;
	public static final int GMEM_ZEROINIT = 64;
	public static final int GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1;
	public static final int IMPLTYPEFLAG_FDEFAULT = 1;
	//public static final int IMPLTYPEFLAG_FDEFAULTVTABLE = 2048;
	public static final int IMPLTYPEFLAG_FRESTRICTED = 4;
	public static final int IMPLTYPEFLAG_FSOURCE = 2;
	public static final int LOCALE_SYSTEM_DEFAULT = 1024;
	public static final int LOCALE_USER_DEFAULT = 2048;
	//public static final int MEMCTX_TASK = 1;
	//public static final int OLEACTIVATEAUTO = 3;
	//public static final int OLEACTIVATEDOUBLECLICK = 2;
	//public static final int OLEACTIVATEGETFOCUS = 1;
	//public static final int OLEACTIVATEMANUAL = 0;
	//public static final int OLEAUTOMATIC = 0;
	//public static final int OLECHANGED = 0;
	public static final int OLECLOSE_NOSAVE = 1;
	//public static final int OLECLOSE_PROMPTSAVE = 2;
	public static final int OLECLOSE_SAVEIFDIRTY = 0;
	//public static final int OLECLOSED = 2;
	//public static final int OLECONTF_EMBEDDINGS = 1;
	//public static final int OLECONTF_LINKS = 2;
	//public static final int OLECONTF_ONLYIFRUNNING = 16;
	//public static final int OLECONTF_ONLYUSER = 8;
	//public static final int OLECONTF_OTHERS = 4;
	//public static final int OLEDEACTIVATEMANUAL = 1;
	//public static final int OLEDEACTIVATEONLOSEFOCUS = 0;
	//public static final int OLEDECBORDER = 1;
	//public static final int OLEDECBORDERANDNIBS = 3;
	//public static final int OLEDECNIBS = 2;
	//public static final int OLEDECNONE = 0;
	//public static final int OLEDISPLAYCONTENT = 0;
	//public static final int OLEDISPLAYICON = 1;
	//public static final int OLEEITHER = 2;
	public static final int OLEEMBEDDED = 1;
	//public static final int OLEFROZEN = 1;
	public static final int OLEIVERB_DISCARDUNDOSTATE = -6;
	//public static final int OLEIVERB_HIDE = -3;
	public static final int OLEIVERB_INPLACEACTIVATE = -5;
	//public static final int OLEIVERB_OPEN = -2;
	public static final int OLEIVERB_PRIMARY = 0;
	//public static final int OLEIVERB_PROPERTIES = -7;
	//public static final int OLEIVERB_SHOW = -1;
	//public static final int OLEIVERB_UIACTIVATE = -4;
	public static final int OLELINKED = 0;
	//public static final int OLEMANUAL = 2;
	//public static final int OLEMISC_ACTIVATEWHENVISIBLE = 256;
	//public static final int OLEMISC_ACTSLIKEBUTTON = 4096;
	//public static final int OLEMISC_ACTSLIKELABEL = 8192;
	//public static final int OLEMISC_ALIGNABLE = 32768;
	//public static final int OLEMISC_ALWAYSRUN = 2048;
	//public static final int OLEMISC_CANLINKBYOLE1 = 32;
	//public static final int OLEMISC_CANTLINKINSIDE = 16;
	//public static final int OLEMISC_IGNOREACTIVATEWHENVISIBLE = 524288;
	//public static final int OLEMISC_IMEMODE = 262144;
	//public static final int OLEMISC_INSERTNOTREPLACE = 4;
	//public static final int OLEMISC_INSIDEOUT = 128;
	//public static final int OLEMISC_INVISIBLEATRUNTIME = 1024;
	//public static final int OLEMISC_ISLINKOBJECT = 64;
	//public static final int OLEMISC_NOUIACTIVATE = 16384;
	//public static final int OLEMISC_ONLYICONIC = 2;
	//public static final int OLEMISC_RECOMPOSEONRESIZE = 1;
	//public static final int OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512;
	//public static final int OLEMISC_SETCLIENTSITEFIRST = 131072;
	//public static final int OLEMISC_SIMPLEFRAME = 65536;
	//public static final int OLEMISC_STATIC = 8;
	//public static final int OLEMISC_SUPPORTSMULTILEVELUNDO = 2097152;
	//public static final int OLEMISC_WANTSTOMENUMERGE = 1048576;
	//public static final int OLENONE = 3;
	//public static final int OLERENAMED = 3;
	//public static final int OLERENDER_ASIS = 3;
	public static final int OLERENDER_DRAW = 1;
	//public static final int OLERENDER_FORMAT = 2;
	//public static final int OLERENDER_NONE = 0;
	//public static final int OLESAVED = 1;
	//public static final int OLESIZEAUTOSIZE = 2;
	//public static final int OLESIZECLIP = 0;
	//public static final int OLESIZESTRETCH = 1;
	//public static final int OLESIZEZOOM = 3;
	//public static final int OLEWHICHMK_CONTAINER = 1;
	//public static final int OLEWHICHMK_OBJFULL = 3;
	//public static final int OLEWHICHMK_OBJREL = 2;
	public static final int S_FALSE = 1;
	public static final int S_OK = 0;
	public static final int STG_E_FILENOTFOUND = 0x80030002;
	public static final int STG_S_CONVERTED = 0x00030200;
	//public static final int STGC_CONSOLIDATE = 8;
	//public static final int STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4;
	public static final int STGC_DEFAULT = 0;
	//public static final int STGC_ONLYIFCURRENT = 2;
	//public static final int STGC_OVERWRITE = 1;
	public static final int STGM_CONVERT = 0x00020000;
	public static final int STGM_CREATE = 0x00001000;
	public static final int STGM_DELETEONRELEASE = 0x04000000;
	public static final int STGM_DIRECT = 0x00000000;
	public static final int STGM_DIRECT_SWMR = 0x00400000;
	public static final int STGM_FAILIFTHERE = 0x00000000;
	public static final int STGM_NOSCRATCH = 0x00100000;
	public static final int STGM_NOSNAPSHOT = 0x00200000;
	public static final int STGM_PRIORITY = 0x00040000;
	public static final int STGM_READ = 0x00000000;
	public static final int STGM_READWRITE = 0x00000002;
	public static final int STGM_SHARE_DENY_NONE = 0x00000040;
	public static final int STGM_SHARE_DENY_READ = 0x00000030;
	public static final int STGM_SHARE_DENY_WRITE = 0x00000020;
	public static final int STGM_SHARE_EXCLUSIVE = 0x00000010;
	public static final int STGM_SIMPLE = 0x08000000;
	public static final int STGM_TRANSACTED = 0x00010000;
	public static final int STGM_WRITE = 0x00000001;
	public static final int STGTY_STORAGE = 1;
	public static final int STGTY_STREAM = 2;
	public static final int STGTY_LOCKBYTES = 3;
	public static final int STGTY_PROPERTY = 4;
	//public static final int TYMED_ENHMF = 64;
	//public static final int TYMED_FILE = 2;
	//public static final int TYMED_GDI = 16;
	public static final int TYMED_HGLOBAL = 1;
	//public static final int TYMED_ISTORAGE = 8;
	//public static final int TYMED_ISTREAM = 4;
	//public static final int TYMED_MFPICT = 32;
	//public static final int TYMED_NULL = 0;
	public static final short DISPATCH_METHOD = 0x1;
	public static final short DISPATCH_PROPERTYGET = 0x2;
	public static final short DISPATCH_PROPERTYPUT = 0x4;
	public static final short DISPATCH_PROPERTYPUTREF = 0x8;
	//public static final short DISPID_CONSTRUCTOR = -6;
	//public static final short DISPID_DESTRUCTOR = -7;
	//public static final short DISPID_EVALUATE = -5;
	//public static final short DISPID_NEWENUM = -4;
	public static final short DISPID_PROPERTYPUT = -3;
	public static final short DISPID_UNKNOWN = -1;
	public static final short DISPID_VALUE = 0;
	public static final short VT_BOOL = 11;
	public static final short VT_BSTR = 8;
	public static final short VT_BYREF = 16384;
	public static final short VT_CY = 6;
	public static final short VT_DATE = 7;
	public static final short VT_DISPATCH = 9;
	public static final short VT_EMPTY = 0;
	public static final short VT_ERROR = 10;
	public static final short VT_I1 = 16;
	public static final short VT_I2 = 2;
	public static final short VT_I4 = 3;
	public static final short VT_I8 = 20;
	public static final short VT_NULL = 1;
	public static final short VT_R4 = 4;
	public static final short VT_R8 = 5;
	public static final short VT_UI1 = 17;
	public static final short VT_UI2 = 18;
	public static final short VT_UI4 = 19;
	public static final short VT_UNKNOWN = 13;
	public static final short VT_VARIANT = 12;

	public static boolean FreeUnusedLibraries = true;

private static GUID IIDFromString(String lpsz) {
	int length = lpsz.length();
	char[] buffer = new char[length + 1];
	lpsz.getChars(0, length, buffer, 0);
	GUID lpiid = new GUID();
	if (COM.IIDFromString(buffer, lpiid) == COM.S_OK) return lpiid;
	return null;
}

/** Natives */

/** @param lpszProgID cast=(LPCOLESTR) */
public static final native int CLSIDFromProgID(char[] lpszProgID, GUID pclsid);
/** @param lpsz cast=(LPOLESTR) */
public static final native int CLSIDFromString(char[] lpsz, GUID pclsid);
/**
 * @param pUnkOuter cast=(LPUNKNOWN)
 * @param ppv cast=(LPVOID *)
 */
public static final native int CoCreateInstance(GUID rclsid, long /*int*/ pUnkOuter, int dwClsContext, GUID riid, long /*int*/[] ppv);
public static final native void CoFreeUnusedLibraries();
/**
 * @param pServerInfo cast=(COSERVERINFO *)
 * @param ppv cast=(LPVOID *)
 */
public static final native int CoGetClassObject(GUID rclsid, int dwClsContext, long /*int*/ pServerInfo, GUID riid, long /*int*/[] ppv);
/**
 * @param pUnk cast=(IUnknown *)
 * @param fLock cast=(BOOL)
 * @param fLastUnlockReleases cast=(BOOL)
 */
public static final native int CoLockObjectExternal(long /*int*/ pUnk, boolean fLock, boolean fLastUnlockReleases);
/**
 * @param pDataObject cast=(IDataObject *)
 * @param pDropSource cast=(IDropSource *)
 * @param pdwEffect cast=(LPDWORD)
 */
public static final native int DoDragDrop(long /*int*/ pDataObject, long /*int*/ pDropSource, int dwOKEffect, int[] pdwEffect);
/** @param szFileName cast=(LPCWSTR) */
public static final native int GetClassFile(char[] szFileName, GUID clsid);
/** @param lpsz cast=(LPOLESTR) */
public static final native int IIDFromString(char[] lpsz, GUID lpiid);
public static final native boolean IsEqualGUID(GUID rguid1, GUID rguid2);
/**
 * @param Destination cast=(PVOID)
 * @param Source cast=(CONST VOID *),flags=no_out
 */
public static final native void MoveMemory(long /*int*/ Destination, FORMATETC Source, int Length);
/**
 * @param DestinationPtr cast=(PVOID)
 * @param Source cast=(CONST VOID *),flags=no_out
 */
public static final native void MoveMemory(long /*int*/ DestinationPtr, GUID Source, int Length);
/**
 * @param DestinationPtr cast=(PVOID)
 * @param Source cast=(CONST VOID *),flags=no_out
 */
public static final native void MoveMemory(long /*int*/ DestinationPtr, OLEINPLACEFRAMEINFO Source, int Length);
/**
 * @param Destination cast=(PVOID)
 * @param Source cast=(CONST VOID *),flags=no_out
 */
public static final native void MoveMemory(long /*int*/ Destination, STATSTG Source, int Length);
/**
 * @param Destination cast=(PVOID)
 * @param Source cast=(CONST VOID *),flags=no_out
 */
public static final native void MoveMemory(long /*int*/ Destination, STGMEDIUM Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param SourcePtr cast=(CONST VOID *)
 */
public static final native void MoveMemory(STGMEDIUM Destination, long /*int*/ SourcePtr, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param SourcePtr cast=(CONST VOID *)
 */
public static final native void MoveMemory(DISPPARAMS Destination, long /*int*/ SourcePtr, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(FORMATETC Destination, long /*int*/ Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param SourcePtr cast=(CONST VOID *)
 */
public static final native void MoveMemory(GUID Destination, long /*int*/ SourcePtr, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(STATSTG Destination, long /*int*/ Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param SourcePtr cast=(CONST VOID *)
 */
public static final native void MoveMemory(TYPEATTR Destination, long /*int*/ SourcePtr, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(RECT Destination, long /*int*/ Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(FUNCDESC Destination, long /*int*/ Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(VARDESC Destination, long /*int*/ Source, int Length);
/**
 * @param Destination cast=(PVOID),flags=no_in
 * @param Source cast=(CONST VOID *)
 */
public static final native void MoveMemory(VARIANT Destination, long /*int*/ Source, int Length);
/**
 * @param pClientSite cast=(IOleClientSite *)
 * @param pStg cast=(IStorage *)
 * @param ppvObject cast=(void **)
 */
public static final native int OleCreate(GUID rclsid, GUID riid, int renderopt, FORMATETC pFormatEtc, long /*int*/ pClientSite, long /*int*/ pStg, long /*int*/[] ppvObject);
/**
 * @param lpszFileName cast=(LPCOLESTR)
 * @param pClientSite cast=(LPOLECLIENTSITE)
 * @param pStg cast=(LPSTORAGE)
 * @param ppvObj cast=(LPVOID *)
 */
public static final native int OleCreateFromFile(GUID rclsid, char[] lpszFileName, GUID riid, int renderopt, FORMATETC pFormatEtc, long /*int*/ pClientSite, long /*int*/ pStg, long /*int*/[] ppvObj);
/**
 * @param hwndOwner cast=(HWND)
 * @param lpszCaption cast=(LPCOLESTR)
 * @param lplpUnk cast=(LPUNKNOWN FAR*)
 * @param lpPageClsID cast=(LPCLSID)
 * @param lcid cast=(LCID)
 * @param lpvReserved cast=(LPVOID)
 */
public static final native int OleCreatePropertyFrame(long /*int*/ hwndOwner,int x, int y, char[] lpszCaption, int cObjects, long /*int*/[] lplpUnk, int cPages, long /*int*/ lpPageClsID, int lcid, int dwReserved, long /*int*/ lpvReserved);
/**
 * @param pUnk cast=(LPUNKNOWN)
 * @param dwAspect cast=(DWORD)
 * @param hdcDraw cast=(HDC)
 * @param lprcBounds cast=(LPRECT)
 */
public static final native int OleDraw(long /*int*/ pUnk, int dwAspect, long /*int*/ hdcDraw, long /*int*/ lprcBounds);
public static final native int OleFlushClipboard();
/** @param ppDataObject cast=(IDataObject **) */
public static final native int OleGetClipboard(long /*int*/[] ppDataObject);
/** @param pDataObject cast=(IDataObject *) */
public static final native int OleIsCurrentClipboard(long /*int*/ pDataObject);
/** @param pObject cast=(LPOLEOBJECT) */
public static final native boolean OleIsRunning(long /*int*/ pObject);
/**
 * @param pStg cast=(IStorage *)
 * @param pClientSite cast=(IOleClientSite *)
 * @param ppvObj cast=(LPVOID *)
 */
public static final native int OleLoad(long /*int*/ pStg, GUID riid, long /*int*/ pClientSite, long /*int*/[] ppvObj);
/** @param pUnknown cast=(LPUNKNOWN) */
public static final native int OleRun(long /*int*/ pUnknown);
/**
 * @param pPS cast=(IPersistStorage *)
 * @param pStg cast=(IStorage *)
 */
public static final native int OleSave(long /*int*/ pPS, long /*int*/ pStg, boolean fSameAsLoad);
/** @param pDataObject cast=(IDataObject *) */
public static final native int OleSetClipboard(long /*int*/ pDataObject);
/** @param pUnk cast=(LPUNKNOWN) */
public static final native int OleSetContainedObject(long /*int*/ pUnk, boolean fContained);
/**
 * @method flags=trycatch
 * @param holemenu cast=(HOLEMENU)
 * @param hwndFrame cast=(HWND)
 * @param hwndActiveObject cast=(HWND)
 * @param lpFrame cast=(LPOLEINPLACEFRAME)
 * @param lpActiveObj cast=(LPOLEINPLACEACTIVEOBJECT)
 */
public static final native int OleSetMenuDescriptor(long /*int*/ holemenu, long /*int*/ hwndFrame, long /*int*/ hwndActiveObject, long /*int*/ lpFrame, long /*int*/ lpActiveObj);
/**
 * @param clr cast=(OLE_COLOR)
 * @param hpal cast=(HPALETTE)
 * @param pcolorref cast=(COLORREF *)
 */
public static final native int OleTranslateColor(int clr, long /*int*/ hpal, int[] pcolorref);
/** @param lplpszProgID cast=(LPOLESTR *) */
public static final native int ProgIDFromCLSID(GUID clsid, long /*int*/[] lplpszProgID);
/**
 * @param hwnd cast=(HWND)
 * @param pDropTarget cast=(IDropTarget *)
 */
public static final native int RegisterDragDrop(long /*int*/ hwnd, long /*int*/ pDropTarget);
/** @param pmedium cast=(STGMEDIUM *) */
public static final native void ReleaseStgMedium(long /*int*/ pmedium);
/** @param hwnd cast=(HWND) */
public static final native int RevokeDragDrop(long /*int*/ hwnd);
/**
 * @param hwnd cast=(HWND)
 * @param pDataObject cast=(IDataObject *)
 * @param pDropSource cast=(IDropSource *)
 * @param pdwEffect cast=(DWORD *)
 */
public static final native int SHDoDragDrop(long /*int*/ hwnd, long /*int*/ pDataObject, long /*int*/ pDropSource, int dwOKEffect, int[] pdwEffect);
/** @param ppstgOpen cast=(IStorage **) */
public static final native int StgCreateDocfile(char[] pwcsName, int grfMode, int reserved, long /*int*/[] ppstgOpen);
/** @param pwcsName cast=(const WCHAR *) */
public static final native int StgIsStorageFile(char[] pwcsName);
/**
 * @param pwcsName cast=(const WCHAR *)
 * @param pstgPriority cast=(IStorage *)
 * @param snbExclude cast=(SNB)
 * @param ppstgOpen cast=(IStorage **)
 */
public static final native int StgOpenStorage(char[] pwcsName, long /*int*/ pstgPriority, int grfMode, long /*int*/ snbExclude, int reserved, long /*int*/[] ppstgOpen);
/** @param ppsz cast=(LPOLESTR *) */
public static final native int StringFromCLSID(GUID rclsid, long /*int*/[] ppsz);
/** @param sz cast=(OLECHAR *) */
public static final native long /*int*/ SysAllocString(char [] sz);
/** @param bstr cast=(BSTR) */
public static final native void SysFreeString(long /*int*/ bstr);
/** @param bstr cast=(BSTR) */
public static final native int SysStringByteLen(long /*int*/ bstr);
/** @param bstr cast=(BSTR) */
public static final native int SysStringLen(long /*int*/ bstr);
/**
 * @param pvargDest cast=(VARIANTARG FAR* )
 * @param pvarSrc cast=(VARIANTARG FAR* )
 * @param vt cast=(VARTYPE)
 */
public static final native int VariantChangeType(long /*int*/ pvargDest, long /*int*/ pvarSrc, short wFlags, short vt);
/** @param pvarg cast=(VARIANTARG FAR* ) */
public static final native int VariantClear(long /*int*/ pvarg);
/** @param pvarg cast=(VARIANTARG FAR* ) */
public static final native void VariantInit(long /*int*/ pvarg);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, char[] arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, POINT arg2, int arg3);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, POINT arg2, int arg3);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, POINT arg1, int arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, POINT arg1, long arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, POINT arg0, int arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, SHDRAGIMAGE arg0, int arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, SHDRAGIMAGE arg0, long arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int[] arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, long[] arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, long[] arg4);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, int arg4, long[] arg5);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long[] arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, int[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int[] arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, DVTARGETDEVICE arg2, SIZE arg3);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, GUID arg2, int arg3, int [] arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, GUID arg2, long arg3, long [] arg4);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, FORMATETC arg1, int [] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, FORMATETC arg1, long[] arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, GUID arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, GUID arg1, long arg2, long arg3);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, int arg5, EXCEPINFO arg6, int[] arg7);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, long arg5, EXCEPINFO arg6, int[] arg7);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, STATSTG arg1, int [] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, STATSTG arg1, long[] arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, MSG arg0);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, MSG arg1, int arg2, int arg3, int arg4, RECT arg5);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, MSG arg1, long arg2, int arg3, long arg4, RECT arg5);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, SIZE arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, boolean arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, boolean arg1);

public static final native int VtblCall (int fnNumber, long /*int*/ ppVtbl, boolean arg0);
public static final native int VtblCall (int fnNumber, long /*int*/ ppVtbl, boolean arg0, int arg1);
public static final native int VtblCall (int fnNumber, long /*int*/ ppVtbl, boolean arg0, long arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, CAUUID arg0);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, CONTROLINFO arg0);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, FORMATETC arg0);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, FORMATETC arg0, STGMEDIUM arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, FORMATETC arg0, STGMEDIUM arg1, boolean arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, int[] arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, long[] arg1);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, GUID arg1, int[] arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, GUID arg1, long[] arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int[] arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, long arg1, int arg2, int arg3, int[] arg4);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, int arg1, int arg2, long arg3, long arg4);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, GUID arg0, int arg1, OLECMD arg2, OLECMDTEXT arg3);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, LICINFO arg0);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0, int arg1, boolean arg2);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0, long arg1, boolean arg2);

/**
 * @param arg0 flags=struct
 */
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0, int arg1, int arg2);
/**
 * @param arg0 flags=struct
 */
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0, long arg1, long arg2);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0, RECT arg1);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, RECT arg0);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int [] arg1, int [] arg2, int[] arg3, int [] arg4);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int [] arg1, int arg2, int[] arg3);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, int arg4, EXCEPINFO arg5, int arg6);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] pszPropName, int[] pVar, int[] pErrorLog);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] pszPropName, int pVar, int[] pErrorLog);

public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int type, int listener, boolean useCapture);
public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long type, long listener, boolean useCapture);

/** @param pStg cast=(IStorage *) */
public static final native int WriteClassStg(long /*int*/ pStg, GUID rclsid);

/** Accessibility constants */
public static final int CHILDID_SELF = 0;
public static final int CO_E_OBJNOTCONNECTED = 0x800401FD;
//public static final int ROLE_SYSTEM_TITLEBAR = 0x1;
public static final int ROLE_SYSTEM_MENUBAR = 0x2;
public static final int ROLE_SYSTEM_SCROLLBAR = 0x3;
//public static final int ROLE_SYSTEM_GRIP = 0x4;
//public static final int ROLE_SYSTEM_SOUND = 0x5;
//public static final int ROLE_SYSTEM_CURSOR = 0x6;
//public static final int ROLE_SYSTEM_CARET = 0x7;
public static final int ROLE_SYSTEM_ALERT = 0x8;
public static final int ROLE_SYSTEM_WINDOW = 0x9;
public static final int ROLE_SYSTEM_CLIENT = 0xa;
public static final int ROLE_SYSTEM_MENUPOPUP = 0xb;
public static final int ROLE_SYSTEM_MENUITEM = 0xc;
public static final int ROLE_SYSTEM_TOOLTIP = 0xd;
//public static final int ROLE_SYSTEM_APPLICATION = 0xe;
public static final int ROLE_SYSTEM_DOCUMENT = 0xf;
//public static final int ROLE_SYSTEM_PANE = 0x10;
//public static final int ROLE_SYSTEM_CHART = 0x11;
public static final int ROLE_SYSTEM_DIALOG = 0x12;
//public static final int ROLE_SYSTEM_BORDER = 0x13;
public static final int ROLE_SYSTEM_GROUPING = 0x14;
public static final int ROLE_SYSTEM_SEPARATOR = 0x15;
public static final int ROLE_SYSTEM_TOOLBAR = 0x16;
public static final int ROLE_SYSTEM_STATUSBAR = 0x17;
public static final int ROLE_SYSTEM_TABLE = 0x18;
public static final int ROLE_SYSTEM_COLUMNHEADER = 0x19;
public static final int ROLE_SYSTEM_ROWHEADER = 0x1a;
public static final int ROLE_SYSTEM_COLUMN = 0x1b;
public static final int ROLE_SYSTEM_ROW = 0x1c;
public static final int ROLE_SYSTEM_CELL = 0x1d;
public static final int ROLE_SYSTEM_LINK = 0x1e;
//public static final int ROLE_SYSTEM_HELPBALLOON = 0x1f;
//public static final int ROLE_SYSTEM_CHARACTER = 0x20;
public static final int ROLE_SYSTEM_LIST = 0x21;
public static final int ROLE_SYSTEM_LISTITEM = 0x22;
public static final int ROLE_SYSTEM_OUTLINE = 0x23;
public static final int ROLE_SYSTEM_OUTLINEITEM = 0x24;
public static final int ROLE_SYSTEM_PAGETAB = 0x25;
//public static final int ROLE_SYSTEM_PROPERTYPAGE = 0x26;
//public static final int ROLE_SYSTEM_INDICATOR = 0x27;
public static final int ROLE_SYSTEM_GRAPHIC = 0x28;
public static final int ROLE_SYSTEM_STATICTEXT = 0x29;
public static final int ROLE_SYSTEM_TEXT = 0x2a;
public static final int ROLE_SYSTEM_PUSHBUTTON = 0x2b;
public static final int ROLE_SYSTEM_CHECKBUTTON = 0x2c;
public static final int ROLE_SYSTEM_RADIOBUTTON = 0x2d;
public static final int ROLE_SYSTEM_COMBOBOX = 0x2e;
public static final int ROLE_SYSTEM_DROPLIST = 0x2f;
public static final int ROLE_SYSTEM_PROGRESSBAR = 0x30;
//public static final int ROLE_SYSTEM_DIAL = 0x31;
//public static final int ROLE_SYSTEM_HOTKEYFIELD = 0x32;
public static final int ROLE_SYSTEM_SLIDER = 0x33;
public static final int ROLE_SYSTEM_SPINBUTTON = 0x34;
//public static final int ROLE_SYSTEM_DIAGRAM = 0x35;
public static final int ROLE_SYSTEM_ANIMATION = 0x36;
//public static final int ROLE_SYSTEM_EQUATION = 0x37;
//public static final int ROLE_SYSTEM_BUTTONDROPDOWN = 0x38;
//public static final int ROLE_SYSTEM_BUTTONMENU = 0x39;
//public static final int ROLE_SYSTEM_BUTTONDROPDOWNGRID = 0x3a;
//public static final int ROLE_SYSTEM_WHITESPACE = 0x3b;
public static final int ROLE_SYSTEM_PAGETABLIST = 0x3c;
public static final int ROLE_SYSTEM_CLOCK = 0x3d;
public static final int ROLE_SYSTEM_SPLITBUTTON = 0x3e;
//public static final int ROLE_SYSTEM_IPADDRESS = 0x3f;
//public static final int ROLE_SYSTEM_OUTLINEBUTTON = 0x40;

public static final int STATE_SYSTEM_NORMAL = 0;
public static final int STATE_SYSTEM_UNAVAILABLE = 0x1;
public static final int STATE_SYSTEM_SELECTED = 0x2;
public static final int STATE_SYSTEM_FOCUSED = 0x4;
public static final int STATE_SYSTEM_PRESSED = 0x8;
public static final int STATE_SYSTEM_CHECKED = 0x10;
public static final int STATE_SYSTEM_MIXED = 0x20;
public static final int STATE_SYSTEM_READONLY = 0x40;
public static final int STATE_SYSTEM_HOTTRACKED = 0x80;
//public static final int STATE_SYSTEM_DEFAULT = 0x100;
public static final int STATE_SYSTEM_EXPANDED = 0x200;
public static final int STATE_SYSTEM_COLLAPSED = 0x400;
public static final int STATE_SYSTEM_BUSY = 0x800;
//public static final int STATE_SYSTEM_FLOATING = 0x1000;
//public static final int STATE_SYSTEM_MARQUEED = 0x2000;
//public static final int STATE_SYSTEM_ANIMATED = 0x4000;
public static final int STATE_SYSTEM_INVISIBLE = 0x8000;
public static final int STATE_SYSTEM_OFFSCREEN = 0x10000;
public static final int STATE_SYSTEM_SIZEABLE = 0x20000;
//public static final int STATE_SYSTEM_MOVEABLE = 0x40000;
//public static final int STATE_SYSTEM_SELFVOICING = 0x80000;
public static final int STATE_SYSTEM_FOCUSABLE = 0x100000;
public static final int STATE_SYSTEM_SELECTABLE = 0x200000;
public static final int STATE_SYSTEM_LINKED = 0x400000;
//public static final int STATE_SYSTEM_TRAVERSED = 0x800000;
public static final int STATE_SYSTEM_MULTISELECTABLE = 0x1000000;
//public static final int STATE_SYSTEM_EXTSELECTABLE = 0x2000000;
//public static final int STATE_SYSTEM_ALERT_LOW = 0x4000000;
//public static final int STATE_SYSTEM_ALERT_MEDIUM = 0x8000000;
//public static final int STATE_SYSTEM_ALERT_HIGH = 0x10000000;
//public static final int STATE_SYSTEM_PROTECTED = 0x20000000;
//public static final int STATE_SYSTEM_VALID = 0x3fffffff;

public static final int EVENT_OBJECT_SELECTIONWITHIN = 		0x8009;
public static final int EVENT_OBJECT_STATECHANGE = 			0x800A;
public static final int EVENT_OBJECT_LOCATIONCHANGE = 		0x800B;
public static final int EVENT_OBJECT_NAMECHANGE = 			0x800C;
public static final int EVENT_OBJECT_DESCRIPTIONCHANGE = 	0x800D;
public static final int EVENT_OBJECT_VALUECHANGE = 			0x800E;
public static final int EVENT_OBJECT_TEXTSELECTIONCHANGED = 0x8014;

/* IA2 additional constants */
public static final int IA2_COORDTYPE_SCREEN_RELATIVE = 0;
public static final int IA2_COORDTYPE_PARENT_RELATIVE = 1;

public static final int IA2_STATE_ACTIVE = 					0x00000001;
public static final int IA2_STATE_SINGLE_LINE =				0x00002000;
public static final int IA2_STATE_MULTI_LINE = 				0x00000200;
public static final int IA2_STATE_REQUIRED = 				0x00000800;
public static final int IA2_STATE_INVALID_ENTRY = 			0x00000040;
public static final int IA2_STATE_SUPPORTS_AUTOCOMPLETION =	0x00008000;
public static final int IA2_STATE_EDITABLE =				0x00000008;

public static final int IA2_EVENT_DOCUMENT_LOAD_COMPLETE = 			0x00000105;
public static final int IA2_EVENT_DOCUMENT_LOAD_STOPPED = 			0x00000106;
public static final int IA2_EVENT_DOCUMENT_RELOAD = 				0x00000107;
public static final int IA2_EVENT_PAGE_CHANGED = 					0x00000111;
public static final int IA2_EVENT_SECTION_CHANGED = 				0x00000112;
public static final int IA2_EVENT_ACTION_CHANGED = 					0x00000101;
public static final int IA2_EVENT_HYPERLINK_START_INDEX_CHANGED = 	0x0000010d;
public static final int IA2_EVENT_HYPERLINK_END_INDEX_CHANGED = 	0x00000108;
public static final int IA2_EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED = 	0x00000109;
public static final int IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED = 0x0000010a;
public static final int IA2_EVENT_HYPERLINK_ACTIVATED = 			0x0000010b;
public static final int IA2_EVENT_HYPERTEXT_LINK_SELECTED = 		0x0000010c;
public static final int IA2_EVENT_HYPERTEXT_LINK_COUNT_CHANGED = 	0x0000010f;
public static final int IA2_EVENT_ATTRIBUTE_CHANGED = 				0x00000110;
public static final int IA2_EVENT_TABLE_CAPTION_CHANGED = 			0x00000113;
public static final int IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = 0x00000114;
public static final int IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED = 	0x00000115;
public static final int IA2_EVENT_TABLE_CHANGED = 					0x00000116;
public static final int IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED = 	0x00000117;
public static final int IA2_EVENT_TABLE_ROW_HEADER_CHANGED = 		0x00000118;
public static final int IA2_EVENT_TABLE_SUMMARY_CHANGED = 			0x00000119;
public static final int IA2_EVENT_TEXT_ATTRIBUTE_CHANGED = 			0x0000011a;
public static final int IA2_EVENT_TEXT_CARET_MOVED = 				0x0000011b;
public static final int IA2_EVENT_TEXT_COLUMN_CHANGED = 			0x0000011d;
public static final int IA2_EVENT_TEXT_INSERTED = 					0x0000011e;
public static final int IA2_EVENT_TEXT_REMOVED = 					0x0000011f;

public static final int IA2_TEXT_BOUNDARY_CHAR = 			0;
public static final int IA2_TEXT_BOUNDARY_WORD = 			1;
public static final int IA2_TEXT_BOUNDARY_SENTENCE = 		2;
public static final int IA2_TEXT_BOUNDARY_PARAGRAPH = 		3;
public static final int IA2_TEXT_BOUNDARY_LINE = 			4;
public static final int IA2_TEXT_BOUNDARY_ALL = 			5;

public static final int IA2_TEXT_OFFSET_LENGTH = 			-1;
public static final int IA2_TEXT_OFFSET_CARET = 			-2;

public static final int IA2_SCROLL_TYPE_TOP_LEFT = 			0;
public static final int IA2_SCROLL_TYPE_BOTTOM_RIGHT = 		1;
public static final int IA2_SCROLL_TYPE_TOP_EDGE = 			2;
public static final int IA2_SCROLL_TYPE_BOTTOM_EDGE = 		3;
public static final int IA2_SCROLL_TYPE_LEFT_EDGE = 		4;
public static final int IA2_SCROLL_TYPE_RIGHT_EDGE = 		5;
public static final int IA2_SCROLL_TYPE_ANYWHERE = 			6;

/** Accessibility natives */

/**
 * @method flags=dynamic
 * @param hwnd cast=(HWND)
 * @param dwObjectID cast=(DWORD)
 * @param ppvObject cast=(LPVOID *)
 */
public static final native int AccessibleObjectFromWindow (long /*int*/ hwnd, int dwObjectID, GUID riid, long /*int*/[] ppvObject);
/**
 * @method flags=dynamic
 * @param hwnd cast=(HWND)
 * @param ppvObject cast=(LPVOID *)
 */
public static final native int CreateStdAccessibleObject (long /*int*/ hwnd, int idObject, GUID riidInterface, long /*int*/[] ppvObject);
/**
 * @method flags=dynamic
 * @param pAcc cast=(LPUNKNOWN)
 */
public static final native long /*int*/ LresultFromObject (GUID riid, long /*int*/ wParam, long /*int*/ pAcc);
/**
 * @method flags=dynamic
 * @param paccContainer cast=(IAccessible *)
 * @param iChildStart cast=(LONG)
 * @param cChildren cast=(LONG)
 * @param rgvarChildren cast=(VARIANT *)
 * @param pcObtained cast=(LONG *)
 */
public static final native int AccessibleChildren(long /*int*/ paccContainer, int iChildStart, int cChildren, long /*int*/ rgvarChildren, int [] pcObtained);

/*USED*/public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
/*USED*/public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4);
/*USED*/public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, long /*int*/ arg5);
/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, long /*int*/ arg5);
/*USED*/public static final native int VtblCall(int fnNumber, long /*int*/ ppVtbl, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, int arg4, int arg5, int arg6, int arg7);

/** Custom accessibility natives */

/** @method flags=no_gen */
public static final native int VtblCall_VARIANT(int fnNumber, long /*int*/ ppVtbl, long /*int*/ arg0);
/** @method flags=no_gen */
public static final native int VtblCall_VARIANTP(int fnNumber, long /*int*/ ppVtbl, long /*int*/ arg0, long /*int*/ arg1);
/** @method flags=no_gen */
public static final native int VtblCall_IVARIANT(int fnNumber, long /*int*/ ppVtbl, int arg0, long /*int*/ arg1);
/** @method flags=no_gen */
public static final native int VtblCall_IVARIANTP(int fnNumber, long /*int*/ ppVtbl, int arg0, long /*int*/ arg1, long /*int*/ arg2);
/** @method flags=no_gen */
public static final native int VtblCall_PVARIANTP(int fnNumber, long /*int*/ ppVtbl, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2);
/** @method flags=no_gen */
public static final native int VtblCall_PPPPVARIANT(int fnNumber, long /*int*/ ppVtbl, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, long /*int*/ arg4);
/** @method flags=no_gen */
public static final native long /*int*/ get_accChild_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accName_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accValue_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accDescription_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accRole_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accState_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accHelp_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accHelpTopic_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accKeyboardShortcut_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ get_accDefaultAction_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ accSelect_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ accLocation_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ accNavigate_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ accDoDefaultAction_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ put_accName_CALLBACK(long /*int*/ func);
/** @method flags=no_gen */
public static final native long /*int*/ put_accValue_CALLBACK(long /*int*/ func);
/** @method flags=no_gen,callback_types=HRESULT;VARIANT;,callback_flags=none;struct; */
public static final native long /*int*/ CALLBACK_setCurrentValue(long /*int*/ func);

/* sizeof's */
public static final native int CAUUID_sizeof();
public static final native int CONTROLINFO_sizeof();
public static final native int COSERVERINFO_sizeof();
public static final native int DISPPARAMS_sizeof();
public static final native int DVTARGETDEVICE_sizeof();
public static final native int ELEMDESC_sizeof();
public static final native int EXCEPINFO_sizeof();
public static final native int FORMATETC_sizeof();
public static final native int FUNCDESC_sizeof();
public static final native int GUID_sizeof();
public static final native int LICINFO_sizeof();
public static final native int OLECMD_sizeof();
public static final native int OLEINPLACEFRAMEINFO_sizeof();
public static final native int STATSTG_sizeof();
public static final native int STGMEDIUM_sizeof();
public static final native int TYPEATTR_sizeof();
public static final native int TYPEDESC_sizeof();
public static final native int VARDESC_sizeof();
public static final native int VARIANT_sizeof();
}
