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_TYPE_MAPPER
      • Fields inherited from interface com.sun.jna.win32.StdCallLibrary

        FUNCTION_MAPPER, STDCALL_CONVENTION
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      com.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 of Kernel32.CreateRemoteThread(WinNT.HANDLE, WinBase.SECURITY_ATTRIBUTES, int, WinBase.FOREIGN_THREAD_START_ROUTINE, Pointer, WinDef.DWORD, Pointer) that uses a pointer as the code 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 Detail

      • 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

        com.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 of Kernel32.CreateRemoteThread(WinNT.HANDLE, WinBase.SECURITY_ATTRIBUTES, int, WinBase.FOREIGN_THREAD_START_ROUTINE, Pointer, WinDef.DWORD, Pointer) that uses a pointer as the code argument rather then a structure to avoid accessing foreign memory.
        Parameters:
        process - A handle of the target process.
        securityAttributes - The security attributes to use or null if no attributes are provided.
        stackSize - The stack size or 0 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 or null if no flags are set.
        threadId - A pointer to the thread id or null 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.