Package net.bytebuddy.agent
Interface VirtualMachine.ForHotSpot.Connection.ForJnaWindowsNamedPipe.WindowsLibrary
- All Superinterfaces:
com.sun.jna.AltCallingConvention
,com.sun.jna.Library
,com.sun.jna.win32.StdCall
,com.sun.jna.win32.StdCallLibrary
- Enclosing class:
VirtualMachine.ForHotSpot.Connection.ForJnaWindowsNamedPipe
protected static interface VirtualMachine.ForHotSpot.Connection.ForJnaWindowsNamedPipe.WindowsLibrary
extends com.sun.jna.win32.StdCallLibrary
A library for interacting with Windows.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.sun.jna.Library
com.sun.jna.Library.Handler
Nested classes/interfaces inherited from interface com.sun.jna.win32.StdCallLibrary
com.sun.jna.win32.StdCallLibrary.StdCallCallback
-
Field Summary
Fields inherited from interface com.sun.jna.Library
OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_SYMBOL_PROVIDER, OPTION_TYPE_MAPPER
Fields inherited from interface com.sun.jna.win32.StdCallLibrary
FUNCTION_MAPPER, STDCALL_CONVENTION
-
Method Summary
Modifier and TypeMethodDescriptioncom.sun.jna.platform.win32.WinNT.HANDLE
CreateRemoteThread
(com.sun.jna.platform.win32.WinNT.HANDLE process, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES securityAttributes, int stackSize, com.sun.jna.Pointer code, com.sun.jna.Pointer argument, com.sun.jna.platform.win32.WinDef.DWORD creationFlags, com.sun.jna.Pointer threadId) An alternative implementation ofKernel32.CreateRemoteThread(WinNT.HANDLE, WinBase.SECURITY_ATTRIBUTES, int, WinBase.FOREIGN_THREAD_START_ROUTINE, Pointer, WinDef.DWORD, Pointer)
that uses a pointer as thecode
argument rather then a structure to avoid accessing foreign memory.boolean
GetExitCodeThread
(com.sun.jna.platform.win32.WinNT.HANDLE thread, com.sun.jna.ptr.IntByReference exitCode) Receives the exit code of a given thread.com.sun.jna.Pointer
VirtualAllocEx
(com.sun.jna.platform.win32.WinNT.HANDLE process, com.sun.jna.Pointer address, int size, int allocationType, int protect) Changes the state of memory in a given process.boolean
VirtualFreeEx
(com.sun.jna.platform.win32.WinNT.HANDLE process, com.sun.jna.Pointer address, int size, int freeType) Frees memory in the given process.
-
Method Details
-
VirtualAllocEx
com.sun.jna.Pointer VirtualAllocEx(com.sun.jna.platform.win32.WinNT.HANDLE process, com.sun.jna.Pointer address, int size, int allocationType, int protect) Changes the state of memory in a given process.- Parameters:
process
- The process in which to change the memory.address
- The address of the memory to allocate.size
- The size of the allocated region.allocationType
- The allocation type.protect
- The memory protection.- Returns:
- A pointer to the allocated memory.
-
VirtualFreeEx
boolean VirtualFreeEx(com.sun.jna.platform.win32.WinNT.HANDLE process, com.sun.jna.Pointer address, int size, int freeType) Frees memory in the given process.- Parameters:
process
- The process in which to change the memory.address
- The address of the memory to free.size
- The size of the freed region.freeType
- The freeing type.- Returns:
true
if the operation succeeded.
-
CreateRemoteThread
@MaybeNull com.sun.jna.platform.win32.WinNT.HANDLE CreateRemoteThread(com.sun.jna.platform.win32.WinNT.HANDLE process, @MaybeNull com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES securityAttributes, int stackSize, com.sun.jna.Pointer code, com.sun.jna.Pointer argument, @MaybeNull com.sun.jna.platform.win32.WinDef.DWORD creationFlags, @MaybeNull com.sun.jna.Pointer threadId) An alternative implementation ofKernel32.CreateRemoteThread(WinNT.HANDLE, WinBase.SECURITY_ATTRIBUTES, int, WinBase.FOREIGN_THREAD_START_ROUTINE, Pointer, WinDef.DWORD, Pointer)
that uses a pointer as thecode
argument rather then a structure to avoid accessing foreign memory.- Parameters:
process
- A handle of the target process.securityAttributes
- The security attributes to use ornull
if no attributes are provided.stackSize
- The stack size or0
for using the system default.code
- A pointer to the code to execute.argument
- A pointer to the argument to provide to the code being executed.creationFlags
- The creation flags ornull
if no flags are set.threadId
- A pointer to the thread id ornull
if no thread reference is set.- Returns:
- A handle to the created remote thread or
null
if the creation failed.
-
GetExitCodeThread
boolean GetExitCodeThread(com.sun.jna.platform.win32.WinNT.HANDLE thread, com.sun.jna.ptr.IntByReference exitCode) Receives the exit code of a given thread.- Parameters:
thread
- A handle to the targeted thread.exitCode
- A reference to the exit code value.- Returns:
true
if the exit code retrieval succeeded.
-