1. 07 5月, 2021 1 次提交
  2. 26 4月, 2021 1 次提交
  3. 23 4月, 2021 1 次提交
  4. 22 4月, 2021 1 次提交
  5. 19 4月, 2021 3 次提交
    • D
      Attempting to call the Advapi32 function RegNotifyChangeKeyValue doesn't work,... · 9794ec6c
      Daniel Krügler 提交于
      Attempting to call the Advapi32 function RegNotifyChangeKeyValue doesn't work, because this method is not declared yet in interface Advapi32. This adds the missing method declaration. (#1339)
      
      This also adds another unit test to Advapi32Test validating basic functionality of Advapi32#RegNotifyChangeKeyValue.
      Co-authored-by: NDaniel Widdis <widdis@gmail.com>
      9794ec6c
    • D
      constant REG_NOTIFY_THREAD_AGNOSTIC has been added, which is used as (#1337) · 1988f692
      Daniel Krügler 提交于
      possible control argument for RegNotifyChangeKeyValue's dwNotifyFilter
      function argument (see nf-winreg-regnotifychangekeyvalue) and whose
      underlying integral value has the value 0x10000000 (specified on the
      page linked above). This constant is currently missing in the existing
      set of REG_NOTIFY_CHANGE_* constants in
      com.sun.jna.platform.win32.WinNT. In addition to the lack of the
      constant, the second problem is, that for Windows systems of at least
      Windows 8, the existing combined constant, which is currently defined as
      
      int REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME
                  | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET
                  | REG_NOTIFY_CHANGE_SECURITY;
      
      is incorrect, because it needs to take the additional value of
      REG_NOTIFY_THREAD_AGNOSTIC into account.
      
      This change requests solves both problems by (a) providing the missing
      REG_NOTIFY_THREAD_AGNOSTIC constant in com.sun.jna.platform.win32.WinNT
      and (b) by updating the existing REG_LEGAL_CHANGE_FILTER constant in
      regard to the added REG_NOTIFY_THREAD_AGNOSTIC
      1988f692
    • D
      HKEY_CURRENT_USER_LOCAL_SETTINGS should be supported (#1336) · b21196ef
      Daniel Krügler 提交于
      Starting with Windows 7, Windows added the additional HKEY constant HKEY_CURRENT_USER_LOCAL_SETTINGS (see predefined-key) whose underlying integral value has the value 0x80000007 (Source: Visual Studio 2017, header <winreg.h>. This constant is currently missing in the existing set of HKEY_* constants in com.sun.jna.platform.win32.WinReg. This adds the new static field HKEY_CURRENT_USER_LOCAL_SETTINGS to the set of the other HKEY constants in WinReg.
      b21196ef
  6. 23 3月, 2021 2 次提交
  7. 18 3月, 2021 1 次提交
  8. 15 3月, 2021 1 次提交
    • M
      Ensure pointers indirected from Memory and pointing into Memory retain originating object · 5d233309
      Matthias Bläsing 提交于
      The use case is this:
      
      - native supplies the required size of a memory region
      - a Memory object is created with the right memory size
      - native fills the memory with a structure _and_ additional objects,
        that are held in that region, but are only referenced from the
        structure (one such example would be a Structure.ByReference)
      
      As long as the resulting structure stays strongly referenced from Java,
      all is good. When the toplevel structure goes ouf of scope, the memory
      backing the strucure is not strongly referenced anymore and will be
      freeed by GC.
      
      This change fixes the issue by ensuring, that the pointers used in
      substructures are SharedMemory objects, holding a strong references to
      the original Memory object.
      5d233309
  9. 07 3月, 2021 1 次提交
  10. 28 2月, 2021 1 次提交
  11. 26 2月, 2021 1 次提交
    • M
      [GH-1313] Move default darwin prefix to darwin-$arch and support darwin as fallback · ab2cb98c
      Matthias Bläsing 提交于
      The darwin platform traditionally used fatbinaries to support multiple
      architectures. This works, but is a problem:
      
      a) when apple decides, that only certain architectures may be
         bundled (it was reported, that the presence of x86 caused
         appstore validation to fail)
      
      b) when upstream does not bundle the artifacts, but builds them
         in isolation.
      
      Given, that JNA also hit (b) and needed post processing to merge
      binaries, moving darwin to the same scheme as other OSes (<os>-<arch>)
      is considered sensible.
      
      While the resource prefix is changed, the old "darwin" prefix is still
      considered for extraction and thus old libraries will continue to work.
      ab2cb98c
  12. 23 2月, 2021 1 次提交
    • M
      Split jpms modules into independet artifacts instead of classifier based solution · b797901f
      Matthias Bläsing 提交于
      The jna-platform artifact depends on jna - this leads to problems when
      the JPMS artifacts are used, as the pom.xml for the classifier based
      artifacts are identical to the base artifacts. This leads to
      
        <dependency>
          <groupId>net.java.dev.jna</groupId>
          <artifactId>jna-platform</artifactId>
          <version>5.7.0</version>
          <classifier>jpms</classifier>
        </dependency>
      
      depending on
      
        <dependency>
          <groupId>net.java.dev.jna</groupId>
          <artifactId>jna</artifactId>
          <version>5.7.0</version>
        </dependency>
      
      so the jna-platform JPMS artifacts pulls in the non-JPMS jna artifact.
      
      To solve this, the JPMS artifacts are moved to custom artifact ids. So
      
        <dependency>
          <groupId>net.java.dev.jna</groupId>
          <artifactId>jna-platform</artifactId>
          <version>5.8.0</version>
          <classifier>jpms</classifier>
        </dependency>
      
      becomes
      
        <dependency>
          <groupId>net.java.dev.jna</groupId>
          <artifactId>jna-platform-jpms</artifactId>
          <version>5.8.0</version>
        </dependency>
      b797901f
  13. 09 2月, 2021 2 次提交
  14. 31 1月, 2021 1 次提交
  15. 30 1月, 2021 2 次提交
  16. 28 1月, 2021 1 次提交
  17. 27 1月, 2021 1 次提交
  18. 20 1月, 2021 1 次提交
  19. 13 1月, 2021 1 次提交
  20. 23 12月, 2020 1 次提交
    • M
      [GITHUB-1286] Fix DBT Bindings and Win32WindowDemo · d2b04e5e
      Matthias Bläsing 提交于
      - Ensure all structures defined in com.sun.jna.platform.win32.DBT can be
        instantiated
      - Use correct mapping for DEV_BROADCAST_PORT#dbcp_name. And add accessor
        for the string value of that property. This is an API incompatible
        change, but the class could not be instantiated, so it is assumed,
        that it is a safe change
      - Prevent potential out-of-bounds read in DEV_BROADCAST_DEVICEINTERFACE
      - Make demo-nativewindowmsg.jar runnable
      
      Closes: #1286
      d2b04e5e
  21. 19 12月, 2020 1 次提交
  22. 06 12月, 2020 1 次提交
  23. 04 12月, 2020 1 次提交
  24. 03 12月, 2020 1 次提交
  25. 26 11月, 2020 1 次提交
  26. 14 11月, 2020 1 次提交
  27. 08 11月, 2020 1 次提交
  28. 07 11月, 2020 1 次提交
  29. 03 9月, 2020 1 次提交
    • M
      Enhance bindings for Crypt32 and fix bindings for array attributes · 07fd6fd6
      Matthias Bläsing 提交于
      The implementations of the rgAttribute, rgCTLEntry and rgExtension
      attributes are not in line with the observed behaviour of the API. At
      least in part they are documented to be pointers to arrays of pointers
      to structures. This is not correct, as segfaults were observed and
      testing shows, that they are in fact pointers to arrays of structures.
      
      In addition it was observed, that the bindings of CTL_INFO#getRgCTLEntry
      and CTL_INFO#getRgExtension method names were inverted.
      
      The bindings for CERT_EXTENSIONS#getRgExtension and 
      CTL_INFO#getRgExtension are untested as but assumed to be implemented
      identically to the tested bindings.
      
      The functions 
      
      - CertEnumCertificatesInStore
      - CertEnumCTLsInStore
      - CertEnumCRLsInStore
      - CryptQueryObject
      
      from `c.s.j.p.win32.Crypt32` were bound to be able to excercise the
      accessors.
      07fd6fd6
  30. 15 8月, 2020 1 次提交
    • J
      Optimized Map/Set lookups in Structure · b641071e
      Jörg Sautter 提交于
      Reduced the number of Set lookups in Structure.read / Structure.write.
      Introduced a new class to replace two entries of a HashMap with one.
      This reduces the number of lookups and the initial capacity has been
      reduced too. Structure.clear will now clear the native string to ensure
      following Structure.write calls will write them again.
      b641071e
  31. 12 8月, 2020 1 次提交
  32. 09 8月, 2020 1 次提交
  33. 03 8月, 2020 1 次提交
  34. 21 7月, 2020 1 次提交
  35. 19 7月, 2020 1 次提交