Class WinBase


  • public class WinBase
    extends java.lang.Object
    Native bindings to WinBase.h.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int FALSE
      TRUE
      BOOL return values.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean FreeLibrary​(long handle)
      Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count.
      static int getLastError()
      Retrieves the calling thread's last-error code value.
      static int GetLastError()
      Retrieves the calling thread's last-error code value.
      static long GetModuleHandle​(java.lang.CharSequence moduleName)
      Retrieves a module handle for the specified module.
      static long GetModuleHandle​(java.nio.ByteBuffer moduleName)
      Retrieves a module handle for the specified module.
      static long GetProcAddress​(long handle, java.lang.CharSequence name)
      Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
      static long GetProcAddress​(long handle, java.nio.ByteBuffer name)
      Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
      static long LoadLibrary​(java.lang.CharSequence name)
      Loads the specified module into the address space of the calling process.
      static long LoadLibrary​(java.nio.ByteBuffer name)
      Loads the specified module into the address space of the calling process.
      static int nFreeLibrary​(long handle)
      Unsafe version of: FreeLibrary(long)
      static long nGetModuleHandle​(long moduleName)
      static long nGetProcAddress​(long handle, long name)
      static long nLoadLibrary​(long name)
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • GetLastError

        public static int GetLastError()
        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.

        LWJGL note: This function cannot be used after another JNI call to a Windows function, because the last error resets before that call returns. For this reason, LWJGL stores the last error in thread-local storage, you can use getLastError() to access it.

      • getLastError

        public static int getLastError()
        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.

        LWJGL note: This method has a meaningful value only after another LWJGL JNI call. It does not call GetLastError() from WinBase.h, it returns the thread-local error code stored by a previous JNI call.

      • GetModuleHandle

        public static long GetModuleHandle​(@Nullable
                                           java.nio.ByteBuffer moduleName)
        
        public static long GetModuleHandle​(@Nullable
                                           java.lang.CharSequence moduleName)
        
        Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
        Parameters:
        moduleName - the name of the loaded module (either a .dll or .exe file). If the file name extension is omitted, the default library extension .dll is appended. The file name string can include a trailing point character (.) to indicate that the module name has no extension. The string does not have to specify a path. When specifying a path, be sure to use backslashes (\), not forward slashes (/). The name is compared (case independently) to the names of modules currently mapped into the address space of the calling process.

        If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file).

      • LoadLibrary

        public static long LoadLibrary​(java.nio.ByteBuffer name)
        
        public static long LoadLibrary​(java.lang.CharSequence name)
        
        Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded.
        Parameters:
        name - the name of the module. This can be either a library module (a .dll file) or an executable module (an .exe file). The name specified is the file name of the module and is not related to the name stored in the library module itself, as specified by the LIBRARY keyword in the module-definition (.def) file.

        If the string specifies a full path, the function searches only that path for the module.

        If the string specifies a relative path or a module name without a path, the function uses a standard search strategy to find the module.

        If the function cannot find the module, the function fails. When specifying a path, be sure to use backslashes (\), not forward slashes (/).

        If the string specifies a module name without a path and the file name extension is omitted, the function appends the default library extension .dll to the module name. To prevent the function from appending.dll to the module name, include a trailing point character (.) in the module name string.

      • GetProcAddress

        public static long GetProcAddress​(long handle,
                                          java.nio.ByteBuffer name)
        
        public static long GetProcAddress​(long handle,
                                          java.lang.CharSequence name)
        
        Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
        Parameters:
        handle - a handle to the DLL module that contains the function or variable
        name - the function or variable name, or the function's ordinal value. If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero.
      • nFreeLibrary

        public static int nFreeLibrary​(long handle)
        Unsafe version of: FreeLibrary(long)
      • FreeLibrary

        public static boolean FreeLibrary​(long handle)
        Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. When the reference count reaches zero, the module is unloaded from the address space of the calling process and the handle is no longer valid.
        Parameters:
        handle - a handle to the loaded library module