mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-03 21:14:29 +00:00
trunk contents moved to root
This commit is contained in:
300
src/com/sun/jna/platform/win32/Kernel32.java
Normal file
300
src/com/sun/jna/platform/win32/Kernel32.java
Normal file
@@ -0,0 +1,300 @@
|
||||
/* Copyright (c) 2007 Timothy Wall, All Rights Reserved
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
* <p/>
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*/
|
||||
package com.sun.jna.platform.win32;
|
||||
|
||||
import com.sun.jna.Native;
|
||||
import com.sun.jna.Pointer;
|
||||
import com.sun.jna.ptr.IntByReference;
|
||||
import com.sun.jna.win32.W32APIOptions;
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* Interface definitions for <code>kernel32.dll</code>. Includes additional
|
||||
* alternate mappings from {@link WinNT} which make use of NIO buffers.
|
||||
*/
|
||||
public interface Kernel32 extends WinNT {
|
||||
|
||||
/**
|
||||
* The instance.
|
||||
*/
|
||||
Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32",
|
||||
Kernel32.class, W32APIOptions.UNICODE_OPTIONS);
|
||||
|
||||
/**
|
||||
* The CloseHandle function closes an open object handle.
|
||||
*
|
||||
* @param hObject Handle to an open object. This parameter can be a pseudo
|
||||
* handle or INVALID_HANDLE_VALUE.
|
||||
* @return If the function succeeds, the return value is nonzero. If the
|
||||
* function fails, the return value is zero. To get extended error
|
||||
* information, call GetLastError.
|
||||
*/
|
||||
boolean CloseHandle(HANDLE hObject);
|
||||
|
||||
/**
|
||||
* Terminates the specified process and all of its threads.
|
||||
*
|
||||
* @param hProcess A handle to the process to be terminated.
|
||||
* @param uExitCode The exit code to be used by the process and threads
|
||||
* terminated as a result of this call.
|
||||
* @return If the function succeeds, the return value is nonzero.
|
||||
*
|
||||
* If the function fails, the return value is zero. To get extended error
|
||||
* information, call GetLastError.
|
||||
*/
|
||||
boolean TerminateProcess(HANDLE hProcess, int uExitCode);
|
||||
|
||||
/**
|
||||
* Writes data to the specified file or input/output (I/O) device.
|
||||
*
|
||||
* @param hFile A handle to the file or I/O device (for example, a file,
|
||||
* file stream, physical disk, volume, console buffer, tape drive, socket,
|
||||
* communications resource, mailslot, or pipe).
|
||||
* @param lpBuffer A pointer to the buffer containing the data to be written
|
||||
* to the file or device.
|
||||
* @param nNumberOfBytesToWrite The number of bytes to be written to the
|
||||
* file or device.
|
||||
* @param lpNumberOfBytesWritten A pointer to the variable that receives the
|
||||
* number of bytes written when using a synchronous hFile parameter.
|
||||
* @param lpOverlapped A pointer to an OVERLAPPED structure is required if
|
||||
* the hFile parameter was opened with FILE_FLAG_OVERLAPPED, otherwise this
|
||||
* parameter can be NULL.
|
||||
* @return If the function succeeds, the return value is nonzero (TRUE). If
|
||||
* the function fails, or is completing asynchronously, the return value is
|
||||
* zero (FALSE). To get extended error information, call the GetLastError
|
||||
* function.
|
||||
*/
|
||||
boolean WriteFile(HANDLE hFile, byte[] lpBuffer, int nNumberOfBytesToWrite,
|
||||
IntByReference lpNumberOfBytesWritten,
|
||||
WinBase.OVERLAPPED lpOverlapped);
|
||||
|
||||
boolean ReadFile(HANDLE hFile, byte[] lpBuffer, int nNumberOfBytesToRead, IntByReference lpNumberOfBytesRead, WinBase.OVERLAPPED lpOverlapped);
|
||||
//
|
||||
// Define the NamedPipe definitions
|
||||
//
|
||||
//
|
||||
// Define the dwOpenMode values for CreateNamedPipe
|
||||
//
|
||||
public static final int PIPE_ACCESS_INBOUND = 0x00000001;
|
||||
public static final int PIPE_ACCESS_OUTBOUND = 0x00000002;
|
||||
public static final int PIPE_ACCESS_DUPLEX = 0x00000003;
|
||||
//
|
||||
// Define the Named Pipe End flags for GetNamedPipeInfo
|
||||
//
|
||||
public static final int PIPE_CLIENT_END = 0x00000000;
|
||||
public static final int PIPE_SERVER_END = 0x00000001;
|
||||
//
|
||||
// Define the dwPipeMode values for CreateNamedPipe
|
||||
//
|
||||
public static final int PIPE_WAIT = 0x00000000;
|
||||
public static final int PIPE_NOWAIT = 0x00000001;
|
||||
public static final int PIPE_READMODE_BYTE = 0x00000000;
|
||||
public static final int PIPE_READMODE_MESSAGE = 0x00000002;
|
||||
public static final int PIPE_TYPE_BYTE = 0x00000000;
|
||||
public static final int PIPE_TYPE_MESSAGE = 0x00000004;
|
||||
public static final int PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000;
|
||||
public static final int PIPE_REJECT_REMOTE_CLIENTS = 0x00000008;
|
||||
//
|
||||
// Define the well known values for CreateNamedPipe nMaxInstances
|
||||
//
|
||||
public static final int PIPE_UNLIMITED_INSTANCES = 255;
|
||||
//
|
||||
// Define the values for process priority
|
||||
//
|
||||
public static final int ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000;
|
||||
public static final int BELOW_NORMAL_PRIORITY_CLASS = 0x00004000;
|
||||
public static final int HIGH_PRIORITY_CLASS = 0x00000080;
|
||||
public static final int IDLE_PRIORITY_CLASS = 0x00000040;
|
||||
public static final int NORMAL_PRIORITY_CLASS = 0x00000020;
|
||||
public static final int PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000;
|
||||
public static final int PROCESS_MODE_BACKGROUND_END = 0x00200000;
|
||||
public static final int REALTIME_PRIORITY_CLASS = 0x00000100;
|
||||
|
||||
// __out
|
||||
// HANDLE
|
||||
// WINAPI
|
||||
// CreateNamedPipe(
|
||||
// __in LPCWSTR lpName,
|
||||
// __in DWORD dwOpenMode,
|
||||
// __in DWORD dwPipeMode,
|
||||
// __in DWORD nMaxInstances,
|
||||
// __in DWORD nOutBufferSize,
|
||||
// __in DWORD nInBufferSize,
|
||||
// __in DWORD nDefaultTimeOut,
|
||||
// __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
|
||||
// );
|
||||
HANDLE CreateNamedPipe(String lpName, int dwOpenMode, int dwPipeMode, int nMaxInstances, int nOutBufferSize, int nInBufferSize, int nDefaultTimeOut,
|
||||
WinBase.SECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
|
||||
// WINBASEAPI
|
||||
// BOOL
|
||||
// WINAPI
|
||||
// ConnectNamedPipe(
|
||||
// __in HANDLE hNamedPipe,
|
||||
// __inout_opt LPOVERLAPPED lpOverlapped
|
||||
// );
|
||||
boolean ConnectNamedPipe(HANDLE hNamedPipe, WinBase.OVERLAPPED lpOverlapped);
|
||||
|
||||
// WINBASEAPI
|
||||
// BOOL
|
||||
// WINAPI
|
||||
// DisconnectNamedPipe(
|
||||
// __in HANDLE hNamedPipe
|
||||
// );
|
||||
boolean DisconnectNamedPipe(HANDLE hNamedPipe);
|
||||
|
||||
/**
|
||||
* Waits until the specified object is in the signaled state or the time-out
|
||||
* interval elapses. To enter an alertable wait state, use the
|
||||
* WaitForSingleObjectEx function. To wait for multiple objects, use the
|
||||
* WaitForMultipleObjects.
|
||||
*
|
||||
* @param hHandle A handle to the object. For a list of the object types
|
||||
* whose handles can be specified, see the following Remarks section. If
|
||||
* this handle is closed while the wait is still pending, the function's
|
||||
* behavior is undefined. The handle must have the SYNCHRONIZE access right.
|
||||
* For more information, see Standard Access Rights.
|
||||
* @param dwMilliseconds The time-out interval, in milliseconds. If a
|
||||
* nonzero value is specified, the function waits until the object is
|
||||
* signaled or the interval elapses. If dwMilliseconds is zero, the function
|
||||
* does not enter a wait state if the object is not signaled; it always
|
||||
* returns immediately. If dwMilliseconds is INFINITE, the function will
|
||||
* return only when the object is signaled.
|
||||
* @return If the function succeeds, the return value indicates the event
|
||||
* that caused the function to return.
|
||||
*/
|
||||
int WaitForSingleObject(HANDLE hHandle, int dwMilliseconds);
|
||||
|
||||
/**
|
||||
* This function returns a pseudohandle for the current process.
|
||||
*
|
||||
* @return The return value is a pseudohandle to the current process.
|
||||
*/
|
||||
HANDLE GetCurrentProcess();
|
||||
|
||||
int SetProcessAffinityMask(HANDLE hProcess, int mask);
|
||||
|
||||
int SetPriorityClass(HANDLE hProcess, int dwPriorityClass);
|
||||
|
||||
/**
|
||||
* This function returns a handle to an existing process object.
|
||||
*
|
||||
* @param fdwAccess Not supported; set to zero.
|
||||
* @param fInherit Not supported; set to FALSE.
|
||||
* @param IDProcess Specifies the process identifier of the process to open.
|
||||
* @return An open handle to the specified process indicates success. NULL
|
||||
* indicates failure. To get extended error information, call GetLastError.
|
||||
*/
|
||||
HANDLE OpenProcess(int fdwAccess, boolean fInherit, DWORD IDProcess);
|
||||
|
||||
/**
|
||||
* The GetSystemInfo function returns information about the current system.
|
||||
*
|
||||
* @param lpSystemInfo Pointer to a SYSTEM_INFO structure that receives the
|
||||
* information.
|
||||
*/
|
||||
void GetSystemInfo(SYSTEM_INFO lpSystemInfo);
|
||||
public static final int PROCESS_VM_READ = 0x0010;
|
||||
public static final int PROCESS_VM_WRITE = 0x0020;
|
||||
public static final int PROCESS_QUERY_INFORMATION = 0x0400;
|
||||
public static final int PROCESS_VM_OPERATION = 0x0008;
|
||||
|
||||
SIZE_T VirtualQueryEx(HANDLE hProcess, Pointer lpAddress, MEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
|
||||
|
||||
/**
|
||||
* The GetLastError function retrieves the calling thread's last-error code
|
||||
* value. The last-error code is maintained on a per-thread basis. Multiple
|
||||
* threads do not overwrite each other's last-error code.
|
||||
*
|
||||
* @return The return value is the calling thread's last-error code value.
|
||||
*/
|
||||
int GetLastError();
|
||||
public static int MEM_COMMIT = 0x1000;
|
||||
public static int MEM_FREE = 0x10000;
|
||||
public static int MEM_RESERVE = 0x2000;
|
||||
public static int MEM_IMAGE = 0x1000000;
|
||||
public static int MEM_MAPPED = 0x40000;
|
||||
public static int MEM_PRIVATE = 0x20000;
|
||||
|
||||
boolean ReadProcessMemory(HANDLE hProcess, int inBaseAddress, Pointer outputBuffer, int nSize, IntByReference outNumberOfBytesRead);
|
||||
|
||||
/**
|
||||
* Takes a snapshot of the specified processes, as well as the heaps,
|
||||
* modules, and threads used by these processes.
|
||||
*
|
||||
* @param dwFlags The portions of the system to be included in the snapshot.
|
||||
*
|
||||
* @param th32ProcessID The process identifier of the process to be included
|
||||
* in the snapshot. This parameter can be zero to indicate the current
|
||||
* process. This parameter is used when the TH32CS_SNAPHEAPLIST,
|
||||
* TH32CS_SNAPMODULE, TH32CS_SNAPMODULE32, or TH32CS_SNAPALL value is
|
||||
* specified. Otherwise, it is ignored and all processes are included in the
|
||||
* snapshot.
|
||||
*
|
||||
* If the specified process is the Idle process or one of the CSRSS
|
||||
* processes, this function fails and the last error code is
|
||||
* ERROR_ACCESS_DENIED because their access restrictions prevent user-level
|
||||
* code from opening them.
|
||||
*
|
||||
* If the specified process is a 64-bit process and the caller is a 32-bit
|
||||
* process, this function fails and the last error code is
|
||||
* ERROR_PARTIAL_COPY (299).
|
||||
*
|
||||
* @return If the function succeeds, it returns an open handle to the
|
||||
* specified snapshot.
|
||||
*
|
||||
* If the function fails, it returns INVALID_HANDLE_VALUE. To get extended
|
||||
* error information, call GetLastError. Possible error codes include
|
||||
* ERROR_BAD_LENGTH.
|
||||
*/
|
||||
HANDLE CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID);
|
||||
|
||||
/**
|
||||
* Retrieves information about the first process encountered in a system
|
||||
* snapshot.
|
||||
*
|
||||
* @param hSnapshot A handle to the snapshot returned from a previous call
|
||||
* to the CreateToolhelp32Snapshot function.
|
||||
* @param lppe A pointer to a PROCESSENTRY32 structure. It contains process
|
||||
* information such as the name of the executable file, the process
|
||||
* identifier, and the process identifier of the parent process.
|
||||
* @return Returns TRUE if the first entry of the process list has been
|
||||
* copied to the buffer or FALSE otherwise. The ERROR_NO_MORE_FILES error
|
||||
* value is returned by the GetLastError function if no processes exist or
|
||||
* the snapshot does not contain process information.
|
||||
*/
|
||||
boolean Process32First(HANDLE hSnapshot, PROCESSENTRY32 lppe);
|
||||
|
||||
/**
|
||||
* Retrieves information about the next process recorded in a system
|
||||
* snapshot.
|
||||
*
|
||||
* @param hSnapshot A handle to the snapshot returned from a previous call
|
||||
* to the CreateToolhelp32Snapshot function.
|
||||
* @param lppe A pointer to a PROCESSENTRY32 structure.
|
||||
* @return Returns TRUE if the next entry of the process list has been
|
||||
* copied to the buffer or FALSE otherwise. The ERROR_NO_MORE_FILES error
|
||||
* value is returned by the GetLastError function if no processes exist or
|
||||
* the snapshot does not contain process information.
|
||||
*/
|
||||
boolean Process32Next(HANDLE hSnapshot, PROCESSENTRY32 lppe);
|
||||
public static int TH32CS_SNAPPROCESS = 0x00000002;
|
||||
|
||||
//Needed for some Windows 7 Versions
|
||||
//boolean EnumProcesses(int[] ProcessIDsOut, int size, int[] BytesReturned);
|
||||
int GetProcessImageFileNameW(HANDLE Process, char[] outputname, int lenght);
|
||||
|
||||
DWORD QueryDosDevice(String lpDeviceName, char[] lpTargetPath, int lenght);
|
||||
|
||||
boolean VirtualProtectEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, int flNewProtect, IntByReference lpflOldProtect);
|
||||
}
|
||||
Reference in New Issue
Block a user