java - JNA bibliotek, mangler Windows funktion: hvordan man tilføjer nye funktioner?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har et spørgsmål om Java og jna bibliotek. Jeg har downloadet to krukker (jna.jar og platform.jar) fra java.net.


I pakken com.sun.jna.platform.win32 er der allerede nogle definerede grænseflader, der forbinder win dll, men i Kernel32 -filen mangler en funktion, funktionen er DeviceIoControl.


Mine spørgsmål er:



  1. hvor kan jeg finde en komplet liste over alle Windows DLL'er med en komplet liste over alle funktioner og muligvis med en kompatibel liste med alle Windows-versioner? (meget vigtigt)
    Fra msdn site har jeg fundet den komplette funktionsliste med navnet på biblioteket, hvor funktionerne er indeholdt, men ikke det andet.

  2. Kan jeg oprette en ny grænseflade, der udvider Kernel32, så jeg kan tilføje de manglende funktioner?
    Hvorfor er der ikke nogle funktioner fra projektets officielle side i deres krukke?



Takket være alt på forhånd


Francesco

Bedste reference



  Q: Hvor kan jeg finde en komplet liste over alle Windows DLL'er med en komplet
  liste over alle funktioner, og muligvis med en kompatibel liste med alle
  af Windows-versioner? (meget vigtigt) Fra msdn site jeg har fundet
  Komplet funktionsliste med navnet på biblioteket hvor
  funktioner er indeholdt, men ikke den anden.



A: Ja, MSDN-bibliotekets websted er det foretrukne valg http://msdn.microsoft.com/en-us/library/default.aspx. Men jeg forstår ikke hvorfor du ikke kan finde de andre.Det er helt alt der, hvis du ved, hvordan man søger efter dem. Men nogle funktioner kan ikke være lette som COM-grænseflader, som er vanskelige at oversætte korrekt til JNA-versionen . [7]



  Sp .: Kan jeg oprette en ny grænseflade, der udvider Kernel32, så jeg kan tilføje
  de manglende funktioner? Hvorfor fra projektets officielle site, i
  deres krukke er nogle funktioner ikke til stede?



A: Ja, det er sandsynligt. JNA Win32-platformen i den nuværende form giver kun grundlæggende grænseflader til Kernel32-fællesfunktioner, du kan muligvis tilføje dine egne til de manglende.