|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jniwrapper.win32.ie.IsolatedProcess
public final class IsolatedProcess
This class allows to run in-proc COM server in isolated process. In spite of performance penalties (each COM call require marshaling), this allows to avoid JVM corruption in case of some problems inside COM.
Note:This class is not a part of public ComfyJ API yet, it is for internal usage only. Do not use it.
Method Summary | |
---|---|
void |
addWindowContainer(com.jniwrapper.win32.ui.Wnd wnd)
|
void |
carefulUnloadDllOnExit(java.lang.String libName)
Try to catch all errors during Dll unload. |
com.jniwrapper.win32.com.IUnknown |
createComObject(com.jniwrapper.win32.com.types.CLSID id)
Create COM object in isolated process. |
void |
getAndDispatchNextMessage()
|
java.util.Set<Cookie> |
getCookies(java.net.URL url)
|
long |
getCurrentThreadId()
|
boolean |
getFailSilentlyFlag()
Get "Fail silently" flag. |
boolean |
getKillSelfAtExitFlag()
Get "Kill Self At Exit" flag. |
java.lang.String[] |
getLoadedModules()
Returns all loaded modules |
long |
httpOpenRequest(long hInternet,
java.lang.String lpszVerb,
java.lang.String lpszObjectName,
java.lang.String lpszVersion,
java.lang.String lpszReferrer,
java.lang.String[] lplpszAcceptTypes,
long dwFlags,
long dwContext)
|
void |
httpSendRequest(long hInternet,
java.lang.String headers,
byte[] optional)
|
void |
installMessageFilter(boolean install)
|
void |
internetCloseHandle(long hInternet)
|
long |
internetConnect(long hInternet,
java.lang.String lpszServerName,
int nServerPort,
java.lang.String lpszUsername,
java.lang.String lpszPassword,
long dwService,
long dwFlags,
long dwContext)
|
long |
internetOpen(java.lang.String userAgent,
long accessType,
java.lang.String proxyName,
java.lang.String proxyByPass,
long flag)
|
long |
internetQueryDWORDOption(long hInternet,
long option)
|
java.lang.Object[] |
internetQueryPerConnectionOptions(long hInternet,
java.lang.String pszConnection,
long[] arrOptionCodes)
|
void |
internetSetDWORDOption(long hInternet,
long option,
long value)
|
long |
internetSetPerConnectionOptions(long hInternet,
java.lang.String pszConnection,
long[] arrOptionCodes,
java.lang.Object[] arrOptionValues)
|
int[] |
oleDraw(com.jniwrapper.win32.com.impl.IUnknownImpl pDocument,
com.jniwrapper.Int32 hwnd,
com.jniwrapper.win32.Rect windowBounds,
com.jniwrapper.win32.Size bitmapSize)
|
void |
registerAdditionalMarshalledInterface(com.jniwrapper.win32.com.types.IID id,
java.lang.String typelibPath)
Register additional interface to be marshalled between isolated process and JVM process. |
long |
registerMessageHook(int msgMin,
int msgMax,
com.jniwrapper.win32.MessageLoopListener listener)
Register message hook for remote process. |
long |
registerTranslateAcceleratorCallback(int msgMin,
int msgMax,
com.jniwrapper.win32.com.IUnknown obj)
Register callback interface that will be called to process accelerators. |
long |
registerWindowProcedure(com.jniwrapper.win32.MessageLoopListener listener)
|
void |
revokeMessageHook(long cookie)
Revoke message hook |
void |
revokeTranslateAcceleratorCallback(long cookie)
Revoke callback interface that was called to process accelerators. |
void |
setCookies(java.net.URL url,
java.util.Set<Cookie> cookies)
|
void |
setFailSilentlyFlag(boolean failSilently)
Set "Fail silently" flag. |
void |
setKillSelfAtExitFlag(boolean killSelfAtExit)
Set "Kill Self At Exit" flag. |
static IsolatedProcess |
start()
Start new isolated process (starts new process, can take some time) |
static IsolatedProcess |
start(java.lang.Runnable processStopedAction)
Start new isolated process (starts new process, can take some time) |
void |
stop()
Stop the isolated process. |
void |
stop(boolean forceStop)
Stops the isolated process with the specified flag. |
void |
unregisterWindowProcedure(long cookie)
|
void |
updateBounds(com.jniwrapper.win32.ui.Wnd wnd,
java.awt.Rectangle bounds)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static IsolatedProcess start()
public static IsolatedProcess start(java.lang.Runnable processStopedAction)
processStopedAction
- action to be called when the process stops
public com.jniwrapper.win32.com.IUnknown createComObject(com.jniwrapper.win32.com.types.CLSID id)
id
- CLSID of COM object
public void registerAdditionalMarshalledInterface(com.jniwrapper.win32.com.types.IID id, java.lang.String typelibPath) throws com.jniwrapper.win32.com.ComException
id
- interface idtypelibPath
- path to type library (can be in .TLB, .OLB or .DLL file)
com.jniwrapper.win32.com.ComException
- exception from COM sidepublic void stop()
stop(true)
invoke.
stop(boolean)
public void stop(boolean forceStop)
forceStop
- the stop flag. It should be true
when
the process must be stopped immediately, otherwise
false
public long registerTranslateAcceleratorCallback(int msgMin, int msgMax, com.jniwrapper.win32.com.IUnknown obj)
msgMin
- mimal Windows message to be processed by hookmsgMax
- maximum Windows message to be processed by hookobj
- object to call. Should support IOleInPlaceActiveObject interface
public void revokeTranslateAcceleratorCallback(long cookie)
cookie
- cookie obtained from registerTranslateAcceleratorCallbackpublic void installMessageFilter(boolean install)
public void updateBounds(com.jniwrapper.win32.ui.Wnd wnd, java.awt.Rectangle bounds)
public java.util.Set<Cookie> getCookies(java.net.URL url)
public void setCookies(java.net.URL url, java.util.Set<Cookie> cookies)
public void getAndDispatchNextMessage()
public long getCurrentThreadId()
public long registerMessageHook(int msgMin, int msgMax, com.jniwrapper.win32.MessageLoopListener listener)
msgMin
- minimal Windows message to be processed by hookmsgMax
- maximum Windows message to be processed by hooklistener
- message listener
public void revokeMessageHook(long cookie)
cookie
- cookie value, returned by IsolatedProcess.registerMessageHookpublic long registerWindowProcedure(com.jniwrapper.win32.MessageLoopListener listener)
public void unregisterWindowProcedure(long cookie)
public boolean getFailSilentlyFlag()
public void setFailSilentlyFlag(boolean failSilently)
failSilently
- New flag valuepublic boolean getKillSelfAtExitFlag()
public void setKillSelfAtExitFlag(boolean killSelfAtExit)
killSelfAtExit
- new flag valuepublic java.lang.String[] getLoadedModules()
public int[] oleDraw(com.jniwrapper.win32.com.impl.IUnknownImpl pDocument, com.jniwrapper.Int32 hwnd, com.jniwrapper.win32.Rect windowBounds, com.jniwrapper.win32.Size bitmapSize)
public long internetOpen(java.lang.String userAgent, long accessType, java.lang.String proxyName, java.lang.String proxyByPass, long flag)
public long internetQueryDWORDOption(long hInternet, long option)
public void internetSetDWORDOption(long hInternet, long option, long value)
public java.lang.Object[] internetQueryPerConnectionOptions(long hInternet, java.lang.String pszConnection, long[] arrOptionCodes)
public long internetSetPerConnectionOptions(long hInternet, java.lang.String pszConnection, long[] arrOptionCodes, java.lang.Object[] arrOptionValues)
public long internetConnect(long hInternet, java.lang.String lpszServerName, int nServerPort, java.lang.String lpszUsername, java.lang.String lpszPassword, long dwService, long dwFlags, long dwContext)
public long httpOpenRequest(long hInternet, java.lang.String lpszVerb, java.lang.String lpszObjectName, java.lang.String lpszVersion, java.lang.String lpszReferrer, java.lang.String[] lplpszAcceptTypes, long dwFlags, long dwContext)
public void httpSendRequest(long hInternet, java.lang.String headers, byte[] optional)
public void internetCloseHandle(long hInternet)
public void carefulUnloadDllOnExit(java.lang.String libName)
libName
- Dll name, bib.dll for examplepublic void addWindowContainer(com.jniwrapper.win32.ui.Wnd wnd)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |