From f29b2f5c51fe2d856af58ec1d2da65b0dafc0e24 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Wed, 23 Jan 2013 23:17:33 -0500 Subject: [PATCH 01/34] Add test utility to scan for Structure.getFieldOrder() issues. --- build.xml | 1 + lib/test/dom4j-1.6.1.jar | Bin 0 -> 313898 bytes lib/test/guava-11.0.2.jar | Bin 0 -> 1648200 bytes lib/test/javassist-3.12.1.GA.jar | Bin 0 -> 644148 bytes lib/test/reflections-0.9.8.jar | Bin 0 -> 102696 bytes lib/test/slf4j-api-1.6.1.jar | Bin 0 -> 25496 bytes .../sun/jna/StructureFieldOrderInspector.java | 50 ++++++++++++++++++ .../jna/StructureFieldOrderInspectorTest.java | 11 ++++ 8 files changed, 62 insertions(+) create mode 100644 lib/test/dom4j-1.6.1.jar create mode 100644 lib/test/guava-11.0.2.jar create mode 100644 lib/test/javassist-3.12.1.GA.jar create mode 100644 lib/test/reflections-0.9.8.jar create mode 100644 lib/test/slf4j-api-1.6.1.jar create mode 100644 test/com/sun/jna/StructureFieldOrderInspector.java create mode 100644 test/com/sun/jna/StructureFieldOrderInspectorTest.java diff --git a/build.xml b/build.xml index c858b9ad8e..2b49a37680 100644 --- a/build.xml +++ b/build.xml @@ -243,6 +243,7 @@ + diff --git a/lib/test/dom4j-1.6.1.jar b/lib/test/dom4j-1.6.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..c8c4dbb92d6c23a7fbb2813eb721eb4cce91750c GIT binary patch literal 313898 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

^<7W@(9yr9mUm2tK?C|&v@%Rm35X`o{%fo+w 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%0A?GZzYp7)bLPx}z&<;hZaX^DZ#RA|ACLXD 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%0Aok&dtGbv;D|BgjT@f(sv0`S4#(FudZ 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 literal 0 HcmV?d00001 diff --git a/lib/test/guava-11.0.2.jar b/lib/test/guava-11.0.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..c8c8d5dd6f5bd5b0abf33f5b0203bdc8334e2cbf GIT binary patch literal 1648200 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

hgvD(CkIjvoKS-iDBy(AP6OUM#P849?pq%0!G=I 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ⅇ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 z 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 O>;{ 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�)fnR+H|k&4A(kdgXJQm&)>hZz=1+dGYj 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�kZ0eh+n(5A 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�TQuL;}7Liz09u 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

;cAh|?cX)*Lx`oufVkNQ!LvQit&%4FEpSqgm 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

pAyh{;XQ&MbrW(7_p#RR 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 literal 0 HcmV?d00001 diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java new file mode 100644 index 0000000000..2b9880f37c --- /dev/null +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -0,0 +1,50 @@ +package com.sun.jna; + +import org.reflections.Reflections; +import org.reflections.scanners.ResourcesScanner; +import org.reflections.scanners.SubTypesScanner; +import org.reflections.util.ClasspathHelper; +import org.reflections.util.ConfigurationBuilder; +import org.reflections.util.FilterBuilder; + +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +/** + * Utility class for detecting missing {@link com.sun.jna.Structure#getFieldOrder()} methods. + * + * This class could be moved to the unit test tree, but them reusing it in the 'platform' project would require + * publishing this test tree. + * + * @author Dan Rollo + * Date: 1/17/13 + * Time: 4:08 PM + */ +public final class StructureFieldOrderInspector { + + private StructureFieldOrderInspector(){} + + /** + * Find all classes that extend {@link Structure}. + */ + public static Set> findStructureSubClasses(final ClassLoader classLoader) { + + // @todo use: http://code.google.com/p/reflections/ + + List classLoadersList = new LinkedList(); + classLoadersList.add(ClasspathHelper.contextClassLoader()); + classLoadersList.add(ClasspathHelper.staticClassLoader()); + + Reflections reflections = new Reflections(new ConfigurationBuilder() + .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) + .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))) + .filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.your.package")))); + + //Set> classes = reflections.getSubTypesOf(Object.class); + Set> classes = (Set>) reflections.getSubTypesOf(Structure.class); + + return classes; + } + +} diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java new file mode 100644 index 0000000000..e735c615dc --- /dev/null +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -0,0 +1,11 @@ +package com.sun.jna; + +/** + * Created with IntelliJ IDEA. + * User: dan + * Date: 1/17/13 + * Time: 4:29 PM + * To change this template use File | Settings | File Templates. + */ +public class StructureFieldOrderInspectorTest { +} From 011a2eaed7b80f3fcedb8036e90697bb9f349e1c Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:02:39 -0500 Subject: [PATCH 02/34] testToScanForGetFieldOrderIssues --- .../sun/jna/StructureFieldOrderInspector.java | 103 +++++++++++++++--- .../jna/StructureFieldOrderInspectorTest.java | 97 ++++++++++++++++- 2 files changed, 183 insertions(+), 17 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 2b9880f37c..582cec7efb 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -1,5 +1,6 @@ package com.sun.jna; +import com.google.common.collect.Lists; import org.reflections.Reflections; import org.reflections.scanners.ResourcesScanner; import org.reflections.scanners.SubTypesScanner; @@ -7,6 +8,11 @@ import org.reflections.util.ConfigurationBuilder; import org.reflections.util.FilterBuilder; +import java.io.File; +import java.lang.reflect.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -28,23 +34,94 @@ private StructureFieldOrderInspector(){} /** * Find all classes that extend {@link Structure}. */ - public static Set> findStructureSubClasses(final ClassLoader classLoader) { + public static Set> findSubTypesOfStructure(final Class classDeclaredInSourceTreeToSearch) { - // @todo use: http://code.google.com/p/reflections/ + // use: http://code.google.com/p/reflections/ - List classLoadersList = new LinkedList(); - classLoadersList.add(ClasspathHelper.contextClassLoader()); - classLoadersList.add(ClasspathHelper.staticClassLoader()); - - Reflections reflections = new Reflections(new ConfigurationBuilder() + final Reflections reflections = new Reflections(new ConfigurationBuilder() .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) - .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))) - .filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.your.package")))); - - //Set> classes = reflections.getSubTypesOf(Object.class); - Set> classes = (Set>) reflections.getSubTypesOf(Structure.class); + .setUrls(ClasspathHelper.forClass(classDeclaredInSourceTreeToSearch)) + ); - return classes; + return (Set>)reflections.getSubTypesOf(Structure.class); } + + public static void checkMethodGetFieldOrder(final Class structureSubType) { + + if (Structure.ByValue.class.isAssignableFrom(structureSubType) + || Structure.ByReference.class.isAssignableFrom(structureSubType)) { + + // ignore tagging interfaces + return; + } + + final Method methodGetFieldOrder; + try { + methodGetFieldOrder = structureSubType.getDeclaredMethod("getFieldOrder", new Class[]{}); + } catch (NoSuchMethodException e) { + throw new IllegalArgumentException("The Structure sub type: " + structureSubType.getName() + + " \nmust define the method: getFieldOrder()." + + " \nSee the javadoc for Structure.getFieldOrder() for details.", e); + } + + + if (Modifier.isAbstract(structureSubType.getModifiers())) { + // do not try to construct abstract Structure sub types + return; + } + final Constructor structConstructor; + try { + structConstructor = structureSubType.getDeclaredConstructor(); + } catch (NoSuchMethodException e) { + if (structureSubType == Structure.FFIType.class) { + // ignore this case + // @todo Allow user to pass in list of classes for which to skip construction? + return; + } + throw new RuntimeException("Parameterless constructor failed on Structure sub type: " + structureSubType.getName()); + } + + if (!structConstructor.isAccessible()) { + structConstructor.setAccessible(true); + } + final Structure structure; + try { + structure= structConstructor.newInstance(); + } catch (InstantiationException e) { + throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); + } catch (IllegalAccessException e) { + throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); + } catch (InvocationTargetException e) { + // this is triggered by checks in Structure.getFields() + throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); + } + + final List methodCallFieldList; + try { + methodCallFieldList = (List) methodGetFieldOrder.invoke(structure); + } catch (IllegalAccessException e) { + throw new RuntimeException("Could not invoke getFieldOrder() on Structure sub type: " + structureSubType.getName(), e); + } catch (InvocationTargetException e) { + throw new RuntimeException("Could not invoke getFieldOrder() on Structure sub type: " + structureSubType.getName(), e); + } + + final Field[] actualFields = structureSubType.getDeclaredFields(); + final List actualFieldNames = new ArrayList(actualFields.length); + for (final Field field : actualFields) { + final String actualFieldName = field.getName(); + if (!methodCallFieldList.contains(actualFieldName)) { + throw new IllegalArgumentException(structureSubType.getName() + ".getFieldOrder() [" + methodCallFieldList + + "] does not include declared field: " + actualFieldName); + } + actualFieldNames.add(actualFieldName); + } + + for (final Object methodCallField : methodCallFieldList) { + if (!actualFieldNames.contains(methodCallField)) { + throw new IllegalArgumentException(structureSubType.getName() + ".getFieldOrder() [" + methodCallFieldList + + "] includes undeclared field: " + methodCallField); + } + } + } } diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index e735c615dc..b690d1d950 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -1,11 +1,100 @@ package com.sun.jna; +import junit.framework.TestCase; + +import java.util.Arrays; +import java.util.List; +import java.util.Set; + /** - * Created with IntelliJ IDEA. - * User: dan + * Test utility class for inspecting {@link com.sun.jna.Structure#getFieldOrder()} methods. + * + * @author Dan Rollo * Date: 1/17/13 * Time: 4:29 PM - * To change this template use File | Settings | File Templates. */ -public class StructureFieldOrderInspectorTest { +public class StructureFieldOrderInspectorTest extends TestCase { + + private String origPropJNANoSys; + + protected void setUp() { + origPropJNANoSys = System.getProperty("jna.nosys"); + System.setProperty("jna.nosys", "true"); // would be set by ant script, set here for IDE usage + } + + protected void tearDown() { + if (origPropJNANoSys == null) { + System.getProperties().remove("jna.nosys"); + } else { + System.setProperty("jna.nosys", origPropJNANoSys); + } + } + + + public void testFindStructureSubClasses() { + + final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(Platform.class); + + assertTrue("Found no Structure sub types.", classes.size() > 0); + + for (final Class structureSubType : classes) { + assertTrue(structureSubType.getName(), Structure.class.isAssignableFrom(structureSubType)); + } + } + + public void testCheckMethodGetFieldOrderExisting() { + StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.class); + } + + public void testCheckMethodGetFieldOrderTagInterface() { + StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.ByValue.class); + } + + + private static final class MyStructMissingField extends Structure { + @SuppressWarnings("UnusedDeclaration") + public String missingDeclaredField; + + @Override + protected List getFieldOrder() { + //noinspection unchecked + return Arrays.asList(); + } + } + public void testCheckMethodGetFieldOrderMissingField() throws Exception { + try { + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructMissingField.class); + fail("Expected Error: Structure.getFieldOrder()..."); + } catch (RuntimeException e) { + assertTrue(e.getCause().getCause().getMessage().contains("not match declared field names")); + } + } + + private static final class MyStructExtraField extends Structure { + @Override + protected List getFieldOrder() { + return Arrays.asList("extraField"); + } + } + public void testCheckMethodGetFieldOrderExtraField() throws Exception { + try { + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructExtraField.class); + fail("Expected Error: Structure.getFieldOrder()..."); + } catch (RuntimeException e) { + assertTrue(e.getCause().getCause().getMessage().contains("not match declared field names")); + } + } + + + public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { + StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class); + } + + public void testCheckMethodGetFieldOrder() throws Exception { + final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(Platform.class); + + for (final Class structureSubType : classes) { + StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType); + } + } } From 8f064113574151b974fe55e0b81b5acb56c0d4b3 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:04:16 -0500 Subject: [PATCH 03/34] remove unneeded cast --- test/com/sun/jna/StructureFieldOrderInspector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 582cec7efb..d0eff7f3ad 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -43,7 +43,7 @@ public static Set> findSubTypesOfStructure(final Cla .setUrls(ClasspathHelper.forClass(classDeclaredInSourceTreeToSearch)) ); - return (Set>)reflections.getSubTypesOf(Structure.class); + return reflections.getSubTypesOf(Structure.class); } From e89e70c9a6858dc3e5a2df0336a0c54025e9d06e Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:32:24 -0500 Subject: [PATCH 04/34] add helper method --- test/com/sun/jna/StructureFieldOrderInspector.java | 13 +++++++++++++ .../sun/jna/StructureFieldOrderInspectorTest.java | 8 ++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index d0eff7f3ad..2f37832193 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -31,6 +31,19 @@ public final class StructureFieldOrderInspector { private StructureFieldOrderInspector(){} + /** + * Search for Structure sub types in the source tree of the given class, and validate the getFieldOrder() method. + * + * @param classDeclaredInSourceTreeToSearch a class who's source tree will be searched for Structure sub types. + */ + public static void checkStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch) { + final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(classDeclaredInSourceTreeToSearch); + + for (final Class structureSubType : classes) { + StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType); + } + } + /** * Find all classes that extend {@link Structure}. */ diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index b690d1d950..460342f48e 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -90,11 +90,7 @@ public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class); } - public void testCheckMethodGetFieldOrder() throws Exception { - final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(Platform.class); - - for (final Class structureSubType : classes) { - StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType); - } + public void testCheckStructureGetFieldOrder() throws Exception { + StructureFieldOrderInspector.checkStructureGetFieldOrder(Platform.class); } } From dfe8862e0f4d9638a884c2047f7634387333498d Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:44:21 -0500 Subject: [PATCH 05/34] add jna test classes to test classpath so we can use StructureFieldOrder scanner. --- contrib/platform/nbproject/project.properties | 120 +++++++++--------- 1 file changed, 61 insertions(+), 59 deletions(-) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index b9b4e9036a..cf619f3df1 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -1,59 +1,61 @@ -application.args= -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -debug.classpath=\ - ${run.classpath} -debug.test.classpath=\ - ${run.test.classpath} -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/platform.jar -dist.javadoc.dir=${dist.dir}/javadoc -file.reference.jna.jar=../../build/jna.jar -libs.junit.classpath=../../lib/junit.jar -jar.compress=false -javac.classpath=\ - ${file.reference.jna.jar}; -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.source=1.5 -javac.target=1.5 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir}:\ - ${libs.junit.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding= -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -main.class= -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project -# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value -# or test-sys-prop.name=value to set system properties for unit tests): -run.jvmargs= -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -src.dir=src -test.src.dir=test +application.args= +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/platform.jar +dist.javadoc.dir=${dist.dir}/javadoc +file.reference.jna.jar=../../build/jna.jar +file.reference.jna-test.jar=../../build/jna-test.jar +libs.junit.classpath=../../lib/junit.jar +jar.compress=false +javac.classpath=\ + ${file.reference.jna.jar}; +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${file.reference.jna.jar}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +src.dir=src +test.src.dir=test From 7bd83c65f994a1b66c4d6e91677b53f68ef1d3b2 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:49:15 -0500 Subject: [PATCH 06/34] remove stale imports --- test/com/sun/jna/StructureFieldOrderInspector.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 2f37832193..364ad8e640 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -1,19 +1,13 @@ package com.sun.jna; -import com.google.common.collect.Lists; import org.reflections.Reflections; import org.reflections.scanners.ResourcesScanner; import org.reflections.scanners.SubTypesScanner; import org.reflections.util.ClasspathHelper; import org.reflections.util.ConfigurationBuilder; -import org.reflections.util.FilterBuilder; -import java.io.File; import java.lang.reflect.*; -import java.net.MalformedURLException; -import java.net.URL; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import java.util.Set; From 6d0651acbc7ec7c4e3d475517984bf010343816c Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 00:56:02 -0500 Subject: [PATCH 07/34] add jna test classes to test classpath so we can use StructureFieldOrder scanner. --- contrib/platform/nbproject/project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index cf619f3df1..dccbe74c79 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -29,7 +29,7 @@ javac.source=1.5 javac.target=1.5 javac.test.classpath=\ ${javac.classpath}:\ - ${file.reference.jna.jar}:\ + ${file.reference.jna-test.jar}:\ ${build.classes.dir}:\ ${libs.junit.classpath} javadoc.additionalparam= From 351d68faf6c0e624c91bf06021ce088d4aff14ab Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 01:04:56 -0500 Subject: [PATCH 08/34] try adding reflections test libs via *.jar pattern. --- contrib/platform/nbproject/project.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index dccbe74c79..061bbd336f 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -56,6 +56,7 @@ run.classpath=\ run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ + ../../lib/test/*.jar:\ ${build.test.classes.dir} src.dir=src test.src.dir=test From 8cbbb1eec8502c4e83b5999a7bec6536251d2bf8 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 01:06:31 -0500 Subject: [PATCH 09/34] try adding reflections test lib file name pattern. --- contrib/platform/nbproject/project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index 061bbd336f..cb468becd5 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -56,7 +56,7 @@ run.classpath=\ run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ - ../../lib/test/*.jar:\ + ../../lib/test/reflections-0.9.8.jar:\ ${build.test.classes.dir} src.dir=src test.src.dir=test From 156d2015a5eeaf6e7ae7f254a561e5a5c7d5d9fd Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 01:09:43 -0500 Subject: [PATCH 10/34] try adding reflections test libs via file name pattern. --- contrib/platform/nbproject/project.properties | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index cb468becd5..ca001ef66f 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -57,6 +57,10 @@ run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ ../../lib/test/reflections-0.9.8.jar:\ + ../../lib/test/guava-11.0.2.jar:\ + ../../lib/test/javassist-3.12.1.GA.jar:\ + ../../lib/test/slf4j-api-1.6.1.jar:\ + ../../lib/test/dom4j-1.6.1.jar:\ ${build.test.classes.dir} src.dir=src test.src.dir=test From 1a8b3b55d8a6b02678d3276e9433c3b3fa2ba0d8 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 01:32:55 -0500 Subject: [PATCH 11/34] handle inaccessible getFieldOrder() method. --- test/com/sun/jna/StructureFieldOrderInspector.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 364ad8e640..8156eef801 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -104,6 +104,9 @@ public static void checkMethodGetFieldOrder(final Class str throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); } + if (!methodGetFieldOrder.isAccessible()) { + methodGetFieldOrder.setAccessible(true); + } final List methodCallFieldList; try { methodCallFieldList = (List) methodGetFieldOrder.invoke(structure); From d8232c9122d72b8b032aae3a60cd8f42a65a26dc Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 01:45:58 -0500 Subject: [PATCH 12/34] allow user supplied list of classes for which to ignore constructor errors. --- test/com/sun/jna/StructureFieldOrderInspector.java | 13 +++++++++---- .../sun/jna/StructureFieldOrderInspectorTest.java | 12 ++++++------ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 8156eef801..0e0a513a70 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -30,11 +30,12 @@ private StructureFieldOrderInspector(){} * * @param classDeclaredInSourceTreeToSearch a class who's source tree will be searched for Structure sub types. */ - public static void checkStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch) { + public static void checkStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch, + final List ignoreConstructorError) { final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(classDeclaredInSourceTreeToSearch); for (final Class structureSubType : classes) { - StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType); + StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType, ignoreConstructorError); } } @@ -54,7 +55,8 @@ public static Set> findSubTypesOfStructure(final Cla } - public static void checkMethodGetFieldOrder(final Class structureSubType) { + public static void checkMethodGetFieldOrder(final Class structureSubType, + final List ignoreConstructorError) { if (Structure.ByValue.class.isAssignableFrom(structureSubType) || Structure.ByReference.class.isAssignableFrom(structureSubType)) { @@ -100,7 +102,10 @@ public static void checkMethodGetFieldOrder(final Class str } catch (IllegalAccessException e) { throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); } catch (InvocationTargetException e) { - // this is triggered by checks in Structure.getFields() + // this is triggered by checks in Structure.getFields(), and static loadlibrary() failures + if (ignoreConstructorError != null && ignoreConstructorError.contains(structureSubType)) { + return; + } throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); } diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index 460342f48e..1343af41f8 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -43,11 +43,11 @@ public void testFindStructureSubClasses() { } public void testCheckMethodGetFieldOrderExisting() { - StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.class); + StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.class, null); } public void testCheckMethodGetFieldOrderTagInterface() { - StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.ByValue.class); + StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureByValueTest.TestNativeMappedInStructure.ByValue.class, null); } @@ -63,7 +63,7 @@ protected List getFieldOrder() { } public void testCheckMethodGetFieldOrderMissingField() throws Exception { try { - StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructMissingField.class); + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructMissingField.class, null); fail("Expected Error: Structure.getFieldOrder()..."); } catch (RuntimeException e) { assertTrue(e.getCause().getCause().getMessage().contains("not match declared field names")); @@ -78,7 +78,7 @@ protected List getFieldOrder() { } public void testCheckMethodGetFieldOrderExtraField() throws Exception { try { - StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructExtraField.class); + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructExtraField.class, null); fail("Expected Error: Structure.getFieldOrder()..."); } catch (RuntimeException e) { assertTrue(e.getCause().getCause().getMessage().contains("not match declared field names")); @@ -87,10 +87,10 @@ public void testCheckMethodGetFieldOrderExtraField() throws Exception { public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { - StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class); + StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class, null); } public void testCheckStructureGetFieldOrder() throws Exception { - StructureFieldOrderInspector.checkStructureGetFieldOrder(Platform.class); + StructureFieldOrderInspector.checkStructureGetFieldOrder(Platform.class, null); } } From 1942640b2dec3c708af8ca1c746d90aedae4e2c9 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 02:07:44 -0500 Subject: [PATCH 13/34] add batch version of check method --- .../sun/jna/StructureFieldOrderInspector.java | 34 +++++++++++++++++-- .../jna/StructureFieldOrderInspectorTest.java | 9 +++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 0e0a513a70..44c6ba7d3e 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -25,6 +25,36 @@ public final class StructureFieldOrderInspector { private StructureFieldOrderInspector(){} + /** + * Search for Structure sub types in the source tree of the given class, and validate the getFieldOrder() method, + * and collects all errors into one exception. + * + * @param classDeclaredInSourceTreeToSearch a class who's source tree will be searched for Structure sub types. + */ + public static void batchCheckStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch, + final List ignoreConstructorError) { + final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(classDeclaredInSourceTreeToSearch); + + final List problems = new ArrayList(); + + for (final Class structureSubType : classes) { + try { + StructureFieldOrderInspector.checkMethodGetFieldOrder(structureSubType, ignoreConstructorError); + } catch (Throwable t) { + problems.add(t); + } + } + + if (problems.size() > 0) { + String msg = ""; + for (final Throwable t : problems) { + msg += t.getMessage() + "; \n"; + } + + throw new RuntimeException("Some Structure sub types (" + problems.size() + ") have problems with getFieldOrder(): \n" + msg); + } + } + /** * Search for Structure sub types in the source tree of the given class, and validate the getFieldOrder() method. * @@ -70,8 +100,8 @@ public static void checkMethodGetFieldOrder(final Class str methodGetFieldOrder = structureSubType.getDeclaredMethod("getFieldOrder", new Class[]{}); } catch (NoSuchMethodException e) { throw new IllegalArgumentException("The Structure sub type: " + structureSubType.getName() - + " \nmust define the method: getFieldOrder()." - + " \nSee the javadoc for Structure.getFieldOrder() for details.", e); + + " must define the method: getFieldOrder()." + + " See the javadoc for Structure.getFieldOrder() for details.", e); } diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index 1343af41f8..c278b4592c 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -93,4 +93,13 @@ public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { public void testCheckStructureGetFieldOrder() throws Exception { StructureFieldOrderInspector.checkStructureGetFieldOrder(Platform.class, null); } + + public void testBatchCheckStructureGetFieldOrder() throws Exception { + try { + StructureFieldOrderInspector.batchCheckStructureGetFieldOrder(StructureTest.class, null); + fail("Expected structure failures"); + } catch (RuntimeException e) { + assertTrue(e.getMessage().startsWith("Some Structure sub types")); + } + } } From fef81ce17ffa071e7772008f97f10a7c77fdfdec Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 02:22:54 -0500 Subject: [PATCH 14/34] change ignore constructor error list to be list of classname prefixes. allows for ignoring all inner classes of a given class. --- .../sun/jna/StructureFieldOrderInspector.java | 19 +++++++++++++------ .../jna/StructureFieldOrderInspectorTest.java | 7 +++++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 44c6ba7d3e..cfa42c8efa 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -30,9 +30,10 @@ private StructureFieldOrderInspector(){} * and collects all errors into one exception. * * @param classDeclaredInSourceTreeToSearch a class who's source tree will be searched for Structure sub types. + * @param ignoreConstructorError list of classname prefixes for which to ignore construction errors. */ public static void batchCheckStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch, - final List ignoreConstructorError) { + final List ignoreConstructorError) { final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(classDeclaredInSourceTreeToSearch); final List problems = new ArrayList(); @@ -59,9 +60,10 @@ public static void batchCheckStructureGetFieldOrder(final Class classDeclaredInS * Search for Structure sub types in the source tree of the given class, and validate the getFieldOrder() method. * * @param classDeclaredInSourceTreeToSearch a class who's source tree will be searched for Structure sub types. + * @param ignoreConstructorError list of classname prefixes for which to ignore construction errors. */ public static void checkStructureGetFieldOrder(final Class classDeclaredInSourceTreeToSearch, - final List ignoreConstructorError) { + final List ignoreConstructorError) { final Set> classes = StructureFieldOrderInspector.findSubTypesOfStructure(classDeclaredInSourceTreeToSearch); for (final Class structureSubType : classes) { @@ -72,7 +74,7 @@ public static void checkStructureGetFieldOrder(final Class classDeclaredInSource /** * Find all classes that extend {@link Structure}. */ - public static Set> findSubTypesOfStructure(final Class classDeclaredInSourceTreeToSearch) { + public static Set> findSubTypesOfStructure(final Class classDeclaredInSourceTreeToSearch) { // use: http://code.google.com/p/reflections/ @@ -86,7 +88,7 @@ public static Set> findSubTypesOfStructure(final Cla public static void checkMethodGetFieldOrder(final Class structureSubType, - final List ignoreConstructorError) { + final List ignoreConstructorError) { if (Structure.ByValue.class.isAssignableFrom(structureSubType) || Structure.ByReference.class.isAssignableFrom(structureSubType)) { @@ -133,8 +135,13 @@ public static void checkMethodGetFieldOrder(final Class str throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); } catch (InvocationTargetException e) { // this is triggered by checks in Structure.getFields(), and static loadlibrary() failures - if (ignoreConstructorError != null && ignoreConstructorError.contains(structureSubType)) { - return; + if (ignoreConstructorError != null) { + final String structSubtypeName = structureSubType.getName(); + for (final String classPrefix : ignoreConstructorError) { + if (structSubtypeName.startsWith(classPrefix)) { + return; + } + } } throw new RuntimeException("Could not instantiate Structure sub type: " + structureSubType.getName(), e); } diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index c278b4592c..3bbd71efa4 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -2,6 +2,7 @@ import junit.framework.TestCase; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Set; @@ -90,6 +91,12 @@ public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class, null); } + public void testCheckMethodGetFieldOrderWithIgnoreCtorError() throws Exception { + final List ignoreConstructorError = new ArrayList(); + ignoreConstructorError.add(StructureFieldOrderInspectorTest.class.getName()); + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructExtraField.class, ignoreConstructorError); + } + public void testCheckStructureGetFieldOrder() throws Exception { StructureFieldOrderInspector.checkStructureGetFieldOrder(Platform.class, null); } From ed2f4d3b05ce2ac3af675347ff2ef72de4b1aac3 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 02:34:21 -0500 Subject: [PATCH 15/34] add unit test to platform project to scan for Structure.getFieldOrder() problems. --- .../jna/platform/StructureFieldOrderTest.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java diff --git a/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java new file mode 100644 index 0000000000..7000845d1e --- /dev/null +++ b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java @@ -0,0 +1,37 @@ +/* Copyright (c) 2007-2008 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. + * + * 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; + + +import com.sun.jna.Platform; +import com.sun.jna.platform.unix.X11; +import junit.framework.TestCase; + +import com.sun.jna.StructureFieldOrderInspector; + +import java.util.ArrayList; +import java.util.List; + +public class StructureFieldOrderTest extends TestCase { + + public void testMethodGetFieldOrder() { + final List ignoreConstructorError = new ArrayList(); + + if (Platform.isWindows()) { + ignoreConstructorError.add(X11.class.getName() + "$"); + } + + StructureFieldOrderInspector.batchCheckStructureGetFieldOrder(FileUtils.class, ignoreConstructorError); + } + +} From 415179f9b70131874e74e2d4f2866587e2a7c11e Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 13:56:11 -0500 Subject: [PATCH 16/34] fix compiler warning from invalid chars in javadoc, like: User32.java:1511: warning: unmappable character for encoding UTF8 --- .../com/sun/jna/platform/win32/User32.java | 3374 ++++++++--------- 1 file changed, 1687 insertions(+), 1687 deletions(-) diff --git a/contrib/platform/src/com/sun/jna/platform/win32/User32.java b/contrib/platform/src/com/sun/jna/platform/win32/User32.java index f7feaf736e..38f30c0af1 100644 --- a/contrib/platform/src/com/sun/jna/platform/win32/User32.java +++ b/contrib/platform/src/com/sun/jna/platform/win32/User32.java @@ -1,1687 +1,1687 @@ -/* 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. - *

- * 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.Structure; -import com.sun.jna.WString; -import com.sun.jna.platform.win32.BaseTSD.LONG_PTR; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.ptr.ByteByReference; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.win32.StdCallLibrary; -import com.sun.jna.win32.W32APIOptions; - -// TODO: Auto-generated Javadoc -/** - * Provides access to the w32 user32 library. Incomplete implementation to - * support demos. - * - * @author Todd Fast, todd.fast@sun.com - * @author twalljava@dev.java.net - * @author Tobias Wolf, wolf.tobias@gmx.net - */ -public interface User32 extends StdCallLibrary, WinUser { - - /** The instance. */ - User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class, - W32APIOptions.DEFAULT_OPTIONS); - - /** The cs globalclass. */ - int CS_GLOBALCLASS = 0x4000; - - /** The ws ex topmost. */ - int WS_EX_TOPMOST = 0x00000008; - - /** The ws overlapped. */ - int WS_OVERLAPPED = 0x00000000; - - /** The hRecipient parameter is a window handle. */ - int DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000; - - /** The hRecipient parameter is a service status handle. */ - int DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001; - - /** The device notify all interface classes. */ - int DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004; - - /** - * This function retrieves a handle to a display device context (DC) for the - * client area of the specified window. The display device context can be - * used in subsequent graphics display interface (GDI) functions to draw in - * the client area of the window. - * - * @param hWnd - * Handle to the window whose device context is to be retrieved. - * If this value is NULL, GetDC retrieves the device context for - * the entire screen. - * @return The handle the device context for the specified window's client - * area indicates success. NULL indicates failure. To get extended - * error information, call GetLastError. - */ - HDC GetDC(HWND hWnd); - - /** - * This function releases a device context (DC), freeing it for use by other - * applications. The effect of ReleaseDC depends on the type of device - * context. - * - * @param hWnd - * Handle to the window whose device context is to be released. - * @param hDC - * Handle to the device context to be released. - * @return The return value specifies whether the device context is - * released. 1 indicates that the device context is released. Zero - * indicates that the device context is not released. - */ - int ReleaseDC(HWND hWnd, HDC hDC); - - /** - * This function retrieves the handle to the top-level window whose class - * name and window name match the specified strings. This function does not - * search child windows. - * - * @param lpClassName - * Long pointer to a null-terminated string that specifies the - * class name or is an atom that identifies the class-name - * string. If this parameter is an atom, it must be a global atom - * created by a previous call to the GlobalAddAtom function. The - * atom, a 16-bit value, must be placed in the low-order word of - * lpClassName; the high-order word must be zero. - * @param lpWindowName - * Long pointer to a null-terminated string that specifies the - * window name (the window's title). If this parameter is NULL, - * all window names match. - * @return A handle to the window that has the specified class name and - * window name indicates success. NULL indicates failure. To get - * extended error information, call GetLastError. - */ - HWND FindWindow(String lpClassName, String lpWindowName); - - /** - * This function retrieves the name of the class to which the specified - * window belongs. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param lpClassName - * Long pointer to the buffer that is to receive the class name - * string. - * @param nMaxCount - * Specifies the length, in characters, of the buffer pointed to - * by the lpClassName parameter. The class name string is - * truncated if it is longer than the buffer. - * @return The number of characters copied to the specified buffer indicates - * success. Zero indicates failure. To get extended error - * information, call GetLastError. - */ - int GetClassName(HWND hWnd, char[] lpClassName, int nMaxCount); - - /** - * Retrieves information about the active window or a specified graphical - * user interface (GUI) thread. - * - * @param idThread - * Identifies the thread for which information is to be - * retrieved. To retrieve this value, use the - * GetWindowThreadProcessId function. If this parameter is NULL, - * the function returns information for the foreground thread. - * @param lpgui - * Pointer to a GUITHREADINFO structure that receives information - * describing the thread. Note that you must set - * GUITHREADINFO.cbSize to sizeof(GUITHREADINFO) before calling - * this function. - * @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 GetGUIThreadInfo(int idThread, GUITHREADINFO lpgui); - - /** - * The GetWindowInfo function retrieves information about the specified - * window. - * - * @param hWnd - * Handle to the window whose information is to be retrieved. - * @param pwi - * Pointer to a WINDOWINFO structure to receive the information. - * Note that you must set WINDOWINFO.cbSize to sizeof(WINDOWINFO) - * before calling this function. - * @return If the function succeeds, the return value is nonzero. If the - * function fails, the return value is zero. - */ - boolean GetWindowInfo(HWND hWnd, WINDOWINFO pwi); - - /** - * This function retrieves the dimensions of the bounding rectangle of the - * specified window. The dimensions are given in screen coordinates that are - * relative to the upper-left corner of the screen. - * - * @param hWnd - * Handle to the window. - * @param rect - * Long pointer to a RECT structure that receives the screen - * coordinates of the upper-left and lower-right corners of the - * window. - * @return Nonzero indicates success. Zero indicates failure. To get - * extended error information, call GetLastError. - */ - boolean GetWindowRect(HWND hWnd, RECT rect); - - /** - * This function copies the text of the specified window's title bar - if it - * has one - into a buffer. If the specified window is a control, the text - * of the control is copied. - * - * @param hWnd - * Handle to the window or control containing the text. - * @param lpString - * Long pointer to the buffer that will receive the text. - * @param nMaxCount - * Specifies the maximum number of characters to copy to the - * buffer, including the NULL character. If the text exceeds this - * limit, it is truncated. - * @return The length, in characters, of the copied string, not including - * the terminating null character, indicates success. Zero indicates - * that the window has no title bar or text, if the title bar is - * empty, or if the window or control handle is invalid. To get - * extended error information, call GetLastError. This function - * cannot retrieve the text of an edit control in another - * application. - */ - int GetWindowText(HWND hWnd, char[] lpString, int nMaxCount); - - /** - * This function retrieves the length, in characters, of the specified - * window's title bar text - if the window has a title bar. If the specified - * window is a control, the function retrieves the length of the text within - * the control. - * - * @param hWnd - * Handle to the window or control. - * @return The length, in characters, of the text indicates success. Under - * certain conditions, this value may actually be greater than the - * length of the text. Zero indicates that the window has no text. - * To get extended error information, call GetLastError. - */ - int GetWindowTextLength(HWND hWnd); - - /** - * The GetWindowModuleFileName function retrieves the full path and file - * name of the module associated with the specified window handle. - * - * @param hWnd - * Handle to the window whose module file name will be retrieved. - * @param lpszFileName - * Pointer to a buffer that receives the path and file name. - * @param cchFileNameMax - * Specifies the maximum number of TCHARs that can be copied into - * the lpszFileName buffer. - * @return The return value is the total number of TCHARs copied into the - * buffer. - */ - int GetWindowModuleFileName(HWND hWnd, char[] lpszFileName, - int cchFileNameMax); - - /** - * This function retrieves the identifier of the thread that created the - * specified window and, optionally, the identifier of the process that - * created the window. - * - * @param hWnd - * Handle to the window. - * @param lpdwProcessId - * Pointer to a 32-bit value that receives the process - * identifier. If this parameter is not NULL, - * GetWindowThreadProcessId copies the identifier of the process - * to the 32-bit value; otherwise, it does not. - * @return The return value is the identifier of the thread that created the - * window. - */ - int GetWindowThreadProcessId(HWND hWnd, IntByReference lpdwProcessId); - - /** - * This function enumerates all top-level windows on the screen by passing - * the handle to each window, in turn, to an application-defined callback - * function. EnumWindows continues until the last top-level window is - * enumerated or the callback function returns FALSE. - * - * @param lpEnumFunc - * Long pointer to an application-defined callback function. - * @param data - * Specifies an application-defined value to be passed to the - * callback function. - * @return Nonzero indicates success. Zero indicates failure. To get - * extended error information, call GetLastError. - */ - boolean EnumWindows(WNDENUMPROC lpEnumFunc, Pointer data); - - /** - * The EnumChildWindows function enumerates the child windows that belong to - * the specified parent window by passing the handle to each child window, - * in turn, to an application-defined callback function. EnumChildWindows - * continues until the last child window is enumerated or the callback - * function returns FALSE. - * - * @param hWnd - * Handle to the parent window whose child windows are to be - * enumerated. If this parameter is NULL, this function is - * equivalent to EnumWindows. - * @param lpEnumFunc - * Pointer to an application-defined callback function. - * @param data - * Specifies an application-defined value to be passed to the - * callback function. - * @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. If EnumChildProc returns zero, - * the return value is also zero. In this case, the callback - * function should call SetLastError to obtain a meaningful error - * code to be returned to the caller of EnumChildWindows. - */ - boolean EnumChildWindows(HWND hWnd, WNDENUMPROC lpEnumFunc, Pointer data); - - /** - * The EnumThreadWindows function enumerates all nonchild windows associated - * with a thread by passing the handle to each window, in turn, to an - * application-defined callback function. EnumThreadWindows continues until - * the last window is enumerated or the callback function returns FALSE. To - * enumerate child windows of a particular window, use the EnumChildWindows - * function. - * - * @param dwThreadId - * Identifies the thread whose windows are to be enumerated. - * @param lpEnumFunc - * Pointer to an application-defined callback function. - * @param data - * Specifies an application-defined value to be passed to the - * callback function. - * @return If the callback function returns TRUE for all windows in the - * thread specified by dwThreadId, the return value is TRUE. If the - * callback function returns FALSE on any enumerated window, or if - * there are no windows found in the thread specified by dwThreadId, - * the return value is FALSE. - */ - boolean EnumThreadWindows(int dwThreadId, WNDENUMPROC lpEnumFunc, - Pointer data); - - /** - * The FlashWindowEx function flashes the specified window. It does not - * change the active state of the window. - * - * @param pfwi - * Pointer to the FLASHWINFO structure. - * @return The return value specifies the window's state before the call to - * the FlashWindowEx function. If the window caption was drawn as - * active before the call, the return value is nonzero. Otherwise, - * the return value is zero. - */ - boolean FlashWindowEx(FLASHWINFO pfwi); - - /** - * This function loads the specified icon resource from the executable - * (.exe) file associated with an application instance. - * - * @param hInstance - * Handle to an instance of the module whose executable file - * contains the icon to be loaded. This parameter must be NULL - * when a standard icon is being loaded. - * @param iconName - * Long pointer to a null-terminated string that contains the - * name of the icon resource to be loaded. Alternatively, this - * parameter can contain the resource identifier in the low-order - * word and zero in the high-order word. Use the MAKEINTRESOURCE - * macro to create this value. - * @return A handle to the newly loaded icon indicates success. NULL - * indicates failure. To get extended error information, call - * GetLastError. - */ - HICON LoadIcon(HINSTANCE hInstance, String iconName); - - /** - * This function loads an icon, cursor, or bitmap. - * - * @param hinst - * Handle to an instance of the module that contains the image to - * be loaded. - * @param name - * Pointer to a null-terminated string that contains the name of - * the image resource in the hinst module that identifies the - * image to load. - * @param type - * Specifies the type of image to be loaded. - * @param xDesired - * Specifies the width, in pixels, of the icon or cursor. If this - * parameter is zero, the function uses the SM_CXICON or - * SM_CXCURSOR system metric value to set the width. If uType is - * IMAGE_BITMAP, this parameter must be zero. - * @param yDesired - * Specifies the height, in pixels, of the icon or cursor. If - * this parameter is zero, the function uses the SM_CYICON or - * SM_CYCURSOR system metric value to set the height. If uType is - * IMAGE_BITMAP, this parameter must be zero. - * @param load - * Set to zero. - * @return The handle of the newly loaded image indicates success. NULL - * indicates failure. To get extended error information, call - * GetLastError. - */ - HANDLE LoadImage(HINSTANCE hinst, String name, int type, int xDesired, - int yDesired, int load); - - /** - * This function destroys an icon and frees any memory the icon occupied. - * - * @param hicon - * Handle to the icon to be destroyed. The icon must not be in - * use. - * @return Nonzero indicates success. Zero indicates failure. To get - * extended error information, call GetLastError. - */ - boolean DestroyIcon(HICON hicon); - - /** - * This function retrieves information about the specified window. - * GetWindowLong also retrieves the 32-bit (long) value at the specified - * offset into the extra window memory of a window. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be retrieved. - * @return The requested 32-bit value indicates success. Zero indicates - * failure. To get extended error information, call GetLastError. - */ - int GetWindowLong(HWND hWnd, int nIndex); - - /** - * This function changes an attribute of the specified window. SetWindowLong - * also sets a 32-bit (LONG) value at the specified offset into the extra - * window memory of a window. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be set. - * @param dwNewLong - * Specifies the replacement value. - * @return The previous value of the specified 32-bit integer indicates - * success. Zero indicates failure. To get extended error - * information, call GetLastError. - */ - int SetWindowLong(HWND hWnd, int nIndex, int dwNewLong); - - /** - * This function changes an attribute of the specified window. SetWindowLong - * also sets a 32-bit (LONG) value at the specified offset into the extra - * window memory of a window. Do not use this version on Windows-64. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be set. - * @param dwNewLong - * Specifies the replacement value. - * @return The previous value of the specified 32-bit integer indicates - * success. Zero indicates failure. To get extended error - * information, call GetLastError. - */ - Pointer SetWindowLong(HWND hWnd, int nIndex, Pointer dwNewLong); - - /** - * The GetWindowLongPtr function retrieves information about the specified - * window. The function also retrieves the value at a specified offset into - * the extra window memory. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be retrieved. - * @return If the function succeeds, the return value is the requested - * value. If the function fails, the return value is zero. To get - * extended error information, call GetLastError. If SetWindowLong - * or SetWindowLongPtr has not been called previously, - * GetWindowLongPtr returns zero for values in the extra window or - * class memory. - */ - LONG_PTR GetWindowLongPtr(HWND hWnd, int nIndex); - - /** - * The SetWindowLongPtr function changes an attribute of the specified - * window. The function also sets a value at the specified offset in the - * extra window memory. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be set. - * @param dwNewLongPtr - * Specifies the replacement value. - * @return If the function succeeds, the return value is the previous value - * of the specified offset. If the function fails, the return value - * is zero. To get extended error information, call GetLastError. If - * the previous value is zero and the function succeeds, the return - * value is zero, but the function does not clear the last error - * information. To determine success or failure, clear the last - * error information by calling SetLastError(0), then call - * SetWindowLongPtr. Function failure will be indicated by a return - * value of zero and a GetLastError result that is nonzero. - */ - LONG_PTR SetWindowLongPtr(HWND hWnd, int nIndex, LONG_PTR dwNewLongPtr); - - /** - * The SetWindowLongPtr function changes an attribute of the specified - * window. The function also sets a value at the specified offset in the - * extra window memory. - * - * @param hWnd - * Handle to the window and, indirectly, the class to which the - * window belongs. - * @param nIndex - * Specifies the zero-based offset to the value to be set. - * @param dwNewLongPtr - * Specifies the replacement value. - * @return If the function succeeds, the return value is the previous value - * of the specified offset. If the function fails, the return value - * is zero. To get extended error information, call GetLastError. If - * the previous value is zero and the function succeeds, the return - * value is zero, but the function does not clear the last error - * information. To determine success or failure, clear the last - * error information by calling SetLastError(0), then call - * SetWindowLongPtr. Function failure will be indicated by a return - * value of zero and a GetLastError result that is nonzero. - */ - Pointer SetWindowLongPtr(HWND hWnd, int nIndex, Pointer dwNewLongPtr); - - /** - * The SetLayeredWindowAttributes function sets the opacity and transparency - * color key of a layered window. - * - * @param hwnd - * Handle to the layered window. - * @param crKey - * COLORREF structure that specifies the transparency color key - * to be used when composing the layered window. - * @param bAlpha - * Alpha value used to describe the opacity of the layered - * window. - * @param dwFlags - * Specifies an action to take. - * @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 SetLayeredWindowAttributes(HWND hwnd, int crKey, byte bAlpha, - int dwFlags); - - /** - * The GetLayeredWindowAttributes function retrieves the opacity and - * transparency color key of a layered window. - * - * @param hwnd - * Handle to the layered window. A layered window is created by - * specifying WS_EX_LAYERED when creating the window with the - * CreateWindowEx function or by setting WS_EX_LAYERED via - * SetWindowLong after the window has been created. - * @param pcrKey - * Pointer to a COLORREF value that receives the transparency - * color key to be used when composing the layered window. All - * pixels painted by the window in this color will be - * transparent. This can be NULL if the argument is not needed. - * @param pbAlpha - * Pointer to a BYTE that receives the Alpha value used to - * describe the opacity of the layered window. Similar to the - * SourceConstantAlpha member of the BLENDFUNCTION structure. - * When the variable referred to by pbAlpha is 0, the window is - * completely transparent. When the variable referred to by - * pbAlpha is 255, the window is opaque. This can be NULL if the - * argument is not needed. - * @param pdwFlags - * Pointer to a DWORD that receives a layering flag. This can be - * NULL if the argument is not needed. - * @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 GetLayeredWindowAttributes(HWND hwnd, IntByReference pcrKey, - ByteByReference pbAlpha, IntByReference pdwFlags); - - /** - * The UpdateLayeredWindow function updates the position, size, shape, - * content, and translucency of a layered window. - * - * @param hwnd - * Handle to a layered window. A layered window is created by - * specifying WS_EX_LAYERED when creating the window with the - * CreateWindowEx function. - * @param hdcDst - * Handle to a device context (DC) for the screen. This handle is - * obtained by specifying NULL when calling the function. It is - * used for palette color matching when the window contents are - * updated. If hdcDst isNULL, the default palette will be used. - * If hdcSrc is NULL, hdcDst must be NULL. - * @param pptDst - * Pointer to a POINT structure that specifies the new screen - * position of the layered window. If the current position is not - * changing, pptDst can be NULL. - * @param psize - * Pointer to a SIZE structure that specifies the new size of the - * layered window. If the size of the window is not changing, - * psize can be NULL. If hdcSrc is NULL, psize must be NULL. - * @param hdcSrc - * Handle to a DC for the surface that defines the layered - * window. This handle can be obtained by calling the - * CreateCompatibleDC function. If the shape and visual context - * of the window are not changing, hdcSrc can be NULL. - * @param pptSrc - * Pointer to a POINT structure that specifies the location of - * the layer in the device context. If hdcSrc is NULL, pptSrc - * should be NULL. - * @param crKey - * Pointer to a COLORREF value that specifies the color key to be - * used when composing the layered window. To generate a - * COLORREF, use the RGB macro. - * @param pblend - * Pointer to a BLENDFUNCTION structure that specifies the - * transparency value to be used when composing the layered - * window. - * @param dwFlags - * ULW_* flags. - * @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 UpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT pptDst, - SIZE psize, HDC hdcSrc, POINT pptSrc, int crKey, - BLENDFUNCTION pblend, int dwFlags); - - /** - * This function sets the window region of a window. The window region - * determines the area within the window where the system permits drawing. - * The system does not display any portion of a window that lies outside of - * the window region. - * - * @param hWnd - * Handle to the window whose window region is to be set. - * @param hRgn - * Handle to a region. The function sets the window region of the - * window to this region. If hRgn is NULL, the function sets the - * window region to NULL. - * @param bRedraw - * Specifies whether the system redraws the window after setting - * the window region. If bRedraw is TRUE, the system does so; - * otherwise, it does not. Typically, you set bRedraw to TRUE if - * the window is visible. - * @return Nonzero indicates success. Zero indicates failure. To get - * extended error information, call GetLastError. - */ - int SetWindowRgn(HWND hWnd, HRGN hRgn, boolean bRedraw); - - /** - * The GetKeyboardState function copies the status of the 256 virtual keys - * to the specified buffer. - * - * @param lpKeyState - * Pointer to the 256-byte array that receives the status data - * for each virtual key. - * @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 GetKeyboardState(byte[] lpKeyState); - - /** - * This function determines whether a key is up or down at the time the - * function is called, and whether the key was pressed after a previous call - * to GetAsyncKeyState. - * - * @param vKey - * Specifies one of 256 possible virtual-key codes. - * @return If the function succeeds, the return value specifies whether the - * key was pressed since the last call to GetAsyncKeyState, and - * whether the key is currently up or down. If the most significant - * bit is set, the key is down. - */ - short GetAsyncKeyState(int vKey); - - /** - * The SetWindowsHookEx function installs an application-defined hook - * procedure into a hook chain. You would install a hook procedure to - * monitor the system for certain types of events. These events are - * associated either with a specific thread or with all threads in the same - * desktop as the calling thread. - * - * @param idHook - * Specifies the type of hook procedure to be installed. - * @param lpfn - * Pointer to the hook procedure. - * @param hMod - * Handle to the DLL containing the hook procedure pointed to by - * the lpfn parameter. - * @param dwThreadId - * Specifies the identifier of the thread with which the hook - * procedure is to be associated. - * @return If the function succeeds, the return value is the handle to the - * hook procedure. If the function fails, the return value is NULL. - * To get extended error information, call GetLastError. - */ - HHOOK SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, - int dwThreadId); - - /** - * The CallNextHookEx function passes the hook information to the next hook - * procedure in the current hook chain. A hook procedure can call this - * function either before or after processing the hook information. - * - * @param hhk - * Ignored. - * @param nCode - * Specifies the hook code passed to the current hook procedure. - * The next hook procedure uses this code to determine how to - * process the hook information. - * @param wParam - * Specifies the wParam value passed to the current hook - * procedure. The meaning of this parameter depends on the type - * of hook associated with the current hook chain. - * @param lParam - * Specifies the lParam value passed to the current hook - * procedure. The meaning of this parameter depends on the type - * of hook associated with the current hook chain. - * @return This value is returned by the next hook procedure in the chain. - * The current hook procedure must also return this value. The - * meaning of the return value depends on the hook type. - */ - LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); - - /** - * The CallNextHookEx function passes the hook information to the next hook - * procedure in the current hook chain. A hook procedure can call this - * function either before or after processing the hook information. - * - * @param hhk - * Ignored. - * @param nCode - * Specifies the hook code passed to the current hook procedure. - * The next hook procedure uses this code to determine how to - * process the hook information. - * @param wParam - * Specifies the wParam value passed to the current hook - * procedure. The meaning of this parameter depends on the type - * of hook associated with the current hook chain. - * @param lParam - * Specifies the lParam value passed to the current hook - * procedure. The meaning of this parameter depends on the type - * of hook associated with the current hook chain. - * @return This value is returned by the next hook procedure in the chain. - * The current hook procedure must also return this value. The - * meaning of the return value depends on the hook type. - */ - LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, Pointer lParam); - - /** - * The UnhookWindowsHookEx function removes a hook procedure installed in a - * hook chain by the SetWindowsHookEx function. - * - * @param hhk - * Handle to the hook to be removed. This parameter is a hook - * handle obtained by a previous call to SetWindowsHookEx. - * @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 UnhookWindowsHookEx(HHOOK hhk); - - /** - * This function retrieves a message from the calling thread's message queue - * and places it in the specified structure. - * - * @param lpMsg - * Pointer to an MSG structure that receives message information - * from the thread's message queue. - * @param hWnd - * Handle to the window whose messages are to be retrieved. One - * value has a special meaning. - * @param wMsgFilterMin - * Specifies the integer value of the lowest message value to be - * retrieved. - * @param wMsgFilterMax - * Specifies the integer value of the highest message value to be - * retrieved. - * @return Nonzero indicates that the function retrieves a message other - * than WM_QUIT. Zero indicates that the function retrieves the - * WM_QUIT message, or that lpMsg is an invalid pointer. To get - * extended error information, call GetLastError. - */ - int GetMessage(MSG lpMsg, HWND hWnd, int wMsgFilterMin, int wMsgFilterMax); - - /** - * This function checks a thread message queue for a message and places the - * message (if any) in the specified structure. - * - * @param lpMsg - * Pointer to an MSG structure that receives message information. - * @param hWnd - * Handle to the window whose messages are to be examined. - * @param wMsgFilterMin - * Specifies the value of the first message in the range of - * messages to be examined. - * @param wMsgFilterMax - * Specifies the value of the last message in the range of - * messages to be examined. - * @param wRemoveMsg - * Specifies how messages are handled. This parameter can be one - * of the following values. - * @return Nonzero indicates success. Zero indicates failure. - */ - boolean PeekMessage(MSG lpMsg, HWND hWnd, int wMsgFilterMin, - int wMsgFilterMax, int wRemoveMsg); - - /** - * This function translates virtual-key messages into character messages. - * The character messages are posted to the calling thread's message queue, - * to be read the next time the thread calls the GetMessage or PeekMessage - * function. - * - * @param lpMsg - * Pointer to an MSG structure that contains message information - * retrieved from the calling thread's message queue by using the - * GetMessage or PeekMessage function. - * @return Nonzero indicates that the message is translated, that is, a - * character message is posted to the thread's message queue. If the - * message is WM_KEYDOWN or WM_SYSKEYDOWN, the return value is - * nonzero, regardless of the translation. Zero indicates that the - * message is not translated, that is, a character message is not - * posted to the thread's message queue. - */ - boolean TranslateMessage(MSG lpMsg); - - /** - * This function dispatches a message to a window procedure. It is typically - * used to dispatch a message retrieved by the GetMessage function. - * - * @param lpMsg - * Pointer to an MSG structure that contains the message. - * @return The return value specifies the value returned by the window - * procedure. Although its meaning depends on the message being - * dispatched, the return value generally is ignored. - */ - LRESULT DispatchMessage(MSG lpMsg); - - /** - * This function places a message in the message queue associated with the - * thread that created the specified window and then returns without waiting - * for the thread to process the message. Messages in a message queue are - * retrieved by calls to the GetMessage or PeekMessage function. - * - * @param hWnd - * Handle to the window whose window procedure is to receive the - * message. - * @param msg - * Specifies the message to be posted. - * @param wParam - * Specifies additional message-specific information. - * @param lParam - * Specifies additional message-specific information. - */ - void PostMessage(HWND hWnd, int msg, WPARAM wParam, LPARAM lParam); - - /** - * This function indicates to Windows that a thread has made a request to - * terminate (quit). It is typically used in response to a WM_DESTROY - * message. - * - * @param nExitCode - * Specifies an application exit code. This value is used as the - * wParam parameter of the WM_QUIT message. - */ - void PostQuitMessage(int nExitCode); - - /** - * The GetSystemMetrics function retrieves various system metrics (widths - * and heights of display elements) and system configuration settings. All - * dimensions retrieved by GetSystemMetrics are in pixels. - * - * @param nIndex - * System metric or configuration setting to retrieve. This - * parameter can be one of the following values. Note that all - * SM_CX* values are widths and all SM_CY* values are heights. - * Also note that all settings designed to return Boolean data - * represent TRUE as any nonzero value, and FALSE as a zero - * value. - * @return If the function succeeds, the return value is the requested - * system metric or configuration setting. If the function fails, - * the return value is zero. GetLastError does not provide extended - * error information. - */ - public int GetSystemMetrics(int nIndex); - - /** - * Changes the parent window of the specified child window. - * - * @param hWndChild - * A handle to the child window. - * - * @param hWndNewParent - * A handle to the new parent window. If this parameter is NULL, - * the desktop window becomes the new parent window. If this - * parameter is HWND_MESSAGE, the child window becomes a - * message-only window. - * - * @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. - */ - HWND SetParent(HWND hWndChild, HWND hWndNewParent); - - /** - * Determines the visibility state of the specified window. - * - * @param hWnd - * A handle to the window to be tested. - * - * @return If the specified window, its parent window, its parent's parent - * window, and so forth, have the WS_VISIBLE style, the return value - * is nonzero. Otherwise, the return value is zero. - * - * Because the return value specifies whether the window has the - * WS_VISIBLE style, it may be nonzero even if the window is totally - * obscured by other windows. - */ - boolean IsWindowVisible(HWND hWnd); - - /** - * Changes the position and dimensions of the specified window. For a - * top-level window, the position and dimensions are relative to the - * upper-left corner of the screen. For a child window, they are relative to - * the upper-left corner of the parent window's client area. - * - * @param hWnd - * A handle to the window. - * - * @param X - * The new position of the left side of the window. - * - * @param Y - * The new position of the top of the window. - * - * @param nWidth - * The new width of the window. - * - * @param nHeight - * The new height of the window. - * - * @param bRepaint - * Indicates whether the window is to be repainted. If this - * parameter is TRUE, the window receives a message. If the - * parameter is FALSE, no repainting of any kind occurs. This - * applies to the client area, the nonclient area (including the - * title bar and scroll bars), and any part of the parent window - * uncovered as a result of moving a child window. - * - * @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 MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, - boolean bRepaint); - - /** - * Changes the size, position, and Z order of a child, pop-up, or top-level - * window. These windows are ordered according to their appearance on the - * screen. The topmost window receives the highest rank and is the first - * window in the Z order. - * - * @param hWnd - * A handle to the window. - * - * @param hWndInsertAfter - * A handle to the window to precede the positioned window in the - * Z order. - * - * @param X - * The new position of the left side of the window, in client - * coordinates. - * - * @param Y - * The new position of the top of the window, in client - * coordinates. - * - * @param cx - * The new width of the window, in pixels. - * - * @param cy - * The new height of the window, in pixels. - * - * @param uFlags - * The window sizing and positioning flags. - * - * @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 SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, - int cy, int uFlags); - - /** - * Attaches or detaches the input processing mechanism of one thread to that - * of another thread. - * - * @param idAttach - * The identifier of the thread to be attached to another thread. - * The thread to be attached cannot be a system thread. - * - * @param idAttachTo - * The identifier of the thread to which idAttach will be - * attached. This thread cannot be a system thread. A thread - * cannot attach to itself. Therefore, idAttachTo cannot equal - * idAttach. - * - * @param fAttach - * If this parameter is TRUE, the two threads are attached. If - * the parameter is FALSE, the threads are detached. - * - * @return If the function succeeds, the return value is nonzero. - */ - boolean AttachThreadInput(DWORD idAttach, DWORD idAttachTo, boolean fAttach); - - /** - * Brings the thread that created the specified window into the foreground - * and activates the window. Keyboard input is directed to the window, and - * various visual cues are changed for the user. The system assigns a - * slightly higher priority to the thread that created the foreground window - * than it does to other threads. - * - * @param hWnd - * A handle to the window that should be activated and brought to - * the foreground. - * - * @return If the window was brought to the foreground, the return value is - * nonzero. - */ - boolean SetForegroundWindow(HWND hWnd); - - /** - * Retrieves a handle to the foreground window (the window with which the - * user is currently working). The system assigns a slightly higher priority - * to the thread that creates the foreground window than it does to other - * threads. - * - * @return The return value is a handle to the foreground window. The - * foreground window can be NULL in certain circumstances, such as - * when a window is losing activation. - */ - HWND GetForegroundWindow(); - - /** - * Sets the keyboard focus to the specified window. The window must be - * attached to the calling thread's message queue. - * - * @param hWnd - * A handle to the window that will receive the keyboard input. - * If this parameter is NULL, keystrokes are ignored. - * - * @return If the function succeeds, the return value is the handle to the - * window that previously had the keyboard focus. If the hWnd - * parameter is invalid or the window is not attached to the calling - * thread's message queue, the return value is NULL. To get extended - * error information, call GetLastError. - */ - HWND SetFocus(HWND hWnd); - - /** - * Synthesizes keystrokes, mouse motions, and button clicks. - * - * @param nInputs - * The number of structures in the pInputs array. - * - * @param pInputs - * An array of INPUT structures. Each structure represents an - * event to be inserted into the keyboard or mouse input stream. - * - * @param cbSize - * The size, in bytes, of an INPUT structure. If cbSize is not - * the size of an INPUT structure, the function fails. - * - * @return The function returns the number of events that it successfully - * inserted into the keyboard or mouse input stream. If the function - * returns zero, the input was already blocked by another thread. To - * get extended error information, call GetLastError. - * - * This function fails when it is blocked by UIPI. Note that neither - * GetLastError nor the return value will indicate the failure was - * caused by UIPI blocking. - */ - DWORD SendInput(DWORD nInputs, WinUser.INPUT[] pInputs, int cbSize); - - /** - * Waits until the specified process has finished processing its initial - * input and is waiting for user input with no input pending, or until the - * time-out interval has elapsed. - * - * @param hProcess - * A handle to the process. If this process is a console - * application or does not have a message queue, WaitForInputIdle - * returns immediately. - * - * @param dwMilliseconds - * The time-out interval, in milliseconds. If dwMilliseconds is - * INFINITE, the function does not return until the process is - * idle. - * - * @return The following table shows the possible return values for this - * function. - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
Return code/valueDescription
0The wait was satisfied successfully.
WAIT_TIMEOUTThe wait was terminated because the time-out interval - * elapsed.
WAIT_FAILEDAn error occurred.
- */ - DWORD WaitForInputIdle(HANDLE hProcess, DWORD dwMilliseconds); - - /** - * The InvalidateRect function adds a rectangle to the specified window's - * update region. The update region represents the portion of the window's - * client area that must be redrawn. - * - * @param hWnd - * A handle to the window whose update region has changed. If - * this parameter is NULL, the system invalidates and redraws all - * windows, not just the windows for this application, and sends - * the WM_ERASEBKGND and WM_NCPAINT messages before the function - * returns. Setting this parameter to NULL is not recommended. - * - * @param lpRect - * A pointer to a RECT structure that contains the client - * coordinates of the rectangle to be added to the update region. - * If this parameter is NULL, the entire client area is added to - * the update region. - * - * @param bErase - * Specifies whether the background within the update region is - * to be erased when the update region is processed. If this - * parameter is TRUE, the background is erased when the - * BeginPaint function is called. If this parameter is FALSE, the - * background remains unchanged. - * - * @return If the function succeeds, the return value is nonzero. If the - * function fails, the return value is zero. - */ - boolean InvalidateRect(HWND hWnd, RECT.ByReference lpRect, boolean bErase); - - /** - * The RedrawWindow function updates the specified rectangle or region in a - * window's client area. - * - * @param hWnd - * A handle to the window to be redrawn. If this parameter is - * NULL, the desktop window is updated. - * - * @param lprcUpdate - * A pointer to a RECT structure containing the coordinates, in - * device units, of the update rectangle. This parameter is - * ignored if the hrgnUpdate parameter identifies a region. - * - * @param hrgnUpdate - * A handle to the update region. If both the hrgnUpdate and - * lprcUpdate parameters are NULL, the entire client area is - * added to the update region. - * - * @param flags - * One or more redraw flags. This parameter can be used to - * invalidate or validate a window, control repainting, and - * control which windows are affected by RedrawWindow. - * - * @return If the function succeeds, the return value is nonzero. If the - * function fails, the return value is zero. - */ - boolean RedrawWindow(HWND hWnd, RECT.ByReference lprcUpdate, - HRGN hrgnUpdate, DWORD flags); - - /** - * Retrieves a handle to a window that has the specified relationship - * (Z-Order or owner) to the specified window. - * - * @param hWnd - * A handle to a window. The window handle retrieved is relative - * to this window, based on the value of the uCmd parameter. - * - * @param uCmd - * The relationship between the specified window and the window - * whose handle is to be retrieved. - * - * @return If the function succeeds, the return value is a window handle. If - * no window exists with the specified relationship to the specified - * window, the return value is NULL. To get extended error - * information, call GetLastError. - */ - HWND GetWindow(HWND hWnd, DWORD uCmd); - - /** - * The UpdateWindow function updates the client area of the specified window - * by sending a WM_PAINT message to the window if the window's update region - * is not empty. The function sends a WM_PAINT message directly to the - * window procedure of the specified window, bypassing the application - * queue. If the update region is empty, no message is sent. - * - * @param hWnd - * Handle to the window to be updated. - * - * @return If the function succeeds, the return value is nonzero. If the - * function fails, the return value is zero. - */ - boolean UpdateWindow(HWND hWnd); - - /** - * Sets the specified window's show state. - * - * @param hWnd - * A handle to the window. - * - * @param nCmdShow - * Controls how the window is to be shown. This parameter is - * ignored the first time an application calls ShowWindow, if the - * program that launched the application provides a STARTUPINFO - * structure. Otherwise, the first time ShowWindow is called, the - * value should be the value obtained by the WinMain function in - * its nCmdShow parameter. - * - * @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 ShowWindow(HWND hWnd, int nCmdShow); - - /** - * Minimizes (but does not destroy) the specified window. - * - * @param hWnd - * A handle to the window to be minimized. - * - * @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 CloseWindow(HWND hWnd); - - /** - * Defines a system-wide hot key. - * - * @param hWnd - * A handle to the window that will receive - * @param id - * The identifier of the hot key - * @param fsModifiers - * The keys that must be pressed in combination with the key - * specified by the uVirtKey parameter in order to generate the - * @param vk - * The virtual-key code of the hot key - * @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 {@link Kernel32#GetLastError}. - * {@link WinUser#WM_HOTKEY} messages generated by the hot key - * {@link WinUser#WM_HOTKEY} message.
- * A combination of the following values - *

    - *
  • {@link WinUser#MOD_ALT} Either ALT key must be held down.
  • - *
  • {@link WinUser#MOD_CONTROL} Either CTRL key must be held - * down.
  • - *
  • {@link WinUser#MOD_NOREPEAT} Changes the hotkey behavior so - * that the keyboard auto-repeat does not yield multiple hotkey - * notifications.
    - * Windows Vista and Windows XP/2000: This flag is not - * supported.
  • - *
  • {@link WinUser#MOD_SHIFT} Either SHIFT key must be held down. - *
  • - *
  • {@link WinUser#MOD_WIN} Either WINDOWS key was held down. - * These keys are labeled with the Windows logo.
  • - *
- */ - boolean RegisterHotKey(HWND hWnd, int id, int fsModifiers, int vk); - - /** - * Frees a hot key previously registered by the calling thread. - * - * @param hWnd - * A handle to the window associated with the hot key to be - * freed. This parameter should be NULL if the hot key is not - * associated with a window. - * - * @param id - * The identifier of the hot key to be freed. - * - * @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 {@link Kernel32#GetLastError}. - */ - boolean UnregisterHotKey(Pointer hWnd, int id); - - /** - * Retrieves the time of the last input event. - * - * @param plii - * structure that receives the time of the last input event - * @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 {@link Kernel32#GetLastError}. - */ - boolean GetLastInputInfo(LASTINPUTINFO plii); - - /** - * Registers a window class for subsequent use in calls to the CreateWindow - * or CreateWindowEx function. - * - * @param lpwcx - * Type: const WNDCLASSEX* A pointer to a WNDCLASSEX structure. - * You must fill the structure with the appropriate class - * attributes before passing it to the function. - * - * @return If the function succeeds, the return value is a class atom that - * uniquely identifies the class being registered. This atom can - * only be used by the CreateWindow, CreateWindowEx, GetClassInfo, - * GetClassInfoEx, FindWindow, FindWindowEx, and UnregisterClass - * functions and the IActiveIMMap::FilterClientWindows method. - * - * If the function fails, the return value is zero. To get extended - * error information, call {@link Kernel32#GetLastError}. - */ - public ATOM RegisterClassEx(WNDCLASSEX lpwcx); - - /** - * Unregisters a window class, freeing the memory required for the class. - * - * @param lpClassName - * [in] Type: LPCTSTR - * - * A null-terminated string or a class atom. If lpClassName is a - * string, it specifies the window class name. This class name - * must have been registered by a previous call to the - * RegisterClass or RegisterClassEx function. System classes, - * such as dialog box controls, cannot be unregistered. If this - * parameter is an atom, it must be a class atom created by a - * previous call to the RegisterClass or RegisterClassEx - * function. The atom must be in the low-order word of - * lpClassName; the high-order word must be zero. - * - * @param hInstance - * [in,optional] Type: HINSTANCE A handle to the instance of the - * module that created the class. * - * - * @return Type: BOOL If the function succeeds, the return value is nonzero. - * - * If the function fails, the return value is zero. To get extended - * error information, call {@link Kernel32#GetLastError}. - */ - public boolean UnregisterClass(WString lpClassName, HINSTANCE hInstance); - - /** - * Creates an overlapped, pop-up, or child window with an extended window - * style; otherwise, this function is identical to the CreateWindow - * function. For more information about creating a window and for full - * descriptions of the other parameters of CreateWindowEx, see CreateWindow. - * - * @param dwExStyle - * [in] Type: DWORD - * - * The extended window style of the window being created. For a - * list of possible values,see Extended Window Styles. - * - * @param lpClassName - * [in, optional] Type: LPCTSTR - * - * A null-terminated string or a class atom created by a previous - * call to the RegisterClass or RegisterClassEx function. The - * atom must be in the low-order word of lpClassName; the - * high-order word must be zero. If lpClassName is a string, it - * specifies the window class name. The class name can be any - * name registered with RegisterClass or RegisterClassEx, - * provided that the module that registers the class is also the - * module that creates the window. The class name can also be any - * of the predefined system class names. - * - * @param lpWindowName - * [in, optional] Type: LPCTSTR - * - * The window name. If the window style specifies a title bar, - * the window title pointed to by lpWindowName is displayed in - * the title bar. When using CreateWindow to create controls, - * such as buttons, check boxes, and static controls, use - * lpWindowName to specify the text of the control. When creating - * a static control with the SS_ICON style, use lpWindowName to - * specify the icon name or identifier. To specify an identifier, - * use the syntax "#num". - * - * @param dwStyle - * [in] Type: DWORD - * - * The style of the window being created. This parameter can be a - * combination of the window style values, plus the control - * styles indicated in the Remarks section. - * - * @param x - * [in] Type: int - * - * The initial horizontal position of the window. For an - * overlapped or pop-up window, the x parameter is the initial - * x-coordinate of the window's upper-left corner, in screen - * coordinates. For a child window, x is the x-coordinate of the - * upper-left corner of the window relative to the upper-left - * corner of the parent window's client area. If x is set to - * CW_USEDEFAULT, the system selects the default position for the - * window's upper-left corner and ignores the y parameter. - * CW_USEDEFAULT is valid only for overlapped windows; if it is - * specified for a pop-up or child window, the x and y parameters - * are set to zero. - * - * @param y - * [in] Type: int - * - * The initial vertical position of the window. For an overlapped - * or pop-up window, the y parameter is the initial y-coordinate - * of the window's upper-left corner, in screen coordinates. For - * a child window, y is the initial y-coordinate of the - * upper-left corner of the child window relative to the - * upper-left corner of the parent window's client area. For a - * list box y is the initial y-coordinate of the upper-left - * corner of the list box's client area relative to the - * upper-left corner of the parent window's client area. - * - * If an overlapped window is created with the WS_VISIBLE style - * bit set and the x parameter is set to CW_USEDEFAULT, then the - * y parameter determines how the window is shown. If the y - * parameter is CW_USEDEFAULT, then the window manager calls - * ShowWindow with the SW_SHOW flag after the window has been - * created. If the y parameter is some other value, then the - * window manager calls ShowWindow with that value as the - * nCmdShow parameter. - * - * @param nWidth - * [in] Type: int - * - * The width, in device units, of the window. For overlapped - * windows, nWidth is the window's width, in screen coordinates, - * or CW_USEDEFAULT. If nWidth is CW_USEDEFAULT, the system - * selects a default width and height for the window; the default - * width extends from the initial x-coordinates to the right edge - * of the screen; the default height extends from the initial - * y-coordinate to the top of the icon area. CW_USEDEFAULT is - * valid only for overlapped windows; if CW_USEDEFAULT is - * specified for a pop-up or child window, the nWidth and nHeight - * parameter are set to zero. - * - * @param nHeight - * [in] Type: int - * - * The height, in device units, of the window. For overlapped - * windows, nHeight is the window's height, in screen - * coordinates. If the nWidth parameter is set to CW_USEDEFAULT, - * the system ignores nHeight. - * - * @param hWndParent - * [in, optional] Type: HWND - * - * A handle to the parent or owner window of the window being - * created. To create a child window or an owned window, supply a - * valid window handle. This parameter is optional for pop-up - * windows. - * - * To create a message-only window, supply HWND_MESSAGE or a - * handle to an existing message-only window. - * - * @param hMenu - * [in, optional] Type: HMENU - * - * A handle to a menu, or specifies a child-window identifier, - * depending on the window style. For an overlapped or pop-up - * window, hMenu identifies the menu to be used with the window; - * it can be NULL if the class menu is to be used. For a child - * window, hMenu specifies the child-window identifier, an - * integer value used by a dialog box control to notify its - * parent about events. The application determines the - * child-window identifier; it must be unique for all child - * windows with the same parent window. - * - * @param hInstance - * [in, optional] Type: HINSTANCE - * - * A handle to the instance of the module to be associated with - * the window. - * - * @param lpParam - * [in, optional] Type: LPVOID - * - * Pointer to a value to be passed to the window through the - * CREATESTRUCT structure (lpCreateParams member) pointed to by - * the lParam param of the WM_CREATE message. This message is - * sent to the created window by this function before it returns. - * - * If an application calls CreateWindow to create a MDI client - * window, lpParam should point to a CLIENTCREATESTRUCT - * structure. If an MDI client window calls CreateWindow to - * create an MDI child window, lpParam should point to a - * MDICREATESTRUCT structure. lpParam may be NULL if no - * additional data is needed. - * - * @return Type: HWND - * - * If the function succeeds, the return value is a handle to the new - * window. - * - * If the function fails, the return value is NULL. To get extended - * error information, call GetLastError. - * - * This function typically fails for one of the following reasons: • - * an invalid parameter value • the system class was registered by a - * different module • The WH_CBT hook is installed and returns a - * failure code • if one of the controls in the dialog template is - * not registered, or its window window procedure fails WM_CREATE or - * WM_NCCREATE - */ - public HWND CreateWindowEx(int dwExStyle, WString lpClassName, - String lpWindowName, int dwStyle, int x, int y, int nWidth, - int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, - LPVOID lpParam); - - /** - * Destroys the specified window. The function sends WM_DESTROY and - * WM_NCDESTROY messages to the window to deactivate it and remove the - * keyboard focus from it. The function also destroys the window's menu, - * flushes the thread message queue, destroys timers, removes clipboard - * ownership, and breaks the clipboard viewer chain (if the window is at the - * top of the viewer chain). - * - * If the specified window is a parent or owner window, DestroyWindow - * automatically destroys the associated child or owned windows when it - * destroys the parent or owner window. The function first destroys child or - * owned windows, and then it destroys the parent or owner window. - * - * DestroyWindow also destroys modeless dialog boxes created by the - * CreateDialog function. - * - * @param hWnd - * [in] Type: HWND A handle to the window to be destroyed. - * - * @return Type: BOOL If the function succeeds, the return value is nonzero. - * - * If the function fails, the return value is zero. To get extended - * error information, call {@link Kernel32#GetLastError}. - */ - public boolean DestroyWindow(HWND hWnd); - - /** - * Retrieves information about a window class, including a handle to the - * small icon associated with the window class. The GetClassInfo function - * does not retrieve a handle to the small icon. - * - * @param hinst - * [in, optional] Type: HINSTANCE - * - * A handle to the instance of the application that created the - * class. To retrieve information about classes defined by the - * system (such as buttons or list boxes), set this parameter to - * NULL. - * - * @param lpszClass - * [in] Type: LPCTSTR - * - * The class name. The name must be that of a preregistered class - * or a class registered by a previous call to the RegisterClass - * or RegisterClassEx function. Alternatively, this parameter can - * be a class atom created by a previous call to RegisterClass or - * RegisterClassEx. The atom must be in the low-order word of - * lpszClass; the high-order word must be zero. - * - * @param lpwcx - * [out] Type: LPWNDCLASSEX - * - * A pointer to a WNDCLASSEX structure that receives the - * information about the class. - * - * @return Type: BOOL If the function finds a matching class and - * successfully copies the data, the return value is nonzero. - * - * If the function fails, the return value is zero. To get extended - * error information, call {@link Kernel32#GetLastError} . - */ - public boolean GetClassInfoEx(HINSTANCE hinst, WString lpszClass, - WNDCLASSEX lpwcx); - - /** - * Calls the default window procedure to provide default processing for any - * window messages that an application does not process. This function - * ensures that every message is processed. DefWindowProc is called with the - * same parameters received by the window procedure. - * - * @param hWnd - * [in] Type: HWND - * - * A handle to the window procedure that received the message. - * - * @param Msg - * [in] Type: UINT - * - * The message. - * - * @param wParam - * [in] Type: WPARAM - * - * Additional message information. The content of this parameter - * depends on the value of the Msg parameter. - * - * @param lParam - * [in] Type: LPARAM - * - * Additional message information. The content of this parameter - * depends on the value of the Msg parameter. - * - * @return Type: LRESULT The return value is the result of the message - * processing and depends on the message. - * - * If the function fails, the return value is zero. To get extended - * error information, call {@link Kernel32#GetLastError}. - */ - public LRESULT DefWindowProc(HWND hWnd, int Msg, WPARAM wParam, - LPARAM lParam); - - /** - * Registers the device or type of device for which a window will receive - * notifications. - * - * @hRecipient [in] A handle to the window or service that will receive - * device events for the devices specified in the - * NotificationFilter parameter. The same window handle can be - * used in multiple calls to RegisterDeviceNotification. - * - * Services can specify either a window handle or service status - * handle. - * - * @param NotificationFilter - * [in] A pointer to a block of data that specifies the type of - * device for which notifications should be sent. This block - * always begins with the DEV_BROADCAST_HDR structure. The data - * following this header is dependent on the value of the - * dbch_devicetype member, which can be - * DBT_DEVTYP_DEVICEINTERFACE or DBT_DEVTYP_HANDLE. For more - * information, see Remarks. - * - * @param Flags - * [in] This parameter can be one of the following values. - * DEVICE_NOTIFY_WINDOW_HANDLE0x00000000 The hRecipient parameter - * is a window handle. - * - * DEVICE_NOTIFY_SERVICE_HANDLE0x00000001 The hRecipient - * parameter is a service status handle. - * - * In addition, you can specify the following value. - * - * DEVICE_NOTIFY_ALL_INTERFACE_CLASSES0x00000004 Notifies the - * recipient of device interface events for all device interface - * classes. (The dbcc_classguid member is ignored.) - * - * This value can be used only if the dbch_devicetype member is - * DBT_DEVTYP_DEVICEINTERFACE. - * - * @return value - * - * If the function succeeds, the return value is a device - * notification handle. - * - * If the function fails, the return value is NULL. To get extended - * error information, call GetLastError. - */ - HDEVNOTIFY RegisterDeviceNotification(HANDLE hRecipient, - Structure notificationFilter, int Flags); - - /** - * Closes the specified device notification handle. - * - * @Handle [in] Device notification handle returned by the - * RegisterDeviceNotification function. - * - * @return Return value - * - * 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 UnregisterDeviceNotification(HDEVNOTIFY Handle); -} +/* 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. + *

+ * 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.Structure; +import com.sun.jna.WString; +import com.sun.jna.platform.win32.BaseTSD.LONG_PTR; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.ptr.ByteByReference; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.win32.StdCallLibrary; +import com.sun.jna.win32.W32APIOptions; + +// TODO: Auto-generated Javadoc +/** + * Provides access to the w32 user32 library. Incomplete implementation to + * support demos. + * + * @author Todd Fast, todd.fast@sun.com + * @author twalljava@dev.java.net + * @author Tobias Wolf, wolf.tobias@gmx.net + */ +public interface User32 extends StdCallLibrary, WinUser { + + /** The instance. */ + User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class, + W32APIOptions.DEFAULT_OPTIONS); + + /** The cs globalclass. */ + int CS_GLOBALCLASS = 0x4000; + + /** The ws ex topmost. */ + int WS_EX_TOPMOST = 0x00000008; + + /** The ws overlapped. */ + int WS_OVERLAPPED = 0x00000000; + + /** The hRecipient parameter is a window handle. */ + int DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000; + + /** The hRecipient parameter is a service status handle. */ + int DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001; + + /** The device notify all interface classes. */ + int DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004; + + /** + * This function retrieves a handle to a display device context (DC) for the + * client area of the specified window. The display device context can be + * used in subsequent graphics display interface (GDI) functions to draw in + * the client area of the window. + * + * @param hWnd + * Handle to the window whose device context is to be retrieved. + * If this value is NULL, GetDC retrieves the device context for + * the entire screen. + * @return The handle the device context for the specified window's client + * area indicates success. NULL indicates failure. To get extended + * error information, call GetLastError. + */ + HDC GetDC(HWND hWnd); + + /** + * This function releases a device context (DC), freeing it for use by other + * applications. The effect of ReleaseDC depends on the type of device + * context. + * + * @param hWnd + * Handle to the window whose device context is to be released. + * @param hDC + * Handle to the device context to be released. + * @return The return value specifies whether the device context is + * released. 1 indicates that the device context is released. Zero + * indicates that the device context is not released. + */ + int ReleaseDC(HWND hWnd, HDC hDC); + + /** + * This function retrieves the handle to the top-level window whose class + * name and window name match the specified strings. This function does not + * search child windows. + * + * @param lpClassName + * Long pointer to a null-terminated string that specifies the + * class name or is an atom that identifies the class-name + * string. If this parameter is an atom, it must be a global atom + * created by a previous call to the GlobalAddAtom function. The + * atom, a 16-bit value, must be placed in the low-order word of + * lpClassName; the high-order word must be zero. + * @param lpWindowName + * Long pointer to a null-terminated string that specifies the + * window name (the window's title). If this parameter is NULL, + * all window names match. + * @return A handle to the window that has the specified class name and + * window name indicates success. NULL indicates failure. To get + * extended error information, call GetLastError. + */ + HWND FindWindow(String lpClassName, String lpWindowName); + + /** + * This function retrieves the name of the class to which the specified + * window belongs. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param lpClassName + * Long pointer to the buffer that is to receive the class name + * string. + * @param nMaxCount + * Specifies the length, in characters, of the buffer pointed to + * by the lpClassName parameter. The class name string is + * truncated if it is longer than the buffer. + * @return The number of characters copied to the specified buffer indicates + * success. Zero indicates failure. To get extended error + * information, call GetLastError. + */ + int GetClassName(HWND hWnd, char[] lpClassName, int nMaxCount); + + /** + * Retrieves information about the active window or a specified graphical + * user interface (GUI) thread. + * + * @param idThread + * Identifies the thread for which information is to be + * retrieved. To retrieve this value, use the + * GetWindowThreadProcessId function. If this parameter is NULL, + * the function returns information for the foreground thread. + * @param lpgui + * Pointer to a GUITHREADINFO structure that receives information + * describing the thread. Note that you must set + * GUITHREADINFO.cbSize to sizeof(GUITHREADINFO) before calling + * this function. + * @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 GetGUIThreadInfo(int idThread, GUITHREADINFO lpgui); + + /** + * The GetWindowInfo function retrieves information about the specified + * window. + * + * @param hWnd + * Handle to the window whose information is to be retrieved. + * @param pwi + * Pointer to a WINDOWINFO structure to receive the information. + * Note that you must set WINDOWINFO.cbSize to sizeof(WINDOWINFO) + * before calling this function. + * @return If the function succeeds, the return value is nonzero. If the + * function fails, the return value is zero. + */ + boolean GetWindowInfo(HWND hWnd, WINDOWINFO pwi); + + /** + * This function retrieves the dimensions of the bounding rectangle of the + * specified window. The dimensions are given in screen coordinates that are + * relative to the upper-left corner of the screen. + * + * @param hWnd + * Handle to the window. + * @param rect + * Long pointer to a RECT structure that receives the screen + * coordinates of the upper-left and lower-right corners of the + * window. + * @return Nonzero indicates success. Zero indicates failure. To get + * extended error information, call GetLastError. + */ + boolean GetWindowRect(HWND hWnd, RECT rect); + + /** + * This function copies the text of the specified window's title bar - if it + * has one - into a buffer. If the specified window is a control, the text + * of the control is copied. + * + * @param hWnd + * Handle to the window or control containing the text. + * @param lpString + * Long pointer to the buffer that will receive the text. + * @param nMaxCount + * Specifies the maximum number of characters to copy to the + * buffer, including the NULL character. If the text exceeds this + * limit, it is truncated. + * @return The length, in characters, of the copied string, not including + * the terminating null character, indicates success. Zero indicates + * that the window has no title bar or text, if the title bar is + * empty, or if the window or control handle is invalid. To get + * extended error information, call GetLastError. This function + * cannot retrieve the text of an edit control in another + * application. + */ + int GetWindowText(HWND hWnd, char[] lpString, int nMaxCount); + + /** + * This function retrieves the length, in characters, of the specified + * window's title bar text - if the window has a title bar. If the specified + * window is a control, the function retrieves the length of the text within + * the control. + * + * @param hWnd + * Handle to the window or control. + * @return The length, in characters, of the text indicates success. Under + * certain conditions, this value may actually be greater than the + * length of the text. Zero indicates that the window has no text. + * To get extended error information, call GetLastError. + */ + int GetWindowTextLength(HWND hWnd); + + /** + * The GetWindowModuleFileName function retrieves the full path and file + * name of the module associated with the specified window handle. + * + * @param hWnd + * Handle to the window whose module file name will be retrieved. + * @param lpszFileName + * Pointer to a buffer that receives the path and file name. + * @param cchFileNameMax + * Specifies the maximum number of TCHARs that can be copied into + * the lpszFileName buffer. + * @return The return value is the total number of TCHARs copied into the + * buffer. + */ + int GetWindowModuleFileName(HWND hWnd, char[] lpszFileName, + int cchFileNameMax); + + /** + * This function retrieves the identifier of the thread that created the + * specified window and, optionally, the identifier of the process that + * created the window. + * + * @param hWnd + * Handle to the window. + * @param lpdwProcessId + * Pointer to a 32-bit value that receives the process + * identifier. If this parameter is not NULL, + * GetWindowThreadProcessId copies the identifier of the process + * to the 32-bit value; otherwise, it does not. + * @return The return value is the identifier of the thread that created the + * window. + */ + int GetWindowThreadProcessId(HWND hWnd, IntByReference lpdwProcessId); + + /** + * This function enumerates all top-level windows on the screen by passing + * the handle to each window, in turn, to an application-defined callback + * function. EnumWindows continues until the last top-level window is + * enumerated or the callback function returns FALSE. + * + * @param lpEnumFunc + * Long pointer to an application-defined callback function. + * @param data + * Specifies an application-defined value to be passed to the + * callback function. + * @return Nonzero indicates success. Zero indicates failure. To get + * extended error information, call GetLastError. + */ + boolean EnumWindows(WNDENUMPROC lpEnumFunc, Pointer data); + + /** + * The EnumChildWindows function enumerates the child windows that belong to + * the specified parent window by passing the handle to each child window, + * in turn, to an application-defined callback function. EnumChildWindows + * continues until the last child window is enumerated or the callback + * function returns FALSE. + * + * @param hWnd + * Handle to the parent window whose child windows are to be + * enumerated. If this parameter is NULL, this function is + * equivalent to EnumWindows. + * @param lpEnumFunc + * Pointer to an application-defined callback function. + * @param data + * Specifies an application-defined value to be passed to the + * callback function. + * @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. If EnumChildProc returns zero, + * the return value is also zero. In this case, the callback + * function should call SetLastError to obtain a meaningful error + * code to be returned to the caller of EnumChildWindows. + */ + boolean EnumChildWindows(HWND hWnd, WNDENUMPROC lpEnumFunc, Pointer data); + + /** + * The EnumThreadWindows function enumerates all nonchild windows associated + * with a thread by passing the handle to each window, in turn, to an + * application-defined callback function. EnumThreadWindows continues until + * the last window is enumerated or the callback function returns FALSE. To + * enumerate child windows of a particular window, use the EnumChildWindows + * function. + * + * @param dwThreadId + * Identifies the thread whose windows are to be enumerated. + * @param lpEnumFunc + * Pointer to an application-defined callback function. + * @param data + * Specifies an application-defined value to be passed to the + * callback function. + * @return If the callback function returns TRUE for all windows in the + * thread specified by dwThreadId, the return value is TRUE. If the + * callback function returns FALSE on any enumerated window, or if + * there are no windows found in the thread specified by dwThreadId, + * the return value is FALSE. + */ + boolean EnumThreadWindows(int dwThreadId, WNDENUMPROC lpEnumFunc, + Pointer data); + + /** + * The FlashWindowEx function flashes the specified window. It does not + * change the active state of the window. + * + * @param pfwi + * Pointer to the FLASHWINFO structure. + * @return The return value specifies the window's state before the call to + * the FlashWindowEx function. If the window caption was drawn as + * active before the call, the return value is nonzero. Otherwise, + * the return value is zero. + */ + boolean FlashWindowEx(FLASHWINFO pfwi); + + /** + * This function loads the specified icon resource from the executable + * (.exe) file associated with an application instance. + * + * @param hInstance + * Handle to an instance of the module whose executable file + * contains the icon to be loaded. This parameter must be NULL + * when a standard icon is being loaded. + * @param iconName + * Long pointer to a null-terminated string that contains the + * name of the icon resource to be loaded. Alternatively, this + * parameter can contain the resource identifier in the low-order + * word and zero in the high-order word. Use the MAKEINTRESOURCE + * macro to create this value. + * @return A handle to the newly loaded icon indicates success. NULL + * indicates failure. To get extended error information, call + * GetLastError. + */ + HICON LoadIcon(HINSTANCE hInstance, String iconName); + + /** + * This function loads an icon, cursor, or bitmap. + * + * @param hinst + * Handle to an instance of the module that contains the image to + * be loaded. + * @param name + * Pointer to a null-terminated string that contains the name of + * the image resource in the hinst module that identifies the + * image to load. + * @param type + * Specifies the type of image to be loaded. + * @param xDesired + * Specifies the width, in pixels, of the icon or cursor. If this + * parameter is zero, the function uses the SM_CXICON or + * SM_CXCURSOR system metric value to set the width. If uType is + * IMAGE_BITMAP, this parameter must be zero. + * @param yDesired + * Specifies the height, in pixels, of the icon or cursor. If + * this parameter is zero, the function uses the SM_CYICON or + * SM_CYCURSOR system metric value to set the height. If uType is + * IMAGE_BITMAP, this parameter must be zero. + * @param load + * Set to zero. + * @return The handle of the newly loaded image indicates success. NULL + * indicates failure. To get extended error information, call + * GetLastError. + */ + HANDLE LoadImage(HINSTANCE hinst, String name, int type, int xDesired, + int yDesired, int load); + + /** + * This function destroys an icon and frees any memory the icon occupied. + * + * @param hicon + * Handle to the icon to be destroyed. The icon must not be in + * use. + * @return Nonzero indicates success. Zero indicates failure. To get + * extended error information, call GetLastError. + */ + boolean DestroyIcon(HICON hicon); + + /** + * This function retrieves information about the specified window. + * GetWindowLong also retrieves the 32-bit (long) value at the specified + * offset into the extra window memory of a window. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be retrieved. + * @return The requested 32-bit value indicates success. Zero indicates + * failure. To get extended error information, call GetLastError. + */ + int GetWindowLong(HWND hWnd, int nIndex); + + /** + * This function changes an attribute of the specified window. SetWindowLong + * also sets a 32-bit (LONG) value at the specified offset into the extra + * window memory of a window. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be set. + * @param dwNewLong + * Specifies the replacement value. + * @return The previous value of the specified 32-bit integer indicates + * success. Zero indicates failure. To get extended error + * information, call GetLastError. + */ + int SetWindowLong(HWND hWnd, int nIndex, int dwNewLong); + + /** + * This function changes an attribute of the specified window. SetWindowLong + * also sets a 32-bit (LONG) value at the specified offset into the extra + * window memory of a window. Do not use this version on Windows-64. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be set. + * @param dwNewLong + * Specifies the replacement value. + * @return The previous value of the specified 32-bit integer indicates + * success. Zero indicates failure. To get extended error + * information, call GetLastError. + */ + Pointer SetWindowLong(HWND hWnd, int nIndex, Pointer dwNewLong); + + /** + * The GetWindowLongPtr function retrieves information about the specified + * window. The function also retrieves the value at a specified offset into + * the extra window memory. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be retrieved. + * @return If the function succeeds, the return value is the requested + * value. If the function fails, the return value is zero. To get + * extended error information, call GetLastError. If SetWindowLong + * or SetWindowLongPtr has not been called previously, + * GetWindowLongPtr returns zero for values in the extra window or + * class memory. + */ + LONG_PTR GetWindowLongPtr(HWND hWnd, int nIndex); + + /** + * The SetWindowLongPtr function changes an attribute of the specified + * window. The function also sets a value at the specified offset in the + * extra window memory. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be set. + * @param dwNewLongPtr + * Specifies the replacement value. + * @return If the function succeeds, the return value is the previous value + * of the specified offset. If the function fails, the return value + * is zero. To get extended error information, call GetLastError. If + * the previous value is zero and the function succeeds, the return + * value is zero, but the function does not clear the last error + * information. To determine success or failure, clear the last + * error information by calling SetLastError(0), then call + * SetWindowLongPtr. Function failure will be indicated by a return + * value of zero and a GetLastError result that is nonzero. + */ + LONG_PTR SetWindowLongPtr(HWND hWnd, int nIndex, LONG_PTR dwNewLongPtr); + + /** + * The SetWindowLongPtr function changes an attribute of the specified + * window. The function also sets a value at the specified offset in the + * extra window memory. + * + * @param hWnd + * Handle to the window and, indirectly, the class to which the + * window belongs. + * @param nIndex + * Specifies the zero-based offset to the value to be set. + * @param dwNewLongPtr + * Specifies the replacement value. + * @return If the function succeeds, the return value is the previous value + * of the specified offset. If the function fails, the return value + * is zero. To get extended error information, call GetLastError. If + * the previous value is zero and the function succeeds, the return + * value is zero, but the function does not clear the last error + * information. To determine success or failure, clear the last + * error information by calling SetLastError(0), then call + * SetWindowLongPtr. Function failure will be indicated by a return + * value of zero and a GetLastError result that is nonzero. + */ + Pointer SetWindowLongPtr(HWND hWnd, int nIndex, Pointer dwNewLongPtr); + + /** + * The SetLayeredWindowAttributes function sets the opacity and transparency + * color key of a layered window. + * + * @param hwnd + * Handle to the layered window. + * @param crKey + * COLORREF structure that specifies the transparency color key + * to be used when composing the layered window. + * @param bAlpha + * Alpha value used to describe the opacity of the layered + * window. + * @param dwFlags + * Specifies an action to take. + * @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 SetLayeredWindowAttributes(HWND hwnd, int crKey, byte bAlpha, + int dwFlags); + + /** + * The GetLayeredWindowAttributes function retrieves the opacity and + * transparency color key of a layered window. + * + * @param hwnd + * Handle to the layered window. A layered window is created by + * specifying WS_EX_LAYERED when creating the window with the + * CreateWindowEx function or by setting WS_EX_LAYERED via + * SetWindowLong after the window has been created. + * @param pcrKey + * Pointer to a COLORREF value that receives the transparency + * color key to be used when composing the layered window. All + * pixels painted by the window in this color will be + * transparent. This can be NULL if the argument is not needed. + * @param pbAlpha + * Pointer to a BYTE that receives the Alpha value used to + * describe the opacity of the layered window. Similar to the + * SourceConstantAlpha member of the BLENDFUNCTION structure. + * When the variable referred to by pbAlpha is 0, the window is + * completely transparent. When the variable referred to by + * pbAlpha is 255, the window is opaque. This can be NULL if the + * argument is not needed. + * @param pdwFlags + * Pointer to a DWORD that receives a layering flag. This can be + * NULL if the argument is not needed. + * @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 GetLayeredWindowAttributes(HWND hwnd, IntByReference pcrKey, + ByteByReference pbAlpha, IntByReference pdwFlags); + + /** + * The UpdateLayeredWindow function updates the position, size, shape, + * content, and translucency of a layered window. + * + * @param hwnd + * Handle to a layered window. A layered window is created by + * specifying WS_EX_LAYERED when creating the window with the + * CreateWindowEx function. + * @param hdcDst + * Handle to a device context (DC) for the screen. This handle is + * obtained by specifying NULL when calling the function. It is + * used for palette color matching when the window contents are + * updated. If hdcDst isNULL, the default palette will be used. + * If hdcSrc is NULL, hdcDst must be NULL. + * @param pptDst + * Pointer to a POINT structure that specifies the new screen + * position of the layered window. If the current position is not + * changing, pptDst can be NULL. + * @param psize + * Pointer to a SIZE structure that specifies the new size of the + * layered window. If the size of the window is not changing, + * psize can be NULL. If hdcSrc is NULL, psize must be NULL. + * @param hdcSrc + * Handle to a DC for the surface that defines the layered + * window. This handle can be obtained by calling the + * CreateCompatibleDC function. If the shape and visual context + * of the window are not changing, hdcSrc can be NULL. + * @param pptSrc + * Pointer to a POINT structure that specifies the location of + * the layer in the device context. If hdcSrc is NULL, pptSrc + * should be NULL. + * @param crKey + * Pointer to a COLORREF value that specifies the color key to be + * used when composing the layered window. To generate a + * COLORREF, use the RGB macro. + * @param pblend + * Pointer to a BLENDFUNCTION structure that specifies the + * transparency value to be used when composing the layered + * window. + * @param dwFlags + * ULW_* flags. + * @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 UpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT pptDst, + SIZE psize, HDC hdcSrc, POINT pptSrc, int crKey, + BLENDFUNCTION pblend, int dwFlags); + + /** + * This function sets the window region of a window. The window region + * determines the area within the window where the system permits drawing. + * The system does not display any portion of a window that lies outside of + * the window region. + * + * @param hWnd + * Handle to the window whose window region is to be set. + * @param hRgn + * Handle to a region. The function sets the window region of the + * window to this region. If hRgn is NULL, the function sets the + * window region to NULL. + * @param bRedraw + * Specifies whether the system redraws the window after setting + * the window region. If bRedraw is TRUE, the system does so; + * otherwise, it does not. Typically, you set bRedraw to TRUE if + * the window is visible. + * @return Nonzero indicates success. Zero indicates failure. To get + * extended error information, call GetLastError. + */ + int SetWindowRgn(HWND hWnd, HRGN hRgn, boolean bRedraw); + + /** + * The GetKeyboardState function copies the status of the 256 virtual keys + * to the specified buffer. + * + * @param lpKeyState + * Pointer to the 256-byte array that receives the status data + * for each virtual key. + * @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 GetKeyboardState(byte[] lpKeyState); + + /** + * This function determines whether a key is up or down at the time the + * function is called, and whether the key was pressed after a previous call + * to GetAsyncKeyState. + * + * @param vKey + * Specifies one of 256 possible virtual-key codes. + * @return If the function succeeds, the return value specifies whether the + * key was pressed since the last call to GetAsyncKeyState, and + * whether the key is currently up or down. If the most significant + * bit is set, the key is down. + */ + short GetAsyncKeyState(int vKey); + + /** + * The SetWindowsHookEx function installs an application-defined hook + * procedure into a hook chain. You would install a hook procedure to + * monitor the system for certain types of events. These events are + * associated either with a specific thread or with all threads in the same + * desktop as the calling thread. + * + * @param idHook + * Specifies the type of hook procedure to be installed. + * @param lpfn + * Pointer to the hook procedure. + * @param hMod + * Handle to the DLL containing the hook procedure pointed to by + * the lpfn parameter. + * @param dwThreadId + * Specifies the identifier of the thread with which the hook + * procedure is to be associated. + * @return If the function succeeds, the return value is the handle to the + * hook procedure. If the function fails, the return value is NULL. + * To get extended error information, call GetLastError. + */ + HHOOK SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, + int dwThreadId); + + /** + * The CallNextHookEx function passes the hook information to the next hook + * procedure in the current hook chain. A hook procedure can call this + * function either before or after processing the hook information. + * + * @param hhk + * Ignored. + * @param nCode + * Specifies the hook code passed to the current hook procedure. + * The next hook procedure uses this code to determine how to + * process the hook information. + * @param wParam + * Specifies the wParam value passed to the current hook + * procedure. The meaning of this parameter depends on the type + * of hook associated with the current hook chain. + * @param lParam + * Specifies the lParam value passed to the current hook + * procedure. The meaning of this parameter depends on the type + * of hook associated with the current hook chain. + * @return This value is returned by the next hook procedure in the chain. + * The current hook procedure must also return this value. The + * meaning of the return value depends on the hook type. + */ + LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); + + /** + * The CallNextHookEx function passes the hook information to the next hook + * procedure in the current hook chain. A hook procedure can call this + * function either before or after processing the hook information. + * + * @param hhk + * Ignored. + * @param nCode + * Specifies the hook code passed to the current hook procedure. + * The next hook procedure uses this code to determine how to + * process the hook information. + * @param wParam + * Specifies the wParam value passed to the current hook + * procedure. The meaning of this parameter depends on the type + * of hook associated with the current hook chain. + * @param lParam + * Specifies the lParam value passed to the current hook + * procedure. The meaning of this parameter depends on the type + * of hook associated with the current hook chain. + * @return This value is returned by the next hook procedure in the chain. + * The current hook procedure must also return this value. The + * meaning of the return value depends on the hook type. + */ + LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, Pointer lParam); + + /** + * The UnhookWindowsHookEx function removes a hook procedure installed in a + * hook chain by the SetWindowsHookEx function. + * + * @param hhk + * Handle to the hook to be removed. This parameter is a hook + * handle obtained by a previous call to SetWindowsHookEx. + * @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 UnhookWindowsHookEx(HHOOK hhk); + + /** + * This function retrieves a message from the calling thread's message queue + * and places it in the specified structure. + * + * @param lpMsg + * Pointer to an MSG structure that receives message information + * from the thread's message queue. + * @param hWnd + * Handle to the window whose messages are to be retrieved. One + * value has a special meaning. + * @param wMsgFilterMin + * Specifies the integer value of the lowest message value to be + * retrieved. + * @param wMsgFilterMax + * Specifies the integer value of the highest message value to be + * retrieved. + * @return Nonzero indicates that the function retrieves a message other + * than WM_QUIT. Zero indicates that the function retrieves the + * WM_QUIT message, or that lpMsg is an invalid pointer. To get + * extended error information, call GetLastError. + */ + int GetMessage(MSG lpMsg, HWND hWnd, int wMsgFilterMin, int wMsgFilterMax); + + /** + * This function checks a thread message queue for a message and places the + * message (if any) in the specified structure. + * + * @param lpMsg + * Pointer to an MSG structure that receives message information. + * @param hWnd + * Handle to the window whose messages are to be examined. + * @param wMsgFilterMin + * Specifies the value of the first message in the range of + * messages to be examined. + * @param wMsgFilterMax + * Specifies the value of the last message in the range of + * messages to be examined. + * @param wRemoveMsg + * Specifies how messages are handled. This parameter can be one + * of the following values. + * @return Nonzero indicates success. Zero indicates failure. + */ + boolean PeekMessage(MSG lpMsg, HWND hWnd, int wMsgFilterMin, + int wMsgFilterMax, int wRemoveMsg); + + /** + * This function translates virtual-key messages into character messages. + * The character messages are posted to the calling thread's message queue, + * to be read the next time the thread calls the GetMessage or PeekMessage + * function. + * + * @param lpMsg + * Pointer to an MSG structure that contains message information + * retrieved from the calling thread's message queue by using the + * GetMessage or PeekMessage function. + * @return Nonzero indicates that the message is translated, that is, a + * character message is posted to the thread's message queue. If the + * message is WM_KEYDOWN or WM_SYSKEYDOWN, the return value is + * nonzero, regardless of the translation. Zero indicates that the + * message is not translated, that is, a character message is not + * posted to the thread's message queue. + */ + boolean TranslateMessage(MSG lpMsg); + + /** + * This function dispatches a message to a window procedure. It is typically + * used to dispatch a message retrieved by the GetMessage function. + * + * @param lpMsg + * Pointer to an MSG structure that contains the message. + * @return The return value specifies the value returned by the window + * procedure. Although its meaning depends on the message being + * dispatched, the return value generally is ignored. + */ + LRESULT DispatchMessage(MSG lpMsg); + + /** + * This function places a message in the message queue associated with the + * thread that created the specified window and then returns without waiting + * for the thread to process the message. Messages in a message queue are + * retrieved by calls to the GetMessage or PeekMessage function. + * + * @param hWnd + * Handle to the window whose window procedure is to receive the + * message. + * @param msg + * Specifies the message to be posted. + * @param wParam + * Specifies additional message-specific information. + * @param lParam + * Specifies additional message-specific information. + */ + void PostMessage(HWND hWnd, int msg, WPARAM wParam, LPARAM lParam); + + /** + * This function indicates to Windows that a thread has made a request to + * terminate (quit). It is typically used in response to a WM_DESTROY + * message. + * + * @param nExitCode + * Specifies an application exit code. This value is used as the + * wParam parameter of the WM_QUIT message. + */ + void PostQuitMessage(int nExitCode); + + /** + * The GetSystemMetrics function retrieves various system metrics (widths + * and heights of display elements) and system configuration settings. All + * dimensions retrieved by GetSystemMetrics are in pixels. + * + * @param nIndex + * System metric or configuration setting to retrieve. This + * parameter can be one of the following values. Note that all + * SM_CX* values are widths and all SM_CY* values are heights. + * Also note that all settings designed to return Boolean data + * represent TRUE as any nonzero value, and FALSE as a zero + * value. + * @return If the function succeeds, the return value is the requested + * system metric or configuration setting. If the function fails, + * the return value is zero. GetLastError does not provide extended + * error information. + */ + public int GetSystemMetrics(int nIndex); + + /** + * Changes the parent window of the specified child window. + * + * @param hWndChild + * A handle to the child window. + * + * @param hWndNewParent + * A handle to the new parent window. If this parameter is NULL, + * the desktop window becomes the new parent window. If this + * parameter is HWND_MESSAGE, the child window becomes a + * message-only window. + * + * @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. + */ + HWND SetParent(HWND hWndChild, HWND hWndNewParent); + + /** + * Determines the visibility state of the specified window. + * + * @param hWnd + * A handle to the window to be tested. + * + * @return If the specified window, its parent window, its parent's parent + * window, and so forth, have the WS_VISIBLE style, the return value + * is nonzero. Otherwise, the return value is zero. + * + * Because the return value specifies whether the window has the + * WS_VISIBLE style, it may be nonzero even if the window is totally + * obscured by other windows. + */ + boolean IsWindowVisible(HWND hWnd); + + /** + * Changes the position and dimensions of the specified window. For a + * top-level window, the position and dimensions are relative to the + * upper-left corner of the screen. For a child window, they are relative to + * the upper-left corner of the parent window's client area. + * + * @param hWnd + * A handle to the window. + * + * @param X + * The new position of the left side of the window. + * + * @param Y + * The new position of the top of the window. + * + * @param nWidth + * The new width of the window. + * + * @param nHeight + * The new height of the window. + * + * @param bRepaint + * Indicates whether the window is to be repainted. If this + * parameter is TRUE, the window receives a message. If the + * parameter is FALSE, no repainting of any kind occurs. This + * applies to the client area, the nonclient area (including the + * title bar and scroll bars), and any part of the parent window + * uncovered as a result of moving a child window. + * + * @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 MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, + boolean bRepaint); + + /** + * Changes the size, position, and Z order of a child, pop-up, or top-level + * window. These windows are ordered according to their appearance on the + * screen. The topmost window receives the highest rank and is the first + * window in the Z order. + * + * @param hWnd + * A handle to the window. + * + * @param hWndInsertAfter + * A handle to the window to precede the positioned window in the + * Z order. + * + * @param X + * The new position of the left side of the window, in client + * coordinates. + * + * @param Y + * The new position of the top of the window, in client + * coordinates. + * + * @param cx + * The new width of the window, in pixels. + * + * @param cy + * The new height of the window, in pixels. + * + * @param uFlags + * The window sizing and positioning flags. + * + * @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 SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, + int cy, int uFlags); + + /** + * Attaches or detaches the input processing mechanism of one thread to that + * of another thread. + * + * @param idAttach + * The identifier of the thread to be attached to another thread. + * The thread to be attached cannot be a system thread. + * + * @param idAttachTo + * The identifier of the thread to which idAttach will be + * attached. This thread cannot be a system thread. A thread + * cannot attach to itself. Therefore, idAttachTo cannot equal + * idAttach. + * + * @param fAttach + * If this parameter is TRUE, the two threads are attached. If + * the parameter is FALSE, the threads are detached. + * + * @return If the function succeeds, the return value is nonzero. + */ + boolean AttachThreadInput(DWORD idAttach, DWORD idAttachTo, boolean fAttach); + + /** + * Brings the thread that created the specified window into the foreground + * and activates the window. Keyboard input is directed to the window, and + * various visual cues are changed for the user. The system assigns a + * slightly higher priority to the thread that created the foreground window + * than it does to other threads. + * + * @param hWnd + * A handle to the window that should be activated and brought to + * the foreground. + * + * @return If the window was brought to the foreground, the return value is + * nonzero. + */ + boolean SetForegroundWindow(HWND hWnd); + + /** + * Retrieves a handle to the foreground window (the window with which the + * user is currently working). The system assigns a slightly higher priority + * to the thread that creates the foreground window than it does to other + * threads. + * + * @return The return value is a handle to the foreground window. The + * foreground window can be NULL in certain circumstances, such as + * when a window is losing activation. + */ + HWND GetForegroundWindow(); + + /** + * Sets the keyboard focus to the specified window. The window must be + * attached to the calling thread's message queue. + * + * @param hWnd + * A handle to the window that will receive the keyboard input. + * If this parameter is NULL, keystrokes are ignored. + * + * @return If the function succeeds, the return value is the handle to the + * window that previously had the keyboard focus. If the hWnd + * parameter is invalid or the window is not attached to the calling + * thread's message queue, the return value is NULL. To get extended + * error information, call GetLastError. + */ + HWND SetFocus(HWND hWnd); + + /** + * Synthesizes keystrokes, mouse motions, and button clicks. + * + * @param nInputs + * The number of structures in the pInputs array. + * + * @param pInputs + * An array of INPUT structures. Each structure represents an + * event to be inserted into the keyboard or mouse input stream. + * + * @param cbSize + * The size, in bytes, of an INPUT structure. If cbSize is not + * the size of an INPUT structure, the function fails. + * + * @return The function returns the number of events that it successfully + * inserted into the keyboard or mouse input stream. If the function + * returns zero, the input was already blocked by another thread. To + * get extended error information, call GetLastError. + * + * This function fails when it is blocked by UIPI. Note that neither + * GetLastError nor the return value will indicate the failure was + * caused by UIPI blocking. + */ + DWORD SendInput(DWORD nInputs, WinUser.INPUT[] pInputs, int cbSize); + + /** + * Waits until the specified process has finished processing its initial + * input and is waiting for user input with no input pending, or until the + * time-out interval has elapsed. + * + * @param hProcess + * A handle to the process. If this process is a console + * application or does not have a message queue, WaitForInputIdle + * returns immediately. + * + * @param dwMilliseconds + * The time-out interval, in milliseconds. If dwMilliseconds is + * INFINITE, the function does not return until the process is + * idle. + * + * @return The following table shows the possible return values for this + * function. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Return code/valueDescription
0The wait was satisfied successfully.
WAIT_TIMEOUTThe wait was terminated because the time-out interval + * elapsed.
WAIT_FAILEDAn error occurred.
+ */ + DWORD WaitForInputIdle(HANDLE hProcess, DWORD dwMilliseconds); + + /** + * The InvalidateRect function adds a rectangle to the specified window's + * update region. The update region represents the portion of the window's + * client area that must be redrawn. + * + * @param hWnd + * A handle to the window whose update region has changed. If + * this parameter is NULL, the system invalidates and redraws all + * windows, not just the windows for this application, and sends + * the WM_ERASEBKGND and WM_NCPAINT messages before the function + * returns. Setting this parameter to NULL is not recommended. + * + * @param lpRect + * A pointer to a RECT structure that contains the client + * coordinates of the rectangle to be added to the update region. + * If this parameter is NULL, the entire client area is added to + * the update region. + * + * @param bErase + * Specifies whether the background within the update region is + * to be erased when the update region is processed. If this + * parameter is TRUE, the background is erased when the + * BeginPaint function is called. If this parameter is FALSE, the + * background remains unchanged. + * + * @return If the function succeeds, the return value is nonzero. If the + * function fails, the return value is zero. + */ + boolean InvalidateRect(HWND hWnd, RECT.ByReference lpRect, boolean bErase); + + /** + * The RedrawWindow function updates the specified rectangle or region in a + * window's client area. + * + * @param hWnd + * A handle to the window to be redrawn. If this parameter is + * NULL, the desktop window is updated. + * + * @param lprcUpdate + * A pointer to a RECT structure containing the coordinates, in + * device units, of the update rectangle. This parameter is + * ignored if the hrgnUpdate parameter identifies a region. + * + * @param hrgnUpdate + * A handle to the update region. If both the hrgnUpdate and + * lprcUpdate parameters are NULL, the entire client area is + * added to the update region. + * + * @param flags + * One or more redraw flags. This parameter can be used to + * invalidate or validate a window, control repainting, and + * control which windows are affected by RedrawWindow. + * + * @return If the function succeeds, the return value is nonzero. If the + * function fails, the return value is zero. + */ + boolean RedrawWindow(HWND hWnd, RECT.ByReference lprcUpdate, + HRGN hrgnUpdate, DWORD flags); + + /** + * Retrieves a handle to a window that has the specified relationship + * (Z-Order or owner) to the specified window. + * + * @param hWnd + * A handle to a window. The window handle retrieved is relative + * to this window, based on the value of the uCmd parameter. + * + * @param uCmd + * The relationship between the specified window and the window + * whose handle is to be retrieved. + * + * @return If the function succeeds, the return value is a window handle. If + * no window exists with the specified relationship to the specified + * window, the return value is NULL. To get extended error + * information, call GetLastError. + */ + HWND GetWindow(HWND hWnd, DWORD uCmd); + + /** + * The UpdateWindow function updates the client area of the specified window + * by sending a WM_PAINT message to the window if the window's update region + * is not empty. The function sends a WM_PAINT message directly to the + * window procedure of the specified window, bypassing the application + * queue. If the update region is empty, no message is sent. + * + * @param hWnd + * Handle to the window to be updated. + * + * @return If the function succeeds, the return value is nonzero. If the + * function fails, the return value is zero. + */ + boolean UpdateWindow(HWND hWnd); + + /** + * Sets the specified window's show state. + * + * @param hWnd + * A handle to the window. + * + * @param nCmdShow + * Controls how the window is to be shown. This parameter is + * ignored the first time an application calls ShowWindow, if the + * program that launched the application provides a STARTUPINFO + * structure. Otherwise, the first time ShowWindow is called, the + * value should be the value obtained by the WinMain function in + * its nCmdShow parameter. + * + * @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 ShowWindow(HWND hWnd, int nCmdShow); + + /** + * Minimizes (but does not destroy) the specified window. + * + * @param hWnd + * A handle to the window to be minimized. + * + * @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 CloseWindow(HWND hWnd); + + /** + * Defines a system-wide hot key. + * + * @param hWnd + * A handle to the window that will receive + * @param id + * The identifier of the hot key + * @param fsModifiers + * The keys that must be pressed in combination with the key + * specified by the uVirtKey parameter in order to generate the + * @param vk + * The virtual-key code of the hot key + * @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 {@link Kernel32#GetLastError}. + * {@link WinUser#WM_HOTKEY} messages generated by the hot key + * {@link WinUser#WM_HOTKEY} message.
+ * A combination of the following values + *

    + *
  • {@link WinUser#MOD_ALT} Either ALT key must be held down.
  • + *
  • {@link WinUser#MOD_CONTROL} Either CTRL key must be held + * down.
  • + *
  • {@link WinUser#MOD_NOREPEAT} Changes the hotkey behavior so + * that the keyboard auto-repeat does not yield multiple hotkey + * notifications.
    + * Windows Vista and Windows XP/2000: This flag is not + * supported.
  • + *
  • {@link WinUser#MOD_SHIFT} Either SHIFT key must be held down. + *
  • + *
  • {@link WinUser#MOD_WIN} Either WINDOWS key was held down. + * These keys are labeled with the Windows logo.
  • + *
+ */ + boolean RegisterHotKey(HWND hWnd, int id, int fsModifiers, int vk); + + /** + * Frees a hot key previously registered by the calling thread. + * + * @param hWnd + * A handle to the window associated with the hot key to be + * freed. This parameter should be NULL if the hot key is not + * associated with a window. + * + * @param id + * The identifier of the hot key to be freed. + * + * @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 {@link Kernel32#GetLastError}. + */ + boolean UnregisterHotKey(Pointer hWnd, int id); + + /** + * Retrieves the time of the last input event. + * + * @param plii + * structure that receives the time of the last input event + * @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 {@link Kernel32#GetLastError}. + */ + boolean GetLastInputInfo(LASTINPUTINFO plii); + + /** + * Registers a window class for subsequent use in calls to the CreateWindow + * or CreateWindowEx function. + * + * @param lpwcx + * Type: const WNDCLASSEX* A pointer to a WNDCLASSEX structure. + * You must fill the structure with the appropriate class + * attributes before passing it to the function. + * + * @return If the function succeeds, the return value is a class atom that + * uniquely identifies the class being registered. This atom can + * only be used by the CreateWindow, CreateWindowEx, GetClassInfo, + * GetClassInfoEx, FindWindow, FindWindowEx, and UnregisterClass + * functions and the IActiveIMMap::FilterClientWindows method. + * + * If the function fails, the return value is zero. To get extended + * error information, call {@link Kernel32#GetLastError}. + */ + public ATOM RegisterClassEx(WNDCLASSEX lpwcx); + + /** + * Unregisters a window class, freeing the memory required for the class. + * + * @param lpClassName + * [in] Type: LPCTSTR + * + * A null-terminated string or a class atom. If lpClassName is a + * string, it specifies the window class name. This class name + * must have been registered by a previous call to the + * RegisterClass or RegisterClassEx function. System classes, + * such as dialog box controls, cannot be unregistered. If this + * parameter is an atom, it must be a class atom created by a + * previous call to the RegisterClass or RegisterClassEx + * function. The atom must be in the low-order word of + * lpClassName; the high-order word must be zero. + * + * @param hInstance + * [in,optional] Type: HINSTANCE A handle to the instance of the + * module that created the class. * + * + * @return Type: BOOL If the function succeeds, the return value is nonzero. + * + * If the function fails, the return value is zero. To get extended + * error information, call {@link Kernel32#GetLastError}. + */ + public boolean UnregisterClass(WString lpClassName, HINSTANCE hInstance); + + /** + * Creates an overlapped, pop-up, or child window with an extended window + * style; otherwise, this function is identical to the CreateWindow + * function. For more information about creating a window and for full + * descriptions of the other parameters of CreateWindowEx, see CreateWindow. + * + * @param dwExStyle + * [in] Type: DWORD + * + * The extended window style of the window being created. For a + * list of possible values,see Extended Window Styles. + * + * @param lpClassName + * [in, optional] Type: LPCTSTR + * + * A null-terminated string or a class atom created by a previous + * call to the RegisterClass or RegisterClassEx function. The + * atom must be in the low-order word of lpClassName; the + * high-order word must be zero. If lpClassName is a string, it + * specifies the window class name. The class name can be any + * name registered with RegisterClass or RegisterClassEx, + * provided that the module that registers the class is also the + * module that creates the window. The class name can also be any + * of the predefined system class names. + * + * @param lpWindowName + * [in, optional] Type: LPCTSTR + * + * The window name. If the window style specifies a title bar, + * the window title pointed to by lpWindowName is displayed in + * the title bar. When using CreateWindow to create controls, + * such as buttons, check boxes, and static controls, use + * lpWindowName to specify the text of the control. When creating + * a static control with the SS_ICON style, use lpWindowName to + * specify the icon name or identifier. To specify an identifier, + * use the syntax "#num". + * + * @param dwStyle + * [in] Type: DWORD + * + * The style of the window being created. This parameter can be a + * combination of the window style values, plus the control + * styles indicated in the Remarks section. + * + * @param x + * [in] Type: int + * + * The initial horizontal position of the window. For an + * overlapped or pop-up window, the x parameter is the initial + * x-coordinate of the window's upper-left corner, in screen + * coordinates. For a child window, x is the x-coordinate of the + * upper-left corner of the window relative to the upper-left + * corner of the parent window's client area. If x is set to + * CW_USEDEFAULT, the system selects the default position for the + * window's upper-left corner and ignores the y parameter. + * CW_USEDEFAULT is valid only for overlapped windows; if it is + * specified for a pop-up or child window, the x and y parameters + * are set to zero. + * + * @param y + * [in] Type: int + * + * The initial vertical position of the window. For an overlapped + * or pop-up window, the y parameter is the initial y-coordinate + * of the window's upper-left corner, in screen coordinates. For + * a child window, y is the initial y-coordinate of the + * upper-left corner of the child window relative to the + * upper-left corner of the parent window's client area. For a + * list box y is the initial y-coordinate of the upper-left + * corner of the list box's client area relative to the + * upper-left corner of the parent window's client area. + * + * If an overlapped window is created with the WS_VISIBLE style + * bit set and the x parameter is set to CW_USEDEFAULT, then the + * y parameter determines how the window is shown. If the y + * parameter is CW_USEDEFAULT, then the window manager calls + * ShowWindow with the SW_SHOW flag after the window has been + * created. If the y parameter is some other value, then the + * window manager calls ShowWindow with that value as the + * nCmdShow parameter. + * + * @param nWidth + * [in] Type: int + * + * The width, in device units, of the window. For overlapped + * windows, nWidth is the window's width, in screen coordinates, + * or CW_USEDEFAULT. If nWidth is CW_USEDEFAULT, the system + * selects a default width and height for the window; the default + * width extends from the initial x-coordinates to the right edge + * of the screen; the default height extends from the initial + * y-coordinate to the top of the icon area. CW_USEDEFAULT is + * valid only for overlapped windows; if CW_USEDEFAULT is + * specified for a pop-up or child window, the nWidth and nHeight + * parameter are set to zero. + * + * @param nHeight + * [in] Type: int + * + * The height, in device units, of the window. For overlapped + * windows, nHeight is the window's height, in screen + * coordinates. If the nWidth parameter is set to CW_USEDEFAULT, + * the system ignores nHeight. + * + * @param hWndParent + * [in, optional] Type: HWND + * + * A handle to the parent or owner window of the window being + * created. To create a child window or an owned window, supply a + * valid window handle. This parameter is optional for pop-up + * windows. + * + * To create a message-only window, supply HWND_MESSAGE or a + * handle to an existing message-only window. + * + * @param hMenu + * [in, optional] Type: HMENU + * + * A handle to a menu, or specifies a child-window identifier, + * depending on the window style. For an overlapped or pop-up + * window, hMenu identifies the menu to be used with the window; + * it can be NULL if the class menu is to be used. For a child + * window, hMenu specifies the child-window identifier, an + * integer value used by a dialog box control to notify its + * parent about events. The application determines the + * child-window identifier; it must be unique for all child + * windows with the same parent window. + * + * @param hInstance + * [in, optional] Type: HINSTANCE + * + * A handle to the instance of the module to be associated with + * the window. + * + * @param lpParam + * [in, optional] Type: LPVOID + * + * Pointer to a value to be passed to the window through the + * CREATESTRUCT structure (lpCreateParams member) pointed to by + * the lParam param of the WM_CREATE message. This message is + * sent to the created window by this function before it returns. + * + * If an application calls CreateWindow to create a MDI client + * window, lpParam should point to a CLIENTCREATESTRUCT + * structure. If an MDI client window calls CreateWindow to + * create an MDI child window, lpParam should point to a + * MDICREATESTRUCT structure. lpParam may be NULL if no + * additional data is needed. + * + * @return Type: HWND + * + * If the function succeeds, the return value is a handle to the new + * window. + * + * If the function fails, the return value is NULL. To get extended + * error information, call GetLastError. + * + * This function typically fails for one of the following reasons:

+ * - an invalid parameter value

+ * - the system class was registered by a different module

+ * - The WH_CBT hook is installed and returns a failure code

+ * - if one of the controls in the dialog template is not registered, + * or its window window procedure fails WM_CREATE or WM_NCCREATE + */ + public HWND CreateWindowEx(int dwExStyle, WString lpClassName, + String lpWindowName, int dwStyle, int x, int y, int nWidth, + int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, + LPVOID lpParam); + + /** + * Destroys the specified window. The function sends WM_DESTROY and + * WM_NCDESTROY messages to the window to deactivate it and remove the + * keyboard focus from it. The function also destroys the window's menu, + * flushes the thread message queue, destroys timers, removes clipboard + * ownership, and breaks the clipboard viewer chain (if the window is at the + * top of the viewer chain). + * + * If the specified window is a parent or owner window, DestroyWindow + * automatically destroys the associated child or owned windows when it + * destroys the parent or owner window. The function first destroys child or + * owned windows, and then it destroys the parent or owner window. + * + * DestroyWindow also destroys modeless dialog boxes created by the + * CreateDialog function. + * + * @param hWnd + * [in] Type: HWND A handle to the window to be destroyed. + * + * @return Type: BOOL If the function succeeds, the return value is nonzero. + * + * If the function fails, the return value is zero. To get extended + * error information, call {@link Kernel32#GetLastError}. + */ + public boolean DestroyWindow(HWND hWnd); + + /** + * Retrieves information about a window class, including a handle to the + * small icon associated with the window class. The GetClassInfo function + * does not retrieve a handle to the small icon. + * + * @param hinst + * [in, optional] Type: HINSTANCE + * + * A handle to the instance of the application that created the + * class. To retrieve information about classes defined by the + * system (such as buttons or list boxes), set this parameter to + * NULL. + * + * @param lpszClass + * [in] Type: LPCTSTR + * + * The class name. The name must be that of a preregistered class + * or a class registered by a previous call to the RegisterClass + * or RegisterClassEx function. Alternatively, this parameter can + * be a class atom created by a previous call to RegisterClass or + * RegisterClassEx. The atom must be in the low-order word of + * lpszClass; the high-order word must be zero. + * + * @param lpwcx + * [out] Type: LPWNDCLASSEX + * + * A pointer to a WNDCLASSEX structure that receives the + * information about the class. + * + * @return Type: BOOL If the function finds a matching class and + * successfully copies the data, the return value is nonzero. + * + * If the function fails, the return value is zero. To get extended + * error information, call {@link Kernel32#GetLastError} . + */ + public boolean GetClassInfoEx(HINSTANCE hinst, WString lpszClass, + WNDCLASSEX lpwcx); + + /** + * Calls the default window procedure to provide default processing for any + * window messages that an application does not process. This function + * ensures that every message is processed. DefWindowProc is called with the + * same parameters received by the window procedure. + * + * @param hWnd + * [in] Type: HWND + * + * A handle to the window procedure that received the message. + * + * @param Msg + * [in] Type: UINT + * + * The message. + * + * @param wParam + * [in] Type: WPARAM + * + * Additional message information. The content of this parameter + * depends on the value of the Msg parameter. + * + * @param lParam + * [in] Type: LPARAM + * + * Additional message information. The content of this parameter + * depends on the value of the Msg parameter. + * + * @return Type: LRESULT The return value is the result of the message + * processing and depends on the message. + * + * If the function fails, the return value is zero. To get extended + * error information, call {@link Kernel32#GetLastError}. + */ + public LRESULT DefWindowProc(HWND hWnd, int Msg, WPARAM wParam, + LPARAM lParam); + + /** + * Registers the device or type of device for which a window will receive + * notifications. + * + * @hRecipient [in] A handle to the window or service that will receive + * device events for the devices specified in the + * NotificationFilter parameter. The same window handle can be + * used in multiple calls to RegisterDeviceNotification. + * + * Services can specify either a window handle or service status + * handle. + * + * @param NotificationFilter + * [in] A pointer to a block of data that specifies the type of + * device for which notifications should be sent. This block + * always begins with the DEV_BROADCAST_HDR structure. The data + * following this header is dependent on the value of the + * dbch_devicetype member, which can be + * DBT_DEVTYP_DEVICEINTERFACE or DBT_DEVTYP_HANDLE. For more + * information, see Remarks. + * + * @param Flags + * [in] This parameter can be one of the following values. + * DEVICE_NOTIFY_WINDOW_HANDLE0x00000000 The hRecipient parameter + * is a window handle. + * + * DEVICE_NOTIFY_SERVICE_HANDLE0x00000001 The hRecipient + * parameter is a service status handle. + * + * In addition, you can specify the following value. + * + * DEVICE_NOTIFY_ALL_INTERFACE_CLASSES0x00000004 Notifies the + * recipient of device interface events for all device interface + * classes. (The dbcc_classguid member is ignored.) + * + * This value can be used only if the dbch_devicetype member is + * DBT_DEVTYP_DEVICEINTERFACE. + * + * @return value + * + * If the function succeeds, the return value is a device + * notification handle. + * + * If the function fails, the return value is NULL. To get extended + * error information, call GetLastError. + */ + HDEVNOTIFY RegisterDeviceNotification(HANDLE hRecipient, + Structure notificationFilter, int Flags); + + /** + * Closes the specified device notification handle. + * + * @Handle [in] Device notification handle returned by the + * RegisterDeviceNotification function. + * + * @return Return value + * + * 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 UnregisterDeviceNotification(HDEVNOTIFY Handle); +} From 4220566fb491ddee32deff54e37318b8f4967162 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 14:05:46 -0500 Subject: [PATCH 17/34] support compiling platform project with 64bit jvm. --- contrib/platform/nbproject/project.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contrib/platform/nbproject/project.properties b/contrib/platform/nbproject/project.properties index ca001ef66f..c0b5e09573 100644 --- a/contrib/platform/nbproject/project.properties +++ b/contrib/platform/nbproject/project.properties @@ -17,11 +17,14 @@ dist.dir=dist dist.jar=${dist.dir}/platform.jar dist.javadoc.dir=${dist.dir}/javadoc file.reference.jna.jar=../../build/jna.jar +file.reference.jna-d64.jar=../../build-d64/jna.jar file.reference.jna-test.jar=../../build/jna-test.jar +file.reference.jna-test-d64.jar=../../build-d64/jna-test.jar libs.junit.classpath=../../lib/junit.jar jar.compress=false javac.classpath=\ - ${file.reference.jna.jar}; + ${file.reference.jna.jar}:\ + ${file.reference.jna-d64.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false @@ -30,6 +33,7 @@ javac.target=1.5 javac.test.classpath=\ ${javac.classpath}:\ ${file.reference.jna-test.jar}:\ + ${file.reference.jna-test-d64.jar}:\ ${build.classes.dir}:\ ${libs.junit.classpath} javadoc.additionalparam= From f7b2f910b7cc7248958ef8c2ff56136b1d6317bc Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 15:10:00 -0500 Subject: [PATCH 18/34] ignore static fields as per twall notes. --- .../sun/jna/StructureFieldOrderInspector.java | 13 ++-- .../jna/StructureFieldOrderInspectorTest.java | 62 +++++++++++++++++++ 2 files changed, 70 insertions(+), 5 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index cfa42c8efa..3868c71ee7 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -161,12 +161,15 @@ public static void checkMethodGetFieldOrder(final Class str final Field[] actualFields = structureSubType.getDeclaredFields(); final List actualFieldNames = new ArrayList(actualFields.length); for (final Field field : actualFields) { - final String actualFieldName = field.getName(); - if (!methodCallFieldList.contains(actualFieldName)) { - throw new IllegalArgumentException(structureSubType.getName() + ".getFieldOrder() [" + methodCallFieldList - + "] does not include declared field: " + actualFieldName); + // ignore static fields + if (!Modifier.isStatic(field.getModifiers())) { + final String actualFieldName = field.getName(); + if (!methodCallFieldList.contains(actualFieldName)) { + throw new IllegalArgumentException(structureSubType.getName() + ".getFieldOrder() [" + methodCallFieldList + + "] does not include declared field: " + actualFieldName); + } + actualFieldNames.add(actualFieldName); } - actualFieldNames.add(actualFieldName); } for (final Object methodCallField : methodCallFieldList) { diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index 3bbd71efa4..d0c9cd99d2 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -86,6 +86,68 @@ public void testCheckMethodGetFieldOrderExtraField() throws Exception { } } + private static final class MyStructStaticFieldOnlyStatic extends Structure { + public static long myStaticField = -1; + + @Override + protected List getFieldOrder() { + return Arrays.asList(); + } + } + /** + * //@todo Seems this may be a bug. Error below occurs if Structure has no instance field (and only a static field), like: MyStructStaticFieldOnlyStatic. + java.lang.RuntimeException: Could not instantiate Structure sub type: com.sun.jna.StructureFieldOrderInspectorTest$MyStructStaticFieldOnlyStatic + at com.sun.jna.StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureFieldOrderInspector.java:146) + at com.sun.jna.StructureFieldOrderInspectorTest.testCheckMethodGetFieldOrderStaticFieldOnlyStatic(StructureFieldOrderInspectorTest.java:111) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:139) + at com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:52) + at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) + at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) + Caused by: java.lang.reflect.InvocationTargetException + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) + at java.lang.reflect.Constructor.newInstance(Constructor.java:532) + at com.sun.jna.StructureFieldOrderInspector.checkMethodGetFieldOrder(StructureFieldOrderInspector.java:131) + ... 22 more + Caused by: java.lang.IllegalArgumentException: Structure class com.sun.jna.StructureFieldOrderInspectorTest$MyStructStaticFieldOnlyStatic has unknown size (ensure all fields are public) + at com.sun.jna.Structure.deriveLayout(Structure.java:1108) + at com.sun.jna.Structure.calculateSize(Structure.java:908) + at com.sun.jna.Structure.calculateSize(Structure.java:896) + at com.sun.jna.Structure.allocateMemory(Structure.java:357) + at com.sun.jna.Structure.(Structure.java:191) + at com.sun.jna.Structure.(Structure.java:180) + at com.sun.jna.Structure.(Structure.java:167) + at com.sun.jna.Structure.(Structure.java:159) + at com.sun.jna.StructureFieldOrderInspectorTest$MyStructStaticFieldOnlyStatic.(StructureFieldOrderInspectorTest.java:89) + ... 27 more + */ +/* + public void testCheckMethodGetFieldOrderStaticFieldOnlyStatic() throws Exception { + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructStaticFieldOnlyStatic.class, null); + } +//*/ + + private static final class MyStructStaticField extends Structure { + public long instanceField; // @todo Why error if at least one instance field does not exist? see above:MyStructStaticFieldOnlyStatic + public static long myStaticField = -1; + + @Override + protected List getFieldOrder() { + //return Arrays.asList(); + return Arrays.asList("instanceField"); + } + } + public void testCheckMethodGetFieldOrderStaticField() throws Exception { + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructStaticField.class, null); + } + public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class, null); From 959616e992863fbe227ff16e30222ce3e0719466 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 15:25:05 -0500 Subject: [PATCH 19/34] patch from twall: addresses the missing default constructor warnings. --- .../com/sun/jna/platform/win32/WinGDI.java | 239 +- .../src/com/sun/jna/platform/win32/WinNT.java | 4332 +++++++++-------- 2 files changed, 2296 insertions(+), 2275 deletions(-) diff --git a/contrib/platform/src/com/sun/jna/platform/win32/WinGDI.java b/contrib/platform/src/com/sun/jna/platform/win32/WinGDI.java index 1c31ae2afd..c8bc6dffb6 100644 --- a/contrib/platform/src/com/sun/jna/platform/win32/WinGDI.java +++ b/contrib/platform/src/com/sun/jna/platform/win32/WinGDI.java @@ -1,118 +1,121 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 java.util.Arrays; -import java.util.List; - -import com.sun.jna.Structure; -import com.sun.jna.platform.win32.WinDef.RECT; -import com.sun.jna.win32.StdCallLibrary; - -/** - * Ported from WinGDI.h. - * Microsoft Windows SDK 6.0A. - * @author dblock[at]dblock.org - */ -public interface WinGDI extends StdCallLibrary { - public int RDH_RECTANGLES = 1; - - public class RGNDATAHEADER extends Structure { - public int dwSize = size(); - public int iType = RDH_RECTANGLES; // required - public int nCount; - public int nRgnSize; - public RECT rcBound; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "dwSize", "iType", "nCount", "nRgnSize", "rcBound" }); - } - } - - public class RGNDATA extends Structure { - public RGNDATAHEADER rdh; - public byte[] Buffer; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "rdh", "Buffer" }); - } - - public RGNDATA(int bufferSize) { - Buffer = new byte[bufferSize]; - allocateMemory(); - } - } - - public int RGN_AND = 1; - public int RGN_OR = 2; - public int RGN_XOR = 3; - public int RGN_DIFF = 4; - public int RGN_COPY = 5; - - public int ERROR = 0; - public int NULLREGION = 1; - public int SIMPLEREGION = 2; - public int COMPLEXREGION = 3; - - public int ALTERNATE = 1; - public int WINDING = 2; - - public int BI_RGB = 0; - public int BI_RLE8 = 1; - public int BI_RLE4 = 2; - public int BI_BITFIELDS = 3; - public int BI_JPEG = 4; - public int BI_PNG = 5; - - public class BITMAPINFOHEADER extends Structure { - public int biSize = size(); - public int biWidth; - public int biHeight; - public short biPlanes; - public short biBitCount; - public int biCompression; - public int biSizeImage; - public int biXPelsPerMeter; - public int biYPelsPerMeter; - public int biClrUsed; - public int biClrImportant; - protected List getFieldOrder() { - return Arrays.asList(new String[] { "biSize", "biWidth", "biHeight", "biPlanes", "biBitCount", "biCompression", "biSizeImage", "biXPelsPerMeter", "biYPelsPerMeter", "biClrUsed", "biClrImportant" }); - } - } - - public class RGBQUAD extends Structure { - public byte rgbBlue; - public byte rgbGreen; - public byte rgbRed; - public byte rgbReserved = 0; - protected List getFieldOrder() { - return Arrays.asList(new String[] { "rgbBlue", "rgbGreen", "rgbRed", "rgbReserved" }); - } - } - - public class BITMAPINFO extends Structure { - public BITMAPINFOHEADER bmiHeader = new BITMAPINFOHEADER(); - public RGBQUAD[] bmiColors = new RGBQUAD[1]; - protected List getFieldOrder() { - return Arrays.asList(new String[] { "bmiHeader", "bmiColors" }); - } - public BITMAPINFO() { this(1); } - public BITMAPINFO(int size) { - bmiColors = new RGBQUAD[size]; - } - } - - public int DIB_RGB_COLORS = 0; - public int DIB_PAL_COLORS = 1; -} \ No newline at end of file +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 java.util.Arrays; +import java.util.List; + +import com.sun.jna.Structure; +import com.sun.jna.platform.win32.WinDef.RECT; +import com.sun.jna.win32.StdCallLibrary; + +/** + * Ported from WinGDI.h. + * Microsoft Windows SDK 6.0A. + * @author dblock[at]dblock.org + */ +public interface WinGDI extends StdCallLibrary { + public int RDH_RECTANGLES = 1; + + public class RGNDATAHEADER extends Structure { + public int dwSize = size(); + public int iType = RDH_RECTANGLES; // required + public int nCount; + public int nRgnSize; + public RECT rcBound; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "dwSize", "iType", "nCount", "nRgnSize", "rcBound" }); + } + } + + public class RGNDATA extends Structure { + public RGNDATAHEADER rdh; + public byte[] Buffer; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "rdh", "Buffer" }); + } + + public RGNDATA() { + this(1); + } + public RGNDATA(int bufferSize) { + Buffer = new byte[bufferSize]; + allocateMemory(); + } + } + + public int RGN_AND = 1; + public int RGN_OR = 2; + public int RGN_XOR = 3; + public int RGN_DIFF = 4; + public int RGN_COPY = 5; + + public int ERROR = 0; + public int NULLREGION = 1; + public int SIMPLEREGION = 2; + public int COMPLEXREGION = 3; + + public int ALTERNATE = 1; + public int WINDING = 2; + + public int BI_RGB = 0; + public int BI_RLE8 = 1; + public int BI_RLE4 = 2; + public int BI_BITFIELDS = 3; + public int BI_JPEG = 4; + public int BI_PNG = 5; + + public class BITMAPINFOHEADER extends Structure { + public int biSize = size(); + public int biWidth; + public int biHeight; + public short biPlanes; + public short biBitCount; + public int biCompression; + public int biSizeImage; + public int biXPelsPerMeter; + public int biYPelsPerMeter; + public int biClrUsed; + public int biClrImportant; + protected List getFieldOrder() { + return Arrays.asList(new String[] { "biSize", "biWidth", "biHeight", "biPlanes", "biBitCount", "biCompression", "biSizeImage", "biXPelsPerMeter", "biYPelsPerMeter", "biClrUsed", "biClrImportant" }); + } + } + + public class RGBQUAD extends Structure { + public byte rgbBlue; + public byte rgbGreen; + public byte rgbRed; + public byte rgbReserved = 0; + protected List getFieldOrder() { + return Arrays.asList(new String[] { "rgbBlue", "rgbGreen", "rgbRed", "rgbReserved" }); + } + } + + public class BITMAPINFO extends Structure { + public BITMAPINFOHEADER bmiHeader = new BITMAPINFOHEADER(); + public RGBQUAD[] bmiColors = new RGBQUAD[1]; + protected List getFieldOrder() { + return Arrays.asList(new String[] { "bmiHeader", "bmiColors" }); + } + public BITMAPINFO() { this(1); } + public BITMAPINFO(int size) { + bmiColors = new RGBQUAD[size]; + } + } + + public int DIB_RGB_COLORS = 0; + public int DIB_PAL_COLORS = 1; +} diff --git a/contrib/platform/src/com/sun/jna/platform/win32/WinNT.java b/contrib/platform/src/com/sun/jna/platform/win32/WinNT.java index 997d7125d6..4469b38af8 100644 --- a/contrib/platform/src/com/sun/jna/platform/win32/WinNT.java +++ b/contrib/platform/src/com/sun/jna/platform/win32/WinNT.java @@ -1,2157 +1,2175 @@ -/* 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. - * - * 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 java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import com.sun.jna.FromNativeContext; -import com.sun.jna.Memory; -import com.sun.jna.NativeLong; -import com.sun.jna.Pointer; -import com.sun.jna.PointerType; -import com.sun.jna.Structure; -import com.sun.jna.Union; -import com.sun.jna.ptr.ByReference; - -/** - * This module defines the 32-Bit Windows types and constants that are defined - * by NT, but exposed through the Win32 API. Ported from WinNT.h Microsoft - * Windows SDK 6.0A. Avoid including any NIO Buffer mappings here; put them in a - * DLL-derived interface (e.g. kernel32, user32, etc) instead. - * - * @author dblock[at]dblock.org - */ -@SuppressWarnings("serial") -public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { - - // - // The following are masks for the predefined standard access types - // - - int DELETE = 0x00010000; - int READ_CONTROL = 0x00020000; - int WRITE_DAC = 0x00040000; - int WRITE_OWNER = 0x00080000; - int SYNCHRONIZE = 0x00100000; - - int STANDARD_RIGHTS_REQUIRED = 0x000F0000; - int STANDARD_RIGHTS_READ = READ_CONTROL; - int STANDARD_RIGHTS_WRITE = READ_CONTROL; - int STANDARD_RIGHTS_EXECUTE = READ_CONTROL; - int STANDARD_RIGHTS_ALL = 0x001F0000; - - int SPECIFIC_RIGHTS_ALL = 0x0000FFFF; - - // - // Token Specific Access Rights. - // - - /** - * Required to attach a primary token to a process. The - * SE_ASSIGNPRIMARYTOKEN_NAME privilege is also required to accomplish this - * task. - */ - int TOKEN_ASSIGN_PRIMARY = 0x0001; - - /** - * Required to duplicate an access token. - */ - int TOKEN_DUPLICATE = 0x0002; - - /** - * Required to attach an impersonation access token to a process. - */ - int TOKEN_IMPERSONATE = 0x0004; - - /** - * Required to query an access token. - */ - int TOKEN_QUERY = 0x0008; - - /** - * Required to query the source of an access token. - */ - int TOKEN_QUERY_SOURCE = 0x0010; - - /** - * Required to enable or disable the privileges in an access token. - */ - int TOKEN_ADJUST_PRIVILEGES = 0x0020; - - /** - * Required to adjust the attributes of the groups in an access token. - */ - int TOKEN_ADJUST_GROUPS = 0x0040; - - /** - * Required to change the default owner, primary group, or DACL of an access - * token. - */ - int TOKEN_ADJUST_DEFAULT = 0x0080; - - /** - * Required to adjust the session ID of an access token. The SE_TCB_NAME - * privilege is required. - */ - int TOKEN_ADJUST_SESSIONID = 0x0100; - - int TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY - | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY - | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES - | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; - - /** - * Combines all possible access rights for a token. - */ - int TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID; - - /** - * Combines STANDARD_RIGHTS_READ and TOKEN_QUERY. - */ - int TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY; - - /** - * Combines STANDARD_RIGHTS_WRITE, TOKEN_ADJUST_PRIVILEGES, - * TOKEN_ADJUST_GROUPS, and TOKEN_ADJUST_DEFAULT. - */ - int TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES - | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; - - /** - * Combines STANDARD_RIGHTS_EXECUTE and TOKEN_IMPERSONATE. - */ - int TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE; - - int THREAD_TERMINATE = 0x0001; - int THREAD_SUSPEND_RESUME = 0x0002; - int THREAD_GET_CONTEXT = 0x0008; - int THREAD_SET_CONTEXT = 0x0010; - int THREAD_QUERY_INFORMATION = 0x0040; - int THREAD_SET_INFORMATION = 0x0020; - int THREAD_SET_THREAD_TOKEN = 0x0080; - int THREAD_IMPERSONATE = 0x0100; - int THREAD_DIRECT_IMPERSONATION = 0x0200; - int THREAD_SET_LIMITED_INFORMATION = 0x0400; - int THREAD_QUERY_LIMITED_INFORMATION = 0x0800; - int THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF; - - /** - * The SECURITY_IMPERSONATION_LEVEL enumeration type contains values that - * specify security impersonation levels. Security impersonation levels - * govern the degree to which a server process can act on behalf of a client - * process. - */ - public abstract class SECURITY_IMPERSONATION_LEVEL { - /** - * The server process cannot obtain identification information about the - * client, and it cannot impersonate the client. It is defined with no - * value given, and thus, by ANSI C rules, defaults to a value of zero. - */ - public static final int SecurityAnonymous = 0; - - /** - * The server process can obtain information about the client, such as - * security identifiers and privileges, but it cannot impersonate the - * client. This is useful for servers that export their own objects, for - * example, database products that export tables and views. Using the - * retrieved client-security information, the server can make - * access-validation decisions without being able to use other services - * that are using the client's security context. - */ - public static final int SecurityIdentification = 1; - - /** - * The server process can impersonate the client's security context on - * its local system. The server cannot impersonate the client on remote - * systems. - */ - public static final int SecurityImpersonation = 2; - - /** - * The server process can impersonate the client's security context on - * remote systems. - */ - public static final int SecurityDelegation = 3; - } - - /** - * The TOKEN_INFORMATION_CLASS enumeration type contains values that specify - * the type of information being assigned to or retrieved from an access - * token. - */ - public abstract class TOKEN_INFORMATION_CLASS { - public static final int TokenUser = 1; - public static final int TokenGroups = 2; - public static final int TokenPrivileges = 3; - public static final int TokenOwner = 4; - public static final int TokenPrimaryGroup = 5; - public static final int TokenDefaultDacl = 6; - public static final int TokenSource = 7; - public static final int TokenType = 8; - public static final int TokenImpersonationLevel = 9; - public static final int TokenStatistics = 10; - public static final int TokenRestrictedSids = 11; - public static final int TokenSessionId = 12; - public static final int TokenGroupsAndPrivileges = 13; - public static final int TokenSessionReference = 14; - public static final int TokenSandBoxInert = 15; - public static final int TokenAuditPolicy = 16; - public static final int TokenOrigin = 17; - public static final int TokenElevationType = 18; - public static final int TokenLinkedToken = 19; - public static final int TokenElevation = 20; - public static final int TokenHasRestrictions = 21; - public static final int TokenAccessInformation = 22; - public static final int TokenVirtualizationAllowed = 23; - public static final int TokenVirtualizationEnabled = 24; - public static final int TokenIntegrityLevel = 25; - public static final int TokenUIAccess = 26; - public static final int TokenMandatoryPolicy = 27; - public static final int TokenLogonSid = 28; - } - - /** - * The TOKEN_TYPE enumeration type contains values that differentiate - * between a primary token and an impersonation token. - */ - public abstract class TOKEN_TYPE { - public static final int TokenPrimary = 1; - public static final int TokenImpersonation = 2; - } - - /** - * The LUID_AND_ATTRIBUTES structure represents a locally unique identifier - * (LUID) and its attributes. - */ - public static class LUID_AND_ATTRIBUTES extends Structure { - /** - * Specifies an LUID value. - */ - public LUID Luid; - - /** - * Specifies attributes of the LUID. This value contains up to 32 - * one-bit flags. Its meaning is dependent on the definition and use of - * the LUID. - */ - public DWORD Attributes; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "Luid", "Attributes" }); - } - - public LUID_AND_ATTRIBUTES() { - } - - public LUID_AND_ATTRIBUTES(LUID luid, DWORD attributes) { - this.Luid = luid; - this.Attributes = attributes; - } - } - - /** - * The SID_AND_ATTRIBUTES structure represents a security identifier (SID) - * and its attributes. SIDs are used to uniquely identify users or groups. - */ - public static class SID_AND_ATTRIBUTES extends Structure { - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "Sid", "Attributes" }); - } - - public SID_AND_ATTRIBUTES() { - super(); - } - - public SID_AND_ATTRIBUTES(Pointer memory) { - super(memory); - } - - /** - * Pointer to a SID structure. - */ - public PSID.ByReference Sid; - - /** - * Specifies attributes of the SID. This value contains up to 32 one-bit - * flags. Its meaning depends on the definition and use of the SID. - */ - public int Attributes; - } - - /** - * The TOKEN_OWNER structure contains the default owner security identifier - * (SID) that will be applied to newly created objects. - */ - public static class TOKEN_OWNER extends Structure { - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "Owner" }); - } - - public TOKEN_OWNER() { - super(); - } - - public TOKEN_OWNER(int size) { - super(new Memory(size)); - } - - public TOKEN_OWNER(Pointer memory) { - super(memory); - read(); - } - - /** - * Pointer to a SID structure representing a user who will become the - * owner of any objects created by a process using this access token. - * The SID must be one of the user or group SIDs already in the token. - */ - public PSID.ByReference Owner; // PSID - } - - public static class PSID extends Structure { - public static class ByReference extends PSID implements Structure.ByReference { } - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "sid" }); - } - - public PSID() { - super(); - } - - public PSID(byte[] data) { - super(new Memory(data.length)); - getPointer().write(0, data, 0, data.length); - read(); - } - - public PSID(int size) { - super(new Memory(size)); - } - - public PSID(Pointer memory) { - super(memory); - read(); - } - - public byte[] getBytes() { - int len = Advapi32.INSTANCE.GetLengthSid(this); - return getPointer().getByteArray(0, len); - } - - public Pointer sid; - } - - public static class PSIDByReference extends ByReference { - public PSIDByReference() { - this(null); - } - - public PSIDByReference(PSID h) { - super(Pointer.SIZE); - setValue(h); - } - - public void setValue(PSID h) { - getPointer().setPointer(0, h != null ? h.getPointer() : null); - } - - public PSID getValue() { - Pointer p = getPointer().getPointer(0); - if (p == null) { - return null; - } - else { - return new PSID(p); - } - } - } - - /** - * The TOKEN_USER structure identifies the user associated with an access - * token. - */ - public static class TOKEN_USER extends Structure { - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "User" }); - } - - public TOKEN_USER() { - super(); - } - - public TOKEN_USER(Pointer memory) { - super(memory); - read(); - } - - public TOKEN_USER(int size) { - super(new Memory(size)); - } - - /** - * Specifies a SID_AND_ATTRIBUTES structure representing the user - * associated with the access token. There are currently no attributes - * defined for user security identifiers (SIDs). - */ - public SID_AND_ATTRIBUTES User; - } - - /** - * The TOKEN_GROUPS structure contains information about the group security - * identifiers (SIDs) in an access token. - */ - public static class TOKEN_GROUPS extends Structure { - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "GroupCount", "Group0" }); - } - - public TOKEN_GROUPS() { - super(); - } - - public TOKEN_GROUPS(Pointer memory) { - super(memory); - read(); - } - - public TOKEN_GROUPS(int size) { - super(new Memory(size)); - } - - /** - * Specifies the number of groups in the access token. - */ - public int GroupCount; - public SID_AND_ATTRIBUTES Group0; - - /** - * Specifies an array of SID_AND_ATTRIBUTES structures that contain a - * set of SIDs and corresponding attributes. - */ - public SID_AND_ATTRIBUTES[] getGroups() { - return (SID_AND_ATTRIBUTES[]) Group0.toArray(GroupCount); - } - } - - /** - * The TOKEN_PRIVILEGES structure contains information about a set of - * privileges for an access token. - */ - public static class TOKEN_PRIVILEGES extends Structure { - /** - * This must be set to the number of entries in the Privileges array. - */ - public DWORD PrivilegeCount; - - /** - * Specifies an array of LUID_AND_ATTRIBUTES structures. Each structure - * contains the LUID and attributes of a privilege. - */ - public LUID_AND_ATTRIBUTES Privileges[]; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "PrivilegeCount", "Privileges" }); - } - - /** - * @param nbOfPrivileges - * Desired size of the Privileges array - */ - public TOKEN_PRIVILEGES(int nbOfPrivileges) { - PrivilegeCount = new DWORD(nbOfPrivileges); - Privileges = new LUID_AND_ATTRIBUTES[nbOfPrivileges]; - } - } - - /** - * The SID_NAME_USE enumeration type contains values that specify the type - * of a security identifier (SID). - */ - public abstract class SID_NAME_USE { - /** - * Indicates a user SID. - */ - public static final int SidTypeUser = 1; - - /** - * Indicates a group SID. - */ - public static final int SidTypeGroup = 2; - - /** - * Indicates a domain SID. - */ - public static final int SidTypeDomain = 3; - - /** - * Indicates an alias SID. - */ - public static final int SidTypeAlias = 4; - - /** - * Indicates a SID for a well-known group. - */ - public static final int SidTypeWellKnownGroup = 5; - - /** - * Indicates a SID for a deleted account. - */ - public static final int SidTypeDeletedAccount = 6; - - /** - * Indicates an invalid SID. - */ - public static final int SidTypeInvalid = 7; - - /** - * Indicates an unknown SID type. - */ - public static final int SidTypeUnknown = 8; - - /** - * Indicates a SID for a computer. - */ - public static final int SidTypeComputer = 9; - - /** - * ? - */ - public static final int SidTypeLabel = 10; - } - - /* File access rights */ - int FILE_READ_DATA = 0x00000001; - int FILE_LIST_DIRECTORY = 0x00000001; - int FILE_WRITE_DATA = 0x00000002; - int FILE_ADD_FILE = 0x00000002; - int FILE_APPEND_DATA = 0x00000004; - int FILE_ADD_SUBDIRECTORY = 0x00000004; - int FILE_CREATE_PIPE_INSTANCE = 0x00000004; - int FILE_READ_EA = 0x00000008; - int FILE_WRITE_EA = 0x00000010; - int FILE_EXECUTE = 0x00000020; - int FILE_TRAVERSE = 0x00000020; - int FILE_DELETE_CHILD = 0x00000040; - int FILE_READ_ATTRIBUTES = 0x00000080; - int FILE_WRITE_ATTRIBUTES = 0x00000100; - - int FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x000001FF; - - int FILE_GENERIC_READ = STANDARD_RIGHTS_READ | SYNCHRONIZE | FILE_READ_DATA - | FILE_READ_ATTRIBUTES | FILE_READ_EA; - - int FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | SYNCHRONIZE - | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA - | FILE_APPEND_DATA; - - int FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE - | FILE_READ_ATTRIBUTES | FILE_EXECUTE; - - int CREATE_NEW = 1; - int CREATE_ALWAYS = 2; - int OPEN_EXISTING = 3; - int OPEN_ALWAYS = 4; - int TRUNCATE_EXISTING = 5; - - int FILE_FLAG_WRITE_THROUGH = 0x80000000; - int FILE_FLAG_OVERLAPPED = 0x40000000; - int FILE_FLAG_NO_BUFFERING = 0x20000000; - int FILE_FLAG_RANDOM_ACCESS = 0x10000000; - int FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000; - int FILE_FLAG_DELETE_ON_CLOSE = 0x04000000; - int FILE_FLAG_BACKUP_SEMANTICS = 0x02000000; - int FILE_FLAG_POSIX_SEMANTICS = 0x01000000; - int FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000; - int FILE_FLAG_OPEN_NO_RECALL = 0x00100000; - - // - // These are the generic rights. - // - - int GENERIC_READ = 0x80000000; - int GENERIC_WRITE = 0x40000000; - int GENERIC_EXECUTE = 0x20000000; - int GENERIC_ALL = 0x10000000; - - // - // AccessSystemAcl access type - // - - int ACCESS_SYSTEM_SECURITY = 0x01000000; - - int PAGE_READONLY = 0x02; - int PAGE_READWRITE = 0x04; - int PAGE_WRITECOPY = 0x08; - int PAGE_EXECUTE = 0x10; - int PAGE_EXECUTE_READ = 0x20; - int PAGE_EXECUTE_READWRITE = 0x40; - - int SECTION_QUERY = 0x0001; - int SECTION_MAP_WRITE = 0x0002; - int SECTION_MAP_READ = 0x0004; - int SECTION_MAP_EXECUTE = 0x0008; - int SECTION_EXTEND_SIZE = 0x0010; - - int FILE_SHARE_READ = 0x00000001; - int FILE_SHARE_WRITE = 0x00000002; - int FILE_SHARE_DELETE = 0x00000004; - int FILE_TYPE_CHAR = 0x0002; - int FILE_TYPE_DISK = 0x0001; - int FILE_TYPE_PIPE = 0x0003; - int FILE_TYPE_REMOTE = 0x8000; - int FILE_TYPE_UNKNOWN = 0x0000; - int FILE_ATTRIBUTE_READONLY = 0x00000001; - int FILE_ATTRIBUTE_HIDDEN = 0x00000002; - int FILE_ATTRIBUTE_SYSTEM = 0x00000004; - int FILE_ATTRIBUTE_DIRECTORY = 0x00000010; - int FILE_ATTRIBUTE_ARCHIVE = 0x00000020; - int FILE_ATTRIBUTE_DEVICE = 0x00000040; - int FILE_ATTRIBUTE_NORMAL = 0x00000080; - int FILE_ATTRIBUTE_TEMPORARY = 0x00000100; - int FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200; - int FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400; - int FILE_ATTRIBUTE_COMPRESSED = 0x00000800; - int FILE_ATTRIBUTE_OFFLINE = 0x00001000; - int FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000; - int FILE_ATTRIBUTE_ENCRYPTED = 0x00004000; - int FILE_ATTRIBUTE_VIRTUAL = 0x00010000; - int FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001; - int FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002; - int FILE_NOTIFY_CHANGE_NAME = 0x00000003; - int FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004; - int FILE_NOTIFY_CHANGE_SIZE = 0x00000008; - int FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010; - int FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020; - int FILE_NOTIFY_CHANGE_CREATION = 0x00000040; - int FILE_NOTIFY_CHANGE_SECURITY = 0x00000100; - int FILE_ACTION_ADDED = 0x00000001; - int FILE_ACTION_REMOVED = 0x00000002; - int FILE_ACTION_MODIFIED = 0x00000003; - int FILE_ACTION_RENAMED_OLD_NAME = 0x00000004; - int FILE_ACTION_RENAMED_NEW_NAME = 0x00000005; - int FILE_CASE_SENSITIVE_SEARCH = 0x00000001; - int FILE_CASE_PRESERVED_NAMES = 0x00000002; - int FILE_UNICODE_ON_DISK = 0x00000004; - int FILE_PERSISTENT_ACLS = 0x00000008; - int FILE_FILE_COMPRESSION = 0x00000010; - int FILE_VOLUME_QUOTAS = 0x00000020; - int FILE_SUPPORTS_SPARSE_FILES = 0x00000040; - int FILE_SUPPORTS_REPARSE_POINTS = 0x00000080; - int FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100; - int FILE_VOLUME_IS_COMPRESSED = 0x00008000; - int FILE_SUPPORTS_OBJECT_IDS = 0x00010000; - int FILE_SUPPORTS_ENCRYPTION = 0x00020000; - int FILE_NAMED_STREAMS = 0x00040000; - int FILE_READ_ONLY_VOLUME = 0x00080000; - int FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000; - int FILE_SUPPORTS_TRANSACTIONS = 0x00200000; - - /** - * The FILE_NOTIFY_INFORMATION structure describes the changes found by the - * ReadDirectoryChangesW function. - * - * This structure is non-trivial since it is a pattern stamped into a large - * block of result memory rather than something that stands alone or is used - * for input. - */ - public static class FILE_NOTIFY_INFORMATION extends Structure { - public int NextEntryOffset; - public int Action; - public int FileNameLength; - // filename is not nul-terminated, so we can't use a String/WString - public char[] FileName = new char[1]; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "NextEntryOffset", "Action", "FileNameLength", "FileName" }); - } - - private FILE_NOTIFY_INFORMATION() { - } - - public FILE_NOTIFY_INFORMATION(int size) { - if (size < size()) { - throw new IllegalArgumentException("Size must greater than " - + size() + ", requested " + size); - } - allocateMemory(size); - } - - /** - * WARNING: this filename may be either the short or long form of the - * filename. - */ - public String getFilename() { - return new String(FileName, 0, FileNameLength / 2); - } - - public void read() { - // avoid reading filename until we know how long it is - FileName = new char[0]; - super.read(); - FileName = getPointer().getCharArray(12, FileNameLength / 2); - } - - public FILE_NOTIFY_INFORMATION next() { - if (NextEntryOffset == 0) { - return null; - } - FILE_NOTIFY_INFORMATION next = new FILE_NOTIFY_INFORMATION(); - next.useMemory(getPointer(), NextEntryOffset); - next.read(); - return next; - } - } - - /** - * Registry options. - */ - int KEY_QUERY_VALUE = 0x0001; - int KEY_SET_VALUE = 0x0002; - int KEY_CREATE_SUB_KEY = 0x0004; - int KEY_ENUMERATE_SUB_KEYS = 0x0008; - int KEY_NOTIFY = 0x0010; - int KEY_CREATE_LINK = 0x0020; - int KEY_WOW64_32KEY = 0x0200; - int KEY_WOW64_64KEY = 0x0100; - int KEY_WOW64_RES = 0x0300; - - int KEY_READ = STANDARD_RIGHTS_READ | KEY_QUERY_VALUE - | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY & (~SYNCHRONIZE); - - int KEY_WRITE = STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY - & (~SYNCHRONIZE); - - int KEY_EXECUTE = KEY_READ & (~SYNCHRONIZE); - - int KEY_ALL_ACCESS = STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE - | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY - | KEY_CREATE_LINK & (~SYNCHRONIZE); - - // - // Open/Create Options - // - - /** - * Parameter is reserved. - */ - int REG_OPTION_RESERVED = 0x00000000; - - /** - * Key is preserved when system is rebooted. - */ - int REG_OPTION_NON_VOLATILE = 0x00000000; - - /** - * Key is not preserved when system is rebooted. - */ - int REG_OPTION_VOLATILE = 0x00000001; - - /** - * Created key is a symbolic link. - */ - int REG_OPTION_CREATE_LINK = 0x00000002; - - /** - * Open for backup or restore special access rules privilege required. - */ - int REG_OPTION_BACKUP_RESTORE = 0x00000004; - - /** - * Open symbolic link. - */ - int REG_OPTION_OPEN_LINK = 0x00000008; - - int REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE - | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK - | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK; - - // - // Key creation/open disposition - // - - /** - * New Registry Key created. - */ - int REG_CREATED_NEW_KEY = 0x00000001; - - /** - * Existing Key opened. - */ - int REG_OPENED_EXISTING_KEY = 0x00000002; - - int REG_STANDARD_FORMAT = 1; - int REG_LATEST_FORMAT = 2; - int REG_NO_COMPRESSION = 4; - - // - // Key restore & hive load flags - // - - /** - * Restore whole hive volatile. - */ - int REG_WHOLE_HIVE_VOLATILE = 0x00000001; - - /** - * Unwind changes to last flush. - */ - int REG_REFRESH_HIVE = 0x00000002; - - /** - * Never lazy flush this hive. - */ - int REG_NO_LAZY_FLUSH = 0x00000004; - - /** - * Force the restore process even when we have open handles on subkeys. - */ - int REG_FORCE_RESTORE = 0x00000008; - - /** - * Loads the hive visible to the calling process. - */ - int REG_APP_HIVE = 0x00000010; - - /** - * Hive cannot be mounted by any other process while in use. - */ - int REG_PROCESS_PRIVATE = 0x00000020; - - /** - * Starts Hive Journal. - */ - int REG_START_JOURNAL = 0x00000040; - - /** - * Grow hive file in exact 4k increments. - */ - int REG_HIVE_EXACT_FILE_GROWTH = 0x00000080; - - /** - * No RM is started for this hive = no transactions. - */ - int REG_HIVE_NO_RM = 0x00000100; - - /** - * Legacy single logging is used for this hive. - */ - int REG_HIVE_SINGLE_LOG = 0x00000200; - - // - // Unload Flags - // - - int REG_FORCE_UNLOAD = 1; - - // - // Notify filter values - // - - int REG_NOTIFY_CHANGE_NAME = 0x00000001; - int REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002; - int REG_NOTIFY_CHANGE_LAST_SET = 0x00000004; - int REG_NOTIFY_CHANGE_SECURITY = 0x00000008; - - int REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME - | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET - | REG_NOTIFY_CHANGE_SECURITY; - - // - // Predefined Value Types. - // - - /** - * No value type. - */ - int REG_NONE = 0; - - /** - * Unicode null-terminated string. - */ - int REG_SZ = 1; - - /** - * Unicode null-terminated string with environment variable references. - */ - int REG_EXPAND_SZ = 2; - - /** - * Free-formed binary. - */ - int REG_BINARY = 3; - - /** - * 32-bit number. - */ - int REG_DWORD = 4; - - /** - * 32-bit number, same as REG_DWORD. - */ - int REG_DWORD_LITTLE_ENDIAN = 4; - - /** - * 32-bit number. - */ - int REG_DWORD_BIG_ENDIAN = 5; - - /** - * Symbolic link (unicode). - */ - int REG_LINK = 6; - - /** - * Multiple unicode strings. - */ - int REG_MULTI_SZ = 7; - - /** - * Resource list in the resource map. - */ - int REG_RESOURCE_LIST = 8; - - /** - * Resource list in the hardware description. - */ - int REG_FULL_RESOURCE_DESCRIPTOR = 9; - - /** - * - */ - int REG_RESOURCE_REQUIREMENTS_LIST = 10; - - /** - * 64-bit number. - */ - int REG_QWORD = 11; - - /** - * 64-bit number, same as REG_QWORD. - */ - int REG_QWORD_LITTLE_ENDIAN = 11; - - /** - * A 64-bit value that is guaranteed to be unique on the operating system - * that generated it until the system is restarted. - */ - public static class LUID extends Structure { - public int LowPart; - public int HighPart; - protected List getFieldOrder() { - return Arrays.asList(new String[] { "LowPart", "HighPart" }); - } - } - - /** - * A 64-bit integer; - */ - public static class LARGE_INTEGER extends Structure { - public static class ByReference extends LARGE_INTEGER implements - Structure.ByReference { - } - - public static class LowHigh extends Structure { - public DWORD LowPart; - public DWORD HighPart; - protected List getFieldOrder() { - return Arrays.asList(new String[] { "LowPart", "HighPart" }); - } - } - - public static class UNION extends Union { - public LowHigh lh; - public long value; - } - - public UNION u; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "u" }); - } - - /** - * Low DWORD. - * - * @return DWORD. - */ - public DWORD getLow() { - return u.lh.LowPart; - } - - /** - * High DWORD. - * - * @return DWORD. - */ - public DWORD getHigh() { - return u.lh.HighPart; - } - - /** - * 64-bit value. - * - * @return 64-bit value. - */ - public long getValue() { - return u.value; - } - } - - /** - * Handle to an object. - */ - public static class HANDLE extends PointerType { - private boolean immutable; - - public HANDLE() { - } - - public HANDLE(Pointer p) { - setPointer(p); - immutable = true; - } - - /** Override to the appropriate object for INVALID_HANDLE_VALUE. */ - public Object fromNative(Object nativeValue, FromNativeContext context) { - Object o = super.fromNative(nativeValue, context); - if (WinBase.INVALID_HANDLE_VALUE.equals(o)) { - return WinBase.INVALID_HANDLE_VALUE; - } - return o; - } - - public void setPointer(Pointer p) { - if (immutable) { - throw new UnsupportedOperationException("immutable reference"); - } - - super.setPointer(p); - } - } - - /** - * LPHANDLE - */ - public static class HANDLEByReference extends ByReference { - public HANDLEByReference() { - this(null); - } - - public HANDLEByReference(HANDLE h) { - super(Pointer.SIZE); - setValue(h); - } - - public void setValue(HANDLE h) { - getPointer().setPointer(0, h != null ? h.getPointer() : null); - } - - public HANDLE getValue() { - Pointer p = getPointer().getPointer(0); - if (p == null) { - return null; - } - if (WinBase.INVALID_HANDLE_VALUE.getPointer().equals(p)) { - return WinBase.INVALID_HANDLE_VALUE; - } - HANDLE h = new HANDLE(); - h.setPointer(p); - return h; - } - } - - /** - * Return code used by interfaces. It is zero upon success and nonzero to - * represent an error code or status information. - */ - class HRESULT extends NativeLong { - public HRESULT() { - } - - public HRESULT(int value) { - super(value); - } - } - - /** - * The WELL_KNOWN_SID_TYPE enumeration type is a list of commonly used - * security identifiers (SIDs). Programs can pass these values to the - * CreateWellKnownSid function to create a SID from this list. - */ - public abstract class WELL_KNOWN_SID_TYPE { - /** - * Indicates a null SID. - */ - public static final int WinNullSid = 0; - - /** - * Indicates a SID that matches everyone. - */ - public static final int WinWorldSid = 1; - - /** - * Indicates a local SID. - */ - public static final int WinLocalSid = 2; - - /** - * Indicates a SID that matches the owner or creator of an object. - */ - public static final int WinCreatorOwnerSid = 3; - - /** - * Indicates a SID that matches the creator group of an object. - */ - public static final int WinCreatorGroupSid = 4; - - /** - * Indicates a creator owner server SID. - */ - public static final int WinCreatorOwnerServerSid = 5; - - /** - * Indicates a creator group server SID. - */ - public static final int WinCreatorGroupServerSid = 6; - - /** - * Indicates a SID for the Windows NT authority. - */ - public static final int WinNtAuthoritySid = 7; - - /** - * Indicates a SID for a dial-up account. - */ - public static final int WinDialupSid = 8; - - /** - * Indicates a SID for a network account. This SID is added to the - * process of a token when it logs on across a network. The - * corresponding logon type is LOGON32_LOGON_NETWORK. - */ - public static final int WinNetworkSid = 9; - - /** - * Indicates a SID for a batch process. This SID is added to the process - * of a token when it logs on as a batch job. The corresponding logon - * type is LOGON32_LOGON_BATCH. - */ - public static final int WinBatchSid = 10; - - /** - * Indicates a SID for an interactive account. This SID is added to the - * process of a token when it logs on interactively. The corresponding - * logon type is LOGON32_LOGON_INTERACTIVE. - */ - public static final int WinInteractiveSid = 11; - - /** - * Indicates a SID for a service. This SID is added to the process of a - * token when it logs on as a service. The corresponding logon type is - * LOGON32_LOGON_bSERVICE. - */ - public static final int WinServiceSid = 12; - - /** - * Indicates a SID for the anonymous account. - */ - public static final int WinAnonymousSid = 13; - - /** - * Indicates a proxy SID. - */ - public static final int WinProxySid = 14; - - /** - * Indicates a SID for an enterprise controller. - */ - public static final int WinEnterpriseControllersSid = 15; - - /** - * Indicates a SID for self. - */ - public static final int WinSelfSid = 16; - - /** - * Indicates a SID that matches any authenticated user. - */ - public static final int WinAuthenticatedUserSid = 17; - - /** - * Indicates a SID for restricted code. - */ - public static final int WinRestrictedCodeSid = 18; - - /** - * Indicates a SID that matches a terminal server account. - */ - public static final int WinTerminalServerSid = 19; - - /** - * Indicates a SID that matches remote logons. - */ - public static final int WinRemoteLogonIdSid = 20; - - /** - * Indicates a SID that matches logon IDs. - */ - public static final int WinLogonIdsSid = 21; - - /** - * Indicates a SID that matches the local system. - */ - public static final int WinLocalSystemSid = 22; - - /** - * Indicates a SID that matches a local service. - */ - public static final int WinLocalServiceSid = 23; - - /** - * Indicates a SID that matches a network service. - */ - public static final int WinNetworkServiceSid = 24; - - /** - * Indicates a SID that matches the domain account. - */ - public static final int WinBuiltinDomainSid = 25; - - /** - * Indicates a SID that matches the administrator account. - */ - public static final int WinBuiltinAdministratorsSid = 26; - - /** - * Indicates a SID that matches built-in user accounts. - */ - public static final int WinBuiltinUsersSid = 27; - - /** - * Indicates a SID that matches the guest account. - */ - public static final int WinBuiltinGuestsSid = 28; - - /** - * Indicates a SID that matches the power users group. - */ - public static final int WinBuiltinPowerUsersSid = 29; - - /** - * Indicates a SID that matches the account operators account. - */ - public static final int WinBuiltinAccountOperatorsSid = 30; - - /** - * Indicates a SID that matches the system operators group. - */ - public static final int WinBuiltinSystemOperatorsSid = 31; - - /** - * Indicates a SID that matches the print operators group. - */ - public static final int WinBuiltinPrintOperatorsSid = 32; - - /** - * Indicates a SID that matches the backup operators group. - */ - public static final int WinBuiltinBackupOperatorsSid = 33; - - /** - * Indicates a SID that matches the replicator account. - */ - public static final int WinBuiltinReplicatorSid = 34; - - /** - * Indicates a SID that matches pre-Windows 2000 compatible accounts. - */ - public static final int WinBuiltinPreWindows2000CompatibleAccessSid = 35; - - /** - * Indicates a SID that matches remote desktop users. - */ - public static final int WinBuiltinRemoteDesktopUsersSid = 36; - - /** - * Indicates a SID that matches the network operators group. - */ - public static final int WinBuiltinNetworkConfigurationOperatorsSid = 37; - - /** - * Indicates a SID that matches the account administrators group. - */ - public static final int WinAccountAdministratorSid = 38; - - /** - * Indicates a SID that matches the account guest group. - */ - public static final int WinAccountGuestSid = 39; - - /** - * Indicates a SID that matches account Kerberos target group. - */ - public static final int WinAccountKrbtgtSid = 40; - - /** - * Indicates a SID that matches the account domain administrator group. - */ - public static final int WinAccountDomainAdminsSid = 41; - - /** - * Indicates a SID that matches the account domain users group. - */ - public static final int WinAccountDomainUsersSid = 42; - - /** - * Indicates a SID that matches the account domain guests group. - */ - public static final int WinAccountDomainGuestsSid = 43; - - /** - * Indicates a SID that matches the account computer group. - */ - public static final int WinAccountComputersSid = 44; - - /** - * Indicates a SID that matches the account controller group. - */ - public static final int WinAccountControllersSid = 45; - - /** - * Indicates a SID that matches the certificate administrators group. - */ - public static final int WinAccountCertAdminsSid = 46; - - /** - * Indicates a SID that matches the schema administrators group. - */ - public static final int WinAccountSchemaAdminsSid = 47; - - /** - * Indicates a SID that matches the enterprise administrators group. - */ - public static final int WinAccountEnterpriseAdminsSid = 48; - - /** - * Indicates a SID that matches the policy administrators group. - */ - public static final int WinAccountPolicyAdminsSid = 49; - - /** - * Indicates a SID that matches the RAS and IAS server account. - */ - public static final int WinAccountRasAndIasServersSid = 50; - - /** - * Indicates a SID present when the Microsoft NTLM authentication - * package authenticated the client. - */ - public static final int WinNTLMAuthenticationSid = 51; - - /** - * Indicates a SID present when the Microsoft Digest authentication - * package authenticated the client. - */ - public static final int WinDigestAuthenticationSid = 52; - - /** - * Indicates a SID present when the Secure Channel (SSL/TLS) - * authentication package authenticated the client. - */ - public static final int WinSChannelAuthenticationSid = 53; - - /** - * Indicates a SID present when the user authenticated from within the - * forest or across a trust that does not have the selective - * authentication option enabled. If this SID is present, then - * WinOtherOrganizationSid cannot be present. - */ - public static final int WinThisOrganizationSid = 54; - - /** - * Indicates a SID present when the user authenticated across a forest - * with the selective authentication option enabled. If this SID is - * present, then WinThisOrganizationSid cannot be present. - */ - public static final int WinOtherOrganizationSid = 55; - - /** - * Indicates a SID that allows a user to create incoming forest trusts. - * It is added to the token of users who are a member of the Incoming - * Forest Trust Builders built-in group in the root domain of the - * forest. - */ - public static final int WinBuiltinIncomingForestTrustBuildersSid = 56; - - /** - * Indicates a SID that matches the performance monitor user group. - */ - public static final int WinBuiltinPerfMonitoringUsersSid = 57; - - /** - * Indicates a SID that matches the performance log user group. - */ - public static final int WinBuiltinPerfLoggingUsersSid = 58; - - /** - * Indicates a SID that matches the Windows Authorization Access group. - */ - public static final int WinBuiltinAuthorizationAccessSid = 59; - - /** - * Indicates a SID is present in a server that can issue Terminal Server - * licenses. - */ - public static final int WinBuiltinTerminalServerLicenseServersSid = 60; - - /** - * - */ - public static final int WinBuiltinDCOMUsersSid = 61; - - /** - * - */ - public static final int WinBuiltinIUsersSid = 62; - - /** - * - */ - public static final int WinIUserSid = 63; - - /** - * - */ - public static final int WinBuiltinCryptoOperatorsSid = 64; - - /** - * - */ - public static final int WinUntrustedLabelSid = 65; - - /** - * - */ - public static final int WinLowLabelSid = 66; - - /** - * - */ - public static final int WinMediumLabelSid = 67; - - /** - * - */ - public static final int WinHighLabelSid = 68; - - /** - * - */ - public static final int WinSystemLabelSid = 69; - - /** - * - */ - public static final int WinWriteRestrictedCodeSid = 70; - - /** - * - */ - public static final int WinCreatorOwnerRightsSid = 71; - - /** - * - */ - public static final int WinCacheablePrincipalsGroupSid = 72; - - /** - * - */ - public static final int WinNonCacheablePrincipalsGroupSid = 73; - - /** - * - */ - public static final int WinEnterpriseReadonlyControllersSid = 74; - - /** - * Indicates a SID that matches a read-only enterprise domain - * controller. - */ - public static final int WinAccountReadonlyControllersSid = 75; - - /** - * Indicates a SID that matches the built-in DCOM certification services - * access group. - */ - public static final int WinBuiltinEventLogReadersGroup = 76; - } - - /** - * Current SID revision level. - */ - int SID_REVISION = 1; - int SID_MAX_SUB_AUTHORITIES = 15; - int SID_RECOMMENDED_SUB_AUTHORITIES = 1; - - /** - * Maximum bytes used by a SID. (sizeof(SID) - sizeof(DWORD) + - * (SID_MAX_SUB_AUTHORITIES * sizeof(DWORD))) - */ - int SECURITY_MAX_SID_SIZE = 68; - - /** - * The OSVERSIONINFO data structure contains operating system version - * information. The information includes major and minor version numbers, a - * build number, a platform identifier, and descriptive text about the - * operating system. This structure is used with the GetVersionEx function. - */ - public static class OSVERSIONINFO extends Structure { - /** - * Size of this data structure, in bytes. Set this member to - * sizeof(OSVERSIONINFO) before calling the GetVersionEx function. - */ - public DWORD dwOSVersionInfoSize; - - /** - * Major version number of the operating system. - */ - public DWORD dwMajorVersion; - - /** - * Minor version number of the operating system. - */ - public DWORD dwMinorVersion; - - /** - * Build number of the operating system. - */ - public DWORD dwBuildNumber; - - /** - * Operating system platform. - */ - public DWORD dwPlatformId; - - /** - * Pointer to a null-terminated string, such as "Service Pack 3", that - * indicates the latest Service Pack installed on the system. - */ - public char szCSDVersion[]; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "dwOSVersionInfoSize", "dwMajorVersion", "dwMinorVersion", "dwBuildNumber", "dwPlatformId", "szCSDVersion" }); - } - - public OSVERSIONINFO() { - szCSDVersion = new char[128]; - dwOSVersionInfoSize = new DWORD(size()); // sizeof(OSVERSIONINFO) - } - - public OSVERSIONINFO(Pointer memory) { - super(memory); - read(); - } - } - - /** - * Contains operating system version information. The information includes - * major and minor version numbers, a build number, a platform identifier, - * and information about product suites and the latest Service Pack - * installed on the system. - */ - public static class OSVERSIONINFOEX extends Structure { - /** - * The size of this data structure, in bytes. - */ - public DWORD dwOSVersionInfoSize; - - /** - * The major version number of the operating system. - */ - public DWORD dwMajorVersion; - - /** - * The minor version number of the operating system. - */ - public DWORD dwMinorVersion; - - /** - * The build number of the operating system. - */ - public DWORD dwBuildNumber; - - /** - * The operating system platform. This member can be - * VER_PLATFORM_WIN32_NT. - */ - public DWORD dwPlatformId; - - /** - * A null-terminated string, such as "Service Pack 3", that indicates - * the latest Service Pack installed on the system. If no Service Pack - * has been installed, the string is empty. - */ - public char szCSDVersion[]; - - /** - * The major version number of the latest Service Pack installed on the - * system. For example, for Service Pack 3, the major version number is - * 3. If no Service Pack has been installed, the value is zero. - */ - public WORD wServicePackMajor; - - /** - * The minor version number of the latest Service Pack installed on the - * system. For example, for Service Pack 3, the minor version number is - * 0. - */ - public WORD wServicePackMinor; - - /** - * A bit mask that identifies the product suites available on the - * system. - */ - public WORD wSuiteMask; - - /** - * Any additional information about the system. - */ - public byte wProductType; - - /** - * Reserved for future use. - */ - public byte wReserved; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "dwOSVersionInfoSize", "dwMajorVersion", "dwMinorVersion", "dwBuildNumber", "dwPlatformId", "szCSDVersion", "wServicePackMajor", "wServicePackMinor", "wSuiteMask", "wProductType", "wReserved"}); - } - - public OSVERSIONINFOEX() { - szCSDVersion = new char[128]; - dwOSVersionInfoSize = new DWORD(size()); // sizeof(OSVERSIONINFOEX) - } - - public OSVERSIONINFOEX(Pointer memory) { - super(memory); - read(); - } - } - - int VER_EQUAL = 1; - int VER_GREATER = 2; - int VER_GREATER_EQUAL = 3; - int VER_LESS = 4; - int VER_LESS_EQUAL = 5; - int VER_AND = 6; - int VER_OR = 7; - - int VER_CONDITION_MASK = 7; - int VER_NUM_BITS_PER_CONDITION_MASK = 3; - - int VER_MINORVERSION = 0x0000001; - int VER_MAJORVERSION = 0x0000002; - int VER_BUILDNUMBER = 0x0000004; - int VER_PLATFORMID = 0x0000008; - int VER_SERVICEPACKMINOR = 0x0000010; - int VER_SERVICEPACKMAJOR = 0x0000020; - int VER_SUITENAME = 0x0000040; - int VER_PRODUCT_TYPE = 0x0000080; - - int VER_NT_WORKSTATION = 0x0000001; - int VER_NT_DOMAIN_CONTROLLER = 0x0000002; - int VER_NT_SERVER = 0x0000003; - - int VER_PLATFORM_WIN32s = 0; - int VER_PLATFORM_WIN32_WINDOWS = 1; - int VER_PLATFORM_WIN32_NT = 2; - - /** - * Read the records sequentially. If this is the first read operation, the - * EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ flags determines which - * record is read first. - */ - int EVENTLOG_SEQUENTIAL_READ = 0x0001; - - /** - * Begin reading from the record specified in the dwRecordOffset parameter. - * This option may not work with large log files if the function cannot - * determine the log file's size. For details, see Knowledge Base article, - * 177199. - */ - int EVENTLOG_SEEK_READ = 0x0002; - - /** - * The log is read in chronological order (oldest to newest). The default. - */ - int EVENTLOG_FORWARDS_READ = 0x0004; - - /** - * The log is read in reverse chronological order (newest to oldest). - */ - int EVENTLOG_BACKWARDS_READ = 0x0008; - - /** - * Information event - */ - int EVENTLOG_SUCCESS = 0x0000; - - /** - * Error event - */ - int EVENTLOG_ERROR_TYPE = 0x0001; - - /** - * Warning event - */ - int EVENTLOG_WARNING_TYPE = 0x0002; - - /** - * Information event - */ - int EVENTLOG_INFORMATION_TYPE = 0x0004; - - /** - * Success Audit event - */ - int EVENTLOG_AUDIT_SUCCESS = 0x0008; - - /** - * Failure Audit event - */ - int EVENTLOG_AUDIT_FAILURE = 0x0010; - - /** - * The EVENTLOGRECORD structure contains information about an event record - * returned by the ReadEventLog function. - */ - public static class EVENTLOGRECORD extends Structure { - /** - * Size of this event record, in bytes. Note that this value is stored - * at both ends of the entry to ease moving forward or backward through - * the log. The length includes any pad bytes inserted at the end of the - * record for DWORD alignment. - */ - public DWORD Length; - - /** - * Reserved. - */ - public DWORD Reserved; - - /** - * Record number of the record. This value can be used with the - * EVENTLOG_SEEK_READ flag in the ReadEventLog function to begin reading - * at a specified record. - */ - public DWORD RecordNumber; - - /** - * Time at which this entry was submitted. This time is measured in the - * number of seconds elapsed since 00:00:00 January 1, 1970, Universal - * Coordinated Time. - */ - public DWORD TimeGenerated; - - /** - * Time at which this entry was received by the service to be written to - * the log. This time is measured in the number of seconds elapsed since - * 00:00:00 January 1, 1970, Universal Coordinated Time. - */ - public DWORD TimeWritten; - - /** - * Event identifier. The value is specific to the event source for the - * event, and is used with source name to locate a description string in - * the message file for the event source. - */ - public DWORD EventID; - - /** - * Type of event. - */ - public WORD EventType; - - /** - * Number of strings present in the log (at the position indicated by - * StringOffset). These strings are merged into the message before it is - * displayed to the user. - */ - public WORD NumStrings; - - /** - * Category for this event. The meaning of this value depends on the - * event source. - */ - public WORD EventCategory; - - /** - * Reserved. - */ - public WORD ReservedFlags; - - /** - * Reserved. - */ - public DWORD ClosingRecordNumber; - - /** - * Offset of the description strings within this event log record. - */ - public DWORD StringOffset; - - /** - * Size of the UserSid member, in bytes. This value can be zero if no - * security identifier was provided. - */ - public DWORD UserSidLength; - - /** - * Offset of the security identifier (SID) within this event log record. - * To obtain the user name for this SID, use the LookupAccountSid - * function. - */ - public DWORD UserSidOffset; - - /** - * Size of the event-specific data (at the position indicated by - * DataOffset), in bytes. - */ - public DWORD DataLength; - - /** - * Offset of the event-specific information within this event log - * record, in bytes. This information could be something specific (a - * disk driver might log the number of retries, for example), followed - * by binary information specific to the event being logged and to the - * source that generated the entry. - */ - public DWORD DataOffset; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "Length", "Reserved", "RecordNumber", "TimeGenerated", "TimeWritten", "EventID", "EventType", "NumStrings", "EventCategory", "ReservedFlags", "ClosingRecordNumber", "StringOffset", "UserSidLength", "UserSidOffset", "DataLength", "DataOffset"}); - } - - public EVENTLOGRECORD() { - } - - public EVENTLOGRECORD(Pointer p) { - super(p); - read(); - } - } - - // - // Service Types (Bit Mask) - // - int SERVICE_KERNEL_DRIVER = 0x00000001; - int SERVICE_FILE_SYSTEM_DRIVER = 0x00000002; - int SERVICE_ADAPTER = 0x00000004; - int SERVICE_RECOGNIZER_DRIVER = 0x00000008; - int SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER - | SERVICE_RECOGNIZER_DRIVER; - int SERVICE_WIN32_OWN_PROCESS = 0x00000010; - int SERVICE_WIN32_SHARE_PROCESS = 0x00000020; - int SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS; - int SERVICE_INTERACTIVE_PROCESS = 0x00000100; - int SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER - | SERVICE_INTERACTIVE_PROCESS; - int STATUS_PENDING = 0x00000103; - - // Privilege Constants - String SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; - String SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; - String SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; - String SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; - String SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; - String SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; - String SE_TCB_NAME = "SeTcbPrivilege"; - String SE_SECURITY_NAME = "SeSecurityPrivilege"; - String SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; - String SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; - String SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; - String SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; - String SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; - String SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; - String SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; - String SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; - String SE_BACKUP_NAME = "SeBackupPrivilege"; - String SE_RESTORE_NAME = "SeRestorePrivilege"; - String SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; - String SE_DEBUG_NAME = "SeDebugPrivilege"; - String SE_AUDIT_NAME = "SeAuditPrivilege"; - String SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; - String SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; - String SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; - String SE_UNDOCK_NAME = "SeUndockPrivilege"; - String SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; - String SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; - String SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; - String SE_IMPERSONATE_NAME = "SeImpersonatePrivilege"; - String SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege"; - - int SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001; - int SE_PRIVILEGE_ENABLED = 0x00000002; - int SE_PRIVILEGE_REMOVED = 0X00000004; - int SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000; - - int PROCESS_TERMINATE = 0x00000001; - int PROCESS_SYNCHRONIZE = 0x00100000; - - /* Security information types */ - int OWNER_SECURITY_INFORMATION = 0x00000001; - int GROUP_SECURITY_INFORMATION = 0x00000002; - int DACL_SECURITY_INFORMATION = 0x00000004; - int SACL_SECURITY_INFORMATION = 0x00000008; - int LABEL_SECURITY_INFORMATION = 0x00000010; - int PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000; - int PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000; - int UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000; - int UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000; - - public static class SECURITY_DESCRIPTOR extends Structure { - public static class ByReference extends SECURITY_DESCRIPTOR implements - Structure.ByReference { - } - - public SECURITY_DESCRIPTOR() { - } - - public SECURITY_DESCRIPTOR(byte[] data) { - super(); - this.data = data; - useMemory(new Memory(data.length)); - } - - public SECURITY_DESCRIPTOR(Pointer memory) { - super(memory); - read(); - } - - public byte[] data; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "data" }); - } - } - - public static class ACL extends Structure { - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "AclRevision", "Sbz1", "AclSize", "AceCount", "Sbz2" }); - } - - public ACL() { - } - - public ACL(Pointer pointer) { - super(pointer); - read(); - ACEs = new ACCESS_ACEStructure[AceCount]; - int offset = size(); - for (int i = 0; i < AceCount; i++) { - Pointer share = pointer.share(offset); - // ACE_HEADER.AceType - final byte aceType = share.getByte(0); - ACCESS_ACEStructure ace = null; - switch (aceType) { - case ACCESS_ALLOWED_ACE_TYPE: - ace = new ACCESS_ALLOWED_ACE(share); - break; - case ACCESS_DENIED_ACE_TYPE: - ace = new ACCESS_DENIED_ACE(share); - break; - default: - throw new IllegalArgumentException("Unknwon ACE type " - + aceType); - } - ACEs[i] = ace; - offset += ace.AceSize; - } - } - - public byte AclRevision; - public byte Sbz1; - public short AclSize; - public short AceCount; - public short Sbz2; - - ACCESS_ACEStructure[] ACEs; - - public ACCESS_ACEStructure[] getACEStructures() { - return ACEs; - } - } - - public static class SECURITY_DESCRIPTOR_RELATIVE extends Structure { - public static class ByReference extends SECURITY_DESCRIPTOR_RELATIVE - implements Structure.ByReference { - } - - public byte Revision; - public byte Sbz1; - public short Control; - public int Owner; - public int Group; - public int Sacl; - public int Dacl; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "Revision", "Sbz1", "Control", "Owner", "Group", "Sacl", "Dacl" }); - } - - private ACL DACL; - - public SECURITY_DESCRIPTOR_RELATIVE() { - } - - public SECURITY_DESCRIPTOR_RELATIVE(byte[] data) { - super(new Memory(data.length)); - getPointer().write(0, data, 0, data.length); - setDacl(); - } - - public SECURITY_DESCRIPTOR_RELATIVE(Memory memory) { - super(memory); - setDacl(); - } - - public ACL getDiscretionaryACL() { - return DACL; - } - - private final void setDacl() { - read(); - if (Dacl != 0) { - DACL = new ACL(getPointer().share(Dacl)); - } - } - } - - public static abstract class ACEStructure extends Structure { - public byte AceType; - public byte AceFlags; - public short AceSize; - - PSID psid; - - public ACEStructure(Pointer p) { - super(p); - } - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "AceType", "AceFlags", "AceSize" }); - } - - public String getSidString() { - return Advapi32Util.convertSidToStringSid(psid); - } - - public PSID getSID() { - return psid; - } - } - - /* ACE header */ - public static class ACE_HEADER extends ACEStructure { - public ACE_HEADER(Pointer p) { - super(p); - read(); - } - } - - /** - * ACCESS_ALLOWED_ACE and ACCESS_DENIED_ACE have the same structure layout - */ - public static abstract class ACCESS_ACEStructure extends ACEStructure { - protected List getFieldOrder() { - List list = new ArrayList(super.getFieldOrder()); - list.addAll(Arrays.asList(new String[] { "Mask", "SidStart"})); - return list; - } - public ACCESS_ACEStructure(Pointer p) { - super(p); - read(); - // AceSize - size of public members of the structure + size of DWORD - // (SidStart) - int sizeOfSID = super.AceSize - size() + 4; - // ACE_HEADER + size of int (Mask) - int offsetOfSID = 4 + 4; - byte[] data = p.getByteArray(offsetOfSID, sizeOfSID); - psid = new PSID(data); - } - - public int Mask; - - /** - * first 4 bytes of the SID - */ - public DWORD SidStart; - } - - /* Access allowed ACE */ - public static class ACCESS_ALLOWED_ACE extends ACCESS_ACEStructure { - public ACCESS_ALLOWED_ACE(Pointer p) { - super(p); - } - } - - /* Access denied ACE */ - public static class ACCESS_DENIED_ACE extends ACCESS_ACEStructure { - public ACCESS_DENIED_ACE(Pointer p) { - super(p); - } - } - - /* ACE types */ - byte ACCESS_ALLOWED_ACE_TYPE = 0x00; - byte ACCESS_DENIED_ACE_TYPE = 0x01; - byte SYSTEM_AUDIT_ACE_TYPE = 0x02; - byte SYSTEM_ALARM_ACE_TYPE = 0x03; - byte ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x04; - byte ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x05; - byte ACCESS_DENIED_OBJECT_ACE_TYPE = 0x06; - byte SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x07; - byte SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x08; - byte ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x09; - byte ACCESS_DENIED_CALLBACK_ACE_TYPE = 0x0A; - byte ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0x0B; - byte ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0x0C; - byte SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0x0D; - byte SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0x0E; - byte SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0x0F; - byte SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10; - byte SYSTEM_MANDATORY_LABEL_ACE_TYPE = 0x11; - - /* ACE inherit flags */ - byte OBJECT_INHERIT_ACE = 0x01; - byte CONTAINER_INHERIT_ACE = 0x02; - byte NO_PROPAGATE_INHERIT_ACE = 0x04; - byte INHERIT_ONLY_ACE = 0x08; - byte INHERITED_ACE = 0x10; - byte VALID_INHERIT_FLAGS = 0x1F; - - // TODO: figure out how OVERLAPPED is used and apply an appropriate mapping - interface OVERLAPPED_COMPLETION_ROUTINE extends StdCallCallback { - void callback(int errorCode, int nBytesTransferred, - WinBase.OVERLAPPED overlapped); - } -} +/* 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. + * + * 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 java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.sun.jna.FromNativeContext; +import com.sun.jna.Memory; +import com.sun.jna.NativeLong; +import com.sun.jna.Pointer; +import com.sun.jna.PointerType; +import com.sun.jna.Structure; +import com.sun.jna.Union; +import com.sun.jna.ptr.ByReference; + +/** + * This module defines the 32-Bit Windows types and constants that are defined + * by NT, but exposed through the Win32 API. Ported from WinNT.h Microsoft + * Windows SDK 6.0A. Avoid including any NIO Buffer mappings here; put them in a + * DLL-derived interface (e.g. kernel32, user32, etc) instead. + * + * @author dblock[at]dblock.org + */ +@SuppressWarnings("serial") +public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { + + // + // The following are masks for the predefined standard access types + // + + int DELETE = 0x00010000; + int READ_CONTROL = 0x00020000; + int WRITE_DAC = 0x00040000; + int WRITE_OWNER = 0x00080000; + int SYNCHRONIZE = 0x00100000; + + int STANDARD_RIGHTS_REQUIRED = 0x000F0000; + int STANDARD_RIGHTS_READ = READ_CONTROL; + int STANDARD_RIGHTS_WRITE = READ_CONTROL; + int STANDARD_RIGHTS_EXECUTE = READ_CONTROL; + int STANDARD_RIGHTS_ALL = 0x001F0000; + + int SPECIFIC_RIGHTS_ALL = 0x0000FFFF; + + // + // Token Specific Access Rights. + // + + /** + * Required to attach a primary token to a process. The + * SE_ASSIGNPRIMARYTOKEN_NAME privilege is also required to accomplish this + * task. + */ + int TOKEN_ASSIGN_PRIMARY = 0x0001; + + /** + * Required to duplicate an access token. + */ + int TOKEN_DUPLICATE = 0x0002; + + /** + * Required to attach an impersonation access token to a process. + */ + int TOKEN_IMPERSONATE = 0x0004; + + /** + * Required to query an access token. + */ + int TOKEN_QUERY = 0x0008; + + /** + * Required to query the source of an access token. + */ + int TOKEN_QUERY_SOURCE = 0x0010; + + /** + * Required to enable or disable the privileges in an access token. + */ + int TOKEN_ADJUST_PRIVILEGES = 0x0020; + + /** + * Required to adjust the attributes of the groups in an access token. + */ + int TOKEN_ADJUST_GROUPS = 0x0040; + + /** + * Required to change the default owner, primary group, or DACL of an access + * token. + */ + int TOKEN_ADJUST_DEFAULT = 0x0080; + + /** + * Required to adjust the session ID of an access token. The SE_TCB_NAME + * privilege is required. + */ + int TOKEN_ADJUST_SESSIONID = 0x0100; + + int TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY + | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY + | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES + | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; + + /** + * Combines all possible access rights for a token. + */ + int TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID; + + /** + * Combines STANDARD_RIGHTS_READ and TOKEN_QUERY. + */ + int TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY; + + /** + * Combines STANDARD_RIGHTS_WRITE, TOKEN_ADJUST_PRIVILEGES, + * TOKEN_ADJUST_GROUPS, and TOKEN_ADJUST_DEFAULT. + */ + int TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES + | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; + + /** + * Combines STANDARD_RIGHTS_EXECUTE and TOKEN_IMPERSONATE. + */ + int TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE; + + int THREAD_TERMINATE = 0x0001; + int THREAD_SUSPEND_RESUME = 0x0002; + int THREAD_GET_CONTEXT = 0x0008; + int THREAD_SET_CONTEXT = 0x0010; + int THREAD_QUERY_INFORMATION = 0x0040; + int THREAD_SET_INFORMATION = 0x0020; + int THREAD_SET_THREAD_TOKEN = 0x0080; + int THREAD_IMPERSONATE = 0x0100; + int THREAD_DIRECT_IMPERSONATION = 0x0200; + int THREAD_SET_LIMITED_INFORMATION = 0x0400; + int THREAD_QUERY_LIMITED_INFORMATION = 0x0800; + int THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF; + + /** + * The SECURITY_IMPERSONATION_LEVEL enumeration type contains values that + * specify security impersonation levels. Security impersonation levels + * govern the degree to which a server process can act on behalf of a client + * process. + */ + public abstract class SECURITY_IMPERSONATION_LEVEL { + /** + * The server process cannot obtain identification information about the + * client, and it cannot impersonate the client. It is defined with no + * value given, and thus, by ANSI C rules, defaults to a value of zero. + */ + public static final int SecurityAnonymous = 0; + + /** + * The server process can obtain information about the client, such as + * security identifiers and privileges, but it cannot impersonate the + * client. This is useful for servers that export their own objects, for + * example, database products that export tables and views. Using the + * retrieved client-security information, the server can make + * access-validation decisions without being able to use other services + * that are using the client's security context. + */ + public static final int SecurityIdentification = 1; + + /** + * The server process can impersonate the client's security context on + * its local system. The server cannot impersonate the client on remote + * systems. + */ + public static final int SecurityImpersonation = 2; + + /** + * The server process can impersonate the client's security context on + * remote systems. + */ + public static final int SecurityDelegation = 3; + } + + /** + * The TOKEN_INFORMATION_CLASS enumeration type contains values that specify + * the type of information being assigned to or retrieved from an access + * token. + */ + public abstract class TOKEN_INFORMATION_CLASS { + public static final int TokenUser = 1; + public static final int TokenGroups = 2; + public static final int TokenPrivileges = 3; + public static final int TokenOwner = 4; + public static final int TokenPrimaryGroup = 5; + public static final int TokenDefaultDacl = 6; + public static final int TokenSource = 7; + public static final int TokenType = 8; + public static final int TokenImpersonationLevel = 9; + public static final int TokenStatistics = 10; + public static final int TokenRestrictedSids = 11; + public static final int TokenSessionId = 12; + public static final int TokenGroupsAndPrivileges = 13; + public static final int TokenSessionReference = 14; + public static final int TokenSandBoxInert = 15; + public static final int TokenAuditPolicy = 16; + public static final int TokenOrigin = 17; + public static final int TokenElevationType = 18; + public static final int TokenLinkedToken = 19; + public static final int TokenElevation = 20; + public static final int TokenHasRestrictions = 21; + public static final int TokenAccessInformation = 22; + public static final int TokenVirtualizationAllowed = 23; + public static final int TokenVirtualizationEnabled = 24; + public static final int TokenIntegrityLevel = 25; + public static final int TokenUIAccess = 26; + public static final int TokenMandatoryPolicy = 27; + public static final int TokenLogonSid = 28; + } + + /** + * The TOKEN_TYPE enumeration type contains values that differentiate + * between a primary token and an impersonation token. + */ + public abstract class TOKEN_TYPE { + public static final int TokenPrimary = 1; + public static final int TokenImpersonation = 2; + } + + /** + * The LUID_AND_ATTRIBUTES structure represents a locally unique identifier + * (LUID) and its attributes. + */ + public static class LUID_AND_ATTRIBUTES extends Structure { + /** + * Specifies an LUID value. + */ + public LUID Luid; + + /** + * Specifies attributes of the LUID. This value contains up to 32 + * one-bit flags. Its meaning is dependent on the definition and use of + * the LUID. + */ + public DWORD Attributes; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "Luid", "Attributes" }); + } + + public LUID_AND_ATTRIBUTES() { + } + + public LUID_AND_ATTRIBUTES(LUID luid, DWORD attributes) { + this.Luid = luid; + this.Attributes = attributes; + } + } + + /** + * The SID_AND_ATTRIBUTES structure represents a security identifier (SID) + * and its attributes. SIDs are used to uniquely identify users or groups. + */ + public static class SID_AND_ATTRIBUTES extends Structure { + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "Sid", "Attributes" }); + } + + public SID_AND_ATTRIBUTES() { + super(); + } + + public SID_AND_ATTRIBUTES(Pointer memory) { + super(memory); + } + + /** + * Pointer to a SID structure. + */ + public PSID.ByReference Sid; + + /** + * Specifies attributes of the SID. This value contains up to 32 one-bit + * flags. Its meaning depends on the definition and use of the SID. + */ + public int Attributes; + } + + /** + * The TOKEN_OWNER structure contains the default owner security identifier + * (SID) that will be applied to newly created objects. + */ + public static class TOKEN_OWNER extends Structure { + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "Owner" }); + } + + public TOKEN_OWNER() { + super(); + } + + public TOKEN_OWNER(int size) { + super(new Memory(size)); + } + + public TOKEN_OWNER(Pointer memory) { + super(memory); + read(); + } + + /** + * Pointer to a SID structure representing a user who will become the + * owner of any objects created by a process using this access token. + * The SID must be one of the user or group SIDs already in the token. + */ + public PSID.ByReference Owner; // PSID + } + + public static class PSID extends Structure { + public static class ByReference extends PSID implements Structure.ByReference { } + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "sid" }); + } + + public PSID() { + super(); + } + + public PSID(byte[] data) { + super(new Memory(data.length)); + getPointer().write(0, data, 0, data.length); + read(); + } + + public PSID(int size) { + super(new Memory(size)); + } + + public PSID(Pointer memory) { + super(memory); + read(); + } + + public byte[] getBytes() { + int len = Advapi32.INSTANCE.GetLengthSid(this); + return getPointer().getByteArray(0, len); + } + + public Pointer sid; + } + + public static class PSIDByReference extends ByReference { + public PSIDByReference() { + this(null); + } + + public PSIDByReference(PSID h) { + super(Pointer.SIZE); + setValue(h); + } + + public void setValue(PSID h) { + getPointer().setPointer(0, h != null ? h.getPointer() : null); + } + + public PSID getValue() { + Pointer p = getPointer().getPointer(0); + if (p == null) { + return null; + } + else { + return new PSID(p); + } + } + } + + /** + * The TOKEN_USER structure identifies the user associated with an access + * token. + */ + public static class TOKEN_USER extends Structure { + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "User" }); + } + + public TOKEN_USER() { + super(); + } + + public TOKEN_USER(Pointer memory) { + super(memory); + read(); + } + + public TOKEN_USER(int size) { + super(new Memory(size)); + } + + /** + * Specifies a SID_AND_ATTRIBUTES structure representing the user + * associated with the access token. There are currently no attributes + * defined for user security identifiers (SIDs). + */ + public SID_AND_ATTRIBUTES User; + } + + /** + * The TOKEN_GROUPS structure contains information about the group security + * identifiers (SIDs) in an access token. + */ + public static class TOKEN_GROUPS extends Structure { + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "GroupCount", "Group0" }); + } + + public TOKEN_GROUPS() { + super(); + } + + public TOKEN_GROUPS(Pointer memory) { + super(memory); + read(); + } + + public TOKEN_GROUPS(int size) { + super(new Memory(size)); + } + + /** + * Specifies the number of groups in the access token. + */ + public int GroupCount; + public SID_AND_ATTRIBUTES Group0; + + /** + * Specifies an array of SID_AND_ATTRIBUTES structures that contain a + * set of SIDs and corresponding attributes. + */ + public SID_AND_ATTRIBUTES[] getGroups() { + return (SID_AND_ATTRIBUTES[]) Group0.toArray(GroupCount); + } + } + + /** + * The TOKEN_PRIVILEGES structure contains information about a set of + * privileges for an access token. + */ + public static class TOKEN_PRIVILEGES extends Structure { + /** + * This must be set to the number of entries in the Privileges array. + */ + public DWORD PrivilegeCount; + + /** + * Specifies an array of LUID_AND_ATTRIBUTES structures. Each structure + * contains the LUID and attributes of a privilege. + */ + public LUID_AND_ATTRIBUTES Privileges[]; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "PrivilegeCount", "Privileges" }); + } + + /** Creates an empty instance with no privileges. */ + public TOKEN_PRIVILEGES() { + this(0); + } + /** + * @param nbOfPrivileges + * Desired size of the Privileges array + */ + public TOKEN_PRIVILEGES(int nbOfPrivileges) { + PrivilegeCount = new DWORD(nbOfPrivileges); + Privileges = new LUID_AND_ATTRIBUTES[nbOfPrivileges]; + } + + /** Initialize a TOKEN_PRIVILEGES instance from initialized memory. */ + public TOKEN_PRIVILEGES(Pointer p) { + super(p); + int count = p.getInt(0); + PrivilegeCount = new DWORD(count); + Privileges = new LUID_AND_ATTRIBUTES[count]; + read(); + } + } + + /** + * The SID_NAME_USE enumeration type contains values that specify the type + * of a security identifier (SID). + */ + public abstract class SID_NAME_USE { + /** + * Indicates a user SID. + */ + public static final int SidTypeUser = 1; + + /** + * Indicates a group SID. + */ + public static final int SidTypeGroup = 2; + + /** + * Indicates a domain SID. + */ + public static final int SidTypeDomain = 3; + + /** + * Indicates an alias SID. + */ + public static final int SidTypeAlias = 4; + + /** + * Indicates a SID for a well-known group. + */ + public static final int SidTypeWellKnownGroup = 5; + + /** + * Indicates a SID for a deleted account. + */ + public static final int SidTypeDeletedAccount = 6; + + /** + * Indicates an invalid SID. + */ + public static final int SidTypeInvalid = 7; + + /** + * Indicates an unknown SID type. + */ + public static final int SidTypeUnknown = 8; + + /** + * Indicates a SID for a computer. + */ + public static final int SidTypeComputer = 9; + + /** + * ? + */ + public static final int SidTypeLabel = 10; + } + + /* File access rights */ + int FILE_READ_DATA = 0x00000001; + int FILE_LIST_DIRECTORY = 0x00000001; + int FILE_WRITE_DATA = 0x00000002; + int FILE_ADD_FILE = 0x00000002; + int FILE_APPEND_DATA = 0x00000004; + int FILE_ADD_SUBDIRECTORY = 0x00000004; + int FILE_CREATE_PIPE_INSTANCE = 0x00000004; + int FILE_READ_EA = 0x00000008; + int FILE_WRITE_EA = 0x00000010; + int FILE_EXECUTE = 0x00000020; + int FILE_TRAVERSE = 0x00000020; + int FILE_DELETE_CHILD = 0x00000040; + int FILE_READ_ATTRIBUTES = 0x00000080; + int FILE_WRITE_ATTRIBUTES = 0x00000100; + + int FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x000001FF; + + int FILE_GENERIC_READ = STANDARD_RIGHTS_READ | SYNCHRONIZE | FILE_READ_DATA + | FILE_READ_ATTRIBUTES | FILE_READ_EA; + + int FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | SYNCHRONIZE + | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA + | FILE_APPEND_DATA; + + int FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE + | FILE_READ_ATTRIBUTES | FILE_EXECUTE; + + int CREATE_NEW = 1; + int CREATE_ALWAYS = 2; + int OPEN_EXISTING = 3; + int OPEN_ALWAYS = 4; + int TRUNCATE_EXISTING = 5; + + int FILE_FLAG_WRITE_THROUGH = 0x80000000; + int FILE_FLAG_OVERLAPPED = 0x40000000; + int FILE_FLAG_NO_BUFFERING = 0x20000000; + int FILE_FLAG_RANDOM_ACCESS = 0x10000000; + int FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000; + int FILE_FLAG_DELETE_ON_CLOSE = 0x04000000; + int FILE_FLAG_BACKUP_SEMANTICS = 0x02000000; + int FILE_FLAG_POSIX_SEMANTICS = 0x01000000; + int FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000; + int FILE_FLAG_OPEN_NO_RECALL = 0x00100000; + + // + // These are the generic rights. + // + + int GENERIC_READ = 0x80000000; + int GENERIC_WRITE = 0x40000000; + int GENERIC_EXECUTE = 0x20000000; + int GENERIC_ALL = 0x10000000; + + // + // AccessSystemAcl access type + // + + int ACCESS_SYSTEM_SECURITY = 0x01000000; + + int PAGE_READONLY = 0x02; + int PAGE_READWRITE = 0x04; + int PAGE_WRITECOPY = 0x08; + int PAGE_EXECUTE = 0x10; + int PAGE_EXECUTE_READ = 0x20; + int PAGE_EXECUTE_READWRITE = 0x40; + + int SECTION_QUERY = 0x0001; + int SECTION_MAP_WRITE = 0x0002; + int SECTION_MAP_READ = 0x0004; + int SECTION_MAP_EXECUTE = 0x0008; + int SECTION_EXTEND_SIZE = 0x0010; + + int FILE_SHARE_READ = 0x00000001; + int FILE_SHARE_WRITE = 0x00000002; + int FILE_SHARE_DELETE = 0x00000004; + int FILE_TYPE_CHAR = 0x0002; + int FILE_TYPE_DISK = 0x0001; + int FILE_TYPE_PIPE = 0x0003; + int FILE_TYPE_REMOTE = 0x8000; + int FILE_TYPE_UNKNOWN = 0x0000; + int FILE_ATTRIBUTE_READONLY = 0x00000001; + int FILE_ATTRIBUTE_HIDDEN = 0x00000002; + int FILE_ATTRIBUTE_SYSTEM = 0x00000004; + int FILE_ATTRIBUTE_DIRECTORY = 0x00000010; + int FILE_ATTRIBUTE_ARCHIVE = 0x00000020; + int FILE_ATTRIBUTE_DEVICE = 0x00000040; + int FILE_ATTRIBUTE_NORMAL = 0x00000080; + int FILE_ATTRIBUTE_TEMPORARY = 0x00000100; + int FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200; + int FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400; + int FILE_ATTRIBUTE_COMPRESSED = 0x00000800; + int FILE_ATTRIBUTE_OFFLINE = 0x00001000; + int FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000; + int FILE_ATTRIBUTE_ENCRYPTED = 0x00004000; + int FILE_ATTRIBUTE_VIRTUAL = 0x00010000; + int FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001; + int FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002; + int FILE_NOTIFY_CHANGE_NAME = 0x00000003; + int FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004; + int FILE_NOTIFY_CHANGE_SIZE = 0x00000008; + int FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010; + int FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020; + int FILE_NOTIFY_CHANGE_CREATION = 0x00000040; + int FILE_NOTIFY_CHANGE_SECURITY = 0x00000100; + int FILE_ACTION_ADDED = 0x00000001; + int FILE_ACTION_REMOVED = 0x00000002; + int FILE_ACTION_MODIFIED = 0x00000003; + int FILE_ACTION_RENAMED_OLD_NAME = 0x00000004; + int FILE_ACTION_RENAMED_NEW_NAME = 0x00000005; + int FILE_CASE_SENSITIVE_SEARCH = 0x00000001; + int FILE_CASE_PRESERVED_NAMES = 0x00000002; + int FILE_UNICODE_ON_DISK = 0x00000004; + int FILE_PERSISTENT_ACLS = 0x00000008; + int FILE_FILE_COMPRESSION = 0x00000010; + int FILE_VOLUME_QUOTAS = 0x00000020; + int FILE_SUPPORTS_SPARSE_FILES = 0x00000040; + int FILE_SUPPORTS_REPARSE_POINTS = 0x00000080; + int FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100; + int FILE_VOLUME_IS_COMPRESSED = 0x00008000; + int FILE_SUPPORTS_OBJECT_IDS = 0x00010000; + int FILE_SUPPORTS_ENCRYPTION = 0x00020000; + int FILE_NAMED_STREAMS = 0x00040000; + int FILE_READ_ONLY_VOLUME = 0x00080000; + int FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000; + int FILE_SUPPORTS_TRANSACTIONS = 0x00200000; + + /** + * The FILE_NOTIFY_INFORMATION structure describes the changes found by the + * ReadDirectoryChangesW function. + * + * This structure is non-trivial since it is a pattern stamped into a large + * block of result memory rather than something that stands alone or is used + * for input. + */ + public static class FILE_NOTIFY_INFORMATION extends Structure { + public int NextEntryOffset; + public int Action; + public int FileNameLength; + // filename is not nul-terminated, so we can't use a String/WString + public char[] FileName = new char[1]; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "NextEntryOffset", "Action", "FileNameLength", "FileName" }); + } + + private FILE_NOTIFY_INFORMATION() { + } + + public FILE_NOTIFY_INFORMATION(int size) { + if (size < size()) { + throw new IllegalArgumentException("Size must greater than " + + size() + ", requested " + size); + } + allocateMemory(size); + } + + /** + * WARNING: this filename may be either the short or long form of the + * filename. + */ + public String getFilename() { + return new String(FileName, 0, FileNameLength / 2); + } + + public void read() { + // avoid reading filename until we know how long it is + FileName = new char[0]; + super.read(); + FileName = getPointer().getCharArray(12, FileNameLength / 2); + } + + public FILE_NOTIFY_INFORMATION next() { + if (NextEntryOffset == 0) { + return null; + } + FILE_NOTIFY_INFORMATION next = new FILE_NOTIFY_INFORMATION(); + next.useMemory(getPointer(), NextEntryOffset); + next.read(); + return next; + } + } + + /** + * Registry options. + */ + int KEY_QUERY_VALUE = 0x0001; + int KEY_SET_VALUE = 0x0002; + int KEY_CREATE_SUB_KEY = 0x0004; + int KEY_ENUMERATE_SUB_KEYS = 0x0008; + int KEY_NOTIFY = 0x0010; + int KEY_CREATE_LINK = 0x0020; + int KEY_WOW64_32KEY = 0x0200; + int KEY_WOW64_64KEY = 0x0100; + int KEY_WOW64_RES = 0x0300; + + int KEY_READ = STANDARD_RIGHTS_READ | KEY_QUERY_VALUE + | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY & (~SYNCHRONIZE); + + int KEY_WRITE = STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY + & (~SYNCHRONIZE); + + int KEY_EXECUTE = KEY_READ & (~SYNCHRONIZE); + + int KEY_ALL_ACCESS = STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE + | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY + | KEY_CREATE_LINK & (~SYNCHRONIZE); + + // + // Open/Create Options + // + + /** + * Parameter is reserved. + */ + int REG_OPTION_RESERVED = 0x00000000; + + /** + * Key is preserved when system is rebooted. + */ + int REG_OPTION_NON_VOLATILE = 0x00000000; + + /** + * Key is not preserved when system is rebooted. + */ + int REG_OPTION_VOLATILE = 0x00000001; + + /** + * Created key is a symbolic link. + */ + int REG_OPTION_CREATE_LINK = 0x00000002; + + /** + * Open for backup or restore special access rules privilege required. + */ + int REG_OPTION_BACKUP_RESTORE = 0x00000004; + + /** + * Open symbolic link. + */ + int REG_OPTION_OPEN_LINK = 0x00000008; + + int REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE + | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK + | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK; + + // + // Key creation/open disposition + // + + /** + * New Registry Key created. + */ + int REG_CREATED_NEW_KEY = 0x00000001; + + /** + * Existing Key opened. + */ + int REG_OPENED_EXISTING_KEY = 0x00000002; + + int REG_STANDARD_FORMAT = 1; + int REG_LATEST_FORMAT = 2; + int REG_NO_COMPRESSION = 4; + + // + // Key restore & hive load flags + // + + /** + * Restore whole hive volatile. + */ + int REG_WHOLE_HIVE_VOLATILE = 0x00000001; + + /** + * Unwind changes to last flush. + */ + int REG_REFRESH_HIVE = 0x00000002; + + /** + * Never lazy flush this hive. + */ + int REG_NO_LAZY_FLUSH = 0x00000004; + + /** + * Force the restore process even when we have open handles on subkeys. + */ + int REG_FORCE_RESTORE = 0x00000008; + + /** + * Loads the hive visible to the calling process. + */ + int REG_APP_HIVE = 0x00000010; + + /** + * Hive cannot be mounted by any other process while in use. + */ + int REG_PROCESS_PRIVATE = 0x00000020; + + /** + * Starts Hive Journal. + */ + int REG_START_JOURNAL = 0x00000040; + + /** + * Grow hive file in exact 4k increments. + */ + int REG_HIVE_EXACT_FILE_GROWTH = 0x00000080; + + /** + * No RM is started for this hive = no transactions. + */ + int REG_HIVE_NO_RM = 0x00000100; + + /** + * Legacy single logging is used for this hive. + */ + int REG_HIVE_SINGLE_LOG = 0x00000200; + + // + // Unload Flags + // + + int REG_FORCE_UNLOAD = 1; + + // + // Notify filter values + // + + int REG_NOTIFY_CHANGE_NAME = 0x00000001; + int REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002; + int REG_NOTIFY_CHANGE_LAST_SET = 0x00000004; + int REG_NOTIFY_CHANGE_SECURITY = 0x00000008; + + int REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME + | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET + | REG_NOTIFY_CHANGE_SECURITY; + + // + // Predefined Value Types. + // + + /** + * No value type. + */ + int REG_NONE = 0; + + /** + * Unicode null-terminated string. + */ + int REG_SZ = 1; + + /** + * Unicode null-terminated string with environment variable references. + */ + int REG_EXPAND_SZ = 2; + + /** + * Free-formed binary. + */ + int REG_BINARY = 3; + + /** + * 32-bit number. + */ + int REG_DWORD = 4; + + /** + * 32-bit number, same as REG_DWORD. + */ + int REG_DWORD_LITTLE_ENDIAN = 4; + + /** + * 32-bit number. + */ + int REG_DWORD_BIG_ENDIAN = 5; + + /** + * Symbolic link (unicode). + */ + int REG_LINK = 6; + + /** + * Multiple unicode strings. + */ + int REG_MULTI_SZ = 7; + + /** + * Resource list in the resource map. + */ + int REG_RESOURCE_LIST = 8; + + /** + * Resource list in the hardware description. + */ + int REG_FULL_RESOURCE_DESCRIPTOR = 9; + + /** + * + */ + int REG_RESOURCE_REQUIREMENTS_LIST = 10; + + /** + * 64-bit number. + */ + int REG_QWORD = 11; + + /** + * 64-bit number, same as REG_QWORD. + */ + int REG_QWORD_LITTLE_ENDIAN = 11; + + /** + * A 64-bit value that is guaranteed to be unique on the operating system + * that generated it until the system is restarted. + */ + public static class LUID extends Structure { + public int LowPart; + public int HighPart; + protected List getFieldOrder() { + return Arrays.asList(new String[] { "LowPart", "HighPart" }); + } + } + + /** + * A 64-bit integer; + */ + public static class LARGE_INTEGER extends Structure { + public static class ByReference extends LARGE_INTEGER implements + Structure.ByReference { + } + + public static class LowHigh extends Structure { + public DWORD LowPart; + public DWORD HighPart; + protected List getFieldOrder() { + return Arrays.asList(new String[] { "LowPart", "HighPart" }); + } + } + + public static class UNION extends Union { + public LowHigh lh; + public long value; + } + + public UNION u; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "u" }); + } + + /** + * Low DWORD. + * + * @return DWORD. + */ + public DWORD getLow() { + return u.lh.LowPart; + } + + /** + * High DWORD. + * + * @return DWORD. + */ + public DWORD getHigh() { + return u.lh.HighPart; + } + + /** + * 64-bit value. + * + * @return 64-bit value. + */ + public long getValue() { + return u.value; + } + } + + /** + * Handle to an object. + */ + public static class HANDLE extends PointerType { + private boolean immutable; + + public HANDLE() { + } + + public HANDLE(Pointer p) { + setPointer(p); + immutable = true; + } + + /** Override to the appropriate object for INVALID_HANDLE_VALUE. */ + public Object fromNative(Object nativeValue, FromNativeContext context) { + Object o = super.fromNative(nativeValue, context); + if (WinBase.INVALID_HANDLE_VALUE.equals(o)) { + return WinBase.INVALID_HANDLE_VALUE; + } + return o; + } + + public void setPointer(Pointer p) { + if (immutable) { + throw new UnsupportedOperationException("immutable reference"); + } + + super.setPointer(p); + } + } + + /** + * LPHANDLE + */ + public static class HANDLEByReference extends ByReference { + public HANDLEByReference() { + this(null); + } + + public HANDLEByReference(HANDLE h) { + super(Pointer.SIZE); + setValue(h); + } + + public void setValue(HANDLE h) { + getPointer().setPointer(0, h != null ? h.getPointer() : null); + } + + public HANDLE getValue() { + Pointer p = getPointer().getPointer(0); + if (p == null) { + return null; + } + if (WinBase.INVALID_HANDLE_VALUE.getPointer().equals(p)) { + return WinBase.INVALID_HANDLE_VALUE; + } + HANDLE h = new HANDLE(); + h.setPointer(p); + return h; + } + } + + /** + * Return code used by interfaces. It is zero upon success and nonzero to + * represent an error code or status information. + */ + class HRESULT extends NativeLong { + public HRESULT() { + } + + public HRESULT(int value) { + super(value); + } + } + + /** + * The WELL_KNOWN_SID_TYPE enumeration type is a list of commonly used + * security identifiers (SIDs). Programs can pass these values to the + * CreateWellKnownSid function to create a SID from this list. + */ + public abstract class WELL_KNOWN_SID_TYPE { + /** + * Indicates a null SID. + */ + public static final int WinNullSid = 0; + + /** + * Indicates a SID that matches everyone. + */ + public static final int WinWorldSid = 1; + + /** + * Indicates a local SID. + */ + public static final int WinLocalSid = 2; + + /** + * Indicates a SID that matches the owner or creator of an object. + */ + public static final int WinCreatorOwnerSid = 3; + + /** + * Indicates a SID that matches the creator group of an object. + */ + public static final int WinCreatorGroupSid = 4; + + /** + * Indicates a creator owner server SID. + */ + public static final int WinCreatorOwnerServerSid = 5; + + /** + * Indicates a creator group server SID. + */ + public static final int WinCreatorGroupServerSid = 6; + + /** + * Indicates a SID for the Windows NT authority. + */ + public static final int WinNtAuthoritySid = 7; + + /** + * Indicates a SID for a dial-up account. + */ + public static final int WinDialupSid = 8; + + /** + * Indicates a SID for a network account. This SID is added to the + * process of a token when it logs on across a network. The + * corresponding logon type is LOGON32_LOGON_NETWORK. + */ + public static final int WinNetworkSid = 9; + + /** + * Indicates a SID for a batch process. This SID is added to the process + * of a token when it logs on as a batch job. The corresponding logon + * type is LOGON32_LOGON_BATCH. + */ + public static final int WinBatchSid = 10; + + /** + * Indicates a SID for an interactive account. This SID is added to the + * process of a token when it logs on interactively. The corresponding + * logon type is LOGON32_LOGON_INTERACTIVE. + */ + public static final int WinInteractiveSid = 11; + + /** + * Indicates a SID for a service. This SID is added to the process of a + * token when it logs on as a service. The corresponding logon type is + * LOGON32_LOGON_bSERVICE. + */ + public static final int WinServiceSid = 12; + + /** + * Indicates a SID for the anonymous account. + */ + public static final int WinAnonymousSid = 13; + + /** + * Indicates a proxy SID. + */ + public static final int WinProxySid = 14; + + /** + * Indicates a SID for an enterprise controller. + */ + public static final int WinEnterpriseControllersSid = 15; + + /** + * Indicates a SID for self. + */ + public static final int WinSelfSid = 16; + + /** + * Indicates a SID that matches any authenticated user. + */ + public static final int WinAuthenticatedUserSid = 17; + + /** + * Indicates a SID for restricted code. + */ + public static final int WinRestrictedCodeSid = 18; + + /** + * Indicates a SID that matches a terminal server account. + */ + public static final int WinTerminalServerSid = 19; + + /** + * Indicates a SID that matches remote logons. + */ + public static final int WinRemoteLogonIdSid = 20; + + /** + * Indicates a SID that matches logon IDs. + */ + public static final int WinLogonIdsSid = 21; + + /** + * Indicates a SID that matches the local system. + */ + public static final int WinLocalSystemSid = 22; + + /** + * Indicates a SID that matches a local service. + */ + public static final int WinLocalServiceSid = 23; + + /** + * Indicates a SID that matches a network service. + */ + public static final int WinNetworkServiceSid = 24; + + /** + * Indicates a SID that matches the domain account. + */ + public static final int WinBuiltinDomainSid = 25; + + /** + * Indicates a SID that matches the administrator account. + */ + public static final int WinBuiltinAdministratorsSid = 26; + + /** + * Indicates a SID that matches built-in user accounts. + */ + public static final int WinBuiltinUsersSid = 27; + + /** + * Indicates a SID that matches the guest account. + */ + public static final int WinBuiltinGuestsSid = 28; + + /** + * Indicates a SID that matches the power users group. + */ + public static final int WinBuiltinPowerUsersSid = 29; + + /** + * Indicates a SID that matches the account operators account. + */ + public static final int WinBuiltinAccountOperatorsSid = 30; + + /** + * Indicates a SID that matches the system operators group. + */ + public static final int WinBuiltinSystemOperatorsSid = 31; + + /** + * Indicates a SID that matches the print operators group. + */ + public static final int WinBuiltinPrintOperatorsSid = 32; + + /** + * Indicates a SID that matches the backup operators group. + */ + public static final int WinBuiltinBackupOperatorsSid = 33; + + /** + * Indicates a SID that matches the replicator account. + */ + public static final int WinBuiltinReplicatorSid = 34; + + /** + * Indicates a SID that matches pre-Windows 2000 compatible accounts. + */ + public static final int WinBuiltinPreWindows2000CompatibleAccessSid = 35; + + /** + * Indicates a SID that matches remote desktop users. + */ + public static final int WinBuiltinRemoteDesktopUsersSid = 36; + + /** + * Indicates a SID that matches the network operators group. + */ + public static final int WinBuiltinNetworkConfigurationOperatorsSid = 37; + + /** + * Indicates a SID that matches the account administrators group. + */ + public static final int WinAccountAdministratorSid = 38; + + /** + * Indicates a SID that matches the account guest group. + */ + public static final int WinAccountGuestSid = 39; + + /** + * Indicates a SID that matches account Kerberos target group. + */ + public static final int WinAccountKrbtgtSid = 40; + + /** + * Indicates a SID that matches the account domain administrator group. + */ + public static final int WinAccountDomainAdminsSid = 41; + + /** + * Indicates a SID that matches the account domain users group. + */ + public static final int WinAccountDomainUsersSid = 42; + + /** + * Indicates a SID that matches the account domain guests group. + */ + public static final int WinAccountDomainGuestsSid = 43; + + /** + * Indicates a SID that matches the account computer group. + */ + public static final int WinAccountComputersSid = 44; + + /** + * Indicates a SID that matches the account controller group. + */ + public static final int WinAccountControllersSid = 45; + + /** + * Indicates a SID that matches the certificate administrators group. + */ + public static final int WinAccountCertAdminsSid = 46; + + /** + * Indicates a SID that matches the schema administrators group. + */ + public static final int WinAccountSchemaAdminsSid = 47; + + /** + * Indicates a SID that matches the enterprise administrators group. + */ + public static final int WinAccountEnterpriseAdminsSid = 48; + + /** + * Indicates a SID that matches the policy administrators group. + */ + public static final int WinAccountPolicyAdminsSid = 49; + + /** + * Indicates a SID that matches the RAS and IAS server account. + */ + public static final int WinAccountRasAndIasServersSid = 50; + + /** + * Indicates a SID present when the Microsoft NTLM authentication + * package authenticated the client. + */ + public static final int WinNTLMAuthenticationSid = 51; + + /** + * Indicates a SID present when the Microsoft Digest authentication + * package authenticated the client. + */ + public static final int WinDigestAuthenticationSid = 52; + + /** + * Indicates a SID present when the Secure Channel (SSL/TLS) + * authentication package authenticated the client. + */ + public static final int WinSChannelAuthenticationSid = 53; + + /** + * Indicates a SID present when the user authenticated from within the + * forest or across a trust that does not have the selective + * authentication option enabled. If this SID is present, then + * WinOtherOrganizationSid cannot be present. + */ + public static final int WinThisOrganizationSid = 54; + + /** + * Indicates a SID present when the user authenticated across a forest + * with the selective authentication option enabled. If this SID is + * present, then WinThisOrganizationSid cannot be present. + */ + public static final int WinOtherOrganizationSid = 55; + + /** + * Indicates a SID that allows a user to create incoming forest trusts. + * It is added to the token of users who are a member of the Incoming + * Forest Trust Builders built-in group in the root domain of the + * forest. + */ + public static final int WinBuiltinIncomingForestTrustBuildersSid = 56; + + /** + * Indicates a SID that matches the performance monitor user group. + */ + public static final int WinBuiltinPerfMonitoringUsersSid = 57; + + /** + * Indicates a SID that matches the performance log user group. + */ + public static final int WinBuiltinPerfLoggingUsersSid = 58; + + /** + * Indicates a SID that matches the Windows Authorization Access group. + */ + public static final int WinBuiltinAuthorizationAccessSid = 59; + + /** + * Indicates a SID is present in a server that can issue Terminal Server + * licenses. + */ + public static final int WinBuiltinTerminalServerLicenseServersSid = 60; + + /** + * + */ + public static final int WinBuiltinDCOMUsersSid = 61; + + /** + * + */ + public static final int WinBuiltinIUsersSid = 62; + + /** + * + */ + public static final int WinIUserSid = 63; + + /** + * + */ + public static final int WinBuiltinCryptoOperatorsSid = 64; + + /** + * + */ + public static final int WinUntrustedLabelSid = 65; + + /** + * + */ + public static final int WinLowLabelSid = 66; + + /** + * + */ + public static final int WinMediumLabelSid = 67; + + /** + * + */ + public static final int WinHighLabelSid = 68; + + /** + * + */ + public static final int WinSystemLabelSid = 69; + + /** + * + */ + public static final int WinWriteRestrictedCodeSid = 70; + + /** + * + */ + public static final int WinCreatorOwnerRightsSid = 71; + + /** + * + */ + public static final int WinCacheablePrincipalsGroupSid = 72; + + /** + * + */ + public static final int WinNonCacheablePrincipalsGroupSid = 73; + + /** + * + */ + public static final int WinEnterpriseReadonlyControllersSid = 74; + + /** + * Indicates a SID that matches a read-only enterprise domain + * controller. + */ + public static final int WinAccountReadonlyControllersSid = 75; + + /** + * Indicates a SID that matches the built-in DCOM certification services + * access group. + */ + public static final int WinBuiltinEventLogReadersGroup = 76; + } + + /** + * Current SID revision level. + */ + int SID_REVISION = 1; + int SID_MAX_SUB_AUTHORITIES = 15; + int SID_RECOMMENDED_SUB_AUTHORITIES = 1; + + /** + * Maximum bytes used by a SID. (sizeof(SID) - sizeof(DWORD) + + * (SID_MAX_SUB_AUTHORITIES * sizeof(DWORD))) + */ + int SECURITY_MAX_SID_SIZE = 68; + + /** + * The OSVERSIONINFO data structure contains operating system version + * information. The information includes major and minor version numbers, a + * build number, a platform identifier, and descriptive text about the + * operating system. This structure is used with the GetVersionEx function. + */ + public static class OSVERSIONINFO extends Structure { + /** + * Size of this data structure, in bytes. Set this member to + * sizeof(OSVERSIONINFO) before calling the GetVersionEx function. + */ + public DWORD dwOSVersionInfoSize; + + /** + * Major version number of the operating system. + */ + public DWORD dwMajorVersion; + + /** + * Minor version number of the operating system. + */ + public DWORD dwMinorVersion; + + /** + * Build number of the operating system. + */ + public DWORD dwBuildNumber; + + /** + * Operating system platform. + */ + public DWORD dwPlatformId; + + /** + * Pointer to a null-terminated string, such as "Service Pack 3", that + * indicates the latest Service Pack installed on the system. + */ + public char szCSDVersion[]; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "dwOSVersionInfoSize", "dwMajorVersion", "dwMinorVersion", "dwBuildNumber", "dwPlatformId", "szCSDVersion" }); + } + + public OSVERSIONINFO() { + szCSDVersion = new char[128]; + dwOSVersionInfoSize = new DWORD(size()); // sizeof(OSVERSIONINFO) + } + + public OSVERSIONINFO(Pointer memory) { + super(memory); + read(); + } + } + + /** + * Contains operating system version information. The information includes + * major and minor version numbers, a build number, a platform identifier, + * and information about product suites and the latest Service Pack + * installed on the system. + */ + public static class OSVERSIONINFOEX extends Structure { + /** + * The size of this data structure, in bytes. + */ + public DWORD dwOSVersionInfoSize; + + /** + * The major version number of the operating system. + */ + public DWORD dwMajorVersion; + + /** + * The minor version number of the operating system. + */ + public DWORD dwMinorVersion; + + /** + * The build number of the operating system. + */ + public DWORD dwBuildNumber; + + /** + * The operating system platform. This member can be + * VER_PLATFORM_WIN32_NT. + */ + public DWORD dwPlatformId; + + /** + * A null-terminated string, such as "Service Pack 3", that indicates + * the latest Service Pack installed on the system. If no Service Pack + * has been installed, the string is empty. + */ + public char szCSDVersion[]; + + /** + * The major version number of the latest Service Pack installed on the + * system. For example, for Service Pack 3, the major version number is + * 3. If no Service Pack has been installed, the value is zero. + */ + public WORD wServicePackMajor; + + /** + * The minor version number of the latest Service Pack installed on the + * system. For example, for Service Pack 3, the minor version number is + * 0. + */ + public WORD wServicePackMinor; + + /** + * A bit mask that identifies the product suites available on the + * system. + */ + public WORD wSuiteMask; + + /** + * Any additional information about the system. + */ + public byte wProductType; + + /** + * Reserved for future use. + */ + public byte wReserved; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "dwOSVersionInfoSize", "dwMajorVersion", "dwMinorVersion", "dwBuildNumber", "dwPlatformId", "szCSDVersion", "wServicePackMajor", "wServicePackMinor", "wSuiteMask", "wProductType", "wReserved"}); + } + + public OSVERSIONINFOEX() { + szCSDVersion = new char[128]; + dwOSVersionInfoSize = new DWORD(size()); // sizeof(OSVERSIONINFOEX) + } + + public OSVERSIONINFOEX(Pointer memory) { + super(memory); + read(); + } + } + + int VER_EQUAL = 1; + int VER_GREATER = 2; + int VER_GREATER_EQUAL = 3; + int VER_LESS = 4; + int VER_LESS_EQUAL = 5; + int VER_AND = 6; + int VER_OR = 7; + + int VER_CONDITION_MASK = 7; + int VER_NUM_BITS_PER_CONDITION_MASK = 3; + + int VER_MINORVERSION = 0x0000001; + int VER_MAJORVERSION = 0x0000002; + int VER_BUILDNUMBER = 0x0000004; + int VER_PLATFORMID = 0x0000008; + int VER_SERVICEPACKMINOR = 0x0000010; + int VER_SERVICEPACKMAJOR = 0x0000020; + int VER_SUITENAME = 0x0000040; + int VER_PRODUCT_TYPE = 0x0000080; + + int VER_NT_WORKSTATION = 0x0000001; + int VER_NT_DOMAIN_CONTROLLER = 0x0000002; + int VER_NT_SERVER = 0x0000003; + + int VER_PLATFORM_WIN32s = 0; + int VER_PLATFORM_WIN32_WINDOWS = 1; + int VER_PLATFORM_WIN32_NT = 2; + + /** + * Read the records sequentially. If this is the first read operation, the + * EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ flags determines which + * record is read first. + */ + int EVENTLOG_SEQUENTIAL_READ = 0x0001; + + /** + * Begin reading from the record specified in the dwRecordOffset parameter. + * This option may not work with large log files if the function cannot + * determine the log file's size. For details, see Knowledge Base article, + * 177199. + */ + int EVENTLOG_SEEK_READ = 0x0002; + + /** + * The log is read in chronological order (oldest to newest). The default. + */ + int EVENTLOG_FORWARDS_READ = 0x0004; + + /** + * The log is read in reverse chronological order (newest to oldest). + */ + int EVENTLOG_BACKWARDS_READ = 0x0008; + + /** + * Information event + */ + int EVENTLOG_SUCCESS = 0x0000; + + /** + * Error event + */ + int EVENTLOG_ERROR_TYPE = 0x0001; + + /** + * Warning event + */ + int EVENTLOG_WARNING_TYPE = 0x0002; + + /** + * Information event + */ + int EVENTLOG_INFORMATION_TYPE = 0x0004; + + /** + * Success Audit event + */ + int EVENTLOG_AUDIT_SUCCESS = 0x0008; + + /** + * Failure Audit event + */ + int EVENTLOG_AUDIT_FAILURE = 0x0010; + + /** + * The EVENTLOGRECORD structure contains information about an event record + * returned by the ReadEventLog function. + */ + public static class EVENTLOGRECORD extends Structure { + /** + * Size of this event record, in bytes. Note that this value is stored + * at both ends of the entry to ease moving forward or backward through + * the log. The length includes any pad bytes inserted at the end of the + * record for DWORD alignment. + */ + public DWORD Length; + + /** + * Reserved. + */ + public DWORD Reserved; + + /** + * Record number of the record. This value can be used with the + * EVENTLOG_SEEK_READ flag in the ReadEventLog function to begin reading + * at a specified record. + */ + public DWORD RecordNumber; + + /** + * Time at which this entry was submitted. This time is measured in the + * number of seconds elapsed since 00:00:00 January 1, 1970, Universal + * Coordinated Time. + */ + public DWORD TimeGenerated; + + /** + * Time at which this entry was received by the service to be written to + * the log. This time is measured in the number of seconds elapsed since + * 00:00:00 January 1, 1970, Universal Coordinated Time. + */ + public DWORD TimeWritten; + + /** + * Event identifier. The value is specific to the event source for the + * event, and is used with source name to locate a description string in + * the message file for the event source. + */ + public DWORD EventID; + + /** + * Type of event. + */ + public WORD EventType; + + /** + * Number of strings present in the log (at the position indicated by + * StringOffset). These strings are merged into the message before it is + * displayed to the user. + */ + public WORD NumStrings; + + /** + * Category for this event. The meaning of this value depends on the + * event source. + */ + public WORD EventCategory; + + /** + * Reserved. + */ + public WORD ReservedFlags; + + /** + * Reserved. + */ + public DWORD ClosingRecordNumber; + + /** + * Offset of the description strings within this event log record. + */ + public DWORD StringOffset; + + /** + * Size of the UserSid member, in bytes. This value can be zero if no + * security identifier was provided. + */ + public DWORD UserSidLength; + + /** + * Offset of the security identifier (SID) within this event log record. + * To obtain the user name for this SID, use the LookupAccountSid + * function. + */ + public DWORD UserSidOffset; + + /** + * Size of the event-specific data (at the position indicated by + * DataOffset), in bytes. + */ + public DWORD DataLength; + + /** + * Offset of the event-specific information within this event log + * record, in bytes. This information could be something specific (a + * disk driver might log the number of retries, for example), followed + * by binary information specific to the event being logged and to the + * source that generated the entry. + */ + public DWORD DataOffset; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "Length", "Reserved", "RecordNumber", "TimeGenerated", "TimeWritten", "EventID", "EventType", "NumStrings", "EventCategory", "ReservedFlags", "ClosingRecordNumber", "StringOffset", "UserSidLength", "UserSidOffset", "DataLength", "DataOffset"}); + } + + public EVENTLOGRECORD() { + } + + public EVENTLOGRECORD(Pointer p) { + super(p); + read(); + } + } + + // + // Service Types (Bit Mask) + // + int SERVICE_KERNEL_DRIVER = 0x00000001; + int SERVICE_FILE_SYSTEM_DRIVER = 0x00000002; + int SERVICE_ADAPTER = 0x00000004; + int SERVICE_RECOGNIZER_DRIVER = 0x00000008; + int SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER + | SERVICE_RECOGNIZER_DRIVER; + int SERVICE_WIN32_OWN_PROCESS = 0x00000010; + int SERVICE_WIN32_SHARE_PROCESS = 0x00000020; + int SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS; + int SERVICE_INTERACTIVE_PROCESS = 0x00000100; + int SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER + | SERVICE_INTERACTIVE_PROCESS; + int STATUS_PENDING = 0x00000103; + + // Privilege Constants + String SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; + String SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; + String SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; + String SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; + String SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; + String SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; + String SE_TCB_NAME = "SeTcbPrivilege"; + String SE_SECURITY_NAME = "SeSecurityPrivilege"; + String SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; + String SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; + String SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; + String SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; + String SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; + String SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; + String SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; + String SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; + String SE_BACKUP_NAME = "SeBackupPrivilege"; + String SE_RESTORE_NAME = "SeRestorePrivilege"; + String SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; + String SE_DEBUG_NAME = "SeDebugPrivilege"; + String SE_AUDIT_NAME = "SeAuditPrivilege"; + String SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; + String SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; + String SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; + String SE_UNDOCK_NAME = "SeUndockPrivilege"; + String SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; + String SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; + String SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; + String SE_IMPERSONATE_NAME = "SeImpersonatePrivilege"; + String SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege"; + + int SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001; + int SE_PRIVILEGE_ENABLED = 0x00000002; + int SE_PRIVILEGE_REMOVED = 0X00000004; + int SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000; + + int PROCESS_TERMINATE = 0x00000001; + int PROCESS_SYNCHRONIZE = 0x00100000; + + /* Security information types */ + int OWNER_SECURITY_INFORMATION = 0x00000001; + int GROUP_SECURITY_INFORMATION = 0x00000002; + int DACL_SECURITY_INFORMATION = 0x00000004; + int SACL_SECURITY_INFORMATION = 0x00000008; + int LABEL_SECURITY_INFORMATION = 0x00000010; + int PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000; + int PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000; + int UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000; + int UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000; + + public static class SECURITY_DESCRIPTOR extends Structure { + public static class ByReference extends SECURITY_DESCRIPTOR implements + Structure.ByReference { + } + + public SECURITY_DESCRIPTOR() { + } + + public SECURITY_DESCRIPTOR(byte[] data) { + super(); + this.data = data; + useMemory(new Memory(data.length)); + } + + public SECURITY_DESCRIPTOR(Pointer memory) { + super(memory); + read(); + } + + public byte[] data; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "data" }); + } + } + + public static class ACL extends Structure { + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "AclRevision", "Sbz1", "AclSize", "AceCount", "Sbz2" }); + } + + public ACL() { + } + + public ACL(Pointer pointer) { + super(pointer); + read(); + ACEs = new ACCESS_ACEStructure[AceCount]; + int offset = size(); + for (int i = 0; i < AceCount; i++) { + Pointer share = pointer.share(offset); + // ACE_HEADER.AceType + final byte aceType = share.getByte(0); + ACCESS_ACEStructure ace = null; + switch (aceType) { + case ACCESS_ALLOWED_ACE_TYPE: + ace = new ACCESS_ALLOWED_ACE(share); + break; + case ACCESS_DENIED_ACE_TYPE: + ace = new ACCESS_DENIED_ACE(share); + break; + default: + throw new IllegalArgumentException("Unknwon ACE type " + + aceType); + } + ACEs[i] = ace; + offset += ace.AceSize; + } + } + + public byte AclRevision; + public byte Sbz1; + public short AclSize; + public short AceCount; + public short Sbz2; + + private ACCESS_ACEStructure[] ACEs; + + public ACCESS_ACEStructure[] getACEStructures() { + return ACEs; + } + } + + public static class SECURITY_DESCRIPTOR_RELATIVE extends Structure { + public static class ByReference extends SECURITY_DESCRIPTOR_RELATIVE + implements Structure.ByReference { + } + + public byte Revision; + public byte Sbz1; + public short Control; + public int Owner; + public int Group; + public int Sacl; + public int Dacl; + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "Revision", "Sbz1", "Control", "Owner", "Group", "Sacl", "Dacl" }); + } + + private ACL DACL; + + public SECURITY_DESCRIPTOR_RELATIVE() { + } + + public SECURITY_DESCRIPTOR_RELATIVE(byte[] data) { + super(new Memory(data.length)); + getPointer().write(0, data, 0, data.length); + setDacl(); + } + + public SECURITY_DESCRIPTOR_RELATIVE(Pointer p) { + super(p); + setDacl(); + } + + public ACL getDiscretionaryACL() { + return DACL; + } + + private final void setDacl() { + read(); + if (Dacl != 0) { + DACL = new ACL(getPointer().share(Dacl)); + } + } + } + + public static abstract class ACEStructure extends Structure { + public byte AceType; + public byte AceFlags; + public short AceSize; + + PSID psid; + + public ACEStructure() { } + public ACEStructure(Pointer p) { + super(p); + } + + protected List getFieldOrder() { + return Arrays.asList(new String[] { "AceType", "AceFlags", "AceSize" }); + } + + public String getSidString() { + return Advapi32Util.convertSidToStringSid(psid); + } + + public PSID getSID() { + return psid; + } + } + + /* ACE header */ + public static class ACE_HEADER extends ACEStructure { + public ACE_HEADER() { } + public ACE_HEADER(Pointer p) { + super(p); + read(); + } + } + + /** + * ACCESS_ALLOWED_ACE and ACCESS_DENIED_ACE have the same structure layout + */ + public static abstract class ACCESS_ACEStructure extends ACEStructure { + protected List getFieldOrder() { + List list = new ArrayList(super.getFieldOrder()); + list.addAll(Arrays.asList(new String[] { "Mask", "SidStart"})); + return list; + } + public ACCESS_ACEStructure() { } + public ACCESS_ACEStructure(Pointer p) { + super(p); + read(); + // AceSize - size of public members of the structure + size of DWORD + // (SidStart) + int sizeOfSID = super.AceSize - size() + 4; + // ACE_HEADER + size of int (Mask) + int offsetOfSID = 4 + 4; + byte[] data = p.getByteArray(offsetOfSID, sizeOfSID); + psid = new PSID(data); + } + + public int Mask; + + /** + * first 4 bytes of the SID + */ + public DWORD SidStart; + } + + /* Access allowed ACE */ + public static class ACCESS_ALLOWED_ACE extends ACCESS_ACEStructure { + public ACCESS_ALLOWED_ACE() { } + public ACCESS_ALLOWED_ACE(Pointer p) { + super(p); + } + } + + /* Access denied ACE */ + public static class ACCESS_DENIED_ACE extends ACCESS_ACEStructure { + public ACCESS_DENIED_ACE() { } + public ACCESS_DENIED_ACE(Pointer p) { + super(p); + } + } + + /* ACE types */ + byte ACCESS_ALLOWED_ACE_TYPE = 0x00; + byte ACCESS_DENIED_ACE_TYPE = 0x01; + byte SYSTEM_AUDIT_ACE_TYPE = 0x02; + byte SYSTEM_ALARM_ACE_TYPE = 0x03; + byte ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x04; + byte ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x05; + byte ACCESS_DENIED_OBJECT_ACE_TYPE = 0x06; + byte SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x07; + byte SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x08; + byte ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x09; + byte ACCESS_DENIED_CALLBACK_ACE_TYPE = 0x0A; + byte ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0x0B; + byte ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0x0C; + byte SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0x0D; + byte SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0x0E; + byte SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0x0F; + byte SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10; + byte SYSTEM_MANDATORY_LABEL_ACE_TYPE = 0x11; + + /* ACE inherit flags */ + byte OBJECT_INHERIT_ACE = 0x01; + byte CONTAINER_INHERIT_ACE = 0x02; + byte NO_PROPAGATE_INHERIT_ACE = 0x04; + byte INHERIT_ONLY_ACE = 0x08; + byte INHERITED_ACE = 0x10; + byte VALID_INHERIT_FLAGS = 0x1F; + + // TODO: figure out how OVERLAPPED is used and apply an appropriate mapping + interface OVERLAPPED_COMPLETION_ROUTINE extends StdCallCallback { + void callback(int errorCode, int nBytesTransferred, + WinBase.OVERLAPPED overlapped); + } +} From 07b88af439b8ea11ccfb64e45c8a1b2f74c67a6f Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 15:46:53 -0500 Subject: [PATCH 20/34] ignore ctor errors in stuctures manually validated by wolftobias. --- .../test/com/sun/jna/platform/StructureFieldOrderTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java index 7000845d1e..2b14227023 100644 --- a/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java +++ b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java @@ -15,6 +15,7 @@ import com.sun.jna.Platform; import com.sun.jna.platform.unix.X11; +import com.sun.jna.platform.win32.DBT; import junit.framework.TestCase; import com.sun.jna.StructureFieldOrderInspector; @@ -31,6 +32,9 @@ public void testMethodGetFieldOrder() { ignoreConstructorError.add(X11.class.getName() + "$"); } + ignoreConstructorError.add(DBT.DEV_BROADCAST_HANDLE.class.getName()); // manually validated by wolftobias + ignoreConstructorError.add(DBT.DEV_BROADCAST_PORT.class.getName()); // manually validated by wolftobias + StructureFieldOrderInspector.batchCheckStructureGetFieldOrder(FileUtils.class, ignoreConstructorError); } From 251eae5cac846d778c74f8a22b37b74cbb37f79f Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 16:15:41 -0500 Subject: [PATCH 21/34] include super classes when looking for fields and getFieldOrder() method. --- .../sun/jna/StructureFieldOrderInspector.java | 32 +++++++++++++------ .../jna/StructureFieldOrderInspectorTest.java | 16 ++++++++++ 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/test/com/sun/jna/StructureFieldOrderInspector.java b/test/com/sun/jna/StructureFieldOrderInspector.java index 3868c71ee7..85918234bf 100644 --- a/test/com/sun/jna/StructureFieldOrderInspector.java +++ b/test/com/sun/jna/StructureFieldOrderInspector.java @@ -97,14 +97,7 @@ public static void checkMethodGetFieldOrder(final Class str return; } - final Method methodGetFieldOrder; - try { - methodGetFieldOrder = structureSubType.getDeclaredMethod("getFieldOrder", new Class[]{}); - } catch (NoSuchMethodException e) { - throw new IllegalArgumentException("The Structure sub type: " + structureSubType.getName() - + " must define the method: getFieldOrder()." - + " See the javadoc for Structure.getFieldOrder() for details.", e); - } + final Method methodGetFieldOrder = getMethodGetFieldOrder(structureSubType); if (Modifier.isAbstract(structureSubType.getModifiers())) { @@ -158,7 +151,7 @@ public static void checkMethodGetFieldOrder(final Class str throw new RuntimeException("Could not invoke getFieldOrder() on Structure sub type: " + structureSubType.getName(), e); } - final Field[] actualFields = structureSubType.getDeclaredFields(); + final Field[] actualFields = structureSubType.getFields(); // include fields from super classes final List actualFieldNames = new ArrayList(actualFields.length); for (final Field field : actualFields) { // ignore static fields @@ -179,4 +172,25 @@ public static void checkMethodGetFieldOrder(final Class str } } } + + /** + * Find the getFieldOrder() method in the given class, or any of it's parents. + * @param structureSubType a structure sub type + * @return the getFieldOrder() method found in the given class, or any of it's parents. + */ + private static Method getMethodGetFieldOrder(Class structureSubType) { + final Method methodGetFieldOrder; + try { + methodGetFieldOrder = structureSubType.getDeclaredMethod("getFieldOrder", new Class[]{}); + } catch (NoSuchMethodException e) { + if (structureSubType.getSuperclass() != null) { + // look for method in parent + return getMethodGetFieldOrder((Class) structureSubType.getSuperclass()); + } + throw new IllegalArgumentException("The Structure sub type: " + structureSubType.getName() + + " must define the method: getFieldOrder()." + + " See the javadoc for Structure.getFieldOrder() for details.", e); + } + return methodGetFieldOrder; + } } diff --git a/test/com/sun/jna/StructureFieldOrderInspectorTest.java b/test/com/sun/jna/StructureFieldOrderInspectorTest.java index d0c9cd99d2..ee973c04cd 100644 --- a/test/com/sun/jna/StructureFieldOrderInspectorTest.java +++ b/test/com/sun/jna/StructureFieldOrderInspectorTest.java @@ -149,6 +149,22 @@ public void testCheckMethodGetFieldOrderStaticField() throws Exception { } + private static class MyStructSuper extends Structure { + public long instanceField; + + @Override + protected List getFieldOrder() { + //return Arrays.asList(); + return Arrays.asList("instanceField"); + } + } + private static final class MyStructChildEmpty extends MyStructSuper { + } + public void testCheckMethodGetFieldOrderSuperImplOnly() throws Exception { + StructureFieldOrderInspector.checkMethodGetFieldOrder(MyStructChildEmpty.class, null); + } + + public void testCheckMethodGetFieldOrderWithAbstractSubtype() throws Exception { StructureFieldOrderInspector.checkMethodGetFieldOrder(Union.class, null); } From f3ceebecfd90aa556dab8995b3124e0f4430f146 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 16:26:30 -0500 Subject: [PATCH 22/34] fix getFieldOrder() to return correct field name: grpi3_group_sid instead of grpi3_group_id. --- contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java b/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java index 10b4b41c75..ccd7259a31 100644 --- a/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java +++ b/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java @@ -411,7 +411,7 @@ public GROUP_INFO_3(Pointer memory) { public int grpi3_attributes; protected List getFieldOrder() { - return Arrays.asList(new String[] { "grpi3_name", "grpi3_comment", "grpi3_group_id", "grpi3_attributes" }); + return Arrays.asList(new String[] { "grpi3_name", "grpi3_comment", "grpi3_group_sid", "grpi3_attributes" }); } } From 70658a0279ea758396e740680b6d9045309832d5 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 16:33:10 -0500 Subject: [PATCH 23/34] add commented example of test for individual Structure class. --- .../sun/jna/platform/StructureFieldOrderTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java index 2b14227023..3790731f49 100644 --- a/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java +++ b/contrib/platform/test/com/sun/jna/platform/StructureFieldOrderTest.java @@ -38,4 +38,18 @@ public void testMethodGetFieldOrder() { StructureFieldOrderInspector.batchCheckStructureGetFieldOrder(FileUtils.class, ignoreConstructorError); } +// test below is helpful when investigating failure cause of a specific Structure class, it shows full causes and traces. +/* + public void testMethodGetFieldOrderSingleClass() { + final List ignoreConstructorError = new ArrayList(); + + if (Platform.isWindows()) { + ignoreConstructorError.add(X11.class.getName() + "$"); + } + + StructureFieldOrderInspector.checkMethodGetFieldOrder(LMAccess.GROUP_INFO_3.class, ignoreConstructorError); + } +//*/ + + } From 6d608dd49b9cb90c41f6beaa281561b68fb67a2d Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 16:55:37 -0500 Subject: [PATCH 24/34] update changes doc --- CHANGES.md | 1229 ++++++++++++++++++++++++++-------------------------- 1 file changed, 617 insertions(+), 612 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 943fe3c06d..cdd0fa9b7e 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,612 +1,617 @@ -Next Release (3.5.2) -==================== - -Features --------- -* [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). - -Release 3.5.1 -==================== - -Bug Fixes ---------- -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). -* [#151] 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) - -Release 3.5.0 -============= - -Features --------- -* `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). -* Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). -* Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). -* Add `android-arm` target - [@ochafik](https://github.com/ochafik), [@twall](https://github.com/twall). -* Add `jna.tmpdir` to override temporary JNA storage location - [@twall](https://github.com/twall). -* Add `EXTRA_MAKE_OPTS` ant property to override make variables - [@twall](https://github.com/twall). -* Add `Library.OPTION_OPEN_FLAGS` to customize dlopen behavior - [@twall](https://github.com/twall). -* [#113](https://github.com/twall/jna/issues/113), [#114](https://github.com/twall/jna/issues/114): Add support for GNU/kFreeBSD and debian multi-arch distros - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Fix `Advapi32Util.registryGetValues()` tried to allocate memory for a zero-length `REG_BINARY` value - [@phailwhale22](https://github.com/phailwhale22). -* Fix crash in direct mode callbacks with certain type conversions - [@twall](https://github.com/twall). -* More thoroughly propagate unexpected exceptions generated in jnidispatch - [@twall](https://github.com/twall). -* Cleanup maven poms and publishing to central repo - [@bhamail](https://github.com/bhamail). -* [#129](https://github.com/twall/jna/issues/129): Allow `Memory` field in structure - [@twall](https://github.com/twall). -* Preserve `PointerType` fields on `Structure.read()` if unchanged - [@twall](https://github.com/twall). -* [#128](https://github.com/twall/jna/issues/128): Fix masking extracting DWORD upper and lower WORD values - [@twall](https://github.com/twall). -* [#135](https://github.com/twall/jna/issues/135): Fix for `Advapi32Util.registryGetValues()` when reading zero length values - [@danwi](https://github.com/danwi). - -Release 3.4.2 -============= - -Features --------- -* Add `platform.win32.Kernel32.GetEnvironmentVariable` and `platform.win32.Kernel32Util.getEnvironmentVariable` - [@dblock](https://github.com/dblock). -* Moved `Kernel32.dll` function definitions from `WinNT.java` into `Kernel32.java` - [@dblock](https://github.com/dblock). -* Provide `toPointer()` methods on all `_PTR` types (platform win32) - [@twall](https://github.com/twall). -* Provide `ant -Dskip-native` to skip platform native build - [@twall](https://github.com/twall). -* Provide `ant -Dheadless=true` to run unit tests headless - [@twall](https://github.com/twall). -* Added Windows dev environment instructions - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Ensure platform win32 classes use unsigned where appropriate (`ULONG_PTR`, `UINT_PTR`, `ULONGLONG`, `WORD`, `DWORDLONG`) - [@twall](https://github.com/twall). -* [#71](https://github.com/twall/jna/issues/71), [#73](https://github.com/twall/jna/issues/73): Fix OSGI entries in manifest - [@twall](https://github.com/twall). -* [#78](https://github.com/twall/jna/issues/78): Fix NPE in `platform.win32.Netapi32Util.getDomainTrusts` - [@dblock](https://github.com/dblock). -* Fix: auto-sync memory for `struct**` arguments (array of struct pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.Secur32.AcquireCredentialsHandle`, `InitializeSecurityContext` and `AcceptSecurityContext` on Win32 64-bit - [@dblock](https://github.com/dblock). -* Fix: avoid overwriting native `char *` or `wchar_t *` fields within structures when unmodified (similar to current operation with pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.DsGetDC.DS_DOMAIN_TRUSTS` and `DsEnumerateDomainTrusts` on Win32 64-bit - [@trejkaz](https://github.com/trejkaz). -* Fix: Crash freeing the wrong pointer in `Netapi32Util.getDomainTrusts` - [@trejkaz](https://github.com/trejkaz). -* [#100](https://github.com/twall/jna/issues/100): Fix `platform.win32.W32FileMonitor` - [@dblock](https://github.com/dblock). -* Return INT_PTR from `platform.win32.Shell32.ShellExecute`, since returning -`HINSTANCE` is useless. -* Fix runtime error in some instances where Structure.setFieldOrder is used (never return self when sharing AutoAllocated memory). -* [#107](https://github.com/twall/jna/issues/107): `Structure.clear()` always calls `ensureAllocated()` to avoid NPE. -* Ensure internal memory pointer is *always* allocated when calling `Structure.useMemory()`, even if layout is not yet determined. - -Release 3.4.1 -============= - -Features --------- -* Add 'unsigned' modifier to IntegerType. -* Add to `platform.win32.User32`: `GetLastInputInfo`. -* Add `platform.win32.WinNT.GetFileType` and `platform.win32.Kernel32Util.getFileType`. -* Add to `platform.win32.Kernel32Util`: `getFileType`. - -Bug Fixes ---------- -* Re-build linux-amd and linux-i386 against older versions of glibc (2.2.5 and -2.1.3 respectively). -* Properly initialize first printer info struct in winspool library. -* Properly support getting and setting zero-array-length `REG_MULTI_SZ` values on Win32. -* Fixed SID in Win32 `USER_INFO_23` and `GROUP_INFO_3`. -* Fixed passing domain name into Win32 `Netapi32Util.getUserInfo`. - -Release 3.4.0 -============= - -Features --------- -* Provide `jna.nosys=true` to avoid loading any system-provided JNA (useful for local build/development). -* Allow override of default jnidispatch library name with `jna.boot.library.name` system property. -* Throw an Error if a system install of JNA is incompatible or if JNA's JNI library does not match. -* Disable automatic jnidispatch unpacking with `jna.nounpack=true`. -* Automatically look up system error messages for LastErrorException. -* Improved callback thread-mapping support; re-use, rename, and group callback -threads. -* Cache structure layout results, improving performance of structure creation. -* linux/arm 32-bit support (hardware provided by Alex Lam). -* linux/ppc 32-bit support (hardware provided by Fritiof Hedman). -* Preliminary linux/ia64, linux/ppc64 support (thanks to Laurent Guerby and the GCC compile farm). -* Windows CE/Mobile support (w32ce-arm) (resources provided by andrea antonello and Hydrologis SRL). -* linux multi-arch support (kohsuke). -* Added REG_QWORD registry type support -* Add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`. -* Add to `platform.mac.Carbon`: `GetEventDispatcherTarget`, `InstallEventHandler`, `RegisterEventHotKey`, `GetEventParameter`, `RemoveEventHandler`, `UnregisterEventHotKey`. -* Add to `platform.win32.Kernel32`: `CopyFile`, `MoveFile`, `MoveFileEx`, `CreateProcess`, `SetEnvironmentVariables`, `GetFileTime`, `SetFileTime`, `SetFileAttributes`, `DeviceIoControl`, `GetDiskFreeSpaceEx`, `CreateToolhelp32Snapshot`, `Process32First`, `Process32Next`. -* Add to `platform.win32.Msi`: `MsiGetComponentPath`, `MsiLocateComponent`, `MsiGetProductCode`, `MsiEnumComponents`. -* Add to `platform.win32.User32`: `RegisterHotKey`, `UnregisterHotKey` -* Add to `platform.win32.SetupApi`: `SetupDiGetClassDevs`, `SetupDiDestroyDeviceInfoList`, `SetupDiEnumDeviceInterfaces`, `SetupDiGetDeviceInterfaceDetail`, `SetupDiGetDeviceRegistryProperty`. -* Add `platform.win32.Shell32.ShellExecute`. -* Add to `platform.win32.User32`: `SetParent`, `IsWindowVisible`, `MoveWindow`, `SetWindowPos`, `AttachInputThread`, `SetForegroundWindow`, `GetForegroundWindow`, `SetFocus`, `SendInput`, `WaitForInputIdle`, `InvalidateRect`, `RedrawWindow`, `GetWindow`, `UpdateWindow`, `ShowWindow`, `CloseWindow`. -* Add to `platform.win32.Version`: `GetFileVersionInfoSize`, `GetFileVersionInfo`, `VerQueryValue`. -* Add to `platform.win32.Advapi32`: `GetFileSecurity`, `RegQueryValueEx(...Long...)`. -* Add to `platform.win32.Netapi32`: `NetUserGetInfo`. - -Bug Fixes --------- -* Revise cleanup of in-use temporary files on win32 (issue 6). -* Fix structure alignment issues on linux/ppc. -* Fix structure alignment issues on linux/arm. -* Account for NIO Buffer position (JIRA issue 185). -* Avoid crash with very long Strings (> 150k in length). -* Fix bug tracking Memory with an associated direct ByteBuffer. -* Fix bug handling structs by value when type mappers are in effect (JIRA issue 188). - -Release 3.3.0 -============= - -Features --------- - -* Facilitate `Memory` subclasses (jbellis). -* Allow multiple fields of the same type in Unions (Francis Barber). -* Add `platform.win32.Advapi32.AdjustTokenPrivileges`, `platform.win32.Advapi32.LookupPrivilegeName`, `platform.win32.Advapi32.LookupPrivilegeValue`, `platform.win32.Advapi32.ImpersonateSelf`. -* Add `platform.win32.Advapi32.DuplicateTokenEx`, `platform.win32.Advapi32.CreateProcessAsUser`, `platform.win32.Kernel32.GetExitCodeProcess`, `platform.win32.Kernel32.TerminateProcess`, `platform.win32.Kernel32.ReadFile`, `platform.win32.Kernel32.CreatePipe`, `platform.win32.Kernel32.SetHandleInformation` and related constants / structures in `platform.win32.WinBase` and `platform.win32.WinNT`. Please note that the `SECURITY_ATTRIBUTES` structure has been moved from `platform.win32.WinNT` to `platform.win32.WinBase`. -* Add `platform.win32.Kernel32.DeleteFile` and `platform.win32.Kernel32Util.deleteFile`. -* Add `platform.win32.Kernel32.GetFileAttributes` and `platform.win32.Kernel32Util.getFileAttributes`. -* Add `platform.win32.Kernel32.GetTickCount`. -* Add Win32 Service functions to `platform.win32.Advapi32`. -* Add `platform.win32.W32ServiceManager` and `W32Service`. -* Add Win32 Event Logging functions to `platform.win32.Advapi32` and `platform.win32.Advapi32Util.EventLogIterator`. -* `platform.win32.Advapi32Util.registryCreateKey` returns `true` if key was created, `false` if it already exists. -* Add `REG_BINARY`, `REG_EXPAND_SZ` and `REG_MULTI_SZ` support to `platform.win32.Advapi32Util` registry functions. -* Reduce JNI crossings in a number of native methods, moving object creation out into pure Java code. - -Bug Fixes ---------- - -* Move all native functions into `com.sun.jna.Native`, to ensure that all dependent classes must be disposed before the `Native` class is unloaded. Note that this change is incompatible with all previous JNA native libraries. -* Fix `platform.win32.Kernel32.GetNativeSystemInfo` and `GetSystemInfo` AV on Win64. -* Fix several potential minor bugs as reported by TvT. -* Fix bug in Structure.StructureSet.toString (Blair Zajac), exposed by Tomcat ThreadLocal cleanup. -* Fix several bugs when using Structure(Pointer) ctor and array fields (Samuel Audet). - -Release 3.2.7 -============= - -Features --------- - -* Add native peer value accessors for Pointer -* The `jna.library.path` property is now re-evaluated whenever a native library is loaded. Previously this value was cached when the JNA classes loaded. -* `Native.loadLibrary` can now load `.drv` files. -* Refactor `com.sun.jna.platform.win32.WINBASE` into `WinDef`, `WinNT` and `BaseTSD`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.GDI32` into `WinGDI`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.User32` into `WinUser`, matching Windows SDK headers. -* Refactor `platform.win32.WinNT.LARGE_INTEGER` into a union. -* Add `platform.win32.ObjBase`, `com.sun.jna.platform.win32.Ole32.CoInitializeEx`, `CoUninitialize`, and `CoCreateInstance`. -* Add `platform.win32.Oleaut32.SysAllocString` and `SysFreeString`. -* Add `platform.win32.Secur32.ImpersonateSecurityContext` and `RevertSecurityContext`. -* Add `platform.win32.WinNT.WELL_KNOWN_SID_TYPE`, `SECURITY_MAX_SID_SIZE` and other related SID-related constants. -* Add `platform.win32.Advapi32.CreateWellKnownSid` and `IsWellKnownSid` and `com.sun.jna.platform.win32.Advapi32Util.isWellKnownSid`. -* Add `platform.win32.Kernel32.GetVersion`, `GetVersionEx`, `GetSystemInfo`, `GetNativeSystemInfo`, `GlobalMemoryStatusEx`, `GetLogicalDriveStrings` and `IsWow64Process`. -* Add `platform.win32.Kernel32Util.getLogicalDriveStrings`. -* Add `platform.win32.User32.GetSystemMetrics`. -* Add `platform.win32.BaseTSD.DWORD_PTR`. -* Add `platform.win32.WinBase.SYSTEM_INFO` and `MEMORYSTATUSEX`. -* Add `platform.win32.WinNT.OSVERSIONINFOEX`, `VER` constants. -* Add `platform.win32.WinDef.ULONGLONG` and `DWORDLONG`. -* Add `platform.win32.Shell32.SHGetDesktopFolder` (prep work for Com4JNA). -* Add `platform.win32.Winspool.GetPrinterInfo`. -* Add `platform.win32.WinspoolUtil.getPrinterInfo1`. -* Add `platform.win32.GDI32.GetDeviceCaps`. -* Add `platform.win32.GDI32.GetDIBits`. - -Bug Fixes ---------- - -* Fix `ClassCastException` in `Structure.equals` (issue 152). -* Fix bug initializing a structure object from existing memory when the structure has initialized fields (issue 133). -* Fix NPE reading an array of string from a pointer when an element of the array is `NULL` (issue 151). -* Avoid calling `UnregisterNatives` in native code (issue 154). -* Compare unpacked library path against canonical (long) filename (issue 156). -* Fix `read()` of uninitialized memory in `platform.win32.Advapi32Util.getTokenGroups` and `getTokenAccount`. -* Fix `com.sun.jna.platform.win32.Secur32.QuerySecurityContextToken` to take a `CtxtHandle` instead of `PSecHandle`. -* Fix definition of BITMAPINFO (platform/win32). - -Release 3.2.5 -============= - -Features --------- - -* Split code in examples.jar into a contrib platform.jar package and individual packages for demos. -* Fix Eclipse build and added Eclipse projects for all contrib samples, import projects from jnalib and contrib. -* Ensure Structure fields correctly ordered when inherited. -* Use explicit Structure field whenever provided, regardless of whether the VM requires it. -* Add Win32 mappings for two dozen functions from Kernel32.dll, Advapi32.dll, Netapi32.dll, Secur32.dll, NtDll.dll, Ole32.dll, Shell32.dll and Crypt32.dll to com.sun.jna.platform.win32. -* Port parts of WinError.h, WinNT.h, LMAccess.h, LMCons.h, LMErr.h, LMJoin.h, NTStatus.h, ShlObj.h, WinDef.h, ShellApi.h, Wdm.h, WinReg.h, WinCrypt.h, Sspi.h, Guid.h, NtSecApi.h and DsGetDc.h. -* Add Win32 simplified utility interfaces Kernel32Util, Advapi32Util, Netapi32Util, Crypt32Util, NtDllUtil, Shell32Util, Ole32Util and Secur32Util to com.sun.jna.platform.win32. -* Support unicode paths in W32FileUtils. -* Fix exception during dispose in W32FileMonitor. - -Bug Fixes ---------- - -* Provide String.replace for 1.4 compatibility. -* Avoid allocating memory when Structure is provided a pointer in the ctor. -* Ensure proper value returned in Pointer.getValue() for non-null, unchanged NIO Buffer values. -* Use 1.4-compatible URI generation (issue 149). - -Release 3.2.4 -============= - -Features --------- - -* Make Pointer ctor public. -* Provide access to Function objects for arbitrary Pointer values. -* Add linux/ia64 binaries (bpiwowar). See issue 134 patch. - -Bug Fixes ---------- - -* Use a more robust method to decode a file-based URL (issue 135). - -Release 3.2.3 -============= - -Features --------- - -* Include version information in code in case package information lost. - -Bug Fixes ---------- - -* Fix WindowUtils exception on mouse over TrayIcon. -* Fix bug toggling windows transparent/opaque (win32/OSX). -* Avoid overwriting unchanged Pointer values in arrays (function calls with Pointer[] and Structure.read). -* Ensure Structure fields marked `final` are never written. -* Fix bug preventing proper population Structure.ByReference fields on Structure read. -* Ensure double buffering is disabled in components added to a transparent window. -* Fix UnsatisfiedLinkError attempting to load system libraries under Web Start. -* Fix loading Web Start-provided libraries on OSX (libraries must have a .jnilib suffix under Web Start). -* Properly include sources in Maven zip file (Issue 129). - -Release 3.2.2 -============= - -Features --------- - -* Provide length-specified Pointer.getStringArray() - -Bug Fixes ---------- - -* Fix crash with direct mapping if NULL struct* used (Issue 125). -* Fix case where null-valued Structure fields would get non-null values on write. -* Synch callback Structure/Structure[] arguments on callback return. -* Fix NPE when mapping an interface to the current process. -* Automatically load proper C library version from current process on Linux (avoids crashing bug on Ubuntu with libc-i686 packages active). -* Avoid scanning structure contents in Structure.toString if contents aren't actually used. - -Release 3.2.1 -========== - -Features --------- - -* Add HRESULT, LONG mapping to W32API (marc strapetz). - - -Bug Fixes ---------- - -* Fix definition of HWND_BROADCAST in W32API. -* Fix memory alignment checking (Issue 121). -* Fix Structure equals/hashCode implementation, based on current Java fields rather than strictly native memory contents. Avoid using equals/hashCode when avoiding recursive reads/writes. - -Release 3.2.0 -============= - -Features --------- - -* Handle String, Structure, Callback, Buffer, and primitive arrays in direct mappings. Handle NativeMapped and TypeMapper, with optimized paths for IntegerType and PointerType. -* Optionally throw errno/GetLastError as an exception. This is preferred to (and more efficient than) calling Native.getLastError(). -* Unload/delete native library unpacked from jna.jar if Native class is garbage collected. Only install shutdown hook if using the system class loader. -* Auto-write contiguous Structure arrays when first element is written. -* Support NativeMapped[] as function arguments for interface-mapped libraries (Issue 90). -* Enable function lookup within current process on Windows. - -Bug Fixes ---------- - -* Restrict recursive structure reads/writes by thread instead of globally. This avoids potentially missed reads/writes with concurrent access (Issue 120). -* Ensure Memory is not GC'd and freed if direct NIO buffers mapped to it are extant. -* Allow types derived from java.nio.Buffer as Structure fields. - -Release 3.1.0 -============= - -Features --------- - -* Add raw JNI mapping of static Java methods. Performance is about 10X that of traditional JNA interface mapping, although with less type conversion functionality. -* Add library option to allow passing/return of Java Objects. -* Allow handling of uncaught callback exceptions (Issue 63). -* Object oriented interface to X server (see contrib/x11) -* Make Memory class more accessible. -* Provide Structure ctor with Pointer argument (issue 102). -* Allow implicit library access to current process on linux (issue 98). -* Open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux. -* Allow NIO Buffer as Structure field (with limitations) (Issue 57) -* Add `size_t` size. - -Bug Fixes ---------- - -* Run tests with libjsig.so, if available, which fixes some crashes when running tests on 64-bit platforms. -* Fix Issue 104. -* Fix Issue 94 (Java 1.6 update 10 regression). -* Fix Issue 51 (Java 1.6 update 10 regression). -* Fix Issue 95. -* Fix Issue 101. -* Fix Issue 111, memory leak with String-returning Callback. -* Fix missing storage of union type information (affects usage of struct/union by value as argument and return type). -* Remove non-functional Structure ctors requiring explicit size. - -Release 3.0.9 -============= - -Bug Fixes ---------- - -* Fix issue 93 by only manually searching jna.library.path, then falling back to passing the mapped library name to dlopen/LoadLibrary. This fixes an issue in JRUBY where the incorrect libc.so.6 was being loaded. - -Release 3.0.8 -========== - -Features --------- - -* Auto-map Pointer[]/String[]/WString[] return values. -* Provide utility functions to convert String to primitive array. -* Add jna.library.boot.path property to define the directory that the native stub library is loaded from - -Release 3.0.7 -========== - -Features --------- - -* Improve Win32 loading of libraries with dependencies. - -Bug Fixes ---------- - -* Fix bug reading structures with PointerType fields, introduced with Pointer field preservation fix. - -Release 3.0.6 -============= - -Features --------- - -* Allow arbitrary callback method names if only one method is defined in the class which implements Callback (colinwalters). -* Allow specification of callback type mappers by using a TYPE_MAPPER field (colinwalters). -* Allow uninitialized (null-valued) boxed primitives in Structures (colinwalters). -* Add convenience methods to set active Union field and value simultaneously (xylo). -* Augment Union read/writeField to set the active field. -* Allow Structure auto-synch across native calls to be disabled. -* Win64 support. - -Bug Fixes ---------- - -* Avoid overwriting unchanged Structure fields of type Pointer. -* Avoid more content dragging on OSX or warn if it's too late. -* Fix UnsatisfiedLinkError using transparent window on Win2K. -* Fix memory leak with callbacks called from native threads with no Java context (johnwallace). -* Defer structure size calculation if type mapper not yet set, allowing type mapper to be set in derived constructors (colinwalters). -* Ensure structure memory is allocated in Structure.read/writeField. - -Release 3.0.5 -============= - -Features --------- - -* Allow explicit declaration of field order for VMs which have an unpredictable field order. -* Check for w32 libraries with a "lib" prefix in addition to normal lookup. -* Allow String[]/WString[] as callback argument/return value (assume NULL-terminated array). -* Add Solaris8 compatibility to sunos-sparc build (Corey Puffalt). -* Look up libraries using web start library path, if appropriate (Corey Puffalt). -* Use constants to return integer boolean values. - -Bug Fixes ---------- - -* Properly track cursor on alpha-masked windows. -* Avoid searching /lib or /usr/lib on 64-bit Linux. -* Avoid using incorrect version of a library when both 32- and 64-bit versions are found. -* Avoid transparent window events always dragging window bug on OSX. -* Fix division by zero error calculating structure size on OSX/ppc. -* Avoid overwriting initialized NativeMapped Structure fields when calculating structure size. -* Fix NPE reading back into StringArray. - -Release 3.0.4 -============= - -Features --------- - -* Automatically write contents of Structure.ByReference fields on Structure.write(). -* Use the actual parameter type in Function invocations if no parameter type information is available (whether method is missing or untyped varargs). -* Augmented X11 library mappings (xylo). -* Support read/write of NativeMapped arrays within Structure (notably NativeLong). - -Bug Fixes ---------- - -* Fix library load error when /usr/lib32 and /usr/lib both exist (linux) (Marek Slama). -* Avoid incorrect matches against libraries named with the same prefix (e.g. libc-client.so vs libc.so) (xylo). -* Properly handle arrays of NativeMapped (e.g. NativeLong) as a Structure field (stefan endrullis). -* Ensure structure size calculated prior to setting union active type. -* XID is 64-bits on 64-bit X clients (xylo). -* Ensure proper arch name is used on Debian (amd64 instead of x86_64). - -Release 3.0.3 -============= - -Features --------- - -* Enable build/run using IBM's J9 VM (leonardo). -* Make StdCallFunctionMapper attempt a leading underscore if the simpler mapping doesn't work. -* Allow Structure.read to overwrite final fields (may not work on some 1.4 VMs). - -Bug Fixes ---------- - -* Fix NPE when passing an array of Structure.ByReference. -* Compare entire linux library version when finding a match. -* Don't pass struct by value unless the method signature declares it. -* Restrict custom first element structure alignment to OSX/ppc. -* Improve performance and reduce memory footprint for window masks. Optimize polygon-based masks on w32. Use XFillRectangles on X11. -* Fix linkage settings on sunos-amd64 to avoid relocation errors. -* Fix callback allocation code on w32, solaris, freebsd, darwin (libffi was misconfigured). -* Fix bug when NativeMapped fields are used in a Structure.ByValue instance. -* Fix NPE calling Structure.read() before memory is initialized. -* Fix NPE calling Structure.read/write with uninitialized NativeMapped fields. - -Release 3.0.2 -============= - -Features --------- - -* Attempt to force unload of jnidispatch library prior to deleting it (w32). -* Added amd64 targets for OSX, FreeBSD, and Solaris. - -Bug Fixes ---------- - -* Reduce space allocated for invocation arguments. -* Fix NPE when NativeMapped type is used in a Structure. -* Fix some X11 type mappings for 64-bit. -* Fix OSX Leopard/JRE1.5+ window transparency. -* Fix window alpha compositing on X11. -* Fix loading of libraries with unicode names on OSX. - -Release 3.0.1 -============= - -Features --------- - -* Improve transparent window drawing performance on w32 -* Use closure allocation from libffi - -Bug Fixes ---------- - -* Ensure nested structure arrays initialized with Structure.toArray use the appropriate native memory. -* Ensure structure size is calculated prior to converting to array -* Avoid creating new windows when setting a window mask -* Fix bug in Pointer.setChar. - -Release 3.0 -=========== - -Features --------- - -* More supported platforms, via GCC's libffi (wmeissner) -* Support struct by value as parameter and return value (duncan) -* Support struct by reference within structures -* Provide access to native peer for java.awt.Component -* Provide access to native peer on OS X. -* Support MINGW32 builds (fullung) -* Allow per-field Structure read/write by field name -* Avoid writing Structure fields marked 'volatile' -* Read and wrap function pointers in Structure fields when read with a Java proxy to allow easy Java-side invocation (Ken Larson) -* Support array-backed Buffers as arguments (wmeissner) -* Auto-conversion of custom types (wmeissner) -* Allow pointer type-safety -* Optional VM crash protection, via Native.setProtected(boolean) -* Auto-convert WString[] -* Provide library synchronization wrapper similar to Collections.synchronizedX -* Support lookup of OSX framework libraries by name -* Explicit access to shared library global data -* Invocation interception to facilitate translation of C preprocessor macros and inline functions -* Provide utility to determine Web Start native library cache location; auto-include this path if jnidispatch is included as a <nativelib> (robertengels) -* Provide access to aligned memory -* Versioning information embedded in jna.jar and native library - -Bug Fixes ---------- - -* Avoid attempts to free native library if it failed to load (wmeissner) -* Explicitly check method signatures for varargs instead of heuristically guessing (wmeissner) -* Disallow declaring Pointer-derived fields in Structures (Function, Memory) -* Ensure Object.toString/hashCode/equals methods are intercepted on proxyied interfaces -* Update X11 library for 64-bit use (wmeissner) -* Properly map arrays of char*/wchar_t* under w32 -* Allow Pointer[] as a Structure field and Function argument -* Fix some misleading Structure error messages -* Properly preserve/return GetLastError/errno after native calls -* Allocate executable memory on w32 to avoid errors with hardware-enforced data execution protection (DEP) -* Fix VM crash on w32 stdcall callbacks -* Use long offsets and sizes rather than ints (64-bit safe) -* Properly clean up references and release closure memory on JNI_Unload -* Use simpler AWT/JAWT library loading workaround -* Avoid changing array references within a Structure on read - -Release 2.5 -=========== - -Features --------- - -* Unions -* Optimized shaped windows (chris deckers & olivier chafik); instantiation time improved by about 2-3 orders of magnitude for large, mostly contiguous shapes -* Provide type mapping in callback arguments/results -* Provide access to ByteBuffer direct address as a Pointer -* Provide customization of native string encoding with jna.encoding system property - -Bug Fixes ---------- - -* Properly handle VMs with reversed Structure member storage -* Avoid making window undecorated when clearing window mask on X11 -* Fix structure alignment bug on OSX/PPC when first element is > 4 bytes in size -* Clearing OSX window mask by setting to MASK_NONE now works properly -* Avoid index exceptions if native buffers are not NUL-terminated on string conversions -* Write initialized Structure[] argument memory prior to function calls -* Fix IllegalArgumentException reading WString into a Structure -* Clear memory when allocating a structure block (fixes VM crash) -* Remove versioned JAWT dependency on OSX, allowing use on 10.3/JRE1.4. - -Release 2.4 -=========== - -Features --------- - -* Explicitly support unaligned structures -* Auto-reallocate structure arrays -* Automatic handling of w32 UNICODE/ASCII variants -* Automatic mapping of decorated w32 stdcall function names -* Customizable, automatic type conversion of arguments and results (wmeissner) -* Support char*[] arguments as Java String[] -* Structure supports Callback members (wmeissner) -* getByteBuffer from Pointer/Memory (wmeissner) -* Allow GC of native libraries -* Facilitate use from non-Java contexts (JRuby et al.) (wmeissner) -* Improve library path searching (wmeissner) -* Handle Structure[] arguments -* Handle native long arguments and return values -* Handle direct and array-based ByteBuffer arguments (wmeissner) -* Change default w32 build to use GCC (it's free, yo) - -Bug Fixes ---------- - -* Structure.toArray failed to initialize members -* Disallow explicit free of Structure/Memory -* Ensure native libraries are only loaded once until released -* Properly handle NULL when the return value is a Structure -* Proper conversion to wchar_t on linux -* Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered +Next Release (3.5.2) +==================== + +Bug Fixes +--------- +* [#183](https://github.com/twall/jna/pull/183): Fix LMAccess.GROUP_INFO_3.getFieldOrder() to return correct fields names. - [@bhamail](https://github.com/bhamail). + +Features +-------- +* [#183](https://github.com/twall/jna/pull/183): Added StructureFieldOrderInspector unit test utility to scan for Structure field issues. See: com.sun.jna.platform.StructureFieldOrderTest.testMethodGetFieldOrder() - [@bhamail](https://github.com/bhamail). +* [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). + +Release 3.5.1 +==================== + +Bug Fixes +--------- +* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). +* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). +* [#151] 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) + +Release 3.5.0 +============= + +Features +-------- +* `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). +* Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). +* Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). +* Add `android-arm` target - [@ochafik](https://github.com/ochafik), [@twall](https://github.com/twall). +* Add `jna.tmpdir` to override temporary JNA storage location - [@twall](https://github.com/twall). +* Add `EXTRA_MAKE_OPTS` ant property to override make variables - [@twall](https://github.com/twall). +* Add `Library.OPTION_OPEN_FLAGS` to customize dlopen behavior - [@twall](https://github.com/twall). +* [#113](https://github.com/twall/jna/issues/113), [#114](https://github.com/twall/jna/issues/114): Add support for GNU/kFreeBSD and debian multi-arch distros - [@twall](https://github.com/twall). + +Bug Fixes +--------- +* Fix `Advapi32Util.registryGetValues()` tried to allocate memory for a zero-length `REG_BINARY` value - [@phailwhale22](https://github.com/phailwhale22). +* Fix crash in direct mode callbacks with certain type conversions - [@twall](https://github.com/twall). +* More thoroughly propagate unexpected exceptions generated in jnidispatch - [@twall](https://github.com/twall). +* Cleanup maven poms and publishing to central repo - [@bhamail](https://github.com/bhamail). +* [#129](https://github.com/twall/jna/issues/129): Allow `Memory` field in structure - [@twall](https://github.com/twall). +* Preserve `PointerType` fields on `Structure.read()` if unchanged - [@twall](https://github.com/twall). +* [#128](https://github.com/twall/jna/issues/128): Fix masking extracting DWORD upper and lower WORD values - [@twall](https://github.com/twall). +* [#135](https://github.com/twall/jna/issues/135): Fix for `Advapi32Util.registryGetValues()` when reading zero length values - [@danwi](https://github.com/danwi). + +Release 3.4.2 +============= + +Features +-------- +* Add `platform.win32.Kernel32.GetEnvironmentVariable` and `platform.win32.Kernel32Util.getEnvironmentVariable` - [@dblock](https://github.com/dblock). +* Moved `Kernel32.dll` function definitions from `WinNT.java` into `Kernel32.java` - [@dblock](https://github.com/dblock). +* Provide `toPointer()` methods on all `_PTR` types (platform win32) - [@twall](https://github.com/twall). +* Provide `ant -Dskip-native` to skip platform native build - [@twall](https://github.com/twall). +* Provide `ant -Dheadless=true` to run unit tests headless - [@twall](https://github.com/twall). +* Added Windows dev environment instructions - [@twall](https://github.com/twall). + +Bug Fixes +--------- +* Ensure platform win32 classes use unsigned where appropriate (`ULONG_PTR`, `UINT_PTR`, `ULONGLONG`, `WORD`, `DWORDLONG`) - [@twall](https://github.com/twall). +* [#71](https://github.com/twall/jna/issues/71), [#73](https://github.com/twall/jna/issues/73): Fix OSGI entries in manifest - [@twall](https://github.com/twall). +* [#78](https://github.com/twall/jna/issues/78): Fix NPE in `platform.win32.Netapi32Util.getDomainTrusts` - [@dblock](https://github.com/dblock). +* Fix: auto-sync memory for `struct**` arguments (array of struct pointers) - [@twall](https://github.com/twall). +* Fix: `platform.win32.Secur32.AcquireCredentialsHandle`, `InitializeSecurityContext` and `AcceptSecurityContext` on Win32 64-bit - [@dblock](https://github.com/dblock). +* Fix: avoid overwriting native `char *` or `wchar_t *` fields within structures when unmodified (similar to current operation with pointers) - [@twall](https://github.com/twall). +* Fix: `platform.win32.DsGetDC.DS_DOMAIN_TRUSTS` and `DsEnumerateDomainTrusts` on Win32 64-bit - [@trejkaz](https://github.com/trejkaz). +* Fix: Crash freeing the wrong pointer in `Netapi32Util.getDomainTrusts` - [@trejkaz](https://github.com/trejkaz). +* [#100](https://github.com/twall/jna/issues/100): Fix `platform.win32.W32FileMonitor` - [@dblock](https://github.com/dblock). +* Return INT_PTR from `platform.win32.Shell32.ShellExecute`, since returning +`HINSTANCE` is useless. +* Fix runtime error in some instances where Structure.setFieldOrder is used (never return self when sharing AutoAllocated memory). +* [#107](https://github.com/twall/jna/issues/107): `Structure.clear()` always calls `ensureAllocated()` to avoid NPE. +* Ensure internal memory pointer is *always* allocated when calling `Structure.useMemory()`, even if layout is not yet determined. + +Release 3.4.1 +============= + +Features +-------- +* Add 'unsigned' modifier to IntegerType. +* Add to `platform.win32.User32`: `GetLastInputInfo`. +* Add `platform.win32.WinNT.GetFileType` and `platform.win32.Kernel32Util.getFileType`. +* Add to `platform.win32.Kernel32Util`: `getFileType`. + +Bug Fixes +--------- +* Re-build linux-amd and linux-i386 against older versions of glibc (2.2.5 and +2.1.3 respectively). +* Properly initialize first printer info struct in winspool library. +* Properly support getting and setting zero-array-length `REG_MULTI_SZ` values on Win32. +* Fixed SID in Win32 `USER_INFO_23` and `GROUP_INFO_3`. +* Fixed passing domain name into Win32 `Netapi32Util.getUserInfo`. + +Release 3.4.0 +============= + +Features +-------- +* Provide `jna.nosys=true` to avoid loading any system-provided JNA (useful for local build/development). +* Allow override of default jnidispatch library name with `jna.boot.library.name` system property. +* Throw an Error if a system install of JNA is incompatible or if JNA's JNI library does not match. +* Disable automatic jnidispatch unpacking with `jna.nounpack=true`. +* Automatically look up system error messages for LastErrorException. +* Improved callback thread-mapping support; re-use, rename, and group callback +threads. +* Cache structure layout results, improving performance of structure creation. +* linux/arm 32-bit support (hardware provided by Alex Lam). +* linux/ppc 32-bit support (hardware provided by Fritiof Hedman). +* Preliminary linux/ia64, linux/ppc64 support (thanks to Laurent Guerby and the GCC compile farm). +* Windows CE/Mobile support (w32ce-arm) (resources provided by andrea antonello and Hydrologis SRL). +* linux multi-arch support (kohsuke). +* Added REG_QWORD registry type support +* Add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`. +* Add to `platform.mac.Carbon`: `GetEventDispatcherTarget`, `InstallEventHandler`, `RegisterEventHotKey`, `GetEventParameter`, `RemoveEventHandler`, `UnregisterEventHotKey`. +* Add to `platform.win32.Kernel32`: `CopyFile`, `MoveFile`, `MoveFileEx`, `CreateProcess`, `SetEnvironmentVariables`, `GetFileTime`, `SetFileTime`, `SetFileAttributes`, `DeviceIoControl`, `GetDiskFreeSpaceEx`, `CreateToolhelp32Snapshot`, `Process32First`, `Process32Next`. +* Add to `platform.win32.Msi`: `MsiGetComponentPath`, `MsiLocateComponent`, `MsiGetProductCode`, `MsiEnumComponents`. +* Add to `platform.win32.User32`: `RegisterHotKey`, `UnregisterHotKey` +* Add to `platform.win32.SetupApi`: `SetupDiGetClassDevs`, `SetupDiDestroyDeviceInfoList`, `SetupDiEnumDeviceInterfaces`, `SetupDiGetDeviceInterfaceDetail`, `SetupDiGetDeviceRegistryProperty`. +* Add `platform.win32.Shell32.ShellExecute`. +* Add to `platform.win32.User32`: `SetParent`, `IsWindowVisible`, `MoveWindow`, `SetWindowPos`, `AttachInputThread`, `SetForegroundWindow`, `GetForegroundWindow`, `SetFocus`, `SendInput`, `WaitForInputIdle`, `InvalidateRect`, `RedrawWindow`, `GetWindow`, `UpdateWindow`, `ShowWindow`, `CloseWindow`. +* Add to `platform.win32.Version`: `GetFileVersionInfoSize`, `GetFileVersionInfo`, `VerQueryValue`. +* Add to `platform.win32.Advapi32`: `GetFileSecurity`, `RegQueryValueEx(...Long...)`. +* Add to `platform.win32.Netapi32`: `NetUserGetInfo`. + +Bug Fixes +-------- +* Revise cleanup of in-use temporary files on win32 (issue 6). +* Fix structure alignment issues on linux/ppc. +* Fix structure alignment issues on linux/arm. +* Account for NIO Buffer position (JIRA issue 185). +* Avoid crash with very long Strings (> 150k in length). +* Fix bug tracking Memory with an associated direct ByteBuffer. +* Fix bug handling structs by value when type mappers are in effect (JIRA issue 188). + +Release 3.3.0 +============= + +Features +-------- + +* Facilitate `Memory` subclasses (jbellis). +* Allow multiple fields of the same type in Unions (Francis Barber). +* Add `platform.win32.Advapi32.AdjustTokenPrivileges`, `platform.win32.Advapi32.LookupPrivilegeName`, `platform.win32.Advapi32.LookupPrivilegeValue`, `platform.win32.Advapi32.ImpersonateSelf`. +* Add `platform.win32.Advapi32.DuplicateTokenEx`, `platform.win32.Advapi32.CreateProcessAsUser`, `platform.win32.Kernel32.GetExitCodeProcess`, `platform.win32.Kernel32.TerminateProcess`, `platform.win32.Kernel32.ReadFile`, `platform.win32.Kernel32.CreatePipe`, `platform.win32.Kernel32.SetHandleInformation` and related constants / structures in `platform.win32.WinBase` and `platform.win32.WinNT`. Please note that the `SECURITY_ATTRIBUTES` structure has been moved from `platform.win32.WinNT` to `platform.win32.WinBase`. +* Add `platform.win32.Kernel32.DeleteFile` and `platform.win32.Kernel32Util.deleteFile`. +* Add `platform.win32.Kernel32.GetFileAttributes` and `platform.win32.Kernel32Util.getFileAttributes`. +* Add `platform.win32.Kernel32.GetTickCount`. +* Add Win32 Service functions to `platform.win32.Advapi32`. +* Add `platform.win32.W32ServiceManager` and `W32Service`. +* Add Win32 Event Logging functions to `platform.win32.Advapi32` and `platform.win32.Advapi32Util.EventLogIterator`. +* `platform.win32.Advapi32Util.registryCreateKey` returns `true` if key was created, `false` if it already exists. +* Add `REG_BINARY`, `REG_EXPAND_SZ` and `REG_MULTI_SZ` support to `platform.win32.Advapi32Util` registry functions. +* Reduce JNI crossings in a number of native methods, moving object creation out into pure Java code. + +Bug Fixes +--------- + +* Move all native functions into `com.sun.jna.Native`, to ensure that all dependent classes must be disposed before the `Native` class is unloaded. Note that this change is incompatible with all previous JNA native libraries. +* Fix `platform.win32.Kernel32.GetNativeSystemInfo` and `GetSystemInfo` AV on Win64. +* Fix several potential minor bugs as reported by TvT. +* Fix bug in Structure.StructureSet.toString (Blair Zajac), exposed by Tomcat ThreadLocal cleanup. +* Fix several bugs when using Structure(Pointer) ctor and array fields (Samuel Audet). + +Release 3.2.7 +============= + +Features +-------- + +* Add native peer value accessors for Pointer +* The `jna.library.path` property is now re-evaluated whenever a native library is loaded. Previously this value was cached when the JNA classes loaded. +* `Native.loadLibrary` can now load `.drv` files. +* Refactor `com.sun.jna.platform.win32.WINBASE` into `WinDef`, `WinNT` and `BaseTSD`, matching Windows SDK headers. +* Refactor constants from `com.sun.jna.platform.win32.GDI32` into `WinGDI`, matching Windows SDK headers. +* Refactor constants from `com.sun.jna.platform.win32.User32` into `WinUser`, matching Windows SDK headers. +* Refactor `platform.win32.WinNT.LARGE_INTEGER` into a union. +* Add `platform.win32.ObjBase`, `com.sun.jna.platform.win32.Ole32.CoInitializeEx`, `CoUninitialize`, and `CoCreateInstance`. +* Add `platform.win32.Oleaut32.SysAllocString` and `SysFreeString`. +* Add `platform.win32.Secur32.ImpersonateSecurityContext` and `RevertSecurityContext`. +* Add `platform.win32.WinNT.WELL_KNOWN_SID_TYPE`, `SECURITY_MAX_SID_SIZE` and other related SID-related constants. +* Add `platform.win32.Advapi32.CreateWellKnownSid` and `IsWellKnownSid` and `com.sun.jna.platform.win32.Advapi32Util.isWellKnownSid`. +* Add `platform.win32.Kernel32.GetVersion`, `GetVersionEx`, `GetSystemInfo`, `GetNativeSystemInfo`, `GlobalMemoryStatusEx`, `GetLogicalDriveStrings` and `IsWow64Process`. +* Add `platform.win32.Kernel32Util.getLogicalDriveStrings`. +* Add `platform.win32.User32.GetSystemMetrics`. +* Add `platform.win32.BaseTSD.DWORD_PTR`. +* Add `platform.win32.WinBase.SYSTEM_INFO` and `MEMORYSTATUSEX`. +* Add `platform.win32.WinNT.OSVERSIONINFOEX`, `VER` constants. +* Add `platform.win32.WinDef.ULONGLONG` and `DWORDLONG`. +* Add `platform.win32.Shell32.SHGetDesktopFolder` (prep work for Com4JNA). +* Add `platform.win32.Winspool.GetPrinterInfo`. +* Add `platform.win32.WinspoolUtil.getPrinterInfo1`. +* Add `platform.win32.GDI32.GetDeviceCaps`. +* Add `platform.win32.GDI32.GetDIBits`. + +Bug Fixes +--------- + +* Fix `ClassCastException` in `Structure.equals` (issue 152). +* Fix bug initializing a structure object from existing memory when the structure has initialized fields (issue 133). +* Fix NPE reading an array of string from a pointer when an element of the array is `NULL` (issue 151). +* Avoid calling `UnregisterNatives` in native code (issue 154). +* Compare unpacked library path against canonical (long) filename (issue 156). +* Fix `read()` of uninitialized memory in `platform.win32.Advapi32Util.getTokenGroups` and `getTokenAccount`. +* Fix `com.sun.jna.platform.win32.Secur32.QuerySecurityContextToken` to take a `CtxtHandle` instead of `PSecHandle`. +* Fix definition of BITMAPINFO (platform/win32). + +Release 3.2.5 +============= + +Features +-------- + +* Split code in examples.jar into a contrib platform.jar package and individual packages for demos. +* Fix Eclipse build and added Eclipse projects for all contrib samples, import projects from jnalib and contrib. +* Ensure Structure fields correctly ordered when inherited. +* Use explicit Structure field whenever provided, regardless of whether the VM requires it. +* Add Win32 mappings for two dozen functions from Kernel32.dll, Advapi32.dll, Netapi32.dll, Secur32.dll, NtDll.dll, Ole32.dll, Shell32.dll and Crypt32.dll to com.sun.jna.platform.win32. +* Port parts of WinError.h, WinNT.h, LMAccess.h, LMCons.h, LMErr.h, LMJoin.h, NTStatus.h, ShlObj.h, WinDef.h, ShellApi.h, Wdm.h, WinReg.h, WinCrypt.h, Sspi.h, Guid.h, NtSecApi.h and DsGetDc.h. +* Add Win32 simplified utility interfaces Kernel32Util, Advapi32Util, Netapi32Util, Crypt32Util, NtDllUtil, Shell32Util, Ole32Util and Secur32Util to com.sun.jna.platform.win32. +* Support unicode paths in W32FileUtils. +* Fix exception during dispose in W32FileMonitor. + +Bug Fixes +--------- + +* Provide String.replace for 1.4 compatibility. +* Avoid allocating memory when Structure is provided a pointer in the ctor. +* Ensure proper value returned in Pointer.getValue() for non-null, unchanged NIO Buffer values. +* Use 1.4-compatible URI generation (issue 149). + +Release 3.2.4 +============= + +Features +-------- + +* Make Pointer ctor public. +* Provide access to Function objects for arbitrary Pointer values. +* Add linux/ia64 binaries (bpiwowar). See issue 134 patch. + +Bug Fixes +--------- + +* Use a more robust method to decode a file-based URL (issue 135). + +Release 3.2.3 +============= + +Features +-------- + +* Include version information in code in case package information lost. + +Bug Fixes +--------- + +* Fix WindowUtils exception on mouse over TrayIcon. +* Fix bug toggling windows transparent/opaque (win32/OSX). +* Avoid overwriting unchanged Pointer values in arrays (function calls with Pointer[] and Structure.read). +* Ensure Structure fields marked `final` are never written. +* Fix bug preventing proper population Structure.ByReference fields on Structure read. +* Ensure double buffering is disabled in components added to a transparent window. +* Fix UnsatisfiedLinkError attempting to load system libraries under Web Start. +* Fix loading Web Start-provided libraries on OSX (libraries must have a .jnilib suffix under Web Start). +* Properly include sources in Maven zip file (Issue 129). + +Release 3.2.2 +============= + +Features +-------- + +* Provide length-specified Pointer.getStringArray() + +Bug Fixes +--------- + +* Fix crash with direct mapping if NULL struct* used (Issue 125). +* Fix case where null-valued Structure fields would get non-null values on write. +* Synch callback Structure/Structure[] arguments on callback return. +* Fix NPE when mapping an interface to the current process. +* Automatically load proper C library version from current process on Linux (avoids crashing bug on Ubuntu with libc-i686 packages active). +* Avoid scanning structure contents in Structure.toString if contents aren't actually used. + +Release 3.2.1 +========== + +Features +-------- + +* Add HRESULT, LONG mapping to W32API (marc strapetz). + + +Bug Fixes +--------- + +* Fix definition of HWND_BROADCAST in W32API. +* Fix memory alignment checking (Issue 121). +* Fix Structure equals/hashCode implementation, based on current Java fields rather than strictly native memory contents. Avoid using equals/hashCode when avoiding recursive reads/writes. + +Release 3.2.0 +============= + +Features +-------- + +* Handle String, Structure, Callback, Buffer, and primitive arrays in direct mappings. Handle NativeMapped and TypeMapper, with optimized paths for IntegerType and PointerType. +* Optionally throw errno/GetLastError as an exception. This is preferred to (and more efficient than) calling Native.getLastError(). +* Unload/delete native library unpacked from jna.jar if Native class is garbage collected. Only install shutdown hook if using the system class loader. +* Auto-write contiguous Structure arrays when first element is written. +* Support NativeMapped[] as function arguments for interface-mapped libraries (Issue 90). +* Enable function lookup within current process on Windows. + +Bug Fixes +--------- + +* Restrict recursive structure reads/writes by thread instead of globally. This avoids potentially missed reads/writes with concurrent access (Issue 120). +* Ensure Memory is not GC'd and freed if direct NIO buffers mapped to it are extant. +* Allow types derived from java.nio.Buffer as Structure fields. + +Release 3.1.0 +============= + +Features +-------- + +* Add raw JNI mapping of static Java methods. Performance is about 10X that of traditional JNA interface mapping, although with less type conversion functionality. +* Add library option to allow passing/return of Java Objects. +* Allow handling of uncaught callback exceptions (Issue 63). +* Object oriented interface to X server (see contrib/x11) +* Make Memory class more accessible. +* Provide Structure ctor with Pointer argument (issue 102). +* Allow implicit library access to current process on linux (issue 98). +* Open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux. +* Allow NIO Buffer as Structure field (with limitations) (Issue 57) +* Add `size_t` size. + +Bug Fixes +--------- + +* Run tests with libjsig.so, if available, which fixes some crashes when running tests on 64-bit platforms. +* Fix Issue 104. +* Fix Issue 94 (Java 1.6 update 10 regression). +* Fix Issue 51 (Java 1.6 update 10 regression). +* Fix Issue 95. +* Fix Issue 101. +* Fix Issue 111, memory leak with String-returning Callback. +* Fix missing storage of union type information (affects usage of struct/union by value as argument and return type). +* Remove non-functional Structure ctors requiring explicit size. + +Release 3.0.9 +============= + +Bug Fixes +--------- + +* Fix issue 93 by only manually searching jna.library.path, then falling back to passing the mapped library name to dlopen/LoadLibrary. This fixes an issue in JRUBY where the incorrect libc.so.6 was being loaded. + +Release 3.0.8 +========== + +Features +-------- + +* Auto-map Pointer[]/String[]/WString[] return values. +* Provide utility functions to convert String to primitive array. +* Add jna.library.boot.path property to define the directory that the native stub library is loaded from + +Release 3.0.7 +========== + +Features +-------- + +* Improve Win32 loading of libraries with dependencies. + +Bug Fixes +--------- + +* Fix bug reading structures with PointerType fields, introduced with Pointer field preservation fix. + +Release 3.0.6 +============= + +Features +-------- + +* Allow arbitrary callback method names if only one method is defined in the class which implements Callback (colinwalters). +* Allow specification of callback type mappers by using a TYPE_MAPPER field (colinwalters). +* Allow uninitialized (null-valued) boxed primitives in Structures (colinwalters). +* Add convenience methods to set active Union field and value simultaneously (xylo). +* Augment Union read/writeField to set the active field. +* Allow Structure auto-synch across native calls to be disabled. +* Win64 support. + +Bug Fixes +--------- + +* Avoid overwriting unchanged Structure fields of type Pointer. +* Avoid more content dragging on OSX or warn if it's too late. +* Fix UnsatisfiedLinkError using transparent window on Win2K. +* Fix memory leak with callbacks called from native threads with no Java context (johnwallace). +* Defer structure size calculation if type mapper not yet set, allowing type mapper to be set in derived constructors (colinwalters). +* Ensure structure memory is allocated in Structure.read/writeField. + +Release 3.0.5 +============= + +Features +-------- + +* Allow explicit declaration of field order for VMs which have an unpredictable field order. +* Check for w32 libraries with a "lib" prefix in addition to normal lookup. +* Allow String[]/WString[] as callback argument/return value (assume NULL-terminated array). +* Add Solaris8 compatibility to sunos-sparc build (Corey Puffalt). +* Look up libraries using web start library path, if appropriate (Corey Puffalt). +* Use constants to return integer boolean values. + +Bug Fixes +--------- + +* Properly track cursor on alpha-masked windows. +* Avoid searching /lib or /usr/lib on 64-bit Linux. +* Avoid using incorrect version of a library when both 32- and 64-bit versions are found. +* Avoid transparent window events always dragging window bug on OSX. +* Fix division by zero error calculating structure size on OSX/ppc. +* Avoid overwriting initialized NativeMapped Structure fields when calculating structure size. +* Fix NPE reading back into StringArray. + +Release 3.0.4 +============= + +Features +-------- + +* Automatically write contents of Structure.ByReference fields on Structure.write(). +* Use the actual parameter type in Function invocations if no parameter type information is available (whether method is missing or untyped varargs). +* Augmented X11 library mappings (xylo). +* Support read/write of NativeMapped arrays within Structure (notably NativeLong). + +Bug Fixes +--------- + +* Fix library load error when /usr/lib32 and /usr/lib both exist (linux) (Marek Slama). +* Avoid incorrect matches against libraries named with the same prefix (e.g. libc-client.so vs libc.so) (xylo). +* Properly handle arrays of NativeMapped (e.g. NativeLong) as a Structure field (stefan endrullis). +* Ensure structure size calculated prior to setting union active type. +* XID is 64-bits on 64-bit X clients (xylo). +* Ensure proper arch name is used on Debian (amd64 instead of x86_64). + +Release 3.0.3 +============= + +Features +-------- + +* Enable build/run using IBM's J9 VM (leonardo). +* Make StdCallFunctionMapper attempt a leading underscore if the simpler mapping doesn't work. +* Allow Structure.read to overwrite final fields (may not work on some 1.4 VMs). + +Bug Fixes +--------- + +* Fix NPE when passing an array of Structure.ByReference. +* Compare entire linux library version when finding a match. +* Don't pass struct by value unless the method signature declares it. +* Restrict custom first element structure alignment to OSX/ppc. +* Improve performance and reduce memory footprint for window masks. Optimize polygon-based masks on w32. Use XFillRectangles on X11. +* Fix linkage settings on sunos-amd64 to avoid relocation errors. +* Fix callback allocation code on w32, solaris, freebsd, darwin (libffi was misconfigured). +* Fix bug when NativeMapped fields are used in a Structure.ByValue instance. +* Fix NPE calling Structure.read() before memory is initialized. +* Fix NPE calling Structure.read/write with uninitialized NativeMapped fields. + +Release 3.0.2 +============= + +Features +-------- + +* Attempt to force unload of jnidispatch library prior to deleting it (w32). +* Added amd64 targets for OSX, FreeBSD, and Solaris. + +Bug Fixes +--------- + +* Reduce space allocated for invocation arguments. +* Fix NPE when NativeMapped type is used in a Structure. +* Fix some X11 type mappings for 64-bit. +* Fix OSX Leopard/JRE1.5+ window transparency. +* Fix window alpha compositing on X11. +* Fix loading of libraries with unicode names on OSX. + +Release 3.0.1 +============= + +Features +-------- + +* Improve transparent window drawing performance on w32 +* Use closure allocation from libffi + +Bug Fixes +--------- + +* Ensure nested structure arrays initialized with Structure.toArray use the appropriate native memory. +* Ensure structure size is calculated prior to converting to array +* Avoid creating new windows when setting a window mask +* Fix bug in Pointer.setChar. + +Release 3.0 +=========== + +Features +-------- + +* More supported platforms, via GCC's libffi (wmeissner) +* Support struct by value as parameter and return value (duncan) +* Support struct by reference within structures +* Provide access to native peer for java.awt.Component +* Provide access to native peer on OS X. +* Support MINGW32 builds (fullung) +* Allow per-field Structure read/write by field name +* Avoid writing Structure fields marked 'volatile' +* Read and wrap function pointers in Structure fields when read with a Java proxy to allow easy Java-side invocation (Ken Larson) +* Support array-backed Buffers as arguments (wmeissner) +* Auto-conversion of custom types (wmeissner) +* Allow pointer type-safety +* Optional VM crash protection, via Native.setProtected(boolean) +* Auto-convert WString[] +* Provide library synchronization wrapper similar to Collections.synchronizedX +* Support lookup of OSX framework libraries by name +* Explicit access to shared library global data +* Invocation interception to facilitate translation of C preprocessor macros and inline functions +* Provide utility to determine Web Start native library cache location; auto-include this path if jnidispatch is included as a <nativelib> (robertengels) +* Provide access to aligned memory +* Versioning information embedded in jna.jar and native library + +Bug Fixes +--------- + +* Avoid attempts to free native library if it failed to load (wmeissner) +* Explicitly check method signatures for varargs instead of heuristically guessing (wmeissner) +* Disallow declaring Pointer-derived fields in Structures (Function, Memory) +* Ensure Object.toString/hashCode/equals methods are intercepted on proxyied interfaces +* Update X11 library for 64-bit use (wmeissner) +* Properly map arrays of char*/wchar_t* under w32 +* Allow Pointer[] as a Structure field and Function argument +* Fix some misleading Structure error messages +* Properly preserve/return GetLastError/errno after native calls +* Allocate executable memory on w32 to avoid errors with hardware-enforced data execution protection (DEP) +* Fix VM crash on w32 stdcall callbacks +* Use long offsets and sizes rather than ints (64-bit safe) +* Properly clean up references and release closure memory on JNI_Unload +* Use simpler AWT/JAWT library loading workaround +* Avoid changing array references within a Structure on read + +Release 2.5 +=========== + +Features +-------- + +* Unions +* Optimized shaped windows (chris deckers & olivier chafik); instantiation time improved by about 2-3 orders of magnitude for large, mostly contiguous shapes +* Provide type mapping in callback arguments/results +* Provide access to ByteBuffer direct address as a Pointer +* Provide customization of native string encoding with jna.encoding system property + +Bug Fixes +--------- + +* Properly handle VMs with reversed Structure member storage +* Avoid making window undecorated when clearing window mask on X11 +* Fix structure alignment bug on OSX/PPC when first element is > 4 bytes in size +* Clearing OSX window mask by setting to MASK_NONE now works properly +* Avoid index exceptions if native buffers are not NUL-terminated on string conversions +* Write initialized Structure[] argument memory prior to function calls +* Fix IllegalArgumentException reading WString into a Structure +* Clear memory when allocating a structure block (fixes VM crash) +* Remove versioned JAWT dependency on OSX, allowing use on 10.3/JRE1.4. + +Release 2.4 +=========== + +Features +-------- + +* Explicitly support unaligned structures +* Auto-reallocate structure arrays +* Automatic handling of w32 UNICODE/ASCII variants +* Automatic mapping of decorated w32 stdcall function names +* Customizable, automatic type conversion of arguments and results (wmeissner) +* Support char*[] arguments as Java String[] +* Structure supports Callback members (wmeissner) +* getByteBuffer from Pointer/Memory (wmeissner) +* Allow GC of native libraries +* Facilitate use from non-Java contexts (JRuby et al.) (wmeissner) +* Improve library path searching (wmeissner) +* Handle Structure[] arguments +* Handle native long arguments and return values +* Handle direct and array-based ByteBuffer arguments (wmeissner) +* Change default w32 build to use GCC (it's free, yo) + +Bug Fixes +--------- + +* Structure.toArray failed to initialize members +* Disallow explicit free of Structure/Memory +* Ensure native libraries are only loaded once until released +* Properly handle NULL when the return value is a Structure +* Proper conversion to wchar_t on linux +* Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered From f10c45b1f8d70f7c0ad62e11e4311b543a1aacf9 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 17:05:44 -0500 Subject: [PATCH 25/34] skip test that will fail if user it non-admin --- .../sun/jna/platform/win32/Advapi32Test.java | 1637 +++++++++-------- 1 file changed, 820 insertions(+), 817 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java index 49e5d79be0..0424e72a4a 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java @@ -1,817 +1,820 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 java.io.File; - -import junit.framework.TestCase; - -import com.sun.jna.Memory; -import com.sun.jna.Native; -import com.sun.jna.Pointer; -import com.sun.jna.WString; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.WinBase.FILETIME; -import com.sun.jna.platform.win32.WinDef.DWORD; -import com.sun.jna.platform.win32.WinNT.EVENTLOGRECORD; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.platform.win32.WinNT.HANDLEByReference; -import com.sun.jna.platform.win32.WinNT.PSID; -import com.sun.jna.platform.win32.WinNT.PSIDByReference; -import com.sun.jna.platform.win32.WinNT.SECURITY_IMPERSONATION_LEVEL; -import com.sun.jna.platform.win32.WinNT.SID_AND_ATTRIBUTES; -import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; -import com.sun.jna.platform.win32.WinNT.TOKEN_PRIVILEGES; -import com.sun.jna.platform.win32.WinNT.TOKEN_TYPE; -import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; -import com.sun.jna.platform.win32.WinReg.HKEYByReference; -import com.sun.jna.platform.win32.Winsvc.SC_HANDLE; -import com.sun.jna.platform.win32.Winsvc.SC_STATUS_TYPE; -import com.sun.jna.platform.win32.Winsvc.SERVICE_STATUS_PROCESS; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.ptr.PointerByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Advapi32Test extends TestCase { - - private static final String EVERYONE = "S-1-1-0"; - - public static void main(String[] args) { - junit.textui.TestRunner.run(Advapi32Test.class); - } - - public void testGetUserName() { - IntByReference len = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetUserNameW(null, len)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - char[] buffer = new char[len.getValue()]; - assertTrue(Advapi32.INSTANCE.GetUserNameW(buffer, len)); - String username = Native.toString(buffer); - assertTrue(username.length() > 0); - } - - public void testLookupAccountName() { - IntByReference pSid = new IntByReference(0); - IntByReference pDomain = new IntByReference(0); - PointerByReference peUse = new PointerByReference(); - String accountName = "Administrator"; - assertFalse(Advapi32.INSTANCE.LookupAccountName( - null, accountName, null, pSid, null, pDomain, peUse)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(pSid.getValue() > 0); - Memory sidMemory = new Memory(pSid.getValue()); - PSID pSidMemory = new PSID(sidMemory); - char[] referencedDomainName = new char[pDomain.getValue() + 1]; - assertTrue(Advapi32.INSTANCE.LookupAccountName( - null, accountName, pSidMemory, pSid, referencedDomainName, pDomain, peUse)); - assertEquals(SID_NAME_USE.SidTypeUser, peUse.getPointer().getInt(0)); - assertTrue(Native.toString(referencedDomainName).length() > 0); - } - - public void testIsValidSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertTrue("Converted SID not valid: " + sid.getValue(), Advapi32.INSTANCE.IsValidSid(sid.getValue())); - int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); - assertTrue(sidLength > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue())); - } - - public void testGetSidLength() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertEquals("Wrong SID lenght", 12, Advapi32.INSTANCE.GetLengthSid(sid.getValue())); - } - - public void testLookupAccountSid() { - // get SID bytes - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); - assertTrue(sidLength > 0); - // lookup account - IntByReference cchName = new IntByReference(); - IntByReference cchReferencedDomainName = new IntByReference(); - PointerByReference peUse = new PointerByReference(); - assertFalse(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), - null, cchName, null, cchReferencedDomainName, peUse)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(cchName.getValue() > 0); - assertTrue(cchReferencedDomainName.getValue() > 0); - char[] referencedDomainName = new char[cchReferencedDomainName.getValue()]; - char[] name = new char[cchName.getValue()]; - assertTrue(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), - name, cchName, referencedDomainName, cchReferencedDomainName, peUse)); - assertEquals(5, peUse.getPointer().getInt(0)); // SidTypeWellKnownGroup - String nameString = Native.toString(name); - String referencedDomainNameString = Native.toString(referencedDomainName); - assertTrue(nameString.length() > 0); - assertEquals("Everyone", nameString); - assertTrue(referencedDomainNameString.length() == 0); - assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); - } - - public void testConvertSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid( - sidString, sid)); - PointerByReference convertedSidStringPtr = new PointerByReference(); - assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( - sid.getValue(), convertedSidStringPtr)); - String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); - assertEquals(convertedSidString, sidString); - assertEquals(null, Kernel32.INSTANCE.LocalFree(convertedSidStringPtr.getValue())); - assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); - } - - public void testLogonUser() { - HANDLEByReference phToken = new HANDLEByReference(); - assertFalse(Advapi32.INSTANCE.LogonUser("AccountDoesntExist", ".", "passwordIsInvalid", - WinBase.LOGON32_LOGON_NETWORK, WinBase.LOGON32_PROVIDER_DEFAULT, phToken)); - assertTrue(W32Errors.ERROR_SUCCESS != Kernel32.INSTANCE.GetLastError()); - } - - public void testOpenThreadTokenNoToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); - assertNotNull(threadHandle); - assertFalse(Advapi32.INSTANCE.OpenThreadToken(threadHandle, - WinNT.TOKEN_READ, false, phToken)); - assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); - } - - public void testOpenProcessToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testOpenThreadOrProcessToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); - if (! Advapi32.INSTANCE.OpenThreadToken(threadHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, true, phToken)) { - assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - } - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testDuplicateToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLEByReference phTokenDup = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - assertTrue(Advapi32.INSTANCE.DuplicateToken(phToken.getValue(), - WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation, phTokenDup)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phTokenDup.getValue())); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testDuplicateTokenEx() { - HANDLEByReference hExistingToken = new HANDLEByReference(); - HANDLEByReference phNewToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hExistingToken)); - assertTrue(Advapi32.INSTANCE.DuplicateTokenEx(hExistingToken.getValue(), - WinNT.GENERIC_READ, null, SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous, - TOKEN_TYPE.TokenPrimary, phNewToken)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phNewToken.getValue())); - assertTrue(Kernel32.INSTANCE.CloseHandle(hExistingToken.getValue())); - } - - public void testGetTokenOwnerInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_OWNER owner = new WinNT.TOKEN_OWNER(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, owner, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(owner.Owner)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(owner.Owner); - assertTrue(sidLength < tokenInformationLength.getValue()); - assertTrue(sidLength > 0); - // System.out.println(Advapi32Util.convertSidToStringSid(owner.Owner)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testGetTokenUserInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenUser, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_USER user = new WinNT.TOKEN_USER(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenUser, user, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(user.User.Sid)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(user.User.Sid); - assertTrue(sidLength > 0); - assertTrue(sidLength < tokenInformationLength.getValue()); - // System.out.println(Advapi32Util.convertSidToStringSid(user.User.Sid)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testGetTokenGroupsInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_GROUPS groups = new WinNT.TOKEN_GROUPS(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, groups, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(groups.GroupCount > 0); - for (SID_AND_ATTRIBUTES sidAndAttribute : groups.getGroups()) { - assertTrue(Advapi32.INSTANCE.IsValidSid(sidAndAttribute.Sid)); - // System.out.println(Advapi32Util.convertSidToStringSid(sidAndAttribute.Sid)); - } - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testImpersonateLoggedOnUser() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNAAdvapi32TestImp"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); - try { - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - assertTrue(Advapi32.INSTANCE.ImpersonateLoggedOnUser(phUser.getValue())); - assertTrue(Advapi32.INSTANCE.RevertToSelf()); - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - null, userInfo.usri1_name.toString())); - } - } - - public void testRegOpenKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, WinNT.KEY_READ, phKey)); - assertTrue(WinBase.INVALID_HANDLE_VALUE != phKey.getValue()); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegQueryValueEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", 0, WinNT.KEY_READ, phKey)); - IntByReference lpcbData = new IntByReference(); - IntByReference lpType = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phKey.getValue(), "User Agent", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_SZ, lpType.getValue()); - assertTrue(lpcbData.getValue() > 0); - char[] buffer = new char[lpcbData.getValue()]; - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phKey.getValue(), "User Agent", 0, lpType, buffer, lpcbData)); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegDeleteValue() { - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteValue( - WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); - } - - public void testRegSetValueEx_REG_SZ() { - HKEYByReference phKey = new HKEYByReference(); - // create parent key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkTest = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkTest, lpdwDisposition)); - // write a REG_SZ value - char[] lpData = Native.toCharArray("Test"); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( - phkTest.getValue(), "REG_SZ", 0, WinNT.REG_SZ, lpData, lpData.length * 2)); - // re-read the REG_SZ value - IntByReference lpType = new IntByReference(); - IntByReference lpcbData = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "REG_SZ", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_SZ, lpType.getValue()); - assertTrue(lpcbData.getValue() > 0); - char[] buffer = new char[lpcbData.getValue()]; - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "REG_SZ", 0, lpType, buffer, lpcbData)); - assertEquals("Test", Native.toString(buffer)); - // delete the test key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( - phkTest.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegSetValueEx_DWORD() { - HKEYByReference phKey = new HKEYByReference(); - // create parent key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkTest = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkTest, lpdwDisposition)); - // write a REG_DWORD value - int value = 42145; - byte[] data = new byte[4]; - data[0] = (byte)(value & 0xff); - data[1] = (byte)((value >> 8) & 0xff); - data[2] = (byte)((value >> 16) & 0xff); - data[3] = (byte)((value >> 24) & 0xff); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( - phkTest.getValue(), "DWORD", 0, WinNT.REG_DWORD, data, 4)); - // re-read the REG_DWORD value - IntByReference lpType = new IntByReference(); - IntByReference lpcbData = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "DWORD", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_DWORD, lpType.getValue()); - assertEquals(4, lpcbData.getValue()); - IntByReference valueRead = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "DWORD", 0, lpType, valueRead, lpcbData)); - assertEquals(value, valueRead.getValue()); - // delete the test key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( - phkTest.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegCreateKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkResult = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkResult, lpdwDisposition)); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phkResult.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegDeleteKey() { - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteKey( - WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); - } - - public void testRegEnumKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", - 0, WinNT.KEY_READ, phKey)); - IntByReference lpcSubKeys = new IntByReference(); - IntByReference lpcMaxSubKeyLen = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - phKey.getValue(), null, null, null, lpcSubKeys, lpcMaxSubKeyLen, null, null, - null, null, null, null)); - char[] name = new char[lpcMaxSubKeyLen.getValue() + 1]; - for (int i = 0; i < lpcSubKeys.getValue(); i++) { - IntByReference lpcchValueName = new IntByReference(lpcMaxSubKeyLen.getValue() + 1); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumKeyEx( - phKey.getValue(), i, name, lpcchValueName, null, null, null, null)); - assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); - } - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegEnumValue() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", - 0, WinNT.KEY_READ, phKey)); - IntByReference lpcValues = new IntByReference(); - IntByReference lpcMaxValueNameLen = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - phKey.getValue(), null, null, null, null, null, null, lpcValues, - lpcMaxValueNameLen, null, null, null)); - char[] name = new char[lpcMaxValueNameLen.getValue() + 1]; - for (int i = 0; i < lpcValues.getValue(); i++) { - IntByReference lpcchValueName = new IntByReference(lpcMaxValueNameLen.getValue() + 1); - IntByReference lpType = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumValue( - phKey.getValue(), i, name, lpcchValueName, null, - lpType, null, null)); - assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); - } - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegQueryInfoKey() { - IntByReference lpcClass = new IntByReference(); - IntByReference lpcSubKeys = new IntByReference(); - IntByReference lpcMaxSubKeyLen = new IntByReference(); - IntByReference lpcValues = new IntByReference(); - IntByReference lpcMaxClassLen = new IntByReference(); - IntByReference lpcMaxValueNameLen = new IntByReference(); - IntByReference lpcMaxValueLen = new IntByReference(); - IntByReference lpcbSecurityDescriptor = new IntByReference(); - FILETIME lpftLastWriteTime = new FILETIME(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - WinReg.HKEY_LOCAL_MACHINE, null, lpcClass, null, - lpcSubKeys, lpcMaxSubKeyLen, lpcMaxClassLen, lpcValues, - lpcMaxValueNameLen, lpcMaxValueLen, lpcbSecurityDescriptor, - lpftLastWriteTime)); - assertTrue(lpcSubKeys.getValue() > 0); - } - - public void testIsWellKnownSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertTrue(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), - WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), - WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - } - - public void testCreateWellKnownSid() { - PSID pSid = new PSID(WinNT.SECURITY_MAX_SID_SIZE); - IntByReference cbSid = new IntByReference(WinNT.SECURITY_MAX_SID_SIZE); - assertTrue(Advapi32.INSTANCE.CreateWellKnownSid(WELL_KNOWN_SID_TYPE.WinWorldSid, - null, pSid, cbSid)); - assertTrue(Advapi32.INSTANCE.IsWellKnownSid(pSid, - WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertTrue(cbSid.getValue() <= WinNT.SECURITY_MAX_SID_SIZE); - PointerByReference convertedSidStringPtr = new PointerByReference(); - assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( - pSid, convertedSidStringPtr)); - String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); - assertEquals(EVERYONE, convertedSidString); - } - - public void testOpenEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertNotNull(h); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testRegisterEventSource() { - // the Security event log is reserved - HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, "Security"); - assertNull(h); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - } - - public void testReportEvent() { - String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; - String jnaEventSource = "JNADevEventSource"; - String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; - Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); - HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); - IntByReference before = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); - assertNotNull(h); - String s[] = { "JNA", "Event" }; - Memory m = new Memory(4); - m.setByte(0, (byte) 1); - m.setByte(1, (byte) 2); - m.setByte(2, (byte) 3); - m.setByte(3, (byte) 4); - assertTrue(Advapi32.INSTANCE.ReportEvent(h, WinNT.EVENTLOG_ERROR_TYPE, 0, 0, null, 2, 4, s, m)); - IntByReference after = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); - assertTrue(before.getValue() < after.getValue()); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - assertTrue(Advapi32.INSTANCE.DeregisterEventSource(h)); - Advapi32Util.registryDeleteKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); - } - - public void testGetNumberOfEventLogRecords() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - IntByReference n = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, n)); - assertTrue(n.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - /* - public void testClearEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - IntByReference before = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); - assertTrue(before.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.ClearEventLog(h, null)); - IntByReference after = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); - assertTrue(after.getValue() < before.getValue() || before.getValue() == 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - */ - - public void testBackupEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertNotNull(h); - String backupFileName = Kernel32Util.getTempPath() + "\\JNADevEventLog.bak"; - File f = new File(backupFileName); - if (f.exists()) { - f.delete(); - } - - assertTrue(Advapi32.INSTANCE.BackupEventLog(h, backupFileName)); - HANDLE hBackup = Advapi32.INSTANCE.OpenBackupEventLog(null, backupFileName); - assertNotNull(hBackup); - - IntByReference n = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(hBackup, n)); - assertTrue(n.getValue() >= 0); - - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - assertTrue(Advapi32.INSTANCE.CloseEventLog(hBackup)); - } - - public void testReadEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference pnBytesRead = new IntByReference(); - IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); - Memory buffer = new Memory(1); - assertFalse(Advapi32.INSTANCE.ReadEventLog(h, - WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_BACKWARDS_READ, - 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(pnMinNumberOfBytesNeeded.getValue() > 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testReadEventLogEntries() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference pnBytesRead = new IntByReference(); - IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); - Memory buffer = new Memory(1024 * 64); - // shorten test, avoid iterating through all events - int maxReads = 3; - int rc = 0; - while(true) { - if (maxReads-- <= 0) - break; - if (! Advapi32.INSTANCE.ReadEventLog(h, - WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_FORWARDS_READ, - 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)) { - rc = Kernel32.INSTANCE.GetLastError(); - if (rc == W32Errors.ERROR_INSUFFICIENT_BUFFER) { - buffer = new Memory(pnMinNumberOfBytesNeeded.getValue()); - rc = 0; - continue; - } - break; - } - int dwRead = pnBytesRead.getValue(); - Pointer pevlr = buffer; - int maxRecords = 3; - while (dwRead > 0 && maxRecords-- > 0) { - EVENTLOGRECORD record = new EVENTLOGRECORD(pevlr); - /* - System.out.println(record.RecordNumber.intValue() - + " Event ID: " + record.EventID.intValue() - + " Event Type: " + record.EventType.intValue() - + " Event Source: " + pevlr.getString(record.size(), true)); - */ - dwRead -= record.Length.intValue(); - pevlr = pevlr.share(record.Length.intValue()); - } - } - assertTrue("Unexpected error after reading event log: " - + new Win32Exception(rc), - rc == W32Errors.ERROR_HANDLE_EOF || rc == 0); - assertTrue("Error closing event log", - Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testGetOldestEventLogRecord() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference oldestRecord = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetOldestEventLogRecord(h, oldestRecord)); - assertTrue(oldestRecord.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testQueryServiceStatusEx() { - - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_STATUS); - assertNotNull(serviceHandle); - - IntByReference pcbBytesNeeded = new IntByReference(); - - assertFalse(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, - null, 0, pcbBytesNeeded)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - - assertTrue(pcbBytesNeeded.getValue() > 0); - - SERVICE_STATUS_PROCESS status = new SERVICE_STATUS_PROCESS(pcbBytesNeeded.getValue()); - - assertTrue(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, - status, status.size(), pcbBytesNeeded)); - - assertTrue(status.dwCurrentState == Winsvc.SERVICE_STOPPED || - status.dwCurrentState == Winsvc.SERVICE_RUNNING); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - - public void testControlService() { - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); - assertNotNull(serviceHandle); - - Winsvc.SERVICE_STATUS serverStatus = new Winsvc.SERVICE_STATUS(); - - assertNotNull(serviceHandle); - assertFalse(Advapi32.INSTANCE.ControlService(serviceHandle, Winsvc.SERVICE_CONTROL_STOP, serverStatus)); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testStartService() { - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); - assertNotNull(serviceHandle); - - assertFalse(Advapi32.INSTANCE.StartService(serviceHandle, 0, null)); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testOpenService() { - assertNull(Advapi32.INSTANCE.OpenService(null, "eventlog", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); - - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG ); - assertNotNull(serviceHandle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - - assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "slashesArentValidChars/", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); - - assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "serviceDoesNotExist", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_SERVICE_DOES_NOT_EXIST, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testOpenSCManager() { - SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(handle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); - - assertNull(Advapi32.INSTANCE.OpenSCManager("invalidMachineName", null, Winsvc.SC_MANAGER_CONNECT)); - int err = Kernel32.INSTANCE.GetLastError(); - assertTrue("Unexpected error in OpenSCManager: " + err, - err == W32Errors.RPC_S_SERVER_UNAVAILABLE - || err == W32Errors.RPC_S_INVALID_NET_ADDR); - - assertNull(Advapi32.INSTANCE.OpenSCManager(null, "invalidDatabase", Winsvc.SC_MANAGER_CONNECT)); - assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); - } - - public void testCloseServiceHandle() throws Exception { - SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(handle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); - - assertFalse(Advapi32.INSTANCE.CloseServiceHandle(null)); - assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); - } - - public void testCreateProcessAsUser() { - HANDLEByReference hToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hToken)); - - assertFalse(Advapi32.INSTANCE.CreateProcessAsUser(hToken.getValue(), null, "InvalidCmdLine.jna", - null, null, false, 0, null, null, new WinBase.STARTUPINFO(), - new WinBase.PROCESS_INFORMATION())); - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Kernel32.INSTANCE.GetLastError()); - assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); - } - - /** - * Tests both {@link Advapi32#LookupPrivilegeValue} and {@link Advapi32#LookupPrivilegeName} - */ - public void testLookupPrivilegeValueAndLookupPrivilegeName() { - WinNT.LUID luid = new WinNT.LUID(); - - assertFalse(Advapi32.INSTANCE.LookupPrivilegeValue(null, "InvalidName", luid)); - assertEquals(Kernel32.INSTANCE.GetLastError(), W32Errors.ERROR_NO_SUCH_PRIVILEGE); - - assertTrue(Advapi32.INSTANCE.LookupPrivilegeValue(null, WinNT.SE_BACKUP_NAME, luid)); - assertTrue(luid.LowPart > 0 || luid.HighPart > 0); - - char[] lpName = new char[256]; - IntByReference cchName = new IntByReference(lpName.length); - assertTrue(Advapi32.INSTANCE.LookupPrivilegeName(null, luid, lpName, cchName)); - assertEquals(WinNT.SE_BACKUP_NAME.length(), cchName.getValue()); - assertEquals(WinNT.SE_BACKUP_NAME, Native.toString(lpName)); - } - - public void testAdjustTokenPrivileges() { - HANDLEByReference hToken = new HANDLEByReference(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(Kernel32.INSTANCE.GetCurrentProcess(), - WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, hToken)); - - // Find an already enabled privilege - TOKEN_PRIVILEGES tp = new TOKEN_PRIVILEGES(1024); - IntByReference returnLength = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(hToken.getValue(), WinNT.TOKEN_INFORMATION_CLASS.TokenPrivileges, - tp, tp.size(), returnLength)); - assertTrue(tp.PrivilegeCount.intValue() > 0); - - WinNT.LUID luid = null; - for (int i=0; i 0) { - luid = tp.Privileges[i].Luid; - } - } - assertTrue(luid != null); - - // Re-enable it. That should succeed. - tp = new WinNT.TOKEN_PRIVILEGES(1); - tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new DWORD(WinNT.SE_PRIVILEGE_ENABLED)); - - assertTrue(Advapi32.INSTANCE.AdjustTokenPrivileges(hToken.getValue(), false, tp, 0, null, null)); - assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); - } - - public void testImpersonateSelf() { - assertTrue(Advapi32.INSTANCE.ImpersonateSelf(WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous)); - assertTrue(Advapi32.INSTANCE.RevertToSelf()); - } -} +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 java.io.File; + +import junit.framework.TestCase; + +import com.sun.jna.Memory; +import com.sun.jna.Native; +import com.sun.jna.Pointer; +import com.sun.jna.WString; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.WinBase.FILETIME; +import com.sun.jna.platform.win32.WinDef.DWORD; +import com.sun.jna.platform.win32.WinNT.EVENTLOGRECORD; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.platform.win32.WinNT.HANDLEByReference; +import com.sun.jna.platform.win32.WinNT.PSID; +import com.sun.jna.platform.win32.WinNT.PSIDByReference; +import com.sun.jna.platform.win32.WinNT.SECURITY_IMPERSONATION_LEVEL; +import com.sun.jna.platform.win32.WinNT.SID_AND_ATTRIBUTES; +import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; +import com.sun.jna.platform.win32.WinNT.TOKEN_PRIVILEGES; +import com.sun.jna.platform.win32.WinNT.TOKEN_TYPE; +import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; +import com.sun.jna.platform.win32.WinReg.HKEYByReference; +import com.sun.jna.platform.win32.Winsvc.SC_HANDLE; +import com.sun.jna.platform.win32.Winsvc.SC_STATUS_TYPE; +import com.sun.jna.platform.win32.Winsvc.SERVICE_STATUS_PROCESS; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.ptr.PointerByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Advapi32Test extends TestCase { + + private static final String EVERYONE = "S-1-1-0"; + + public static void main(String[] args) { + junit.textui.TestRunner.run(Advapi32Test.class); + } + + public void testGetUserName() { + IntByReference len = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetUserNameW(null, len)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + char[] buffer = new char[len.getValue()]; + assertTrue(Advapi32.INSTANCE.GetUserNameW(buffer, len)); + String username = Native.toString(buffer); + assertTrue(username.length() > 0); + } + + public void testLookupAccountName() { + IntByReference pSid = new IntByReference(0); + IntByReference pDomain = new IntByReference(0); + PointerByReference peUse = new PointerByReference(); + String accountName = "Administrator"; + assertFalse(Advapi32.INSTANCE.LookupAccountName( + null, accountName, null, pSid, null, pDomain, peUse)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(pSid.getValue() > 0); + Memory sidMemory = new Memory(pSid.getValue()); + PSID pSidMemory = new PSID(sidMemory); + char[] referencedDomainName = new char[pDomain.getValue() + 1]; + assertTrue(Advapi32.INSTANCE.LookupAccountName( + null, accountName, pSidMemory, pSid, referencedDomainName, pDomain, peUse)); + assertEquals(SID_NAME_USE.SidTypeUser, peUse.getPointer().getInt(0)); + assertTrue(Native.toString(referencedDomainName).length() > 0); + } + + public void testIsValidSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertTrue("Converted SID not valid: " + sid.getValue(), Advapi32.INSTANCE.IsValidSid(sid.getValue())); + int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); + assertTrue(sidLength > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue())); + } + + public void testGetSidLength() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertEquals("Wrong SID lenght", 12, Advapi32.INSTANCE.GetLengthSid(sid.getValue())); + } + + public void testLookupAccountSid() { + // get SID bytes + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); + assertTrue(sidLength > 0); + // lookup account + IntByReference cchName = new IntByReference(); + IntByReference cchReferencedDomainName = new IntByReference(); + PointerByReference peUse = new PointerByReference(); + assertFalse(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), + null, cchName, null, cchReferencedDomainName, peUse)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(cchName.getValue() > 0); + assertTrue(cchReferencedDomainName.getValue() > 0); + char[] referencedDomainName = new char[cchReferencedDomainName.getValue()]; + char[] name = new char[cchName.getValue()]; + assertTrue(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), + name, cchName, referencedDomainName, cchReferencedDomainName, peUse)); + assertEquals(5, peUse.getPointer().getInt(0)); // SidTypeWellKnownGroup + String nameString = Native.toString(name); + String referencedDomainNameString = Native.toString(referencedDomainName); + assertTrue(nameString.length() > 0); + assertEquals("Everyone", nameString); + assertTrue(referencedDomainNameString.length() == 0); + assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); + } + + public void testConvertSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid( + sidString, sid)); + PointerByReference convertedSidStringPtr = new PointerByReference(); + assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( + sid.getValue(), convertedSidStringPtr)); + String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); + assertEquals(convertedSidString, sidString); + assertEquals(null, Kernel32.INSTANCE.LocalFree(convertedSidStringPtr.getValue())); + assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); + } + + public void testLogonUser() { + HANDLEByReference phToken = new HANDLEByReference(); + assertFalse(Advapi32.INSTANCE.LogonUser("AccountDoesntExist", ".", "passwordIsInvalid", + WinBase.LOGON32_LOGON_NETWORK, WinBase.LOGON32_PROVIDER_DEFAULT, phToken)); + assertTrue(W32Errors.ERROR_SUCCESS != Kernel32.INSTANCE.GetLastError()); + } + + public void testOpenThreadTokenNoToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); + assertNotNull(threadHandle); + assertFalse(Advapi32.INSTANCE.OpenThreadToken(threadHandle, + WinNT.TOKEN_READ, false, phToken)); + assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); + } + + public void testOpenProcessToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testOpenThreadOrProcessToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); + if (! Advapi32.INSTANCE.OpenThreadToken(threadHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, true, phToken)) { + assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + } + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testDuplicateToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLEByReference phTokenDup = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + assertTrue(Advapi32.INSTANCE.DuplicateToken(phToken.getValue(), + WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation, phTokenDup)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phTokenDup.getValue())); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testDuplicateTokenEx() { + HANDLEByReference hExistingToken = new HANDLEByReference(); + HANDLEByReference phNewToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hExistingToken)); + assertTrue(Advapi32.INSTANCE.DuplicateTokenEx(hExistingToken.getValue(), + WinNT.GENERIC_READ, null, SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous, + TOKEN_TYPE.TokenPrimary, phNewToken)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phNewToken.getValue())); + assertTrue(Kernel32.INSTANCE.CloseHandle(hExistingToken.getValue())); + } + + public void testGetTokenOwnerInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_OWNER owner = new WinNT.TOKEN_OWNER(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, owner, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(owner.Owner)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(owner.Owner); + assertTrue(sidLength < tokenInformationLength.getValue()); + assertTrue(sidLength > 0); + // System.out.println(Advapi32Util.convertSidToStringSid(owner.Owner)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testGetTokenUserInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenUser, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_USER user = new WinNT.TOKEN_USER(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenUser, user, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(user.User.Sid)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(user.User.Sid); + assertTrue(sidLength > 0); + assertTrue(sidLength < tokenInformationLength.getValue()); + // System.out.println(Advapi32Util.convertSidToStringSid(user.User.Sid)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testGetTokenGroupsInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_GROUPS groups = new WinNT.TOKEN_GROUPS(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, groups, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(groups.GroupCount > 0); + for (SID_AND_ATTRIBUTES sidAndAttribute : groups.getGroups()) { + assertTrue(Advapi32.INSTANCE.IsValidSid(sidAndAttribute.Sid)); + // System.out.println(Advapi32Util.convertSidToStringSid(sidAndAttribute.Sid)); + } + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testImpersonateLoggedOnUser() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNAAdvapi32TestImp"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if(LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } + try { + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + assertTrue(Advapi32.INSTANCE.ImpersonateLoggedOnUser(phUser.getValue())); + assertTrue(Advapi32.INSTANCE.RevertToSelf()); + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + null, userInfo.usri1_name.toString())); + } + } + + public void testRegOpenKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, WinNT.KEY_READ, phKey)); + assertTrue(WinBase.INVALID_HANDLE_VALUE != phKey.getValue()); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegQueryValueEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", 0, WinNT.KEY_READ, phKey)); + IntByReference lpcbData = new IntByReference(); + IntByReference lpType = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phKey.getValue(), "User Agent", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_SZ, lpType.getValue()); + assertTrue(lpcbData.getValue() > 0); + char[] buffer = new char[lpcbData.getValue()]; + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phKey.getValue(), "User Agent", 0, lpType, buffer, lpcbData)); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegDeleteValue() { + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteValue( + WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); + } + + public void testRegSetValueEx_REG_SZ() { + HKEYByReference phKey = new HKEYByReference(); + // create parent key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkTest = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkTest, lpdwDisposition)); + // write a REG_SZ value + char[] lpData = Native.toCharArray("Test"); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( + phkTest.getValue(), "REG_SZ", 0, WinNT.REG_SZ, lpData, lpData.length * 2)); + // re-read the REG_SZ value + IntByReference lpType = new IntByReference(); + IntByReference lpcbData = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "REG_SZ", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_SZ, lpType.getValue()); + assertTrue(lpcbData.getValue() > 0); + char[] buffer = new char[lpcbData.getValue()]; + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "REG_SZ", 0, lpType, buffer, lpcbData)); + assertEquals("Test", Native.toString(buffer)); + // delete the test key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( + phkTest.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegSetValueEx_DWORD() { + HKEYByReference phKey = new HKEYByReference(); + // create parent key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkTest = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkTest, lpdwDisposition)); + // write a REG_DWORD value + int value = 42145; + byte[] data = new byte[4]; + data[0] = (byte)(value & 0xff); + data[1] = (byte)((value >> 8) & 0xff); + data[2] = (byte)((value >> 16) & 0xff); + data[3] = (byte)((value >> 24) & 0xff); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( + phkTest.getValue(), "DWORD", 0, WinNT.REG_DWORD, data, 4)); + // re-read the REG_DWORD value + IntByReference lpType = new IntByReference(); + IntByReference lpcbData = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "DWORD", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_DWORD, lpType.getValue()); + assertEquals(4, lpcbData.getValue()); + IntByReference valueRead = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "DWORD", 0, lpType, valueRead, lpcbData)); + assertEquals(value, valueRead.getValue()); + // delete the test key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( + phkTest.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegCreateKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkResult = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkResult, lpdwDisposition)); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phkResult.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegDeleteKey() { + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteKey( + WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); + } + + public void testRegEnumKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", + 0, WinNT.KEY_READ, phKey)); + IntByReference lpcSubKeys = new IntByReference(); + IntByReference lpcMaxSubKeyLen = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + phKey.getValue(), null, null, null, lpcSubKeys, lpcMaxSubKeyLen, null, null, + null, null, null, null)); + char[] name = new char[lpcMaxSubKeyLen.getValue() + 1]; + for (int i = 0; i < lpcSubKeys.getValue(); i++) { + IntByReference lpcchValueName = new IntByReference(lpcMaxSubKeyLen.getValue() + 1); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumKeyEx( + phKey.getValue(), i, name, lpcchValueName, null, null, null, null)); + assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); + } + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegEnumValue() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", + 0, WinNT.KEY_READ, phKey)); + IntByReference lpcValues = new IntByReference(); + IntByReference lpcMaxValueNameLen = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + phKey.getValue(), null, null, null, null, null, null, lpcValues, + lpcMaxValueNameLen, null, null, null)); + char[] name = new char[lpcMaxValueNameLen.getValue() + 1]; + for (int i = 0; i < lpcValues.getValue(); i++) { + IntByReference lpcchValueName = new IntByReference(lpcMaxValueNameLen.getValue() + 1); + IntByReference lpType = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumValue( + phKey.getValue(), i, name, lpcchValueName, null, + lpType, null, null)); + assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); + } + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegQueryInfoKey() { + IntByReference lpcClass = new IntByReference(); + IntByReference lpcSubKeys = new IntByReference(); + IntByReference lpcMaxSubKeyLen = new IntByReference(); + IntByReference lpcValues = new IntByReference(); + IntByReference lpcMaxClassLen = new IntByReference(); + IntByReference lpcMaxValueNameLen = new IntByReference(); + IntByReference lpcMaxValueLen = new IntByReference(); + IntByReference lpcbSecurityDescriptor = new IntByReference(); + FILETIME lpftLastWriteTime = new FILETIME(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + WinReg.HKEY_LOCAL_MACHINE, null, lpcClass, null, + lpcSubKeys, lpcMaxSubKeyLen, lpcMaxClassLen, lpcValues, + lpcMaxValueNameLen, lpcMaxValueLen, lpcbSecurityDescriptor, + lpftLastWriteTime)); + assertTrue(lpcSubKeys.getValue() > 0); + } + + public void testIsWellKnownSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertTrue(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), + WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), + WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + } + + public void testCreateWellKnownSid() { + PSID pSid = new PSID(WinNT.SECURITY_MAX_SID_SIZE); + IntByReference cbSid = new IntByReference(WinNT.SECURITY_MAX_SID_SIZE); + assertTrue(Advapi32.INSTANCE.CreateWellKnownSid(WELL_KNOWN_SID_TYPE.WinWorldSid, + null, pSid, cbSid)); + assertTrue(Advapi32.INSTANCE.IsWellKnownSid(pSid, + WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertTrue(cbSid.getValue() <= WinNT.SECURITY_MAX_SID_SIZE); + PointerByReference convertedSidStringPtr = new PointerByReference(); + assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( + pSid, convertedSidStringPtr)); + String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); + assertEquals(EVERYONE, convertedSidString); + } + + public void testOpenEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertNotNull(h); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testRegisterEventSource() { + // the Security event log is reserved + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, "Security"); + assertNull(h); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + } + + public void testReportEvent() { + String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; + String jnaEventSource = "JNADevEventSource"; + String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; + Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); + IntByReference before = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); + assertNotNull(h); + String s[] = { "JNA", "Event" }; + Memory m = new Memory(4); + m.setByte(0, (byte) 1); + m.setByte(1, (byte) 2); + m.setByte(2, (byte) 3); + m.setByte(3, (byte) 4); + assertTrue(Advapi32.INSTANCE.ReportEvent(h, WinNT.EVENTLOG_ERROR_TYPE, 0, 0, null, 2, 4, s, m)); + IntByReference after = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); + assertTrue(before.getValue() < after.getValue()); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + assertTrue(Advapi32.INSTANCE.DeregisterEventSource(h)); + Advapi32Util.registryDeleteKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + } + + public void testGetNumberOfEventLogRecords() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + IntByReference n = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, n)); + assertTrue(n.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + /* + public void testClearEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + IntByReference before = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); + assertTrue(before.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.ClearEventLog(h, null)); + IntByReference after = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); + assertTrue(after.getValue() < before.getValue() || before.getValue() == 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + */ + + public void testBackupEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertNotNull(h); + String backupFileName = Kernel32Util.getTempPath() + "\\JNADevEventLog.bak"; + File f = new File(backupFileName); + if (f.exists()) { + f.delete(); + } + + assertTrue(Advapi32.INSTANCE.BackupEventLog(h, backupFileName)); + HANDLE hBackup = Advapi32.INSTANCE.OpenBackupEventLog(null, backupFileName); + assertNotNull(hBackup); + + IntByReference n = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(hBackup, n)); + assertTrue(n.getValue() >= 0); + + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + assertTrue(Advapi32.INSTANCE.CloseEventLog(hBackup)); + } + + public void testReadEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference pnBytesRead = new IntByReference(); + IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); + Memory buffer = new Memory(1); + assertFalse(Advapi32.INSTANCE.ReadEventLog(h, + WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_BACKWARDS_READ, + 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(pnMinNumberOfBytesNeeded.getValue() > 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testReadEventLogEntries() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference pnBytesRead = new IntByReference(); + IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); + Memory buffer = new Memory(1024 * 64); + // shorten test, avoid iterating through all events + int maxReads = 3; + int rc = 0; + while(true) { + if (maxReads-- <= 0) + break; + if (! Advapi32.INSTANCE.ReadEventLog(h, + WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_FORWARDS_READ, + 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)) { + rc = Kernel32.INSTANCE.GetLastError(); + if (rc == W32Errors.ERROR_INSUFFICIENT_BUFFER) { + buffer = new Memory(pnMinNumberOfBytesNeeded.getValue()); + rc = 0; + continue; + } + break; + } + int dwRead = pnBytesRead.getValue(); + Pointer pevlr = buffer; + int maxRecords = 3; + while (dwRead > 0 && maxRecords-- > 0) { + EVENTLOGRECORD record = new EVENTLOGRECORD(pevlr); + /* + System.out.println(record.RecordNumber.intValue() + + " Event ID: " + record.EventID.intValue() + + " Event Type: " + record.EventType.intValue() + + " Event Source: " + pevlr.getString(record.size(), true)); + */ + dwRead -= record.Length.intValue(); + pevlr = pevlr.share(record.Length.intValue()); + } + } + assertTrue("Unexpected error after reading event log: " + + new Win32Exception(rc), + rc == W32Errors.ERROR_HANDLE_EOF || rc == 0); + assertTrue("Error closing event log", + Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testGetOldestEventLogRecord() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference oldestRecord = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetOldestEventLogRecord(h, oldestRecord)); + assertTrue(oldestRecord.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testQueryServiceStatusEx() { + + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_STATUS); + assertNotNull(serviceHandle); + + IntByReference pcbBytesNeeded = new IntByReference(); + + assertFalse(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, + null, 0, pcbBytesNeeded)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + + assertTrue(pcbBytesNeeded.getValue() > 0); + + SERVICE_STATUS_PROCESS status = new SERVICE_STATUS_PROCESS(pcbBytesNeeded.getValue()); + + assertTrue(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, + status, status.size(), pcbBytesNeeded)); + + assertTrue(status.dwCurrentState == Winsvc.SERVICE_STOPPED || + status.dwCurrentState == Winsvc.SERVICE_RUNNING); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + + public void testControlService() { + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); + assertNotNull(serviceHandle); + + Winsvc.SERVICE_STATUS serverStatus = new Winsvc.SERVICE_STATUS(); + + assertNotNull(serviceHandle); + assertFalse(Advapi32.INSTANCE.ControlService(serviceHandle, Winsvc.SERVICE_CONTROL_STOP, serverStatus)); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testStartService() { + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); + assertNotNull(serviceHandle); + + assertFalse(Advapi32.INSTANCE.StartService(serviceHandle, 0, null)); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testOpenService() { + assertNull(Advapi32.INSTANCE.OpenService(null, "eventlog", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); + + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG ); + assertNotNull(serviceHandle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + + assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "slashesArentValidChars/", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); + + assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "serviceDoesNotExist", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_SERVICE_DOES_NOT_EXIST, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testOpenSCManager() { + SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(handle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); + + assertNull(Advapi32.INSTANCE.OpenSCManager("invalidMachineName", null, Winsvc.SC_MANAGER_CONNECT)); + int err = Kernel32.INSTANCE.GetLastError(); + assertTrue("Unexpected error in OpenSCManager: " + err, + err == W32Errors.RPC_S_SERVER_UNAVAILABLE + || err == W32Errors.RPC_S_INVALID_NET_ADDR); + + assertNull(Advapi32.INSTANCE.OpenSCManager(null, "invalidDatabase", Winsvc.SC_MANAGER_CONNECT)); + assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); + } + + public void testCloseServiceHandle() throws Exception { + SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(handle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); + + assertFalse(Advapi32.INSTANCE.CloseServiceHandle(null)); + assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); + } + + public void testCreateProcessAsUser() { + HANDLEByReference hToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hToken)); + + assertFalse(Advapi32.INSTANCE.CreateProcessAsUser(hToken.getValue(), null, "InvalidCmdLine.jna", + null, null, false, 0, null, null, new WinBase.STARTUPINFO(), + new WinBase.PROCESS_INFORMATION())); + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Kernel32.INSTANCE.GetLastError()); + assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); + } + + /** + * Tests both {@link Advapi32#LookupPrivilegeValue} and {@link Advapi32#LookupPrivilegeName} + */ + public void testLookupPrivilegeValueAndLookupPrivilegeName() { + WinNT.LUID luid = new WinNT.LUID(); + + assertFalse(Advapi32.INSTANCE.LookupPrivilegeValue(null, "InvalidName", luid)); + assertEquals(Kernel32.INSTANCE.GetLastError(), W32Errors.ERROR_NO_SUCH_PRIVILEGE); + + assertTrue(Advapi32.INSTANCE.LookupPrivilegeValue(null, WinNT.SE_BACKUP_NAME, luid)); + assertTrue(luid.LowPart > 0 || luid.HighPart > 0); + + char[] lpName = new char[256]; + IntByReference cchName = new IntByReference(lpName.length); + assertTrue(Advapi32.INSTANCE.LookupPrivilegeName(null, luid, lpName, cchName)); + assertEquals(WinNT.SE_BACKUP_NAME.length(), cchName.getValue()); + assertEquals(WinNT.SE_BACKUP_NAME, Native.toString(lpName)); + } + + public void testAdjustTokenPrivileges() { + HANDLEByReference hToken = new HANDLEByReference(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(Kernel32.INSTANCE.GetCurrentProcess(), + WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, hToken)); + + // Find an already enabled privilege + TOKEN_PRIVILEGES tp = new TOKEN_PRIVILEGES(1024); + IntByReference returnLength = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(hToken.getValue(), WinNT.TOKEN_INFORMATION_CLASS.TokenPrivileges, + tp, tp.size(), returnLength)); + assertTrue(tp.PrivilegeCount.intValue() > 0); + + WinNT.LUID luid = null; + for (int i=0; i 0) { + luid = tp.Privileges[i].Luid; + } + } + assertTrue(luid != null); + + // Re-enable it. That should succeed. + tp = new WinNT.TOKEN_PRIVILEGES(1); + tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new DWORD(WinNT.SE_PRIVILEGE_ENABLED)); + + assertTrue(Advapi32.INSTANCE.AdjustTokenPrivileges(hToken.getValue(), false, tp, 0, null, null)); + assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); + } + + public void testImpersonateSelf() { + assertTrue(Advapi32.INSTANCE.ImpersonateSelf(WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous)); + assertTrue(Advapi32.INSTANCE.RevertToSelf()); + } +} From be0e5b51cd44df2fb5273f9bb7fb2c43223d526f Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 17:20:27 -0500 Subject: [PATCH 26/34] skip test that will fail if current user is non-admin --- .../sun/jna/platform/win32/Advapi32Test.java | 11 +- .../jna/platform/win32/Advapi32UtilTest.java | 907 +++++++++--------- 2 files changed, 465 insertions(+), 453 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java index 0424e72a4a..be3445be74 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java @@ -519,7 +519,16 @@ public void testReportEvent() { String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; String jnaEventSource = "JNADevEventSource"; String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; - Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + // ignore test if not able to create key (need to be administrator to do this). + try { + final boolean keyCreated = Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + if (!keyCreated) { + return; + } + } catch (Win32Exception e) { + return; + } + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); IntByReference before = new IntByReference(); assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java index 4fbed4f75e..f22778fc1f 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java @@ -1,452 +1,455 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 java.util.Map; -import java.util.TreeMap; - -import junit.framework.TestCase; - -import com.sun.jna.WString; -import com.sun.jna.platform.win32.Advapi32Util.Account; -import com.sun.jna.platform.win32.Advapi32Util.EventLogIterator; -import com.sun.jna.platform.win32.Advapi32Util.EventLogRecord; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.WinNT.HANDLEByReference; -import com.sun.jna.platform.win32.WinNT.PSID; -import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; -import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; -import com.sun.jna.platform.win32.WinReg.HKEY; -import com.sun.jna.platform.win32.WinReg.HKEYByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Advapi32UtilTest extends TestCase { - - public static void main(String[] args) { - junit.textui.TestRunner.run(Advapi32UtilTest.class); - String currentUserName = Advapi32Util.getUserName(); - System.out.println("GetUserName: " + currentUserName); - - for(Account group : Advapi32Util.getCurrentUserGroups()) { - System.out.println(" " + group.fqn + " [" + group.sidString + "]"); - } - - Account accountByName = Advapi32Util.getAccountByName(currentUserName); - System.out.println("AccountByName: " + currentUserName); - System.out.println(" Fqn: " + accountByName.fqn); - System.out.println(" Domain: " + accountByName.domain); - System.out.println(" Sid: " + accountByName.sidString); - - Account accountBySid = Advapi32Util.getAccountBySid(new PSID(accountByName.sid)); - System.out.println("AccountBySid: " + accountByName.sidString); - System.out.println(" Fqn: " + accountBySid.fqn); - System.out.println(" Name: " + accountBySid.name); - System.out.println(" Domain: " + accountBySid.domain); - } - - public void testGetUsername() { - String username = Advapi32Util.getUserName(); - assertTrue(username.length() > 0); - } - - public void testGetAccountBySid() { - String accountName = Advapi32Util.getUserName(); - Account currentUser = Advapi32Util.getAccountByName(accountName); - Account account = Advapi32Util.getAccountBySid(new PSID(currentUser.sid)); - assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); - assertEquals(currentUser.fqn.toLowerCase(), account.fqn.toLowerCase()); - assertEquals(currentUser.name.toLowerCase(), account.name.toLowerCase()); - assertEquals(currentUser.domain.toLowerCase(), account.domain.toLowerCase()); - assertEquals(currentUser.sidString, account.sidString); - } - - public void testGetAccountByName() { - String accountName = Advapi32Util.getUserName(); - Account account = Advapi32Util.getAccountByName(accountName); - assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); - } - - public void testGetAccountNameFromSid() { - assertEquals("Everyone", Advapi32Util.getAccountBySid("S-1-1-0").name); - } - - public void testGetAccountSidFromName() { - assertEquals("S-1-1-0", Advapi32Util.getAccountByName("Everyone").sidString); - } - - public void testConvertSid() { - String sidString = "S-1-1-0"; // Everyone - byte[] sidBytes = Advapi32Util.convertStringSidToSid(sidString); - assertTrue(sidBytes.length > 0); - String convertedSidString = Advapi32Util.convertSidToStringSid(new PSID(sidBytes)); - assertEquals(convertedSidString, sidString); - } - - public void testGetCurrentUserGroups() { - Account[] groups = Advapi32Util.getCurrentUserGroups(); - assertTrue(groups.length > 0); - for(Account group : groups) { - assertTrue(group.name.length() > 0); - assertTrue(group.sidString.length() > 0); - assertTrue(group.sid.length > 0); - } - } - - public void testGetUserGroups() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - try { - assertEquals("Error in NetUserAdd", - LMErr.NERR_Success, - Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - Account[] groups = Advapi32Util.getTokenGroups(phUser.getValue()); - assertTrue(groups.length > 0); - for(Account group : groups) { - assertTrue(group.name.length() > 0); - assertTrue(group.sidString.length() > 0); - assertTrue(group.sid.length > 0); - } - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals("Error in NetUserDel", - LMErr.NERR_Success, - Netapi32.INSTANCE.NetUserDel(null, userInfo.usri1_name.toString())); - } - } - - public void testGetUserAccount() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - try { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - null, 1, userInfo, null)); - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - Advapi32Util.Account account = Advapi32Util.getTokenAccount(phUser.getValue()); - assertTrue(account.name.length() > 0); - assertEquals(userInfo.usri1_name.toString(), account.name); - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - null, userInfo.usri1_name.toString())); - } - } - - public void testRegistryKeyExists() { - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "")); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft")); - assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "KeyDoesNotExist\\SubKeyDoesNotExist")); - } - - public void testRegistryValueExists() { - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft", "")); - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft", "KeyDoesNotExist")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "SYSTEM\\CurrentControlSet\\Control", "SystemBootDevice")); - } - - public void testRegistryCreateDeleteKey() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - } - - public void testRegistryCreateKeyDisposition() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertTrue(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); - assertFalse(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryDeleteValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue"); - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetIntValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); - assertEquals(42, Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "IntValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetLongValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetLongValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue", 1234L); - assertEquals(1234L, Advapi32Util.registryGetLongValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "LongValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetStringValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Hello World"); - assertEquals("Hello World", Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "StringValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetExpandableStringValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Temp is %TEMP%"); - assertEquals("Temp is %TEMP%", Advapi32Util.registryGetExpandableStringValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "StringValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetStringArray() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - String[] dataWritten = { "Hello", "World" }; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue", dataWritten); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue")); - String[] dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue"); - assertEquals(dataWritten.length, dataRead.length); - for(int i = 0; i < dataRead.length; i++) { - assertEquals(dataWritten[i], dataRead[i]); - } - dataWritten = new String[0]; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString", dataWritten); - dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString"); - assertEquals(0, dataRead.length); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetBinaryValue() { - byte[] data = { 0x00, 0x01, 0x02 }; - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue", data); - byte[] read = Advapi32Util.registryGetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue"); - assertEquals(data.length, read.length); - for(int i = 0; i < data.length; i++) { - assertEquals(data[i], read[i]); - } - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetKeys() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); - String[] subKeys = Advapi32Util.registryGetKeys(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); - assertEquals(2, subKeys.length); - assertEquals(subKeys[0], "Key1"); - assertEquals(subKeys[1], "Key2"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetValues() { - String uu = new String("A" + "\\u00ea" + "\\u00f1" + "\\u00fc" + "C"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "FourtyTwo" + uu, 42); - Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "42" + uu, "FourtyTwo" + uu); - Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "ExpandableString", "%TEMP%"); - byte[] dataWritten = { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF }; - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "DeadBeef", dataWritten); - String[] stringsWritten = { "Hello", "World", "Hello World", uu }; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringArray", stringsWritten); - String[] emptyArray = new String[0]; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyStringArray", emptyArray); - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyBinary", new byte[0]); - TreeMap values = Advapi32Util.registryGetValues(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); - assertEquals(7, values.keySet().size()); - assertEquals("FourtyTwo" + uu, values.get("42" + uu)); - assertEquals(42, values.get("FourtyTwo" + uu)); - assertEquals("%TEMP%", values.get("ExpandableString")); - byte[] dataRead = (byte[]) values.get("DeadBeef"); - assertEquals(dataWritten.length, dataRead.length); - for(int i = 0; i < dataWritten.length; i++) { - assertEquals(dataWritten[i], dataRead[i]); - } - String[] stringsRead = (String[]) values.get("StringArray"); - assertEquals(stringsWritten.length, stringsRead.length); - for(int i = 0; i < stringsWritten.length; i++) { - assertEquals(stringsWritten[i], stringsRead[i]); - } - stringsRead = (String[]) values.get("EmptyStringArray"); - assertEquals(0, stringsRead.length); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetEmptyValues() { - HKEY root = WinReg.HKEY_CURRENT_USER; - String keyPath = "Software\\JNA"; - Advapi32Util.registryCreateKey(root, "Software", "JNA"); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_BINARY); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_EXPAND_SZ); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_MULTI_SZ); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_NONE); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_SZ); - Advapi32Util.registryDeleteKey(root, "Software", "JNA"); - } - - private void doTestRegistryGetEmptyValues(HKEY root, String keyPath, int valueType) { - String valueName = "EmptyValue"; - registrySetEmptyValue(root, keyPath, valueName, valueType); - Map values = Advapi32Util.registryGetValues(root, keyPath); - assertEquals(1, values.size()); - assertTrue(values.containsKey(valueName)); - } - - private static void registrySetEmptyValue(HKEY root, String keyPath, String name, final int valueType) { - HKEYByReference phkKey = new HKEYByReference(); - int rc = Advapi32.INSTANCE.RegOpenKeyEx(root, keyPath, 0, WinNT.KEY_READ | WinNT.KEY_WRITE, phkKey); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - try { - char[] data = new char[0]; - rc = Advapi32.INSTANCE.RegSetValueEx(phkKey.getValue(), name, 0, valueType, data, 0); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - } finally { - rc = Advapi32.INSTANCE.RegCloseKey(phkKey.getValue()); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - } - } - - public void testIsWellKnownSid() { - String everyoneString = "S-1-1-0"; - assertTrue(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - byte[] everyoneBytes = Advapi32Util.convertStringSidToSid(everyoneString); - assertTrue(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - } - - public void testEventLogIteratorForwards() { - EventLogIterator iter = new EventLogIterator("Application"); - try { - int max = 100; - int lastId = 0; - while(iter.hasNext()) { - EventLogRecord record = iter.next(); - assertTrue(record.getRecordNumber() > lastId); - lastId = record.getRecordNumber(); - assertNotNull(record.getType().name()); - assertNotNull(record.getSource()); - if (record.getRecord().DataLength.intValue() > 0) { - assertEquals(record.getData().length, - record.getRecord().DataLength.intValue()); - } else { - assertNull(record.getData()); - } - if (record.getRecord().NumStrings.intValue() > 0) { - assertEquals(record.getStrings().length, - record.getRecord().NumStrings.intValue()); - } else { - assertNull(record.getStrings()); - } - - if (max-- <= 0) { - break; // shorten test - } - /* - System.out.println(record.getRecordNumber() - + ": Event ID: " + record.getEventId() - + ", Event Type: " + record.getType() - + ", Event Source: " + record.getSource()); - */ - } - } finally { - iter.close(); - } - } - - public void testEventLogIteratorBackwards() { - EventLogIterator iter = new EventLogIterator(null, - "Application", WinNT.EVENTLOG_BACKWARDS_READ); - try { - int max = 100; - int lastId = -1; - while(iter.hasNext()) { - EventLogRecord record = iter.next(); - /* - System.out.println(record.getRecordNumber() - + ": Event ID: " + record.getEventId() - + ", Event Type: " + record.getType() - + ", Event Source: " + record.getSource()); - */ - assertTrue(record.getRecordNumber() < lastId || lastId == -1); - lastId = record.getRecordNumber(); - if (max-- <= 0) { - break; // shorten test - } - } - } finally { - iter.close(); - } - } - - public void testGetEnvironmentBlock() { - String expected = "KEY=value\0" - + "KEY_EMPTY=\0" - + "KEY_NUMBER=2\0" - + "\0"; - - // Order is important to kept checking result simple - Map mockEnvironment = new TreeMap(); - mockEnvironment.put("KEY", "value"); - mockEnvironment.put("KEY_EMPTY", ""); - mockEnvironment.put("KEY_NUMBER", "2"); - mockEnvironment.put("KEY_NULL", null); - - String block = Advapi32Util.getEnvironmentBlock(mockEnvironment); - assertEquals("Environment block must comprise key=value pairs separated by NUL characters", expected, block); - } -} - +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 java.util.Map; +import java.util.TreeMap; + +import junit.framework.TestCase; + +import com.sun.jna.WString; +import com.sun.jna.platform.win32.Advapi32Util.Account; +import com.sun.jna.platform.win32.Advapi32Util.EventLogIterator; +import com.sun.jna.platform.win32.Advapi32Util.EventLogRecord; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.WinNT.HANDLEByReference; +import com.sun.jna.platform.win32.WinNT.PSID; +import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; +import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; +import com.sun.jna.platform.win32.WinReg.HKEY; +import com.sun.jna.platform.win32.WinReg.HKEYByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Advapi32UtilTest extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run(Advapi32UtilTest.class); + String currentUserName = Advapi32Util.getUserName(); + System.out.println("GetUserName: " + currentUserName); + + for(Account group : Advapi32Util.getCurrentUserGroups()) { + System.out.println(" " + group.fqn + " [" + group.sidString + "]"); + } + + Account accountByName = Advapi32Util.getAccountByName(currentUserName); + System.out.println("AccountByName: " + currentUserName); + System.out.println(" Fqn: " + accountByName.fqn); + System.out.println(" Domain: " + accountByName.domain); + System.out.println(" Sid: " + accountByName.sidString); + + Account accountBySid = Advapi32Util.getAccountBySid(new PSID(accountByName.sid)); + System.out.println("AccountBySid: " + accountByName.sidString); + System.out.println(" Fqn: " + accountBySid.fqn); + System.out.println(" Name: " + accountBySid.name); + System.out.println(" Domain: " + accountBySid.domain); + } + + public void testGetUsername() { + String username = Advapi32Util.getUserName(); + assertTrue(username.length() > 0); + } + + public void testGetAccountBySid() { + String accountName = Advapi32Util.getUserName(); + Account currentUser = Advapi32Util.getAccountByName(accountName); + Account account = Advapi32Util.getAccountBySid(new PSID(currentUser.sid)); + assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); + assertEquals(currentUser.fqn.toLowerCase(), account.fqn.toLowerCase()); + assertEquals(currentUser.name.toLowerCase(), account.name.toLowerCase()); + assertEquals(currentUser.domain.toLowerCase(), account.domain.toLowerCase()); + assertEquals(currentUser.sidString, account.sidString); + } + + public void testGetAccountByName() { + String accountName = Advapi32Util.getUserName(); + Account account = Advapi32Util.getAccountByName(accountName); + assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); + } + + public void testGetAccountNameFromSid() { + assertEquals("Everyone", Advapi32Util.getAccountBySid("S-1-1-0").name); + } + + public void testGetAccountSidFromName() { + assertEquals("S-1-1-0", Advapi32Util.getAccountByName("Everyone").sidString); + } + + public void testConvertSid() { + String sidString = "S-1-1-0"; // Everyone + byte[] sidBytes = Advapi32Util.convertStringSidToSid(sidString); + assertTrue(sidBytes.length > 0); + String convertedSidString = Advapi32Util.convertSidToStringSid(new PSID(sidBytes)); + assertEquals(convertedSidString, sidString); + } + + public void testGetCurrentUserGroups() { + Account[] groups = Advapi32Util.getCurrentUserGroups(); + assertTrue(groups.length > 0); + for(Account group : groups) { + assertTrue(group.name.length() > 0); + assertTrue(group.sidString.length() > 0); + assertTrue(group.sid.length > 0); + } + } + + public void testGetUserGroups() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } + try { + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + Account[] groups = Advapi32Util.getTokenGroups(phUser.getValue()); + assertTrue(groups.length > 0); + for(Account group : groups) { + assertTrue(group.name.length() > 0); + assertTrue(group.sidString.length() > 0); + assertTrue(group.sid.length > 0); + } + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals("Error in NetUserDel", + LMErr.NERR_Success, + Netapi32.INSTANCE.NetUserDel(null, userInfo.usri1_name.toString())); + } + } + + public void testGetUserAccount() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } + try { + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + Advapi32Util.Account account = Advapi32Util.getTokenAccount(phUser.getValue()); + assertTrue(account.name.length() > 0); + assertEquals(userInfo.usri1_name.toString(), account.name); + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + null, userInfo.usri1_name.toString())); + } + } + + public void testRegistryKeyExists() { + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "")); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft")); + assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "KeyDoesNotExist\\SubKeyDoesNotExist")); + } + + public void testRegistryValueExists() { + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft", "")); + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft", "KeyDoesNotExist")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "SYSTEM\\CurrentControlSet\\Control", "SystemBootDevice")); + } + + public void testRegistryCreateDeleteKey() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + } + + public void testRegistryCreateKeyDisposition() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertTrue(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); + assertFalse(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryDeleteValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue"); + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetIntValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); + assertEquals(42, Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "IntValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetLongValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetLongValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue", 1234L); + assertEquals(1234L, Advapi32Util.registryGetLongValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "LongValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetStringValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Hello World"); + assertEquals("Hello World", Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "StringValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetExpandableStringValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Temp is %TEMP%"); + assertEquals("Temp is %TEMP%", Advapi32Util.registryGetExpandableStringValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "StringValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetStringArray() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + String[] dataWritten = { "Hello", "World" }; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue", dataWritten); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue")); + String[] dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue"); + assertEquals(dataWritten.length, dataRead.length); + for(int i = 0; i < dataRead.length; i++) { + assertEquals(dataWritten[i], dataRead[i]); + } + dataWritten = new String[0]; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString", dataWritten); + dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString"); + assertEquals(0, dataRead.length); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetBinaryValue() { + byte[] data = { 0x00, 0x01, 0x02 }; + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue", data); + byte[] read = Advapi32Util.registryGetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue"); + assertEquals(data.length, read.length); + for(int i = 0; i < data.length; i++) { + assertEquals(data[i], read[i]); + } + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetKeys() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); + String[] subKeys = Advapi32Util.registryGetKeys(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); + assertEquals(2, subKeys.length); + assertEquals(subKeys[0], "Key1"); + assertEquals(subKeys[1], "Key2"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetValues() { + String uu = new String("A" + "\\u00ea" + "\\u00f1" + "\\u00fc" + "C"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "FourtyTwo" + uu, 42); + Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "42" + uu, "FourtyTwo" + uu); + Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "ExpandableString", "%TEMP%"); + byte[] dataWritten = { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF }; + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "DeadBeef", dataWritten); + String[] stringsWritten = { "Hello", "World", "Hello World", uu }; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringArray", stringsWritten); + String[] emptyArray = new String[0]; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyStringArray", emptyArray); + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyBinary", new byte[0]); + TreeMap values = Advapi32Util.registryGetValues(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); + assertEquals(7, values.keySet().size()); + assertEquals("FourtyTwo" + uu, values.get("42" + uu)); + assertEquals(42, values.get("FourtyTwo" + uu)); + assertEquals("%TEMP%", values.get("ExpandableString")); + byte[] dataRead = (byte[]) values.get("DeadBeef"); + assertEquals(dataWritten.length, dataRead.length); + for(int i = 0; i < dataWritten.length; i++) { + assertEquals(dataWritten[i], dataRead[i]); + } + String[] stringsRead = (String[]) values.get("StringArray"); + assertEquals(stringsWritten.length, stringsRead.length); + for(int i = 0; i < stringsWritten.length; i++) { + assertEquals(stringsWritten[i], stringsRead[i]); + } + stringsRead = (String[]) values.get("EmptyStringArray"); + assertEquals(0, stringsRead.length); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetEmptyValues() { + HKEY root = WinReg.HKEY_CURRENT_USER; + String keyPath = "Software\\JNA"; + Advapi32Util.registryCreateKey(root, "Software", "JNA"); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_BINARY); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_EXPAND_SZ); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_MULTI_SZ); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_NONE); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_SZ); + Advapi32Util.registryDeleteKey(root, "Software", "JNA"); + } + + private void doTestRegistryGetEmptyValues(HKEY root, String keyPath, int valueType) { + String valueName = "EmptyValue"; + registrySetEmptyValue(root, keyPath, valueName, valueType); + Map values = Advapi32Util.registryGetValues(root, keyPath); + assertEquals(1, values.size()); + assertTrue(values.containsKey(valueName)); + } + + private static void registrySetEmptyValue(HKEY root, String keyPath, String name, final int valueType) { + HKEYByReference phkKey = new HKEYByReference(); + int rc = Advapi32.INSTANCE.RegOpenKeyEx(root, keyPath, 0, WinNT.KEY_READ | WinNT.KEY_WRITE, phkKey); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + try { + char[] data = new char[0]; + rc = Advapi32.INSTANCE.RegSetValueEx(phkKey.getValue(), name, 0, valueType, data, 0); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + } finally { + rc = Advapi32.INSTANCE.RegCloseKey(phkKey.getValue()); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + } + } + + public void testIsWellKnownSid() { + String everyoneString = "S-1-1-0"; + assertTrue(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + byte[] everyoneBytes = Advapi32Util.convertStringSidToSid(everyoneString); + assertTrue(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + } + + public void testEventLogIteratorForwards() { + EventLogIterator iter = new EventLogIterator("Application"); + try { + int max = 100; + int lastId = 0; + while(iter.hasNext()) { + EventLogRecord record = iter.next(); + assertTrue(record.getRecordNumber() > lastId); + lastId = record.getRecordNumber(); + assertNotNull(record.getType().name()); + assertNotNull(record.getSource()); + if (record.getRecord().DataLength.intValue() > 0) { + assertEquals(record.getData().length, + record.getRecord().DataLength.intValue()); + } else { + assertNull(record.getData()); + } + if (record.getRecord().NumStrings.intValue() > 0) { + assertEquals(record.getStrings().length, + record.getRecord().NumStrings.intValue()); + } else { + assertNull(record.getStrings()); + } + + if (max-- <= 0) { + break; // shorten test + } + /* + System.out.println(record.getRecordNumber() + + ": Event ID: " + record.getEventId() + + ", Event Type: " + record.getType() + + ", Event Source: " + record.getSource()); + */ + } + } finally { + iter.close(); + } + } + + public void testEventLogIteratorBackwards() { + EventLogIterator iter = new EventLogIterator(null, + "Application", WinNT.EVENTLOG_BACKWARDS_READ); + try { + int max = 100; + int lastId = -1; + while(iter.hasNext()) { + EventLogRecord record = iter.next(); + /* + System.out.println(record.getRecordNumber() + + ": Event ID: " + record.getEventId() + + ", Event Type: " + record.getType() + + ", Event Source: " + record.getSource()); + */ + assertTrue(record.getRecordNumber() < lastId || lastId == -1); + lastId = record.getRecordNumber(); + if (max-- <= 0) { + break; // shorten test + } + } + } finally { + iter.close(); + } + } + + public void testGetEnvironmentBlock() { + String expected = "KEY=value\0" + + "KEY_EMPTY=\0" + + "KEY_NUMBER=2\0" + + "\0"; + + // Order is important to kept checking result simple + Map mockEnvironment = new TreeMap(); + mockEnvironment.put("KEY", "value"); + mockEnvironment.put("KEY_EMPTY", ""); + mockEnvironment.put("KEY_NUMBER", "2"); + mockEnvironment.put("KEY_NULL", null); + + String block = Advapi32Util.getEnvironmentBlock(mockEnvironment); + assertEquals("Environment block must comprise key=value pairs separated by NUL characters", expected, block); + } +} + From f8d521999cc797eaae494c7d3603a33643f393de Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 17:27:16 -0500 Subject: [PATCH 27/34] skip test that will fail if user is non-admin --- .../sun/jna/platform/win32/Netapi32Test.java | 514 +++++++++--------- 1 file changed, 259 insertions(+), 255 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java index 3e469a96c6..058d5943f5 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java @@ -1,256 +1,260 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 junit.framework.TestCase; - -import com.sun.jna.WString; -import com.sun.jna.platform.win32.DsGetDC.DS_DOMAIN_TRUSTS; -import com.sun.jna.platform.win32.DsGetDC.PDOMAIN_CONTROLLER_INFO; -import com.sun.jna.platform.win32.LMAccess.GROUP_INFO_2; -import com.sun.jna.platform.win32.LMAccess.GROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.LOCALGROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.NTSecApi.LSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_INFORMATION; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.Netapi32Util.User; -import com.sun.jna.platform.win32.Secur32.EXTENDED_NAME_FORMAT; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.ptr.PointerByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Netapi32Test extends TestCase { - - public static void main(String[] args) { - junit.textui.TestRunner.run(Netapi32Test.class); - } - - public void testNetGetJoinInformation() { - IntByReference bufferType = new IntByReference(); - assertEquals(W32Errors.ERROR_INVALID_PARAMETER, Netapi32.INSTANCE.NetGetJoinInformation( - null, null, bufferType)); - PointerByReference lpNameBuffer = new PointerByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetGetJoinInformation( - null, lpNameBuffer, bufferType)); - assertTrue(lpNameBuffer.getValue().getString(0).length() > 0); - assertTrue(bufferType.getValue() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - lpNameBuffer.getValue())); - } - - public void testNetGetLocalGroups() { - for(int i = 0; i < 2; i++) { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesRead = new IntByReference(); - IntByReference totalEntries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetLocalGroupEnum(null, i, bufptr, - LMCons.MAX_PREFERRED_LENGTH, - entriesRead, - totalEntries, - null)); - assertTrue(entriesRead.getValue() > 0); - assertEquals(totalEntries.getValue(), entriesRead.getValue()); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - bufptr.getValue())); - } - } - - public void testNetGetDCName() { - PointerByReference lpNameBuffer = new PointerByReference(); - IntByReference BufferType = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetJoinInformation(null, lpNameBuffer, BufferType)); - if (BufferType.getValue() == LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) { - PointerByReference bufptr = new PointerByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetDCName(null, null, bufptr)); - String dc = bufptr.getValue().getString(0); - assertTrue(dc.length() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(lpNameBuffer.getValue())); - } - - public void testNetUserGetGroups() { - User[] users = Netapi32Util.getUsers(); - assertTrue(users.length >= 1); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetGroups( - null, users[0].name, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - GROUP_USERS_INFO_0 lgroup = new GROUP_USERS_INFO_0(bufptr.getValue()); - GROUP_USERS_INFO_0[] lgroups = (GROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (GROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.grui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserGetLocalGroups() { - String currentUser = Secur32Util.getUserNameEx( - EXTENDED_NAME_FORMAT.NameSamCompatible); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetLocalGroups( - null, currentUser, 0, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - LOCALGROUP_USERS_INFO_0 lgroup = new LOCALGROUP_USERS_INFO_0(bufptr.getValue()); - LOCALGROUP_USERS_INFO_0[] lgroups = (LOCALGROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (LOCALGROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.lgrui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetGroupEnum() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGroupEnum( - null, 2, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - GROUP_INFO_2 group = new GROUP_INFO_2(bufptr.getValue()); - GROUP_INFO_2[] groups = (GROUP_INFO_2[]) group.toArray(entriesread.getValue()); - for (GROUP_INFO_2 grpi : groups) { - assertTrue(grpi.grpi2_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserEnum() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( - null, 1, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - USER_INFO_1 userinfo = new USER_INFO_1(bufptr.getValue()); - USER_INFO_1[] userinfos = (USER_INFO_1[]) userinfo.toArray(entriesread.getValue()); - for (USER_INFO_1 ui : userinfos) { - assertTrue(ui.usri1_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserAdd() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - - public void testNetUserChangePassword() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); - try { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), - "!JNAP%%Wrd1")); - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - } - - public void testNetUserDel() { - assertEquals(LMErr.NERR_UserNotFound, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), "JNANetapi32TestUserDoesntExist")); - } - - public void testDsGetDcName() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - PDOMAIN_CONTROLLER_INFO.ByReference pdci = new PDOMAIN_CONTROLLER_INFO.ByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.DsGetDcName( - null, null, null, null, 0, pdci)); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pdci.getPointer())); - } - - public void testDsGetForestTrustInformation() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - String domainController = Netapi32Util.getDCName(); - PLSA_FOREST_TRUST_INFORMATION.ByReference pfti = new PLSA_FOREST_TRUST_INFORMATION.ByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsGetForestTrustInformation( - domainController, null, 0, pfti)); - - assertTrue(pfti.fti.RecordCount >= 0); - - for (PLSA_FOREST_TRUST_RECORD precord : pfti.fti.getEntries()) { - LSA_FOREST_TRUST_RECORD.UNION data = precord.tr.u; - switch(precord.tr.ForestTrustType) { - case NTSecApi.ForestTrustTopLevelName: - case NTSecApi.ForestTrustTopLevelNameEx: - assertTrue(data.TopLevelName.Length > 0); - assertTrue(data.TopLevelName.MaximumLength > 0); - assertTrue(data.TopLevelName.MaximumLength >= data.TopLevelName.Length); - assertTrue(data.TopLevelName.getString().length() > 0); - break; - case NTSecApi.ForestTrustDomainInfo: - assertTrue(data.DomainInfo.DnsName.Length > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength >= data.DomainInfo.DnsName.Length); - assertTrue(data.DomainInfo.DnsName.getString().length() > 0); - assertTrue(data.DomainInfo.NetbiosName.Length > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength >= data.DomainInfo.NetbiosName.Length); - assertTrue(data.DomainInfo.NetbiosName.getString().length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(data.DomainInfo.Sid)); - assertTrue(Advapi32Util.convertSidToStringSid(data.DomainInfo.Sid).startsWith("S-")); - break; - } - } - - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pfti.getPointer())); - } - - - public void testDsEnumerateDomainTrusts() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - IntByReference domainTrustCount = new IntByReference(); - PointerByReference domainsPointerRef = new PointerByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsEnumerateDomainTrusts(null, - DsGetDC.DS_DOMAIN_VALID_FLAGS, domainsPointerRef, domainTrustCount)); - assertTrue(domainTrustCount.getValue() >= 0); - - DS_DOMAIN_TRUSTS domainTrustRefs = new DS_DOMAIN_TRUSTS(domainsPointerRef.getValue()); - DS_DOMAIN_TRUSTS[] domainTrusts = (DS_DOMAIN_TRUSTS[]) domainTrustRefs.toArray(new DS_DOMAIN_TRUSTS[domainTrustCount.getValue()]); - - for(DS_DOMAIN_TRUSTS trust : domainTrusts) { - assertTrue(trust.DnsDomainName.length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(trust.DomainSid)); - assertTrue(Advapi32Util.convertSidToStringSid(trust.DomainSid).startsWith("S-")); - assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); - } - +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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; - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); - } - -} +import junit.framework.TestCase; + +import com.sun.jna.WString; +import com.sun.jna.platform.win32.DsGetDC.DS_DOMAIN_TRUSTS; +import com.sun.jna.platform.win32.DsGetDC.PDOMAIN_CONTROLLER_INFO; +import com.sun.jna.platform.win32.LMAccess.GROUP_INFO_2; +import com.sun.jna.platform.win32.LMAccess.GROUP_USERS_INFO_0; +import com.sun.jna.platform.win32.LMAccess.LOCALGROUP_USERS_INFO_0; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.NTSecApi.LSA_FOREST_TRUST_RECORD; +import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_INFORMATION; +import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_RECORD; +import com.sun.jna.platform.win32.Netapi32Util.User; +import com.sun.jna.platform.win32.Secur32.EXTENDED_NAME_FORMAT; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.ptr.PointerByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Netapi32Test extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run(Netapi32Test.class); + } + + public void testNetGetJoinInformation() { + IntByReference bufferType = new IntByReference(); + assertEquals(W32Errors.ERROR_INVALID_PARAMETER, Netapi32.INSTANCE.NetGetJoinInformation( + null, null, bufferType)); + PointerByReference lpNameBuffer = new PointerByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetGetJoinInformation( + null, lpNameBuffer, bufferType)); + assertTrue(lpNameBuffer.getValue().getString(0).length() > 0); + assertTrue(bufferType.getValue() > 0); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + lpNameBuffer.getValue())); + } + + public void testNetGetLocalGroups() { + for(int i = 0; i < 2; i++) { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesRead = new IntByReference(); + IntByReference totalEntries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetLocalGroupEnum(null, i, bufptr, + LMCons.MAX_PREFERRED_LENGTH, + entriesRead, + totalEntries, + null)); + assertTrue(entriesRead.getValue() > 0); + assertEquals(totalEntries.getValue(), entriesRead.getValue()); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + bufptr.getValue())); + } + } + + public void testNetGetDCName() { + PointerByReference lpNameBuffer = new PointerByReference(); + IntByReference BufferType = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetJoinInformation(null, lpNameBuffer, BufferType)); + if (BufferType.getValue() == LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) { + PointerByReference bufptr = new PointerByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetDCName(null, null, bufptr)); + String dc = bufptr.getValue().getString(0); + assertTrue(dc.length() > 0); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(lpNameBuffer.getValue())); + } + + public void testNetUserGetGroups() { + User[] users = Netapi32Util.getUsers(); + assertTrue(users.length >= 1); + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetGroups( + null, users[0].name, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, + entriesread, totalentries)); + GROUP_USERS_INFO_0 lgroup = new GROUP_USERS_INFO_0(bufptr.getValue()); + GROUP_USERS_INFO_0[] lgroups = (GROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); + for (GROUP_USERS_INFO_0 localGroupInfo : lgroups) { + assertTrue(localGroupInfo.grui0_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserGetLocalGroups() { + String currentUser = Secur32Util.getUserNameEx( + EXTENDED_NAME_FORMAT.NameSamCompatible); + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetLocalGroups( + null, currentUser, 0, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, + entriesread, totalentries)); + LOCALGROUP_USERS_INFO_0 lgroup = new LOCALGROUP_USERS_INFO_0(bufptr.getValue()); + LOCALGROUP_USERS_INFO_0[] lgroups = (LOCALGROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); + for (LOCALGROUP_USERS_INFO_0 localGroupInfo : lgroups) { + assertTrue(localGroupInfo.lgrui0_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetGroupEnum() { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGroupEnum( + null, 2, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); + GROUP_INFO_2 group = new GROUP_INFO_2(bufptr.getValue()); + GROUP_INFO_2[] groups = (GROUP_INFO_2[]) group.toArray(entriesread.getValue()); + for (GROUP_INFO_2 grpi : groups) { + assertTrue(grpi.grpi2_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserEnum() { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( + null, 1, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); + USER_INFO_1 userinfo = new USER_INFO_1(bufptr.getValue()); + USER_INFO_1[] userinfos = (USER_INFO_1[]) userinfo.toArray(entriesread.getValue()); + for (USER_INFO_1 ui : userinfos) { + assertTrue(ui.usri1_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserAdd() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { + return; + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); + } + + public void testNetUserChangePassword() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { + return; + } + try { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), + "!JNAP%%Wrd1")); + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); + } + } + + public void testNetUserDel() { + assertEquals(LMErr.NERR_UserNotFound, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), "JNANetapi32TestUserDoesntExist")); + } + + public void testDsGetDcName() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + PDOMAIN_CONTROLLER_INFO.ByReference pdci = new PDOMAIN_CONTROLLER_INFO.ByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.DsGetDcName( + null, null, null, null, 0, pdci)); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + pdci.getPointer())); + } + + public void testDsGetForestTrustInformation() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + String domainController = Netapi32Util.getDCName(); + PLSA_FOREST_TRUST_INFORMATION.ByReference pfti = new PLSA_FOREST_TRUST_INFORMATION.ByReference(); + assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsGetForestTrustInformation( + domainController, null, 0, pfti)); + + assertTrue(pfti.fti.RecordCount >= 0); + + for (PLSA_FOREST_TRUST_RECORD precord : pfti.fti.getEntries()) { + LSA_FOREST_TRUST_RECORD.UNION data = precord.tr.u; + switch(precord.tr.ForestTrustType) { + case NTSecApi.ForestTrustTopLevelName: + case NTSecApi.ForestTrustTopLevelNameEx: + assertTrue(data.TopLevelName.Length > 0); + assertTrue(data.TopLevelName.MaximumLength > 0); + assertTrue(data.TopLevelName.MaximumLength >= data.TopLevelName.Length); + assertTrue(data.TopLevelName.getString().length() > 0); + break; + case NTSecApi.ForestTrustDomainInfo: + assertTrue(data.DomainInfo.DnsName.Length > 0); + assertTrue(data.DomainInfo.DnsName.MaximumLength > 0); + assertTrue(data.DomainInfo.DnsName.MaximumLength >= data.DomainInfo.DnsName.Length); + assertTrue(data.DomainInfo.DnsName.getString().length() > 0); + assertTrue(data.DomainInfo.NetbiosName.Length > 0); + assertTrue(data.DomainInfo.NetbiosName.MaximumLength > 0); + assertTrue(data.DomainInfo.NetbiosName.MaximumLength >= data.DomainInfo.NetbiosName.Length); + assertTrue(data.DomainInfo.NetbiosName.getString().length() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(data.DomainInfo.Sid)); + assertTrue(Advapi32Util.convertSidToStringSid(data.DomainInfo.Sid).startsWith("S-")); + break; + } + } + + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + pfti.getPointer())); + } + + + public void testDsEnumerateDomainTrusts() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + IntByReference domainTrustCount = new IntByReference(); + PointerByReference domainsPointerRef = new PointerByReference(); + assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsEnumerateDomainTrusts(null, + DsGetDC.DS_DOMAIN_VALID_FLAGS, domainsPointerRef, domainTrustCount)); + assertTrue(domainTrustCount.getValue() >= 0); + + DS_DOMAIN_TRUSTS domainTrustRefs = new DS_DOMAIN_TRUSTS(domainsPointerRef.getValue()); + DS_DOMAIN_TRUSTS[] domainTrusts = (DS_DOMAIN_TRUSTS[]) domainTrustRefs.toArray(new DS_DOMAIN_TRUSTS[domainTrustCount.getValue()]); + + for(DS_DOMAIN_TRUSTS trust : domainTrusts) { + assertTrue(trust.DnsDomainName.length() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(trust.DomainSid)); + assertTrue(Advapi32Util.convertSidToStringSid(trust.DomainSid).startsWith("S-")); + assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); + } + + + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); + } + +} From dff973e9eebaf7add7b3c70b55960a2c1369fb7d Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:36:20 -0500 Subject: [PATCH 28/34] Revert "Resolve merge conflicts." This reverts commit 4a0644f3cd4a021fc01a59cd489ce63ac6cebbd4, reversing changes made to f8d521999cc797eaae494c7d3603a33643f393de. --- CHANGES.md | 620 +----------------- .../src/com/sun/jna/platform/unix/X11.java | 14 +- .../com/sun/jna/platform/win32/LMAccess.java | 44 -- .../sun/jna/platform/win32/Netapi32Test.java | 273 -------- 4 files changed, 8 insertions(+), 943 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 81e04dfcbd..cdd0fa9b7e 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,11 +7,11 @@ Bug Fixes Features -------- +* [#183](https://github.com/twall/jna/pull/183): Added StructureFieldOrderInspector unit test utility to scan for Structure field issues. See: com.sun.jna.platform.StructureFieldOrderTest.testMethodGetFieldOrder() - [@bhamail](https://github.com/bhamail). * [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). -* [#183](https://github.com/twall/jna/pull/183): Added StructureFieldOrderInspector unit test utility to scan for Structure field issues. See: com.sun.jna.platform.StructureFieldOrderTest.testMethodGetFieldOrder() - [@bhamail](https://github.com/bhamail). Release 3.5.1 ==================== @@ -615,621 +615,3 @@ Bug Fixes * Properly handle NULL when the return value is a Structure * Proper conversion to wchar_t on linux * Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered -======= -Next Release (3.5.2) -==================== - -Features --------- -* [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). -* [#178](https://github.com/twall/jna/pull/178): Added Win32 `USER_INFO_10` structure from `LMAccess.h` - [@davidmc24](https://github.com/davidmc24). -* [#174](https://github.com/twall/jna/pull/174): Recompile linux-amd64 natives to remove glibc-2.11 dependencies, now requires only 2.2.5 or better - [@twall](https://github.com/twall). -* [#180](https://github.com/twall/jna/pull/180): Fix: added missing fields in `XEvents.getFieldOrder()` - [@xwizard](https://github.com/xwizard). - -Release 3.5.1 -==================== - -Bug Fixes ---------- -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). -* [#151](https://github.com/twall/jna/pull/151): 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) - -Release 3.5.0 -============= - -Features --------- -* [#62](https://github.com/twall/jna/issues/62) If a callback is required to reside in a DLL, use [`DLLCallback`](http://twall.github.com/jna/3.5.1/javadoc/com/sun/jna/win32/DLLCallback.html) to tag your Callback object - [@twall](https://github.com/twall). -* `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). -* Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). -* Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). -* Add `android-arm` target - [@ochafik](https://github.com/ochafik), [@twall](https://github.com/twall). -* Add `jna.tmpdir` to override temporary JNA storage location - [@twall](https://github.com/twall). -* Add `EXTRA_MAKE_OPTS` ant property to override make variables - [@twall](https://github.com/twall). -* Add `Library.OPTION_OPEN_FLAGS` to customize dlopen behavior - [@twall](https://github.com/twall). -* [#113](https://github.com/twall/jna/issues/113), [#114](https://github.com/twall/jna/issues/114): Add support for GNU/kFreeBSD and debian multi-arch distros - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Fix `Advapi32Util.registryGetValues()` tried to allocate memory for a zero-length `REG_BINARY` value - [@phailwhale22](https://github.com/phailwhale22). -* Fix crash in direct mode callbacks with certain type conversions - [@twall](https://github.com/twall). -* More thoroughly propagate unexpected exceptions generated in jnidispatch - [@twall](https://github.com/twall). -* Cleanup maven poms and publishing to central repo - [@bhamail](https://github.com/bhamail). -* [#129](https://github.com/twall/jna/issues/129): Allow `Memory` field in structure - [@twall](https://github.com/twall). -* Preserve `PointerType` fields on `Structure.read()` if unchanged - [@twall](https://github.com/twall). -* [#128](https://github.com/twall/jna/issues/128): Fix masking extracting DWORD upper and lower WORD values - [@twall](https://github.com/twall). -* [#135](https://github.com/twall/jna/issues/135): Fix for `Advapi32Util.registryGetValues()` when reading zero length values - [@danwi](https://github.com/danwi). - -Release 3.4.2 -============= - -Features --------- -* Add `platform.win32.Kernel32.GetEnvironmentVariable` and `platform.win32.Kernel32Util.getEnvironmentVariable` - [@dblock](https://github.com/dblock). -* Moved `Kernel32.dll` function definitions from `WinNT.java` into `Kernel32.java` - [@dblock](https://github.com/dblock). -* Provide `toPointer()` methods on all `_PTR` types (platform win32) - [@twall](https://github.com/twall). -* Provide `ant -Dskip-native` to skip platform native build - [@twall](https://github.com/twall). -* Provide `ant -Dheadless=true` to run unit tests headless - [@twall](https://github.com/twall). -* Added Windows dev environment instructions - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Ensure platform win32 classes use unsigned where appropriate (`ULONG_PTR`, `UINT_PTR`, `ULONGLONG`, `WORD`, `DWORDLONG`) - [@twall](https://github.com/twall). -* [#71](https://github.com/twall/jna/issues/71), [#73](https://github.com/twall/jna/issues/73): Fix OSGI entries in manifest - [@twall](https://github.com/twall). -* [#78](https://github.com/twall/jna/issues/78): Fix NPE in `platform.win32.Netapi32Util.getDomainTrusts` - [@dblock](https://github.com/dblock). -* Fix: auto-sync memory for `struct**` arguments (array of struct pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.Secur32.AcquireCredentialsHandle`, `InitializeSecurityContext` and `AcceptSecurityContext` on Win32 64-bit - [@dblock](https://github.com/dblock). -* Fix: avoid overwriting native `char *` or `wchar_t *` fields within structures when unmodified (similar to current operation with pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.DsGetDC.DS_DOMAIN_TRUSTS` and `DsEnumerateDomainTrusts` on Win32 64-bit - [@trejkaz](https://github.com/trejkaz). -* Fix: Crash freeing the wrong pointer in `Netapi32Util.getDomainTrusts` - [@trejkaz](https://github.com/trejkaz). -* [#100](https://github.com/twall/jna/issues/100): Fix `platform.win32.W32FileMonitor` - [@dblock](https://github.com/dblock). -* Return INT_PTR from `platform.win32.Shell32.ShellExecute`, since returning -`HINSTANCE` is useless. -* Fix runtime error in some instances where Structure.setFieldOrder is used (never return self when sharing AutoAllocated memory). -* [#107](https://github.com/twall/jna/issues/107): `Structure.clear()` always calls `ensureAllocated()` to avoid NPE. -* Ensure internal memory pointer is *always* allocated when calling `Structure.useMemory()`, even if layout is not yet determined. - -Release 3.4.1 -============= - -Features --------- -* Add 'unsigned' modifier to IntegerType. -* Add to `platform.win32.User32`: `GetLastInputInfo`. -* Add `platform.win32.WinNT.GetFileType` and `platform.win32.Kernel32Util.getFileType`. -* Add to `platform.win32.Kernel32Util`: `getFileType`. - -Bug Fixes ---------- -* Re-build linux-amd and linux-i386 against older versions of glibc (2.2.5 and -2.1.3 respectively). -* Properly initialize first printer info struct in winspool library. -* Properly support getting and setting zero-array-length `REG_MULTI_SZ` values on Win32. -* Fixed SID in Win32 `USER_INFO_23` and `GROUP_INFO_3`. -* Fixed passing domain name into Win32 `Netapi32Util.getUserInfo`. - -Release 3.4.0 -============= - -Features --------- -* Provide `jna.nosys=true` to avoid loading any system-provided JNA (useful for local build/development). -* Allow override of default jnidispatch library name with `jna.boot.library.name` system property. -* Throw an Error if a system install of JNA is incompatible or if JNA's JNI library does not match. -* Disable automatic jnidispatch unpacking with `jna.nounpack=true`. -* Automatically look up system error messages for LastErrorException. -* Improved callback thread-mapping support; re-use, rename, and group callback -threads. -* Cache structure layout results, improving performance of structure creation. -* linux/arm 32-bit support (hardware provided by Alex Lam). -* linux/ppc 32-bit support (hardware provided by Fritiof Hedman). -* Preliminary linux/ia64, linux/ppc64 support (thanks to Laurent Guerby and the GCC compile farm). -* Windows CE/Mobile support (w32ce-arm) (resources provided by andrea antonello and Hydrologis SRL). -* linux multi-arch support (kohsuke). -* Added REG_QWORD registry type support -* Add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`. -* Add to `platform.mac.Carbon`: `GetEventDispatcherTarget`, `InstallEventHandler`, `RegisterEventHotKey`, `GetEventParameter`, `RemoveEventHandler`, `UnregisterEventHotKey`. -* Add to `platform.win32.Kernel32`: `CopyFile`, `MoveFile`, `MoveFileEx`, `CreateProcess`, `SetEnvironmentVariables`, `GetFileTime`, `SetFileTime`, `SetFileAttributes`, `DeviceIoControl`, `GetDiskFreeSpaceEx`, `CreateToolhelp32Snapshot`, `Process32First`, `Process32Next`. -* Add to `platform.win32.Msi`: `MsiGetComponentPath`, `MsiLocateComponent`, `MsiGetProductCode`, `MsiEnumComponents`. -* Add to `platform.win32.User32`: `RegisterHotKey`, `UnregisterHotKey` -* Add to `platform.win32.SetupApi`: `SetupDiGetClassDevs`, `SetupDiDestroyDeviceInfoList`, `SetupDiEnumDeviceInterfaces`, `SetupDiGetDeviceInterfaceDetail`, `SetupDiGetDeviceRegistryProperty`. -* Add `platform.win32.Shell32.ShellExecute`. -* Add to `platform.win32.User32`: `SetParent`, `IsWindowVisible`, `MoveWindow`, `SetWindowPos`, `AttachInputThread`, `SetForegroundWindow`, `GetForegroundWindow`, `SetFocus`, `SendInput`, `WaitForInputIdle`, `InvalidateRect`, `RedrawWindow`, `GetWindow`, `UpdateWindow`, `ShowWindow`, `CloseWindow`. -* Add to `platform.win32.Version`: `GetFileVersionInfoSize`, `GetFileVersionInfo`, `VerQueryValue`. -* Add to `platform.win32.Advapi32`: `GetFileSecurity`, `RegQueryValueEx(...Long...)`. -* Add to `platform.win32.Netapi32`: `NetUserGetInfo`. - -Bug Fixes --------- -* Revise cleanup of in-use temporary files on win32 (issue 6). -* Fix structure alignment issues on linux/ppc. -* Fix structure alignment issues on linux/arm. -* Account for NIO Buffer position (JIRA issue 185). -* Avoid crash with very long Strings (> 150k in length). -* Fix bug tracking Memory with an associated direct ByteBuffer. -* Fix bug handling structs by value when type mappers are in effect (JIRA issue 188). - -Release 3.3.0 -============= - -Features --------- - -* Facilitate `Memory` subclasses (jbellis). -* Allow multiple fields of the same type in Unions (Francis Barber). -* Add `platform.win32.Advapi32.AdjustTokenPrivileges`, `platform.win32.Advapi32.LookupPrivilegeName`, `platform.win32.Advapi32.LookupPrivilegeValue`, `platform.win32.Advapi32.ImpersonateSelf`. -* Add `platform.win32.Advapi32.DuplicateTokenEx`, `platform.win32.Advapi32.CreateProcessAsUser`, `platform.win32.Kernel32.GetExitCodeProcess`, `platform.win32.Kernel32.TerminateProcess`, `platform.win32.Kernel32.ReadFile`, `platform.win32.Kernel32.CreatePipe`, `platform.win32.Kernel32.SetHandleInformation` and related constants / structures in `platform.win32.WinBase` and `platform.win32.WinNT`. Please note that the `SECURITY_ATTRIBUTES` structure has been moved from `platform.win32.WinNT` to `platform.win32.WinBase`. -* Add `platform.win32.Kernel32.DeleteFile` and `platform.win32.Kernel32Util.deleteFile`. -* Add `platform.win32.Kernel32.GetFileAttributes` and `platform.win32.Kernel32Util.getFileAttributes`. -* Add `platform.win32.Kernel32.GetTickCount`. -* Add Win32 Service functions to `platform.win32.Advapi32`. -* Add `platform.win32.W32ServiceManager` and `W32Service`. -* Add Win32 Event Logging functions to `platform.win32.Advapi32` and `platform.win32.Advapi32Util.EventLogIterator`. -* `platform.win32.Advapi32Util.registryCreateKey` returns `true` if key was created, `false` if it already exists. -* Add `REG_BINARY`, `REG_EXPAND_SZ` and `REG_MULTI_SZ` support to `platform.win32.Advapi32Util` registry functions. -* Reduce JNI crossings in a number of native methods, moving object creation out into pure Java code. - -Bug Fixes ---------- - -* Move all native functions into `com.sun.jna.Native`, to ensure that all dependent classes must be disposed before the `Native` class is unloaded. Note that this change is incompatible with all previous JNA native libraries. -* Fix `platform.win32.Kernel32.GetNativeSystemInfo` and `GetSystemInfo` AV on Win64. -* Fix several potential minor bugs as reported by TvT. -* Fix bug in Structure.StructureSet.toString (Blair Zajac), exposed by Tomcat ThreadLocal cleanup. -* Fix several bugs when using Structure(Pointer) ctor and array fields (Samuel Audet). - -Release 3.2.7 -============= - -Features --------- - -* Add native peer value accessors for Pointer -* The `jna.library.path` property is now re-evaluated whenever a native library is loaded. Previously this value was cached when the JNA classes loaded. -* `Native.loadLibrary` can now load `.drv` files. -* Refactor `com.sun.jna.platform.win32.WINBASE` into `WinDef`, `WinNT` and `BaseTSD`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.GDI32` into `WinGDI`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.User32` into `WinUser`, matching Windows SDK headers. -* Refactor `platform.win32.WinNT.LARGE_INTEGER` into a union. -* Add `platform.win32.ObjBase`, `com.sun.jna.platform.win32.Ole32.CoInitializeEx`, `CoUninitialize`, and `CoCreateInstance`. -* Add `platform.win32.Oleaut32.SysAllocString` and `SysFreeString`. -* Add `platform.win32.Secur32.ImpersonateSecurityContext` and `RevertSecurityContext`. -* Add `platform.win32.WinNT.WELL_KNOWN_SID_TYPE`, `SECURITY_MAX_SID_SIZE` and other related SID-related constants. -* Add `platform.win32.Advapi32.CreateWellKnownSid` and `IsWellKnownSid` and `com.sun.jna.platform.win32.Advapi32Util.isWellKnownSid`. -* Add `platform.win32.Kernel32.GetVersion`, `GetVersionEx`, `GetSystemInfo`, `GetNativeSystemInfo`, `GlobalMemoryStatusEx`, `GetLogicalDriveStrings` and `IsWow64Process`. -* Add `platform.win32.Kernel32Util.getLogicalDriveStrings`. -* Add `platform.win32.User32.GetSystemMetrics`. -* Add `platform.win32.BaseTSD.DWORD_PTR`. -* Add `platform.win32.WinBase.SYSTEM_INFO` and `MEMORYSTATUSEX`. -* Add `platform.win32.WinNT.OSVERSIONINFOEX`, `VER` constants. -* Add `platform.win32.WinDef.ULONGLONG` and `DWORDLONG`. -* Add `platform.win32.Shell32.SHGetDesktopFolder` (prep work for Com4JNA). -* Add `platform.win32.Winspool.GetPrinterInfo`. -* Add `platform.win32.WinspoolUtil.getPrinterInfo1`. -* Add `platform.win32.GDI32.GetDeviceCaps`. -* Add `platform.win32.GDI32.GetDIBits`. - -Bug Fixes ---------- - -* Fix `ClassCastException` in `Structure.equals` (issue 152). -* Fix bug initializing a structure object from existing memory when the structure has initialized fields (issue 133). -* Fix NPE reading an array of string from a pointer when an element of the array is `NULL` (issue 151). -* Avoid calling `UnregisterNatives` in native code (issue 154). -* Compare unpacked library path against canonical (long) filename (issue 156). -* Fix `read()` of uninitialized memory in `platform.win32.Advapi32Util.getTokenGroups` and `getTokenAccount`. -* Fix `com.sun.jna.platform.win32.Secur32.QuerySecurityContextToken` to take a `CtxtHandle` instead of `PSecHandle`. -* Fix definition of BITMAPINFO (platform/win32). - -Release 3.2.5 -============= - -Features --------- - -* Split code in examples.jar into a contrib platform.jar package and individual packages for demos. -* Fix Eclipse build and added Eclipse projects for all contrib samples, import projects from jnalib and contrib. -* Ensure Structure fields correctly ordered when inherited. -* Use explicit Structure field whenever provided, regardless of whether the VM requires it. -* Add Win32 mappings for two dozen functions from Kernel32.dll, Advapi32.dll, Netapi32.dll, Secur32.dll, NtDll.dll, Ole32.dll, Shell32.dll and Crypt32.dll to com.sun.jna.platform.win32. -* Port parts of WinError.h, WinNT.h, LMAccess.h, LMCons.h, LMErr.h, LMJoin.h, NTStatus.h, ShlObj.h, WinDef.h, ShellApi.h, Wdm.h, WinReg.h, WinCrypt.h, Sspi.h, Guid.h, NtSecApi.h and DsGetDc.h. -* Add Win32 simplified utility interfaces Kernel32Util, Advapi32Util, Netapi32Util, Crypt32Util, NtDllUtil, Shell32Util, Ole32Util and Secur32Util to com.sun.jna.platform.win32. -* Support unicode paths in W32FileUtils. -* Fix exception during dispose in W32FileMonitor. - -Bug Fixes ---------- - -* Provide String.replace for 1.4 compatibility. -* Avoid allocating memory when Structure is provided a pointer in the ctor. -* Ensure proper value returned in Pointer.getValue() for non-null, unchanged NIO Buffer values. -* Use 1.4-compatible URI generation (issue 149). - -Release 3.2.4 -============= - -Features --------- - -* Make Pointer ctor public. -* Provide access to Function objects for arbitrary Pointer values. -* Add linux/ia64 binaries (bpiwowar). See issue 134 patch. - -Bug Fixes ---------- - -* Use a more robust method to decode a file-based URL (issue 135). - -Release 3.2.3 -============= - -Features --------- - -* Include version information in code in case package information lost. - -Bug Fixes ---------- - -* Fix WindowUtils exception on mouse over TrayIcon. -* Fix bug toggling windows transparent/opaque (win32/OSX). -* Avoid overwriting unchanged Pointer values in arrays (function calls with Pointer[] and Structure.read). -* Ensure Structure fields marked `final` are never written. -* Fix bug preventing proper population Structure.ByReference fields on Structure read. -* Ensure double buffering is disabled in components added to a transparent window. -* Fix UnsatisfiedLinkError attempting to load system libraries under Web Start. -* Fix loading Web Start-provided libraries on OSX (libraries must have a .jnilib suffix under Web Start). -* Properly include sources in Maven zip file (Issue 129). - -Release 3.2.2 -============= - -Features --------- - -* Provide length-specified Pointer.getStringArray() - -Bug Fixes ---------- - -* Fix crash with direct mapping if NULL struct* used (Issue 125). -* Fix case where null-valued Structure fields would get non-null values on write. -* Synch callback Structure/Structure[] arguments on callback return. -* Fix NPE when mapping an interface to the current process. -* Automatically load proper C library version from current process on Linux (avoids crashing bug on Ubuntu with libc-i686 packages active). -* Avoid scanning structure contents in Structure.toString if contents aren't actually used. - -Release 3.2.1 -========== - -Features --------- - -* Add HRESULT, LONG mapping to W32API (marc strapetz). - - -Bug Fixes ---------- - -* Fix definition of HWND_BROADCAST in W32API. -* Fix memory alignment checking (Issue 121). -* Fix Structure equals/hashCode implementation, based on current Java fields rather than strictly native memory contents. Avoid using equals/hashCode when avoiding recursive reads/writes. - -Release 3.2.0 -============= - -Features --------- - -* Handle String, Structure, Callback, Buffer, and primitive arrays in direct mappings. Handle NativeMapped and TypeMapper, with optimized paths for IntegerType and PointerType. -* Optionally throw errno/GetLastError as an exception. This is preferred to (and more efficient than) calling Native.getLastError(). -* Unload/delete native library unpacked from jna.jar if Native class is garbage collected. Only install shutdown hook if using the system class loader. -* Auto-write contiguous Structure arrays when first element is written. -* Support NativeMapped[] as function arguments for interface-mapped libraries (Issue 90). -* Enable function lookup within current process on Windows. - -Bug Fixes ---------- - -* Restrict recursive structure reads/writes by thread instead of globally. This avoids potentially missed reads/writes with concurrent access (Issue 120). -* Ensure Memory is not GC'd and freed if direct NIO buffers mapped to it are extant. -* Allow types derived from java.nio.Buffer as Structure fields. - -Release 3.1.0 -============= - -Features --------- - -* Add raw JNI mapping of static Java methods. Performance is about 10X that of traditional JNA interface mapping, although with less type conversion functionality. -* Add library option to allow passing/return of Java Objects. -* Allow handling of uncaught callback exceptions (Issue 63). -* Object oriented interface to X server (see contrib/x11) -* Make Memory class more accessible. -* Provide Structure ctor with Pointer argument (issue 102). -* Allow implicit library access to current process on linux (issue 98). -* Open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux. -* Allow NIO Buffer as Structure field (with limitations) (Issue 57) -* Add `size_t` size. - -Bug Fixes ---------- - -* Run tests with libjsig.so, if available, which fixes some crashes when running tests on 64-bit platforms. -* Fix Issue 104. -* Fix Issue 94 (Java 1.6 update 10 regression). -* Fix Issue 51 (Java 1.6 update 10 regression). -* Fix Issue 95. -* Fix Issue 101. -* Fix Issue 111, memory leak with String-returning Callback. -* Fix missing storage of union type information (affects usage of struct/union by value as argument and return type). -* Remove non-functional Structure ctors requiring explicit size. - -Release 3.0.9 -============= - -Bug Fixes ---------- - -* Fix issue 93 by only manually searching jna.library.path, then falling back to passing the mapped library name to dlopen/LoadLibrary. This fixes an issue in JRUBY where the incorrect libc.so.6 was being loaded. - -Release 3.0.8 -========== - -Features --------- - -* Auto-map Pointer[]/String[]/WString[] return values. -* Provide utility functions to convert String to primitive array. -* Add jna.library.boot.path property to define the directory that the native stub library is loaded from - -Release 3.0.7 -========== - -Features --------- - -* Improve Win32 loading of libraries with dependencies. - -Bug Fixes ---------- - -* Fix bug reading structures with PointerType fields, introduced with Pointer field preservation fix. - -Release 3.0.6 -============= - -Features --------- - -* Allow arbitrary callback method names if only one method is defined in the class which implements Callback (colinwalters). -* Allow specification of callback type mappers by using a TYPE_MAPPER field (colinwalters). -* Allow uninitialized (null-valued) boxed primitives in Structures (colinwalters). -* Add convenience methods to set active Union field and value simultaneously (xylo). -* Augment Union read/writeField to set the active field. -* Allow Structure auto-synch across native calls to be disabled. -* Win64 support. - -Bug Fixes ---------- - -* Avoid overwriting unchanged Structure fields of type Pointer. -* Avoid more content dragging on OSX or warn if it's too late. -* Fix UnsatisfiedLinkError using transparent window on Win2K. -* Fix memory leak with callbacks called from native threads with no Java context (johnwallace). -* Defer structure size calculation if type mapper not yet set, allowing type mapper to be set in derived constructors (colinwalters). -* Ensure structure memory is allocated in Structure.read/writeField. - -Release 3.0.5 -============= - -Features --------- - -* Allow explicit declaration of field order for VMs which have an unpredictable field order. -* Check for w32 libraries with a "lib" prefix in addition to normal lookup. -* Allow String[]/WString[] as callback argument/return value (assume NULL-terminated array). -* Add Solaris8 compatibility to sunos-sparc build (Corey Puffalt). -* Look up libraries using web start library path, if appropriate (Corey Puffalt). -* Use constants to return integer boolean values. - -Bug Fixes ---------- - -* Properly track cursor on alpha-masked windows. -* Avoid searching /lib or /usr/lib on 64-bit Linux. -* Avoid using incorrect version of a library when both 32- and 64-bit versions are found. -* Avoid transparent window events always dragging window bug on OSX. -* Fix division by zero error calculating structure size on OSX/ppc. -* Avoid overwriting initialized NativeMapped Structure fields when calculating structure size. -* Fix NPE reading back into StringArray. - -Release 3.0.4 -============= - -Features --------- - -* Automatically write contents of Structure.ByReference fields on Structure.write(). -* Use the actual parameter type in Function invocations if no parameter type information is available (whether method is missing or untyped varargs). -* Augmented X11 library mappings (xylo). -* Support read/write of NativeMapped arrays within Structure (notably NativeLong). - -Bug Fixes ---------- - -* Fix library load error when /usr/lib32 and /usr/lib both exist (linux) (Marek Slama). -* Avoid incorrect matches against libraries named with the same prefix (e.g. libc-client.so vs libc.so) (xylo). -* Properly handle arrays of NativeMapped (e.g. NativeLong) as a Structure field (stefan endrullis). -* Ensure structure size calculated prior to setting union active type. -* XID is 64-bits on 64-bit X clients (xylo). -* Ensure proper arch name is used on Debian (amd64 instead of x86_64). - -Release 3.0.3 -============= - -Features --------- - -* Enable build/run using IBM's J9 VM (leonardo). -* Make StdCallFunctionMapper attempt a leading underscore if the simpler mapping doesn't work. -* Allow Structure.read to overwrite final fields (may not work on some 1.4 VMs). - -Bug Fixes ---------- - -* Fix NPE when passing an array of Structure.ByReference. -* Compare entire linux library version when finding a match. -* Don't pass struct by value unless the method signature declares it. -* Restrict custom first element structure alignment to OSX/ppc. -* Improve performance and reduce memory footprint for window masks. Optimize polygon-based masks on w32. Use XFillRectangles on X11. -* Fix linkage settings on sunos-amd64 to avoid relocation errors. -* Fix callback allocation code on w32, solaris, freebsd, darwin (libffi was misconfigured). -* Fix bug when NativeMapped fields are used in a Structure.ByValue instance. -* Fix NPE calling Structure.read() before memory is initialized. -* Fix NPE calling Structure.read/write with uninitialized NativeMapped fields. - -Release 3.0.2 -============= - -Features --------- - -* Attempt to force unload of jnidispatch library prior to deleting it (w32). -* Added amd64 targets for OSX, FreeBSD, and Solaris. - -Bug Fixes ---------- - -* Reduce space allocated for invocation arguments. -* Fix NPE when NativeMapped type is used in a Structure. -* Fix some X11 type mappings for 64-bit. -* Fix OSX Leopard/JRE1.5+ window transparency. -* Fix window alpha compositing on X11. -* Fix loading of libraries with unicode names on OSX. - -Release 3.0.1 -============= - -Features --------- - -* Improve transparent window drawing performance on w32 -* Use closure allocation from libffi - -Bug Fixes ---------- - -* Ensure nested structure arrays initialized with Structure.toArray use the appropriate native memory. -* Ensure structure size is calculated prior to converting to array -* Avoid creating new windows when setting a window mask -* Fix bug in Pointer.setChar. - -Release 3.0 -=========== - -Features --------- - -* More supported platforms, via GCC's libffi (wmeissner) -* Support struct by value as parameter and return value (duncan) -* Support struct by reference within structures -* Provide access to native peer for java.awt.Component -* Provide access to native peer on OS X. -* Support MINGW32 builds (fullung) -* Allow per-field Structure read/write by field name -* Avoid writing Structure fields marked 'volatile' -* Read and wrap function pointers in Structure fields when read with a Java proxy to allow easy Java-side invocation (Ken Larson) -* Support array-backed Buffers as arguments (wmeissner) -* Auto-conversion of custom types (wmeissner) -* Allow pointer type-safety -* Optional VM crash protection, via Native.setProtected(boolean) -* Auto-convert WString[] -* Provide library synchronization wrapper similar to Collections.synchronizedX -* Support lookup of OSX framework libraries by name -* Explicit access to shared library global data -* Invocation interception to facilitate translation of C preprocessor macros and inline functions -* Provide utility to determine Web Start native library cache location; auto-include this path if jnidispatch is included as a <nativelib> (robertengels) -* Provide access to aligned memory -* Versioning information embedded in jna.jar and native library - -Bug Fixes ---------- - -* Avoid attempts to free native library if it failed to load (wmeissner) -* Explicitly check method signatures for varargs instead of heuristically guessing (wmeissner) -* Disallow declaring Pointer-derived fields in Structures (Function, Memory) -* Ensure Object.toString/hashCode/equals methods are intercepted on proxyied interfaces -* Update X11 library for 64-bit use (wmeissner) -* Properly map arrays of char*/wchar_t* under w32 -* Allow Pointer[] as a Structure field and Function argument -* Fix some misleading Structure error messages -* Properly preserve/return GetLastError/errno after native calls -* Allocate executable memory on w32 to avoid errors with hardware-enforced data execution protection (DEP) -* Fix VM crash on w32 stdcall callbacks -* Use long offsets and sizes rather than ints (64-bit safe) -* Properly clean up references and release closure memory on JNI_Unload -* Use simpler AWT/JAWT library loading workaround -* Avoid changing array references within a Structure on read - -Release 2.5 -=========== - -Features --------- - -* Unions -* Optimized shaped windows (chris deckers & olivier chafik); instantiation time improved by about 2-3 orders of magnitude for large, mostly contiguous shapes -* Provide type mapping in callback arguments/results -* Provide access to ByteBuffer direct address as a Pointer -* Provide customization of native string encoding with jna.encoding system property - -Bug Fixes ---------- - -* Properly handle VMs with reversed Structure member storage -* Avoid making window undecorated when clearing window mask on X11 -* Fix structure alignment bug on OSX/PPC when first element is > 4 bytes in size -* Clearing OSX window mask by setting to MASK_NONE now works properly -* Avoid index exceptions if native buffers are not NUL-terminated on string conversions -* Write initialized Structure[] argument memory prior to function calls -* Fix IllegalArgumentException reading WString into a Structure -* Clear memory when allocating a structure block (fixes VM crash) -* Remove versioned JAWT dependency on OSX, allowing use on 10.3/JRE1.4. - -Release 2.4 -=========== - -Features --------- - -* Explicitly support unaligned structures -* Auto-reallocate structure arrays -* Automatic handling of w32 UNICODE/ASCII variants -* Automatic mapping of decorated w32 stdcall function names -* Customizable, automatic type conversion of arguments and results (wmeissner) -* Support char*[] arguments as Java String[] -* Structure supports Callback members (wmeissner) -* getByteBuffer from Pointer/Memory (wmeissner) -* Allow GC of native libraries -* Facilitate use from non-Java contexts (JRuby et al.) (wmeissner) -* Improve library path searching (wmeissner) -* Handle Structure[] arguments -* Handle native long arguments and return values -* Handle direct and array-based ByteBuffer arguments (wmeissner) -* Change default w32 build to use GCC (it's free, yo) - -Bug Fixes ---------- - -* Structure.toArray failed to initialize members -* Disallow explicit free of Structure/Memory -* Ensure native libraries are only loaded once until released -* Properly handle NULL when the return value is a Structure -* Proper conversion to wchar_t on linux -* Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered ->>>>>>> upstream/master diff --git a/contrib/platform/src/com/sun/jna/platform/unix/X11.java b/contrib/platform/src/com/sun/jna/platform/unix/X11.java index eec965c3be..ce9edd8566 100644 --- a/contrib/platform/src/com/sun/jna/platform/unix/X11.java +++ b/contrib/platform/src/com/sun/jna/platform/unix/X11.java @@ -1610,7 +1610,7 @@ class XUnmapEvent extends Structure { public Window window; public int from_configure; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "event", "window", "from_configure" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "from_configure" }); } } @@ -1623,7 +1623,7 @@ class XMapEvent extends Structure { public Window window; public int override_redirect; // boolean, is override set... protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "event", "window", "override_redirect" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "override_redirect" }); } } @@ -1635,7 +1635,7 @@ class XMapRequestEvent extends Structure { public Window parent; public Window window; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "parent", "window" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window" }); } } @@ -1650,7 +1650,7 @@ class XReparentEvent extends Structure { public int x, y; public int override_redirect; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "event", "window", "parent", "x", "y", "override_redirect" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "x", "y", "override_redirect" }); } } @@ -1667,7 +1667,7 @@ class XConfigureEvent extends Structure { public Window above; public int override_redirect; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display","event", "window", "x", "y", "width", "height", "border_width", "above", "override_redirect" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "x", "y", "width", "height", "border_width", "above", "override_redirect" }); } } @@ -1680,7 +1680,7 @@ class XGravityEvent extends Structure { public Window window; public int x, y; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "event", "window", "x", "y" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "x", "y" }); } } @@ -1710,7 +1710,7 @@ class XConfigureRequestEvent extends Structure { public int detail; // Above, Below, TopIf, BottomIf, Opposite public NativeLong value_mask; protected List getFieldOrder() { - return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "parent", "window", "x", "y", "width", "height", "border_width", "above", "detail", "value_mask" }); + return Arrays.asList(new String[] { "type", "serial", "send_event", "display", "window", "x", "y", "width", "height", "above", "detail", "value_mask" }); } } diff --git a/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java b/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java index 9cddfce43b..ccd7259a31 100644 --- a/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java +++ b/contrib/platform/src/com/sun/jna/platform/win32/LMAccess.java @@ -154,50 +154,6 @@ protected List getFieldOrder() { return Arrays.asList(new String[] { "usri1_name", "usri1_password", "usri1_password_age", "usri1_priv", "usri1_home_dir", "usri1_comment", "usri1_flags", "usri1_script_path" }); } } - - /** - * The USER_INFO_10 structure contains information about a user account, - * including the account name, comments associated with the account, and - * the user's full name. - */ - public static class USER_INFO_10 extends Structure { - public USER_INFO_10() { - super(); - } - - public USER_INFO_10(Pointer memory) { - super(memory); - read(); - } - - /** - * Pointer to a Unicode string that specifies the name of the user - * account. Calls to the NetUserSetInfo function ignore this member. - */ - public WString usri10_name; - /** - * Pointer to a Unicode string that contains a comment associated with - * the user account. The string can be a null string, or can have any - * number of characters before the terminating null character. - */ - public WString usri10_comment; - /** - * Pointer to a Unicode string that contains a user comment. This - * string can be a null string, or it can have any number of characters - * before the terminating null character. - */ - public WString usri10_usr_comment; - /** - * Pointer to a Unicode string that contains the full name of the user. - * This string can be a null string, or it can have any number of - * characters before the terminating null character. - */ - public WString usri10_full_name; - - protected List getFieldOrder() { - return Arrays.asList(new String[] { "usri10_name", "usri10_comment", "usri10_usr_comment", "usri10_full_name" }); - } - } /** * The USER_INFO_23 structure contains information about a user account, diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java index 785f264eaf..058d5943f5 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java @@ -258,276 +258,3 @@ public void testDsEnumerateDomainTrusts() { } } -======= -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 junit.framework.TestCase; - -import com.sun.jna.WString; -import com.sun.jna.platform.win32.DsGetDC.DS_DOMAIN_TRUSTS; -import com.sun.jna.platform.win32.DsGetDC.PDOMAIN_CONTROLLER_INFO; -import com.sun.jna.platform.win32.LMAccess.GROUP_INFO_2; -import com.sun.jna.platform.win32.LMAccess.GROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.LOCALGROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_10; -import com.sun.jna.platform.win32.NTSecApi.LSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_INFORMATION; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.Netapi32Util.User; -import com.sun.jna.platform.win32.Secur32.EXTENDED_NAME_FORMAT; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.ptr.PointerByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Netapi32Test extends TestCase { - - public static void main(String[] args) { - junit.textui.TestRunner.run(Netapi32Test.class); - } - - public void testNetGetJoinInformation() { - IntByReference bufferType = new IntByReference(); - assertEquals(W32Errors.ERROR_INVALID_PARAMETER, Netapi32.INSTANCE.NetGetJoinInformation( - null, null, bufferType)); - PointerByReference lpNameBuffer = new PointerByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetGetJoinInformation( - null, lpNameBuffer, bufferType)); - assertTrue(lpNameBuffer.getValue().getString(0).length() > 0); - assertTrue(bufferType.getValue() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - lpNameBuffer.getValue())); - } - - public void testNetGetLocalGroups() { - for(int i = 0; i < 2; i++) { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesRead = new IntByReference(); - IntByReference totalEntries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetLocalGroupEnum(null, i, bufptr, - LMCons.MAX_PREFERRED_LENGTH, - entriesRead, - totalEntries, - null)); - assertTrue(entriesRead.getValue() > 0); - assertEquals(totalEntries.getValue(), entriesRead.getValue()); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - bufptr.getValue())); - } - } - - public void testNetGetDCName() { - PointerByReference lpNameBuffer = new PointerByReference(); - IntByReference BufferType = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetJoinInformation(null, lpNameBuffer, BufferType)); - if (BufferType.getValue() == LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) { - PointerByReference bufptr = new PointerByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetDCName(null, null, bufptr)); - String dc = bufptr.getValue().getString(0); - assertTrue(dc.length() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(lpNameBuffer.getValue())); - } - - public void testNetUserGetGroups() { - User[] users = Netapi32Util.getUsers(); - assertTrue(users.length >= 1); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetGroups( - null, users[0].name, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - GROUP_USERS_INFO_0 lgroup = new GROUP_USERS_INFO_0(bufptr.getValue()); - GROUP_USERS_INFO_0[] lgroups = (GROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (GROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.grui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserGetLocalGroups() { - String currentUser = Secur32Util.getUserNameEx( - EXTENDED_NAME_FORMAT.NameSamCompatible); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetLocalGroups( - null, currentUser, 0, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - LOCALGROUP_USERS_INFO_0 lgroup = new LOCALGROUP_USERS_INFO_0(bufptr.getValue()); - LOCALGROUP_USERS_INFO_0[] lgroups = (LOCALGROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (LOCALGROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.lgrui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetGroupEnum() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGroupEnum( - null, 2, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - GROUP_INFO_2 group = new GROUP_INFO_2(bufptr.getValue()); - GROUP_INFO_2[] groups = (GROUP_INFO_2[]) group.toArray(entriesread.getValue()); - for (GROUP_INFO_2 grpi : groups) { - assertTrue(grpi.grpi2_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserEnum1() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( - null, 1, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - USER_INFO_1 userinfo = new USER_INFO_1(bufptr.getValue()); - USER_INFO_1[] userinfos = (USER_INFO_1[]) userinfo.toArray(entriesread.getValue()); - for (USER_INFO_1 ui : userinfos) { - assertTrue(ui.usri1_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserEnum10() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( - null, 10, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - USER_INFO_10 userinfo = new USER_INFO_10(bufptr.getValue()); - USER_INFO_10[] userinfos = (USER_INFO_10[]) userinfo.toArray(entriesread.getValue()); - for (USER_INFO_10 ui : userinfos) { - assertTrue(ui.usri10_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserAdd() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - - public void testNetUserChangePassword() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); - try { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), - "!JNAP%%Wrd1")); - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - } - - public void testNetUserDel() { - assertEquals(LMErr.NERR_UserNotFound, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), "JNANetapi32TestUserDoesntExist")); - } - - public void testDsGetDcName() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - PDOMAIN_CONTROLLER_INFO.ByReference pdci = new PDOMAIN_CONTROLLER_INFO.ByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.DsGetDcName( - null, null, null, null, 0, pdci)); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pdci.getPointer())); - } - - public void testDsGetForestTrustInformation() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - String domainController = Netapi32Util.getDCName(); - PLSA_FOREST_TRUST_INFORMATION.ByReference pfti = new PLSA_FOREST_TRUST_INFORMATION.ByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsGetForestTrustInformation( - domainController, null, 0, pfti)); - - assertTrue(pfti.fti.RecordCount >= 0); - - for (PLSA_FOREST_TRUST_RECORD precord : pfti.fti.getEntries()) { - LSA_FOREST_TRUST_RECORD.UNION data = precord.tr.u; - switch(precord.tr.ForestTrustType) { - case NTSecApi.ForestTrustTopLevelName: - case NTSecApi.ForestTrustTopLevelNameEx: - assertTrue(data.TopLevelName.Length > 0); - assertTrue(data.TopLevelName.MaximumLength > 0); - assertTrue(data.TopLevelName.MaximumLength >= data.TopLevelName.Length); - assertTrue(data.TopLevelName.getString().length() > 0); - break; - case NTSecApi.ForestTrustDomainInfo: - assertTrue(data.DomainInfo.DnsName.Length > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength >= data.DomainInfo.DnsName.Length); - assertTrue(data.DomainInfo.DnsName.getString().length() > 0); - assertTrue(data.DomainInfo.NetbiosName.Length > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength >= data.DomainInfo.NetbiosName.Length); - assertTrue(data.DomainInfo.NetbiosName.getString().length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(data.DomainInfo.Sid)); - assertTrue(Advapi32Util.convertSidToStringSid(data.DomainInfo.Sid).startsWith("S-")); - break; - } - } - - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pfti.getPointer())); - } - - - public void testDsEnumerateDomainTrusts() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - IntByReference domainTrustCount = new IntByReference(); - PointerByReference domainsPointerRef = new PointerByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsEnumerateDomainTrusts(null, - DsGetDC.DS_DOMAIN_VALID_FLAGS, domainsPointerRef, domainTrustCount)); - assertTrue(domainTrustCount.getValue() >= 0); - - DS_DOMAIN_TRUSTS domainTrustRefs = new DS_DOMAIN_TRUSTS(domainsPointerRef.getValue()); - DS_DOMAIN_TRUSTS[] domainTrusts = (DS_DOMAIN_TRUSTS[]) domainTrustRefs.toArray(new DS_DOMAIN_TRUSTS[domainTrustCount.getValue()]); - - for(DS_DOMAIN_TRUSTS trust : domainTrusts) { - assertTrue(trust.DnsDomainName.length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(trust.DomainSid)); - assertTrue(Advapi32Util.convertSidToStringSid(trust.DomainSid).startsWith("S-")); - assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); - } - - - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); - } - -} ->>>>>>> upstream/master From b5df2c589a2fc9bbffbdd9388050af28f320d12b Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:37:32 -0500 Subject: [PATCH 29/34] Revert "skip test that will fail if user is non-admin" This reverts commit f8d521999cc797eaae494c7d3603a33643f393de. --- .../sun/jna/platform/win32/Netapi32Test.java | 514 +++++++++--------- 1 file changed, 255 insertions(+), 259 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java index 058d5943f5..3e469a96c6 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java @@ -1,260 +1,256 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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; +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 junit.framework.TestCase; + +import com.sun.jna.WString; +import com.sun.jna.platform.win32.DsGetDC.DS_DOMAIN_TRUSTS; +import com.sun.jna.platform.win32.DsGetDC.PDOMAIN_CONTROLLER_INFO; +import com.sun.jna.platform.win32.LMAccess.GROUP_INFO_2; +import com.sun.jna.platform.win32.LMAccess.GROUP_USERS_INFO_0; +import com.sun.jna.platform.win32.LMAccess.LOCALGROUP_USERS_INFO_0; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.NTSecApi.LSA_FOREST_TRUST_RECORD; +import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_INFORMATION; +import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_RECORD; +import com.sun.jna.platform.win32.Netapi32Util.User; +import com.sun.jna.platform.win32.Secur32.EXTENDED_NAME_FORMAT; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.ptr.PointerByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Netapi32Test extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run(Netapi32Test.class); + } + + public void testNetGetJoinInformation() { + IntByReference bufferType = new IntByReference(); + assertEquals(W32Errors.ERROR_INVALID_PARAMETER, Netapi32.INSTANCE.NetGetJoinInformation( + null, null, bufferType)); + PointerByReference lpNameBuffer = new PointerByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetGetJoinInformation( + null, lpNameBuffer, bufferType)); + assertTrue(lpNameBuffer.getValue().getString(0).length() > 0); + assertTrue(bufferType.getValue() > 0); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + lpNameBuffer.getValue())); + } + + public void testNetGetLocalGroups() { + for(int i = 0; i < 2; i++) { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesRead = new IntByReference(); + IntByReference totalEntries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetLocalGroupEnum(null, i, bufptr, + LMCons.MAX_PREFERRED_LENGTH, + entriesRead, + totalEntries, + null)); + assertTrue(entriesRead.getValue() > 0); + assertEquals(totalEntries.getValue(), entriesRead.getValue()); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + bufptr.getValue())); + } + } + + public void testNetGetDCName() { + PointerByReference lpNameBuffer = new PointerByReference(); + IntByReference BufferType = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetJoinInformation(null, lpNameBuffer, BufferType)); + if (BufferType.getValue() == LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) { + PointerByReference bufptr = new PointerByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetDCName(null, null, bufptr)); + String dc = bufptr.getValue().getString(0); + assertTrue(dc.length() > 0); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(lpNameBuffer.getValue())); + } + + public void testNetUserGetGroups() { + User[] users = Netapi32Util.getUsers(); + assertTrue(users.length >= 1); + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetGroups( + null, users[0].name, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, + entriesread, totalentries)); + GROUP_USERS_INFO_0 lgroup = new GROUP_USERS_INFO_0(bufptr.getValue()); + GROUP_USERS_INFO_0[] lgroups = (GROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); + for (GROUP_USERS_INFO_0 localGroupInfo : lgroups) { + assertTrue(localGroupInfo.grui0_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserGetLocalGroups() { + String currentUser = Secur32Util.getUserNameEx( + EXTENDED_NAME_FORMAT.NameSamCompatible); + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetLocalGroups( + null, currentUser, 0, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, + entriesread, totalentries)); + LOCALGROUP_USERS_INFO_0 lgroup = new LOCALGROUP_USERS_INFO_0(bufptr.getValue()); + LOCALGROUP_USERS_INFO_0[] lgroups = (LOCALGROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); + for (LOCALGROUP_USERS_INFO_0 localGroupInfo : lgroups) { + assertTrue(localGroupInfo.lgrui0_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetGroupEnum() { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGroupEnum( + null, 2, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); + GROUP_INFO_2 group = new GROUP_INFO_2(bufptr.getValue()); + GROUP_INFO_2[] groups = (GROUP_INFO_2[]) group.toArray(entriesread.getValue()); + for (GROUP_INFO_2 grpi : groups) { + assertTrue(grpi.grpi2_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserEnum() { + PointerByReference bufptr = new PointerByReference(); + IntByReference entriesread = new IntByReference(); + IntByReference totalentries = new IntByReference(); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( + null, 1, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); + USER_INFO_1 userinfo = new USER_INFO_1(bufptr.getValue()); + USER_INFO_1[] userinfos = (USER_INFO_1[]) userinfo.toArray(entriesread.getValue()); + for (USER_INFO_1 ui : userinfos) { + assertTrue(ui.usri1_name.length() > 0); + } + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); + } + + public void testNetUserAdd() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( + Kernel32Util.getComputerName(), 1, userInfo, null)); + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); + } + + public void testNetUserChangePassword() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( + Kernel32Util.getComputerName(), 1, userInfo, null)); + try { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), + "!JNAP%%Wrd1")); + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); + } + } + + public void testNetUserDel() { + assertEquals(LMErr.NERR_UserNotFound, Netapi32.INSTANCE.NetUserDel( + Kernel32Util.getComputerName(), "JNANetapi32TestUserDoesntExist")); + } + + public void testDsGetDcName() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + PDOMAIN_CONTROLLER_INFO.ByReference pdci = new PDOMAIN_CONTROLLER_INFO.ByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.DsGetDcName( + null, null, null, null, 0, pdci)); + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + pdci.getPointer())); + } + + public void testDsGetForestTrustInformation() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + String domainController = Netapi32Util.getDCName(); + PLSA_FOREST_TRUST_INFORMATION.ByReference pfti = new PLSA_FOREST_TRUST_INFORMATION.ByReference(); + assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsGetForestTrustInformation( + domainController, null, 0, pfti)); + + assertTrue(pfti.fti.RecordCount >= 0); + + for (PLSA_FOREST_TRUST_RECORD precord : pfti.fti.getEntries()) { + LSA_FOREST_TRUST_RECORD.UNION data = precord.tr.u; + switch(precord.tr.ForestTrustType) { + case NTSecApi.ForestTrustTopLevelName: + case NTSecApi.ForestTrustTopLevelNameEx: + assertTrue(data.TopLevelName.Length > 0); + assertTrue(data.TopLevelName.MaximumLength > 0); + assertTrue(data.TopLevelName.MaximumLength >= data.TopLevelName.Length); + assertTrue(data.TopLevelName.getString().length() > 0); + break; + case NTSecApi.ForestTrustDomainInfo: + assertTrue(data.DomainInfo.DnsName.Length > 0); + assertTrue(data.DomainInfo.DnsName.MaximumLength > 0); + assertTrue(data.DomainInfo.DnsName.MaximumLength >= data.DomainInfo.DnsName.Length); + assertTrue(data.DomainInfo.DnsName.getString().length() > 0); + assertTrue(data.DomainInfo.NetbiosName.Length > 0); + assertTrue(data.DomainInfo.NetbiosName.MaximumLength > 0); + assertTrue(data.DomainInfo.NetbiosName.MaximumLength >= data.DomainInfo.NetbiosName.Length); + assertTrue(data.DomainInfo.NetbiosName.getString().length() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(data.DomainInfo.Sid)); + assertTrue(Advapi32Util.convertSidToStringSid(data.DomainInfo.Sid).startsWith("S-")); + break; + } + } + + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( + pfti.getPointer())); + } + + + public void testDsEnumerateDomainTrusts() { + if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) + return; + + IntByReference domainTrustCount = new IntByReference(); + PointerByReference domainsPointerRef = new PointerByReference(); + assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsEnumerateDomainTrusts(null, + DsGetDC.DS_DOMAIN_VALID_FLAGS, domainsPointerRef, domainTrustCount)); + assertTrue(domainTrustCount.getValue() >= 0); + + DS_DOMAIN_TRUSTS domainTrustRefs = new DS_DOMAIN_TRUSTS(domainsPointerRef.getValue()); + DS_DOMAIN_TRUSTS[] domainTrusts = (DS_DOMAIN_TRUSTS[]) domainTrustRefs.toArray(new DS_DOMAIN_TRUSTS[domainTrustCount.getValue()]); + + for(DS_DOMAIN_TRUSTS trust : domainTrusts) { + assertTrue(trust.DnsDomainName.length() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(trust.DomainSid)); + assertTrue(Advapi32Util.convertSidToStringSid(trust.DomainSid).startsWith("S-")); + assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); + } + -import junit.framework.TestCase; - -import com.sun.jna.WString; -import com.sun.jna.platform.win32.DsGetDC.DS_DOMAIN_TRUSTS; -import com.sun.jna.platform.win32.DsGetDC.PDOMAIN_CONTROLLER_INFO; -import com.sun.jna.platform.win32.LMAccess.GROUP_INFO_2; -import com.sun.jna.platform.win32.LMAccess.GROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.LOCALGROUP_USERS_INFO_0; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.NTSecApi.LSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_INFORMATION; -import com.sun.jna.platform.win32.NTSecApi.PLSA_FOREST_TRUST_RECORD; -import com.sun.jna.platform.win32.Netapi32Util.User; -import com.sun.jna.platform.win32.Secur32.EXTENDED_NAME_FORMAT; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.ptr.PointerByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Netapi32Test extends TestCase { - - public static void main(String[] args) { - junit.textui.TestRunner.run(Netapi32Test.class); - } - - public void testNetGetJoinInformation() { - IntByReference bufferType = new IntByReference(); - assertEquals(W32Errors.ERROR_INVALID_PARAMETER, Netapi32.INSTANCE.NetGetJoinInformation( - null, null, bufferType)); - PointerByReference lpNameBuffer = new PointerByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetGetJoinInformation( - null, lpNameBuffer, bufferType)); - assertTrue(lpNameBuffer.getValue().getString(0).length() > 0); - assertTrue(bufferType.getValue() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - lpNameBuffer.getValue())); - } - - public void testNetGetLocalGroups() { - for(int i = 0; i < 2; i++) { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesRead = new IntByReference(); - IntByReference totalEntries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetLocalGroupEnum(null, i, bufptr, - LMCons.MAX_PREFERRED_LENGTH, - entriesRead, - totalEntries, - null)); - assertTrue(entriesRead.getValue() > 0); - assertEquals(totalEntries.getValue(), entriesRead.getValue()); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - bufptr.getValue())); - } - } - - public void testNetGetDCName() { - PointerByReference lpNameBuffer = new PointerByReference(); - IntByReference BufferType = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetJoinInformation(null, lpNameBuffer, BufferType)); - if (BufferType.getValue() == LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) { - PointerByReference bufptr = new PointerByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGetDCName(null, null, bufptr)); - String dc = bufptr.getValue().getString(0); - assertTrue(dc.length() > 0); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(lpNameBuffer.getValue())); - } - - public void testNetUserGetGroups() { - User[] users = Netapi32Util.getUsers(); - assertTrue(users.length >= 1); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetGroups( - null, users[0].name, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - GROUP_USERS_INFO_0 lgroup = new GROUP_USERS_INFO_0(bufptr.getValue()); - GROUP_USERS_INFO_0[] lgroups = (GROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (GROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.grui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserGetLocalGroups() { - String currentUser = Secur32Util.getUserNameEx( - EXTENDED_NAME_FORMAT.NameSamCompatible); - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserGetLocalGroups( - null, currentUser, 0, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, - entriesread, totalentries)); - LOCALGROUP_USERS_INFO_0 lgroup = new LOCALGROUP_USERS_INFO_0(bufptr.getValue()); - LOCALGROUP_USERS_INFO_0[] lgroups = (LOCALGROUP_USERS_INFO_0[]) lgroup.toArray(entriesread.getValue()); - for (LOCALGROUP_USERS_INFO_0 localGroupInfo : lgroups) { - assertTrue(localGroupInfo.lgrui0_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetGroupEnum() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetGroupEnum( - null, 2, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - GROUP_INFO_2 group = new GROUP_INFO_2(bufptr.getValue()); - GROUP_INFO_2[] groups = (GROUP_INFO_2[]) group.toArray(entriesread.getValue()); - for (GROUP_INFO_2 grpi : groups) { - assertTrue(grpi.grpi2_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserEnum() { - PointerByReference bufptr = new PointerByReference(); - IntByReference entriesread = new IntByReference(); - IntByReference totalentries = new IntByReference(); - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserEnum( - null, 1, 0, bufptr, LMCons.MAX_PREFERRED_LENGTH, entriesread, totalentries, null)); - USER_INFO_1 userinfo = new USER_INFO_1(bufptr.getValue()); - USER_INFO_1[] userinfos = (USER_INFO_1[]) userinfo.toArray(entriesread.getValue()); - for (USER_INFO_1 ui : userinfos) { - assertTrue(ui.usri1_name.length() > 0); - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetApiBufferFree(bufptr.getValue())); - } - - public void testNetUserAdd() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - // ignore test if not able to add user (need to be administrator to do this). - if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { - return; - } - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - - public void testNetUserChangePassword() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - // ignore test if not able to add user (need to be administrator to do this). - if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { - return; - } - try { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), - "!JNAP%%Wrd1")); - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); - } - } - - public void testNetUserDel() { - assertEquals(LMErr.NERR_UserNotFound, Netapi32.INSTANCE.NetUserDel( - Kernel32Util.getComputerName(), "JNANetapi32TestUserDoesntExist")); - } - - public void testDsGetDcName() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - PDOMAIN_CONTROLLER_INFO.ByReference pdci = new PDOMAIN_CONTROLLER_INFO.ByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.DsGetDcName( - null, null, null, null, 0, pdci)); - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pdci.getPointer())); - } - - public void testDsGetForestTrustInformation() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - String domainController = Netapi32Util.getDCName(); - PLSA_FOREST_TRUST_INFORMATION.ByReference pfti = new PLSA_FOREST_TRUST_INFORMATION.ByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsGetForestTrustInformation( - domainController, null, 0, pfti)); - - assertTrue(pfti.fti.RecordCount >= 0); - - for (PLSA_FOREST_TRUST_RECORD precord : pfti.fti.getEntries()) { - LSA_FOREST_TRUST_RECORD.UNION data = precord.tr.u; - switch(precord.tr.ForestTrustType) { - case NTSecApi.ForestTrustTopLevelName: - case NTSecApi.ForestTrustTopLevelNameEx: - assertTrue(data.TopLevelName.Length > 0); - assertTrue(data.TopLevelName.MaximumLength > 0); - assertTrue(data.TopLevelName.MaximumLength >= data.TopLevelName.Length); - assertTrue(data.TopLevelName.getString().length() > 0); - break; - case NTSecApi.ForestTrustDomainInfo: - assertTrue(data.DomainInfo.DnsName.Length > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength > 0); - assertTrue(data.DomainInfo.DnsName.MaximumLength >= data.DomainInfo.DnsName.Length); - assertTrue(data.DomainInfo.DnsName.getString().length() > 0); - assertTrue(data.DomainInfo.NetbiosName.Length > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength > 0); - assertTrue(data.DomainInfo.NetbiosName.MaximumLength >= data.DomainInfo.NetbiosName.Length); - assertTrue(data.DomainInfo.NetbiosName.getString().length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(data.DomainInfo.Sid)); - assertTrue(Advapi32Util.convertSidToStringSid(data.DomainInfo.Sid).startsWith("S-")); - break; - } - } - - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree( - pfti.getPointer())); - } - - - public void testDsEnumerateDomainTrusts() { - if (Netapi32Util.getJoinStatus() != LMJoin.NETSETUP_JOIN_STATUS.NetSetupDomainName) - return; - - IntByReference domainTrustCount = new IntByReference(); - PointerByReference domainsPointerRef = new PointerByReference(); - assertEquals(W32Errors.NO_ERROR, Netapi32.INSTANCE.DsEnumerateDomainTrusts(null, - DsGetDC.DS_DOMAIN_VALID_FLAGS, domainsPointerRef, domainTrustCount)); - assertTrue(domainTrustCount.getValue() >= 0); - - DS_DOMAIN_TRUSTS domainTrustRefs = new DS_DOMAIN_TRUSTS(domainsPointerRef.getValue()); - DS_DOMAIN_TRUSTS[] domainTrusts = (DS_DOMAIN_TRUSTS[]) domainTrustRefs.toArray(new DS_DOMAIN_TRUSTS[domainTrustCount.getValue()]); - - for(DS_DOMAIN_TRUSTS trust : domainTrusts) { - assertTrue(trust.DnsDomainName.length() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(trust.DomainSid)); - assertTrue(Advapi32Util.convertSidToStringSid(trust.DomainSid).startsWith("S-")); - assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); - } - - - assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); - } - -} + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); + } + +} From b9bf45ecce294e493b3e569b6516f4284e4a8a74 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:37:54 -0500 Subject: [PATCH 30/34] Revert "skip test that will fail if current user is non-admin" This reverts commit be0e5b51cd44df2fb5273f9bb7fb2c43223d526f. --- .../sun/jna/platform/win32/Advapi32Test.java | 11 +- .../jna/platform/win32/Advapi32UtilTest.java | 907 +++++++++--------- 2 files changed, 453 insertions(+), 465 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java index be3445be74..0424e72a4a 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java @@ -519,16 +519,7 @@ public void testReportEvent() { String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; String jnaEventSource = "JNADevEventSource"; String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; - // ignore test if not able to create key (need to be administrator to do this). - try { - final boolean keyCreated = Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); - if (!keyCreated) { - return; - } - } catch (Win32Exception e) { - return; - } - + Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); IntByReference before = new IntByReference(); assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java index f22778fc1f..4fbed4f75e 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java @@ -1,455 +1,452 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 java.util.Map; -import java.util.TreeMap; - -import junit.framework.TestCase; - -import com.sun.jna.WString; -import com.sun.jna.platform.win32.Advapi32Util.Account; -import com.sun.jna.platform.win32.Advapi32Util.EventLogIterator; -import com.sun.jna.platform.win32.Advapi32Util.EventLogRecord; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.WinNT.HANDLEByReference; -import com.sun.jna.platform.win32.WinNT.PSID; -import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; -import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; -import com.sun.jna.platform.win32.WinReg.HKEY; -import com.sun.jna.platform.win32.WinReg.HKEYByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Advapi32UtilTest extends TestCase { - - public static void main(String[] args) { - junit.textui.TestRunner.run(Advapi32UtilTest.class); - String currentUserName = Advapi32Util.getUserName(); - System.out.println("GetUserName: " + currentUserName); - - for(Account group : Advapi32Util.getCurrentUserGroups()) { - System.out.println(" " + group.fqn + " [" + group.sidString + "]"); - } - - Account accountByName = Advapi32Util.getAccountByName(currentUserName); - System.out.println("AccountByName: " + currentUserName); - System.out.println(" Fqn: " + accountByName.fqn); - System.out.println(" Domain: " + accountByName.domain); - System.out.println(" Sid: " + accountByName.sidString); - - Account accountBySid = Advapi32Util.getAccountBySid(new PSID(accountByName.sid)); - System.out.println("AccountBySid: " + accountByName.sidString); - System.out.println(" Fqn: " + accountBySid.fqn); - System.out.println(" Name: " + accountBySid.name); - System.out.println(" Domain: " + accountBySid.domain); - } - - public void testGetUsername() { - String username = Advapi32Util.getUserName(); - assertTrue(username.length() > 0); - } - - public void testGetAccountBySid() { - String accountName = Advapi32Util.getUserName(); - Account currentUser = Advapi32Util.getAccountByName(accountName); - Account account = Advapi32Util.getAccountBySid(new PSID(currentUser.sid)); - assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); - assertEquals(currentUser.fqn.toLowerCase(), account.fqn.toLowerCase()); - assertEquals(currentUser.name.toLowerCase(), account.name.toLowerCase()); - assertEquals(currentUser.domain.toLowerCase(), account.domain.toLowerCase()); - assertEquals(currentUser.sidString, account.sidString); - } - - public void testGetAccountByName() { - String accountName = Advapi32Util.getUserName(); - Account account = Advapi32Util.getAccountByName(accountName); - assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); - } - - public void testGetAccountNameFromSid() { - assertEquals("Everyone", Advapi32Util.getAccountBySid("S-1-1-0").name); - } - - public void testGetAccountSidFromName() { - assertEquals("S-1-1-0", Advapi32Util.getAccountByName("Everyone").sidString); - } - - public void testConvertSid() { - String sidString = "S-1-1-0"; // Everyone - byte[] sidBytes = Advapi32Util.convertStringSidToSid(sidString); - assertTrue(sidBytes.length > 0); - String convertedSidString = Advapi32Util.convertSidToStringSid(new PSID(sidBytes)); - assertEquals(convertedSidString, sidString); - } - - public void testGetCurrentUserGroups() { - Account[] groups = Advapi32Util.getCurrentUserGroups(); - assertTrue(groups.length > 0); - for(Account group : groups) { - assertTrue(group.name.length() > 0); - assertTrue(group.sidString.length() > 0); - assertTrue(group.sid.length > 0); - } - } - - public void testGetUserGroups() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - // ignore test if not able to add user (need to be administrator to do this). - if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { - return; - } - try { - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - Account[] groups = Advapi32Util.getTokenGroups(phUser.getValue()); - assertTrue(groups.length > 0); - for(Account group : groups) { - assertTrue(group.name.length() > 0); - assertTrue(group.sidString.length() > 0); - assertTrue(group.sid.length > 0); - } - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals("Error in NetUserDel", - LMErr.NERR_Success, - Netapi32.INSTANCE.NetUserDel(null, userInfo.usri1_name.toString())); - } - } - - public void testGetUserAccount() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNANetapi32TestUser"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - // ignore test if not able to add user (need to be administrator to do this). - if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { - return; - } - try { - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - Advapi32Util.Account account = Advapi32Util.getTokenAccount(phUser.getValue()); - assertTrue(account.name.length() > 0); - assertEquals(userInfo.usri1_name.toString(), account.name); - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - null, userInfo.usri1_name.toString())); - } - } - - public void testRegistryKeyExists() { - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "")); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft")); - assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, - "KeyDoesNotExist\\SubKeyDoesNotExist")); - } - - public void testRegistryValueExists() { - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft", "")); - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "Software\\Microsoft", "KeyDoesNotExist")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, - "SYSTEM\\CurrentControlSet\\Control", "SystemBootDevice")); - } - - public void testRegistryCreateDeleteKey() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - } - - public void testRegistryCreateKeyDisposition() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - assertTrue(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); - assertFalse(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); - assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryDeleteValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue"); - assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetIntValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); - assertEquals(42, Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "IntValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetLongValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetLongValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue", 1234L); - assertEquals(1234L, Advapi32Util.registryGetLongValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "LongValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetStringValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Hello World"); - assertEquals("Hello World", Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "StringValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetExpandableStringValue() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Temp is %TEMP%"); - assertEquals("Temp is %TEMP%", Advapi32Util.registryGetExpandableStringValue(WinReg.HKEY_CURRENT_USER, - "Software\\JNA", "StringValue")); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetStringArray() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - String[] dataWritten = { "Hello", "World" }; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue", dataWritten); - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue")); - String[] dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue"); - assertEquals(dataWritten.length, dataRead.length); - for(int i = 0; i < dataRead.length; i++) { - assertEquals(dataWritten[i], dataRead[i]); - } - dataWritten = new String[0]; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString", dataWritten); - dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString"); - assertEquals(0, dataRead.length); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistrySetGetBinaryValue() { - byte[] data = { 0x00, 0x01, 0x02 }; - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue", data); - byte[] read = Advapi32Util.registryGetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue"); - assertEquals(data.length, read.length); - for(int i = 0; i < data.length; i++) { - assertEquals(data[i], read[i]); - } - assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue")); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetKeys() { - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); - String[] subKeys = Advapi32Util.registryGetKeys(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); - assertEquals(2, subKeys.length); - assertEquals(subKeys[0], "Key1"); - assertEquals(subKeys[1], "Key2"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetValues() { - String uu = new String("A" + "\\u00ea" + "\\u00f1" + "\\u00fc" + "C"); - Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "FourtyTwo" + uu, 42); - Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "42" + uu, "FourtyTwo" + uu); - Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "ExpandableString", "%TEMP%"); - byte[] dataWritten = { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF }; - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "DeadBeef", dataWritten); - String[] stringsWritten = { "Hello", "World", "Hello World", uu }; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringArray", stringsWritten); - String[] emptyArray = new String[0]; - Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyStringArray", emptyArray); - Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyBinary", new byte[0]); - TreeMap values = Advapi32Util.registryGetValues(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); - assertEquals(7, values.keySet().size()); - assertEquals("FourtyTwo" + uu, values.get("42" + uu)); - assertEquals(42, values.get("FourtyTwo" + uu)); - assertEquals("%TEMP%", values.get("ExpandableString")); - byte[] dataRead = (byte[]) values.get("DeadBeef"); - assertEquals(dataWritten.length, dataRead.length); - for(int i = 0; i < dataWritten.length; i++) { - assertEquals(dataWritten[i], dataRead[i]); - } - String[] stringsRead = (String[]) values.get("StringArray"); - assertEquals(stringsWritten.length, stringsRead.length); - for(int i = 0; i < stringsWritten.length; i++) { - assertEquals(stringsWritten[i], stringsRead[i]); - } - stringsRead = (String[]) values.get("EmptyStringArray"); - assertEquals(0, stringsRead.length); - Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); - } - - public void testRegistryGetEmptyValues() { - HKEY root = WinReg.HKEY_CURRENT_USER; - String keyPath = "Software\\JNA"; - Advapi32Util.registryCreateKey(root, "Software", "JNA"); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_BINARY); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_EXPAND_SZ); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_MULTI_SZ); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_NONE); - doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_SZ); - Advapi32Util.registryDeleteKey(root, "Software", "JNA"); - } - - private void doTestRegistryGetEmptyValues(HKEY root, String keyPath, int valueType) { - String valueName = "EmptyValue"; - registrySetEmptyValue(root, keyPath, valueName, valueType); - Map values = Advapi32Util.registryGetValues(root, keyPath); - assertEquals(1, values.size()); - assertTrue(values.containsKey(valueName)); - } - - private static void registrySetEmptyValue(HKEY root, String keyPath, String name, final int valueType) { - HKEYByReference phkKey = new HKEYByReference(); - int rc = Advapi32.INSTANCE.RegOpenKeyEx(root, keyPath, 0, WinNT.KEY_READ | WinNT.KEY_WRITE, phkKey); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - try { - char[] data = new char[0]; - rc = Advapi32.INSTANCE.RegSetValueEx(phkKey.getValue(), name, 0, valueType, data, 0); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - } finally { - rc = Advapi32.INSTANCE.RegCloseKey(phkKey.getValue()); - if (rc != W32Errors.ERROR_SUCCESS) { - throw new Win32Exception(rc); - } - } - } - - public void testIsWellKnownSid() { - String everyoneString = "S-1-1-0"; - assertTrue(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - byte[] everyoneBytes = Advapi32Util.convertStringSidToSid(everyoneString); - assertTrue(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - } - - public void testEventLogIteratorForwards() { - EventLogIterator iter = new EventLogIterator("Application"); - try { - int max = 100; - int lastId = 0; - while(iter.hasNext()) { - EventLogRecord record = iter.next(); - assertTrue(record.getRecordNumber() > lastId); - lastId = record.getRecordNumber(); - assertNotNull(record.getType().name()); - assertNotNull(record.getSource()); - if (record.getRecord().DataLength.intValue() > 0) { - assertEquals(record.getData().length, - record.getRecord().DataLength.intValue()); - } else { - assertNull(record.getData()); - } - if (record.getRecord().NumStrings.intValue() > 0) { - assertEquals(record.getStrings().length, - record.getRecord().NumStrings.intValue()); - } else { - assertNull(record.getStrings()); - } - - if (max-- <= 0) { - break; // shorten test - } - /* - System.out.println(record.getRecordNumber() - + ": Event ID: " + record.getEventId() - + ", Event Type: " + record.getType() - + ", Event Source: " + record.getSource()); - */ - } - } finally { - iter.close(); - } - } - - public void testEventLogIteratorBackwards() { - EventLogIterator iter = new EventLogIterator(null, - "Application", WinNT.EVENTLOG_BACKWARDS_READ); - try { - int max = 100; - int lastId = -1; - while(iter.hasNext()) { - EventLogRecord record = iter.next(); - /* - System.out.println(record.getRecordNumber() - + ": Event ID: " + record.getEventId() - + ", Event Type: " + record.getType() - + ", Event Source: " + record.getSource()); - */ - assertTrue(record.getRecordNumber() < lastId || lastId == -1); - lastId = record.getRecordNumber(); - if (max-- <= 0) { - break; // shorten test - } - } - } finally { - iter.close(); - } - } - - public void testGetEnvironmentBlock() { - String expected = "KEY=value\0" - + "KEY_EMPTY=\0" - + "KEY_NUMBER=2\0" - + "\0"; - - // Order is important to kept checking result simple - Map mockEnvironment = new TreeMap(); - mockEnvironment.put("KEY", "value"); - mockEnvironment.put("KEY_EMPTY", ""); - mockEnvironment.put("KEY_NUMBER", "2"); - mockEnvironment.put("KEY_NULL", null); - - String block = Advapi32Util.getEnvironmentBlock(mockEnvironment); - assertEquals("Environment block must comprise key=value pairs separated by NUL characters", expected, block); - } -} - +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 java.util.Map; +import java.util.TreeMap; + +import junit.framework.TestCase; + +import com.sun.jna.WString; +import com.sun.jna.platform.win32.Advapi32Util.Account; +import com.sun.jna.platform.win32.Advapi32Util.EventLogIterator; +import com.sun.jna.platform.win32.Advapi32Util.EventLogRecord; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.WinNT.HANDLEByReference; +import com.sun.jna.platform.win32.WinNT.PSID; +import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; +import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; +import com.sun.jna.platform.win32.WinReg.HKEY; +import com.sun.jna.platform.win32.WinReg.HKEYByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Advapi32UtilTest extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run(Advapi32UtilTest.class); + String currentUserName = Advapi32Util.getUserName(); + System.out.println("GetUserName: " + currentUserName); + + for(Account group : Advapi32Util.getCurrentUserGroups()) { + System.out.println(" " + group.fqn + " [" + group.sidString + "]"); + } + + Account accountByName = Advapi32Util.getAccountByName(currentUserName); + System.out.println("AccountByName: " + currentUserName); + System.out.println(" Fqn: " + accountByName.fqn); + System.out.println(" Domain: " + accountByName.domain); + System.out.println(" Sid: " + accountByName.sidString); + + Account accountBySid = Advapi32Util.getAccountBySid(new PSID(accountByName.sid)); + System.out.println("AccountBySid: " + accountByName.sidString); + System.out.println(" Fqn: " + accountBySid.fqn); + System.out.println(" Name: " + accountBySid.name); + System.out.println(" Domain: " + accountBySid.domain); + } + + public void testGetUsername() { + String username = Advapi32Util.getUserName(); + assertTrue(username.length() > 0); + } + + public void testGetAccountBySid() { + String accountName = Advapi32Util.getUserName(); + Account currentUser = Advapi32Util.getAccountByName(accountName); + Account account = Advapi32Util.getAccountBySid(new PSID(currentUser.sid)); + assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); + assertEquals(currentUser.fqn.toLowerCase(), account.fqn.toLowerCase()); + assertEquals(currentUser.name.toLowerCase(), account.name.toLowerCase()); + assertEquals(currentUser.domain.toLowerCase(), account.domain.toLowerCase()); + assertEquals(currentUser.sidString, account.sidString); + } + + public void testGetAccountByName() { + String accountName = Advapi32Util.getUserName(); + Account account = Advapi32Util.getAccountByName(accountName); + assertEquals(SID_NAME_USE.SidTypeUser, account.accountType); + } + + public void testGetAccountNameFromSid() { + assertEquals("Everyone", Advapi32Util.getAccountBySid("S-1-1-0").name); + } + + public void testGetAccountSidFromName() { + assertEquals("S-1-1-0", Advapi32Util.getAccountByName("Everyone").sidString); + } + + public void testConvertSid() { + String sidString = "S-1-1-0"; // Everyone + byte[] sidBytes = Advapi32Util.convertStringSidToSid(sidString); + assertTrue(sidBytes.length > 0); + String convertedSidString = Advapi32Util.convertSidToStringSid(new PSID(sidBytes)); + assertEquals(convertedSidString, sidString); + } + + public void testGetCurrentUserGroups() { + Account[] groups = Advapi32Util.getCurrentUserGroups(); + assertTrue(groups.length > 0); + for(Account group : groups) { + assertTrue(group.name.length() > 0); + assertTrue(group.sidString.length() > 0); + assertTrue(group.sid.length > 0); + } + } + + public void testGetUserGroups() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + try { + assertEquals("Error in NetUserAdd", + LMErr.NERR_Success, + Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + Account[] groups = Advapi32Util.getTokenGroups(phUser.getValue()); + assertTrue(groups.length > 0); + for(Account group : groups) { + assertTrue(group.name.length() > 0); + assertTrue(group.sidString.length() > 0); + assertTrue(group.sid.length > 0); + } + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals("Error in NetUserDel", + LMErr.NERR_Success, + Netapi32.INSTANCE.NetUserDel(null, userInfo.usri1_name.toString())); + } + } + + public void testGetUserAccount() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNANetapi32TestUser"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + try { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( + null, 1, userInfo, null)); + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + Advapi32Util.Account account = Advapi32Util.getTokenAccount(phUser.getValue()); + assertTrue(account.name.length() > 0); + assertEquals(userInfo.usri1_name.toString(), account.name); + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + null, userInfo.usri1_name.toString())); + } + } + + public void testRegistryKeyExists() { + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "")); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft")); + assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_LOCAL_MACHINE, + "KeyDoesNotExist\\SubKeyDoesNotExist")); + } + + public void testRegistryValueExists() { + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft", "")); + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "Software\\Microsoft", "KeyDoesNotExist")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_LOCAL_MACHINE, + "SYSTEM\\CurrentControlSet\\Control", "SystemBootDevice")); + } + + public void testRegistryCreateDeleteKey() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertFalse(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + } + + public void testRegistryCreateKeyDisposition() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + assertTrue(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); + assertFalse(Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA")); + assertTrue(Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryDeleteValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue"); + assertFalse(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetIntValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue", 42); + assertEquals(42, Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "IntValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "IntValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetLongValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetLongValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue", 1234L); + assertEquals(1234L, Advapi32Util.registryGetLongValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "LongValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "LongValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetStringValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Hello World"); + assertEquals("Hello World", Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "StringValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetExpandableStringValue() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue", "Temp is %TEMP%"); + assertEquals("Temp is %TEMP%", Advapi32Util.registryGetExpandableStringValue(WinReg.HKEY_CURRENT_USER, + "Software\\JNA", "StringValue")); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetStringArray() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + String[] dataWritten = { "Hello", "World" }; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue", dataWritten); + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue")); + String[] dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "MultiStringValue"); + assertEquals(dataWritten.length, dataRead.length); + for(int i = 0; i < dataRead.length; i++) { + assertEquals(dataWritten[i], dataRead[i]); + } + dataWritten = new String[0]; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString", dataWritten); + dataRead = Advapi32Util.registryGetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyMultiString"); + assertEquals(0, dataRead.length); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistrySetGetBinaryValue() { + byte[] data = { 0x00, 0x01, 0x02 }; + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue", data); + byte[] read = Advapi32Util.registryGetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue"); + assertEquals(data.length, read.length); + for(int i = 0; i < data.length; i++) { + assertEquals(data[i], read[i]); + } + assertTrue(Advapi32Util.registryValueExists(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "BinaryValue")); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetKeys() { + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); + String[] subKeys = Advapi32Util.registryGetKeys(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); + assertEquals(2, subKeys.length); + assertEquals(subKeys[0], "Key1"); + assertEquals(subKeys[1], "Key2"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key1"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "Key2"); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetValues() { + String uu = new String("A" + "\\u00ea" + "\\u00f1" + "\\u00fc" + "C"); + Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "FourtyTwo" + uu, 42); + Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "42" + uu, "FourtyTwo" + uu); + Advapi32Util.registrySetExpandableStringValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "ExpandableString", "%TEMP%"); + byte[] dataWritten = { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF }; + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "DeadBeef", dataWritten); + String[] stringsWritten = { "Hello", "World", "Hello World", uu }; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "StringArray", stringsWritten); + String[] emptyArray = new String[0]; + Advapi32Util.registrySetStringArray(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyStringArray", emptyArray); + Advapi32Util.registrySetBinaryValue(WinReg.HKEY_CURRENT_USER, "Software\\JNA", "EmptyBinary", new byte[0]); + TreeMap values = Advapi32Util.registryGetValues(WinReg.HKEY_CURRENT_USER, "Software\\JNA"); + assertEquals(7, values.keySet().size()); + assertEquals("FourtyTwo" + uu, values.get("42" + uu)); + assertEquals(42, values.get("FourtyTwo" + uu)); + assertEquals("%TEMP%", values.get("ExpandableString")); + byte[] dataRead = (byte[]) values.get("DeadBeef"); + assertEquals(dataWritten.length, dataRead.length); + for(int i = 0; i < dataWritten.length; i++) { + assertEquals(dataWritten[i], dataRead[i]); + } + String[] stringsRead = (String[]) values.get("StringArray"); + assertEquals(stringsWritten.length, stringsRead.length); + for(int i = 0; i < stringsWritten.length; i++) { + assertEquals(stringsWritten[i], stringsRead[i]); + } + stringsRead = (String[]) values.get("EmptyStringArray"); + assertEquals(0, stringsRead.length); + Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "Software", "JNA"); + } + + public void testRegistryGetEmptyValues() { + HKEY root = WinReg.HKEY_CURRENT_USER; + String keyPath = "Software\\JNA"; + Advapi32Util.registryCreateKey(root, "Software", "JNA"); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_BINARY); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_EXPAND_SZ); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_MULTI_SZ); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_NONE); + doTestRegistryGetEmptyValues(root, keyPath, WinNT.REG_SZ); + Advapi32Util.registryDeleteKey(root, "Software", "JNA"); + } + + private void doTestRegistryGetEmptyValues(HKEY root, String keyPath, int valueType) { + String valueName = "EmptyValue"; + registrySetEmptyValue(root, keyPath, valueName, valueType); + Map values = Advapi32Util.registryGetValues(root, keyPath); + assertEquals(1, values.size()); + assertTrue(values.containsKey(valueName)); + } + + private static void registrySetEmptyValue(HKEY root, String keyPath, String name, final int valueType) { + HKEYByReference phkKey = new HKEYByReference(); + int rc = Advapi32.INSTANCE.RegOpenKeyEx(root, keyPath, 0, WinNT.KEY_READ | WinNT.KEY_WRITE, phkKey); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + try { + char[] data = new char[0]; + rc = Advapi32.INSTANCE.RegSetValueEx(phkKey.getValue(), name, 0, valueType, data, 0); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + } finally { + rc = Advapi32.INSTANCE.RegCloseKey(phkKey.getValue()); + if (rc != W32Errors.ERROR_SUCCESS) { + throw new Win32Exception(rc); + } + } + } + + public void testIsWellKnownSid() { + String everyoneString = "S-1-1-0"; + assertTrue(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32Util.isWellKnownSid(everyoneString, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + byte[] everyoneBytes = Advapi32Util.convertStringSidToSid(everyoneString); + assertTrue(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32Util.isWellKnownSid(everyoneBytes, WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + } + + public void testEventLogIteratorForwards() { + EventLogIterator iter = new EventLogIterator("Application"); + try { + int max = 100; + int lastId = 0; + while(iter.hasNext()) { + EventLogRecord record = iter.next(); + assertTrue(record.getRecordNumber() > lastId); + lastId = record.getRecordNumber(); + assertNotNull(record.getType().name()); + assertNotNull(record.getSource()); + if (record.getRecord().DataLength.intValue() > 0) { + assertEquals(record.getData().length, + record.getRecord().DataLength.intValue()); + } else { + assertNull(record.getData()); + } + if (record.getRecord().NumStrings.intValue() > 0) { + assertEquals(record.getStrings().length, + record.getRecord().NumStrings.intValue()); + } else { + assertNull(record.getStrings()); + } + + if (max-- <= 0) { + break; // shorten test + } + /* + System.out.println(record.getRecordNumber() + + ": Event ID: " + record.getEventId() + + ", Event Type: " + record.getType() + + ", Event Source: " + record.getSource()); + */ + } + } finally { + iter.close(); + } + } + + public void testEventLogIteratorBackwards() { + EventLogIterator iter = new EventLogIterator(null, + "Application", WinNT.EVENTLOG_BACKWARDS_READ); + try { + int max = 100; + int lastId = -1; + while(iter.hasNext()) { + EventLogRecord record = iter.next(); + /* + System.out.println(record.getRecordNumber() + + ": Event ID: " + record.getEventId() + + ", Event Type: " + record.getType() + + ", Event Source: " + record.getSource()); + */ + assertTrue(record.getRecordNumber() < lastId || lastId == -1); + lastId = record.getRecordNumber(); + if (max-- <= 0) { + break; // shorten test + } + } + } finally { + iter.close(); + } + } + + public void testGetEnvironmentBlock() { + String expected = "KEY=value\0" + + "KEY_EMPTY=\0" + + "KEY_NUMBER=2\0" + + "\0"; + + // Order is important to kept checking result simple + Map mockEnvironment = new TreeMap(); + mockEnvironment.put("KEY", "value"); + mockEnvironment.put("KEY_EMPTY", ""); + mockEnvironment.put("KEY_NUMBER", "2"); + mockEnvironment.put("KEY_NULL", null); + + String block = Advapi32Util.getEnvironmentBlock(mockEnvironment); + assertEquals("Environment block must comprise key=value pairs separated by NUL characters", expected, block); + } +} + From acdfd6ea205aa49a578e54091193fe380e975c9b Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:38:22 -0500 Subject: [PATCH 31/34] Revert "skip test that will fail if user it non-admin" This reverts commit f10c45b1f8d70f7c0ad62e11e4311b543a1aacf9. --- .../sun/jna/platform/win32/Advapi32Test.java | 1637 ++++++++--------- 1 file changed, 817 insertions(+), 820 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java index 0424e72a4a..49e5d79be0 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java @@ -1,820 +1,817 @@ -/* Copyright (c) 2010 Daniel Doubrovkine, 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. - * - * 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 java.io.File; - -import junit.framework.TestCase; - -import com.sun.jna.Memory; -import com.sun.jna.Native; -import com.sun.jna.Pointer; -import com.sun.jna.WString; -import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; -import com.sun.jna.platform.win32.WinBase.FILETIME; -import com.sun.jna.platform.win32.WinDef.DWORD; -import com.sun.jna.platform.win32.WinNT.EVENTLOGRECORD; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.platform.win32.WinNT.HANDLEByReference; -import com.sun.jna.platform.win32.WinNT.PSID; -import com.sun.jna.platform.win32.WinNT.PSIDByReference; -import com.sun.jna.platform.win32.WinNT.SECURITY_IMPERSONATION_LEVEL; -import com.sun.jna.platform.win32.WinNT.SID_AND_ATTRIBUTES; -import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; -import com.sun.jna.platform.win32.WinNT.TOKEN_PRIVILEGES; -import com.sun.jna.platform.win32.WinNT.TOKEN_TYPE; -import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; -import com.sun.jna.platform.win32.WinReg.HKEYByReference; -import com.sun.jna.platform.win32.Winsvc.SC_HANDLE; -import com.sun.jna.platform.win32.Winsvc.SC_STATUS_TYPE; -import com.sun.jna.platform.win32.Winsvc.SERVICE_STATUS_PROCESS; -import com.sun.jna.ptr.IntByReference; -import com.sun.jna.ptr.PointerByReference; - -/** - * @author dblock[at]dblock[dot]org - */ -public class Advapi32Test extends TestCase { - - private static final String EVERYONE = "S-1-1-0"; - - public static void main(String[] args) { - junit.textui.TestRunner.run(Advapi32Test.class); - } - - public void testGetUserName() { - IntByReference len = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetUserNameW(null, len)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - char[] buffer = new char[len.getValue()]; - assertTrue(Advapi32.INSTANCE.GetUserNameW(buffer, len)); - String username = Native.toString(buffer); - assertTrue(username.length() > 0); - } - - public void testLookupAccountName() { - IntByReference pSid = new IntByReference(0); - IntByReference pDomain = new IntByReference(0); - PointerByReference peUse = new PointerByReference(); - String accountName = "Administrator"; - assertFalse(Advapi32.INSTANCE.LookupAccountName( - null, accountName, null, pSid, null, pDomain, peUse)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(pSid.getValue() > 0); - Memory sidMemory = new Memory(pSid.getValue()); - PSID pSidMemory = new PSID(sidMemory); - char[] referencedDomainName = new char[pDomain.getValue() + 1]; - assertTrue(Advapi32.INSTANCE.LookupAccountName( - null, accountName, pSidMemory, pSid, referencedDomainName, pDomain, peUse)); - assertEquals(SID_NAME_USE.SidTypeUser, peUse.getPointer().getInt(0)); - assertTrue(Native.toString(referencedDomainName).length() > 0); - } - - public void testIsValidSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertTrue("Converted SID not valid: " + sid.getValue(), Advapi32.INSTANCE.IsValidSid(sid.getValue())); - int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); - assertTrue(sidLength > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue())); - } - - public void testGetSidLength() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertEquals("Wrong SID lenght", 12, Advapi32.INSTANCE.GetLengthSid(sid.getValue())); - } - - public void testLookupAccountSid() { - // get SID bytes - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); - assertTrue(sidLength > 0); - // lookup account - IntByReference cchName = new IntByReference(); - IntByReference cchReferencedDomainName = new IntByReference(); - PointerByReference peUse = new PointerByReference(); - assertFalse(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), - null, cchName, null, cchReferencedDomainName, peUse)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(cchName.getValue() > 0); - assertTrue(cchReferencedDomainName.getValue() > 0); - char[] referencedDomainName = new char[cchReferencedDomainName.getValue()]; - char[] name = new char[cchName.getValue()]; - assertTrue(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), - name, cchName, referencedDomainName, cchReferencedDomainName, peUse)); - assertEquals(5, peUse.getPointer().getInt(0)); // SidTypeWellKnownGroup - String nameString = Native.toString(name); - String referencedDomainNameString = Native.toString(referencedDomainName); - assertTrue(nameString.length() > 0); - assertEquals("Everyone", nameString); - assertTrue(referencedDomainNameString.length() == 0); - assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); - } - - public void testConvertSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid( - sidString, sid)); - PointerByReference convertedSidStringPtr = new PointerByReference(); - assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( - sid.getValue(), convertedSidStringPtr)); - String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); - assertEquals(convertedSidString, sidString); - assertEquals(null, Kernel32.INSTANCE.LocalFree(convertedSidStringPtr.getValue())); - assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); - } - - public void testLogonUser() { - HANDLEByReference phToken = new HANDLEByReference(); - assertFalse(Advapi32.INSTANCE.LogonUser("AccountDoesntExist", ".", "passwordIsInvalid", - WinBase.LOGON32_LOGON_NETWORK, WinBase.LOGON32_PROVIDER_DEFAULT, phToken)); - assertTrue(W32Errors.ERROR_SUCCESS != Kernel32.INSTANCE.GetLastError()); - } - - public void testOpenThreadTokenNoToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); - assertNotNull(threadHandle); - assertFalse(Advapi32.INSTANCE.OpenThreadToken(threadHandle, - WinNT.TOKEN_READ, false, phToken)); - assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); - } - - public void testOpenProcessToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testOpenThreadOrProcessToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); - if (! Advapi32.INSTANCE.OpenThreadToken(threadHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, true, phToken)) { - assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - } - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testDuplicateToken() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLEByReference phTokenDup = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - assertTrue(Advapi32.INSTANCE.DuplicateToken(phToken.getValue(), - WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation, phTokenDup)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phTokenDup.getValue())); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testDuplicateTokenEx() { - HANDLEByReference hExistingToken = new HANDLEByReference(); - HANDLEByReference phNewToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hExistingToken)); - assertTrue(Advapi32.INSTANCE.DuplicateTokenEx(hExistingToken.getValue(), - WinNT.GENERIC_READ, null, SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous, - TOKEN_TYPE.TokenPrimary, phNewToken)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phNewToken.getValue())); - assertTrue(Kernel32.INSTANCE.CloseHandle(hExistingToken.getValue())); - } - - public void testGetTokenOwnerInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_OWNER owner = new WinNT.TOKEN_OWNER(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, owner, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(owner.Owner)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(owner.Owner); - assertTrue(sidLength < tokenInformationLength.getValue()); - assertTrue(sidLength > 0); - // System.out.println(Advapi32Util.convertSidToStringSid(owner.Owner)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testGetTokenUserInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenUser, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_USER user = new WinNT.TOKEN_USER(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenUser, user, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(Advapi32.INSTANCE.IsValidSid(user.User.Sid)); - int sidLength = Advapi32.INSTANCE.GetLengthSid(user.User.Sid); - assertTrue(sidLength > 0); - assertTrue(sidLength < tokenInformationLength.getValue()); - // System.out.println(Advapi32Util.convertSidToStringSid(user.User.Sid)); - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testGetTokenGroupsInformation() { - HANDLEByReference phToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); - IntByReference tokenInformationLength = new IntByReference(); - assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, null, 0, tokenInformationLength)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - WinNT.TOKEN_GROUPS groups = new WinNT.TOKEN_GROUPS(tokenInformationLength.getValue()); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), - WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, groups, - tokenInformationLength.getValue(), tokenInformationLength)); - assertTrue(tokenInformationLength.getValue() > 0); - assertTrue(groups.GroupCount > 0); - for (SID_AND_ATTRIBUTES sidAndAttribute : groups.getGroups()) { - assertTrue(Advapi32.INSTANCE.IsValidSid(sidAndAttribute.Sid)); - // System.out.println(Advapi32Util.convertSidToStringSid(sidAndAttribute.Sid)); - } - assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); - } - - public void testImpersonateLoggedOnUser() { - USER_INFO_1 userInfo = new USER_INFO_1(); - userInfo.usri1_name = new WString("JNAAdvapi32TestImp"); - userInfo.usri1_password = new WString("!JNAP$$Wrd0"); - userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - // ignore test if not able to add user (need to be administrator to do this). - if(LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { - return; - } - try { - HANDLEByReference phUser = new HANDLEByReference(); - try { - assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), - null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, - WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); - assertTrue(Advapi32.INSTANCE.ImpersonateLoggedOnUser(phUser.getValue())); - assertTrue(Advapi32.INSTANCE.RevertToSelf()); - } finally { - if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { - Kernel32.INSTANCE.CloseHandle(phUser.getValue()); - } - } - } finally { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( - null, userInfo.usri1_name.toString())); - } - } - - public void testRegOpenKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, WinNT.KEY_READ, phKey)); - assertTrue(WinBase.INVALID_HANDLE_VALUE != phKey.getValue()); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegQueryValueEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", 0, WinNT.KEY_READ, phKey)); - IntByReference lpcbData = new IntByReference(); - IntByReference lpType = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phKey.getValue(), "User Agent", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_SZ, lpType.getValue()); - assertTrue(lpcbData.getValue() > 0); - char[] buffer = new char[lpcbData.getValue()]; - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phKey.getValue(), "User Agent", 0, lpType, buffer, lpcbData)); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegDeleteValue() { - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteValue( - WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); - } - - public void testRegSetValueEx_REG_SZ() { - HKEYByReference phKey = new HKEYByReference(); - // create parent key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkTest = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkTest, lpdwDisposition)); - // write a REG_SZ value - char[] lpData = Native.toCharArray("Test"); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( - phkTest.getValue(), "REG_SZ", 0, WinNT.REG_SZ, lpData, lpData.length * 2)); - // re-read the REG_SZ value - IntByReference lpType = new IntByReference(); - IntByReference lpcbData = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "REG_SZ", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_SZ, lpType.getValue()); - assertTrue(lpcbData.getValue() > 0); - char[] buffer = new char[lpcbData.getValue()]; - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "REG_SZ", 0, lpType, buffer, lpcbData)); - assertEquals("Test", Native.toString(buffer)); - // delete the test key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( - phkTest.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegSetValueEx_DWORD() { - HKEYByReference phKey = new HKEYByReference(); - // create parent key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkTest = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkTest, lpdwDisposition)); - // write a REG_DWORD value - int value = 42145; - byte[] data = new byte[4]; - data[0] = (byte)(value & 0xff); - data[1] = (byte)((value >> 8) & 0xff); - data[2] = (byte)((value >> 16) & 0xff); - data[3] = (byte)((value >> 24) & 0xff); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( - phkTest.getValue(), "DWORD", 0, WinNT.REG_DWORD, data, 4)); - // re-read the REG_DWORD value - IntByReference lpType = new IntByReference(); - IntByReference lpcbData = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "DWORD", 0, lpType, (char[]) null, lpcbData)); - assertEquals(WinNT.REG_DWORD, lpType.getValue()); - assertEquals(4, lpcbData.getValue()); - IntByReference valueRead = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( - phkTest.getValue(), "DWORD", 0, lpType, valueRead, lpcbData)); - assertEquals(value, valueRead.getValue()); - // delete the test key - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( - phkTest.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegCreateKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); - HKEYByReference phkResult = new HKEYByReference(); - IntByReference lpdwDisposition = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( - phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, - null, phkResult, lpdwDisposition)); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phkResult.getValue())); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( - phKey.getValue(), "JNAAdvapi32Test")); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegDeleteKey() { - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteKey( - WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); - } - - public void testRegEnumKeyEx() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", - 0, WinNT.KEY_READ, phKey)); - IntByReference lpcSubKeys = new IntByReference(); - IntByReference lpcMaxSubKeyLen = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - phKey.getValue(), null, null, null, lpcSubKeys, lpcMaxSubKeyLen, null, null, - null, null, null, null)); - char[] name = new char[lpcMaxSubKeyLen.getValue() + 1]; - for (int i = 0; i < lpcSubKeys.getValue(); i++) { - IntByReference lpcchValueName = new IntByReference(lpcMaxSubKeyLen.getValue() + 1); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumKeyEx( - phKey.getValue(), i, name, lpcchValueName, null, null, null, null)); - assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); - } - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegEnumValue() { - HKEYByReference phKey = new HKEYByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( - WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", - 0, WinNT.KEY_READ, phKey)); - IntByReference lpcValues = new IntByReference(); - IntByReference lpcMaxValueNameLen = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - phKey.getValue(), null, null, null, null, null, null, lpcValues, - lpcMaxValueNameLen, null, null, null)); - char[] name = new char[lpcMaxValueNameLen.getValue() + 1]; - for (int i = 0; i < lpcValues.getValue(); i++) { - IntByReference lpcchValueName = new IntByReference(lpcMaxValueNameLen.getValue() + 1); - IntByReference lpType = new IntByReference(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumValue( - phKey.getValue(), i, name, lpcchValueName, null, - lpType, null, null)); - assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); - } - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); - } - - public void testRegQueryInfoKey() { - IntByReference lpcClass = new IntByReference(); - IntByReference lpcSubKeys = new IntByReference(); - IntByReference lpcMaxSubKeyLen = new IntByReference(); - IntByReference lpcValues = new IntByReference(); - IntByReference lpcMaxClassLen = new IntByReference(); - IntByReference lpcMaxValueNameLen = new IntByReference(); - IntByReference lpcMaxValueLen = new IntByReference(); - IntByReference lpcbSecurityDescriptor = new IntByReference(); - FILETIME lpftLastWriteTime = new FILETIME(); - assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( - WinReg.HKEY_LOCAL_MACHINE, null, lpcClass, null, - lpcSubKeys, lpcMaxSubKeyLen, lpcMaxClassLen, lpcValues, - lpcMaxValueNameLen, lpcMaxValueLen, lpcbSecurityDescriptor, - lpftLastWriteTime)); - assertTrue(lpcSubKeys.getValue() > 0); - } - - public void testIsWellKnownSid() { - String sidString = EVERYONE; - PSIDByReference sid = new PSIDByReference(); - assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); - assertTrue(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), - WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertFalse(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), - WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); - } - - public void testCreateWellKnownSid() { - PSID pSid = new PSID(WinNT.SECURITY_MAX_SID_SIZE); - IntByReference cbSid = new IntByReference(WinNT.SECURITY_MAX_SID_SIZE); - assertTrue(Advapi32.INSTANCE.CreateWellKnownSid(WELL_KNOWN_SID_TYPE.WinWorldSid, - null, pSid, cbSid)); - assertTrue(Advapi32.INSTANCE.IsWellKnownSid(pSid, - WELL_KNOWN_SID_TYPE.WinWorldSid)); - assertTrue(cbSid.getValue() <= WinNT.SECURITY_MAX_SID_SIZE); - PointerByReference convertedSidStringPtr = new PointerByReference(); - assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( - pSid, convertedSidStringPtr)); - String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); - assertEquals(EVERYONE, convertedSidString); - } - - public void testOpenEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertNotNull(h); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testRegisterEventSource() { - // the Security event log is reserved - HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, "Security"); - assertNull(h); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - } - - public void testReportEvent() { - String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; - String jnaEventSource = "JNADevEventSource"; - String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; - Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); - HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); - IntByReference before = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); - assertNotNull(h); - String s[] = { "JNA", "Event" }; - Memory m = new Memory(4); - m.setByte(0, (byte) 1); - m.setByte(1, (byte) 2); - m.setByte(2, (byte) 3); - m.setByte(3, (byte) 4); - assertTrue(Advapi32.INSTANCE.ReportEvent(h, WinNT.EVENTLOG_ERROR_TYPE, 0, 0, null, 2, 4, s, m)); - IntByReference after = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); - assertTrue(before.getValue() < after.getValue()); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - assertTrue(Advapi32.INSTANCE.DeregisterEventSource(h)); - Advapi32Util.registryDeleteKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); - } - - public void testGetNumberOfEventLogRecords() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - IntByReference n = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, n)); - assertTrue(n.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - /* - public void testClearEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); - IntByReference before = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); - assertTrue(before.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.ClearEventLog(h, null)); - IntByReference after = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); - assertTrue(after.getValue() < before.getValue() || before.getValue() == 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - */ - - public void testBackupEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - assertNotNull(h); - String backupFileName = Kernel32Util.getTempPath() + "\\JNADevEventLog.bak"; - File f = new File(backupFileName); - if (f.exists()) { - f.delete(); - } - - assertTrue(Advapi32.INSTANCE.BackupEventLog(h, backupFileName)); - HANDLE hBackup = Advapi32.INSTANCE.OpenBackupEventLog(null, backupFileName); - assertNotNull(hBackup); - - IntByReference n = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(hBackup, n)); - assertTrue(n.getValue() >= 0); - - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - assertTrue(Advapi32.INSTANCE.CloseEventLog(hBackup)); - } - - public void testReadEventLog() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference pnBytesRead = new IntByReference(); - IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); - Memory buffer = new Memory(1); - assertFalse(Advapi32.INSTANCE.ReadEventLog(h, - WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_BACKWARDS_READ, - 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - assertTrue(pnMinNumberOfBytesNeeded.getValue() > 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testReadEventLogEntries() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference pnBytesRead = new IntByReference(); - IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); - Memory buffer = new Memory(1024 * 64); - // shorten test, avoid iterating through all events - int maxReads = 3; - int rc = 0; - while(true) { - if (maxReads-- <= 0) - break; - if (! Advapi32.INSTANCE.ReadEventLog(h, - WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_FORWARDS_READ, - 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)) { - rc = Kernel32.INSTANCE.GetLastError(); - if (rc == W32Errors.ERROR_INSUFFICIENT_BUFFER) { - buffer = new Memory(pnMinNumberOfBytesNeeded.getValue()); - rc = 0; - continue; - } - break; - } - int dwRead = pnBytesRead.getValue(); - Pointer pevlr = buffer; - int maxRecords = 3; - while (dwRead > 0 && maxRecords-- > 0) { - EVENTLOGRECORD record = new EVENTLOGRECORD(pevlr); - /* - System.out.println(record.RecordNumber.intValue() - + " Event ID: " + record.EventID.intValue() - + " Event Type: " + record.EventType.intValue() - + " Event Source: " + pevlr.getString(record.size(), true)); - */ - dwRead -= record.Length.intValue(); - pevlr = pevlr.share(record.Length.intValue()); - } - } - assertTrue("Unexpected error after reading event log: " - + new Win32Exception(rc), - rc == W32Errors.ERROR_HANDLE_EOF || rc == 0); - assertTrue("Error closing event log", - Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testGetOldestEventLogRecord() { - HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); - IntByReference oldestRecord = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetOldestEventLogRecord(h, oldestRecord)); - assertTrue(oldestRecord.getValue() >= 0); - assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); - } - - public void testQueryServiceStatusEx() { - - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_STATUS); - assertNotNull(serviceHandle); - - IntByReference pcbBytesNeeded = new IntByReference(); - - assertFalse(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, - null, 0, pcbBytesNeeded)); - assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); - - assertTrue(pcbBytesNeeded.getValue() > 0); - - SERVICE_STATUS_PROCESS status = new SERVICE_STATUS_PROCESS(pcbBytesNeeded.getValue()); - - assertTrue(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, - status, status.size(), pcbBytesNeeded)); - - assertTrue(status.dwCurrentState == Winsvc.SERVICE_STOPPED || - status.dwCurrentState == Winsvc.SERVICE_RUNNING); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - - public void testControlService() { - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); - assertNotNull(serviceHandle); - - Winsvc.SERVICE_STATUS serverStatus = new Winsvc.SERVICE_STATUS(); - - assertNotNull(serviceHandle); - assertFalse(Advapi32.INSTANCE.ControlService(serviceHandle, Winsvc.SERVICE_CONTROL_STOP, serverStatus)); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testStartService() { - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); - assertNotNull(serviceHandle); - - assertFalse(Advapi32.INSTANCE.StartService(serviceHandle, 0, null)); - assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testOpenService() { - assertNull(Advapi32.INSTANCE.OpenService(null, "eventlog", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); - - SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(scmHandle); - - SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG ); - assertNotNull(serviceHandle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); - - assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "slashesArentValidChars/", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); - - assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "serviceDoesNotExist", Winsvc.SERVICE_QUERY_CONFIG )); - assertEquals(W32Errors.ERROR_SERVICE_DOES_NOT_EXIST, Kernel32.INSTANCE.GetLastError()); - - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); - } - - public void testOpenSCManager() { - SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(handle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); - - assertNull(Advapi32.INSTANCE.OpenSCManager("invalidMachineName", null, Winsvc.SC_MANAGER_CONNECT)); - int err = Kernel32.INSTANCE.GetLastError(); - assertTrue("Unexpected error in OpenSCManager: " + err, - err == W32Errors.RPC_S_SERVER_UNAVAILABLE - || err == W32Errors.RPC_S_INVALID_NET_ADDR); - - assertNull(Advapi32.INSTANCE.OpenSCManager(null, "invalidDatabase", Winsvc.SC_MANAGER_CONNECT)); - assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); - } - - public void testCloseServiceHandle() throws Exception { - SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); - assertNotNull(handle); - assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); - - assertFalse(Advapi32.INSTANCE.CloseServiceHandle(null)); - assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); - } - - public void testCreateProcessAsUser() { - HANDLEByReference hToken = new HANDLEByReference(); - HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, - WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hToken)); - - assertFalse(Advapi32.INSTANCE.CreateProcessAsUser(hToken.getValue(), null, "InvalidCmdLine.jna", - null, null, false, 0, null, null, new WinBase.STARTUPINFO(), - new WinBase.PROCESS_INFORMATION())); - assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Kernel32.INSTANCE.GetLastError()); - assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); - } - - /** - * Tests both {@link Advapi32#LookupPrivilegeValue} and {@link Advapi32#LookupPrivilegeName} - */ - public void testLookupPrivilegeValueAndLookupPrivilegeName() { - WinNT.LUID luid = new WinNT.LUID(); - - assertFalse(Advapi32.INSTANCE.LookupPrivilegeValue(null, "InvalidName", luid)); - assertEquals(Kernel32.INSTANCE.GetLastError(), W32Errors.ERROR_NO_SUCH_PRIVILEGE); - - assertTrue(Advapi32.INSTANCE.LookupPrivilegeValue(null, WinNT.SE_BACKUP_NAME, luid)); - assertTrue(luid.LowPart > 0 || luid.HighPart > 0); - - char[] lpName = new char[256]; - IntByReference cchName = new IntByReference(lpName.length); - assertTrue(Advapi32.INSTANCE.LookupPrivilegeName(null, luid, lpName, cchName)); - assertEquals(WinNT.SE_BACKUP_NAME.length(), cchName.getValue()); - assertEquals(WinNT.SE_BACKUP_NAME, Native.toString(lpName)); - } - - public void testAdjustTokenPrivileges() { - HANDLEByReference hToken = new HANDLEByReference(); - assertTrue(Advapi32.INSTANCE.OpenProcessToken(Kernel32.INSTANCE.GetCurrentProcess(), - WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, hToken)); - - // Find an already enabled privilege - TOKEN_PRIVILEGES tp = new TOKEN_PRIVILEGES(1024); - IntByReference returnLength = new IntByReference(); - assertTrue(Advapi32.INSTANCE.GetTokenInformation(hToken.getValue(), WinNT.TOKEN_INFORMATION_CLASS.TokenPrivileges, - tp, tp.size(), returnLength)); - assertTrue(tp.PrivilegeCount.intValue() > 0); - - WinNT.LUID luid = null; - for (int i=0; i 0) { - luid = tp.Privileges[i].Luid; - } - } - assertTrue(luid != null); - - // Re-enable it. That should succeed. - tp = new WinNT.TOKEN_PRIVILEGES(1); - tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new DWORD(WinNT.SE_PRIVILEGE_ENABLED)); - - assertTrue(Advapi32.INSTANCE.AdjustTokenPrivileges(hToken.getValue(), false, tp, 0, null, null)); - assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); - } - - public void testImpersonateSelf() { - assertTrue(Advapi32.INSTANCE.ImpersonateSelf(WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous)); - assertTrue(Advapi32.INSTANCE.RevertToSelf()); - } -} +/* Copyright (c) 2010 Daniel Doubrovkine, 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. + * + * 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 java.io.File; + +import junit.framework.TestCase; + +import com.sun.jna.Memory; +import com.sun.jna.Native; +import com.sun.jna.Pointer; +import com.sun.jna.WString; +import com.sun.jna.platform.win32.LMAccess.USER_INFO_1; +import com.sun.jna.platform.win32.WinBase.FILETIME; +import com.sun.jna.platform.win32.WinDef.DWORD; +import com.sun.jna.platform.win32.WinNT.EVENTLOGRECORD; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.platform.win32.WinNT.HANDLEByReference; +import com.sun.jna.platform.win32.WinNT.PSID; +import com.sun.jna.platform.win32.WinNT.PSIDByReference; +import com.sun.jna.platform.win32.WinNT.SECURITY_IMPERSONATION_LEVEL; +import com.sun.jna.platform.win32.WinNT.SID_AND_ATTRIBUTES; +import com.sun.jna.platform.win32.WinNT.SID_NAME_USE; +import com.sun.jna.platform.win32.WinNT.TOKEN_PRIVILEGES; +import com.sun.jna.platform.win32.WinNT.TOKEN_TYPE; +import com.sun.jna.platform.win32.WinNT.WELL_KNOWN_SID_TYPE; +import com.sun.jna.platform.win32.WinReg.HKEYByReference; +import com.sun.jna.platform.win32.Winsvc.SC_HANDLE; +import com.sun.jna.platform.win32.Winsvc.SC_STATUS_TYPE; +import com.sun.jna.platform.win32.Winsvc.SERVICE_STATUS_PROCESS; +import com.sun.jna.ptr.IntByReference; +import com.sun.jna.ptr.PointerByReference; + +/** + * @author dblock[at]dblock[dot]org + */ +public class Advapi32Test extends TestCase { + + private static final String EVERYONE = "S-1-1-0"; + + public static void main(String[] args) { + junit.textui.TestRunner.run(Advapi32Test.class); + } + + public void testGetUserName() { + IntByReference len = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetUserNameW(null, len)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + char[] buffer = new char[len.getValue()]; + assertTrue(Advapi32.INSTANCE.GetUserNameW(buffer, len)); + String username = Native.toString(buffer); + assertTrue(username.length() > 0); + } + + public void testLookupAccountName() { + IntByReference pSid = new IntByReference(0); + IntByReference pDomain = new IntByReference(0); + PointerByReference peUse = new PointerByReference(); + String accountName = "Administrator"; + assertFalse(Advapi32.INSTANCE.LookupAccountName( + null, accountName, null, pSid, null, pDomain, peUse)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(pSid.getValue() > 0); + Memory sidMemory = new Memory(pSid.getValue()); + PSID pSidMemory = new PSID(sidMemory); + char[] referencedDomainName = new char[pDomain.getValue() + 1]; + assertTrue(Advapi32.INSTANCE.LookupAccountName( + null, accountName, pSidMemory, pSid, referencedDomainName, pDomain, peUse)); + assertEquals(SID_NAME_USE.SidTypeUser, peUse.getPointer().getInt(0)); + assertTrue(Native.toString(referencedDomainName).length() > 0); + } + + public void testIsValidSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertTrue("Converted SID not valid: " + sid.getValue(), Advapi32.INSTANCE.IsValidSid(sid.getValue())); + int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); + assertTrue(sidLength > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(sid.getValue())); + } + + public void testGetSidLength() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue("SID conversion failed", Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertEquals("Wrong SID lenght", 12, Advapi32.INSTANCE.GetLengthSid(sid.getValue())); + } + + public void testLookupAccountSid() { + // get SID bytes + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(sid.getValue()); + assertTrue(sidLength > 0); + // lookup account + IntByReference cchName = new IntByReference(); + IntByReference cchReferencedDomainName = new IntByReference(); + PointerByReference peUse = new PointerByReference(); + assertFalse(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), + null, cchName, null, cchReferencedDomainName, peUse)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(cchName.getValue() > 0); + assertTrue(cchReferencedDomainName.getValue() > 0); + char[] referencedDomainName = new char[cchReferencedDomainName.getValue()]; + char[] name = new char[cchName.getValue()]; + assertTrue(Advapi32.INSTANCE.LookupAccountSid(null, sid.getValue(), + name, cchName, referencedDomainName, cchReferencedDomainName, peUse)); + assertEquals(5, peUse.getPointer().getInt(0)); // SidTypeWellKnownGroup + String nameString = Native.toString(name); + String referencedDomainNameString = Native.toString(referencedDomainName); + assertTrue(nameString.length() > 0); + assertEquals("Everyone", nameString); + assertTrue(referencedDomainNameString.length() == 0); + assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); + } + + public void testConvertSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid( + sidString, sid)); + PointerByReference convertedSidStringPtr = new PointerByReference(); + assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( + sid.getValue(), convertedSidStringPtr)); + String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); + assertEquals(convertedSidString, sidString); + assertEquals(null, Kernel32.INSTANCE.LocalFree(convertedSidStringPtr.getValue())); + assertEquals(null, Kernel32.INSTANCE.LocalFree(sid.getValue().getPointer())); + } + + public void testLogonUser() { + HANDLEByReference phToken = new HANDLEByReference(); + assertFalse(Advapi32.INSTANCE.LogonUser("AccountDoesntExist", ".", "passwordIsInvalid", + WinBase.LOGON32_LOGON_NETWORK, WinBase.LOGON32_PROVIDER_DEFAULT, phToken)); + assertTrue(W32Errors.ERROR_SUCCESS != Kernel32.INSTANCE.GetLastError()); + } + + public void testOpenThreadTokenNoToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); + assertNotNull(threadHandle); + assertFalse(Advapi32.INSTANCE.OpenThreadToken(threadHandle, + WinNT.TOKEN_READ, false, phToken)); + assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); + } + + public void testOpenProcessToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testOpenThreadOrProcessToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE threadHandle = Kernel32.INSTANCE.GetCurrentThread(); + if (! Advapi32.INSTANCE.OpenThreadToken(threadHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, true, phToken)) { + assertEquals(W32Errors.ERROR_NO_TOKEN, Kernel32.INSTANCE.GetLastError()); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + } + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testDuplicateToken() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLEByReference phTokenDup = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + assertTrue(Advapi32.INSTANCE.DuplicateToken(phToken.getValue(), + WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation, phTokenDup)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phTokenDup.getValue())); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testDuplicateTokenEx() { + HANDLEByReference hExistingToken = new HANDLEByReference(); + HANDLEByReference phNewToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hExistingToken)); + assertTrue(Advapi32.INSTANCE.DuplicateTokenEx(hExistingToken.getValue(), + WinNT.GENERIC_READ, null, SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous, + TOKEN_TYPE.TokenPrimary, phNewToken)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phNewToken.getValue())); + assertTrue(Kernel32.INSTANCE.CloseHandle(hExistingToken.getValue())); + } + + public void testGetTokenOwnerInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_OWNER owner = new WinNT.TOKEN_OWNER(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenOwner, owner, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(owner.Owner)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(owner.Owner); + assertTrue(sidLength < tokenInformationLength.getValue()); + assertTrue(sidLength > 0); + // System.out.println(Advapi32Util.convertSidToStringSid(owner.Owner)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testGetTokenUserInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenUser, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_USER user = new WinNT.TOKEN_USER(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenUser, user, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(Advapi32.INSTANCE.IsValidSid(user.User.Sid)); + int sidLength = Advapi32.INSTANCE.GetLengthSid(user.User.Sid); + assertTrue(sidLength > 0); + assertTrue(sidLength < tokenInformationLength.getValue()); + // System.out.println(Advapi32Util.convertSidToStringSid(user.User.Sid)); + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testGetTokenGroupsInformation() { + HANDLEByReference phToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, phToken)); + IntByReference tokenInformationLength = new IntByReference(); + assertFalse(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, null, 0, tokenInformationLength)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + WinNT.TOKEN_GROUPS groups = new WinNT.TOKEN_GROUPS(tokenInformationLength.getValue()); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(phToken.getValue(), + WinNT.TOKEN_INFORMATION_CLASS.TokenGroups, groups, + tokenInformationLength.getValue(), tokenInformationLength)); + assertTrue(tokenInformationLength.getValue() > 0); + assertTrue(groups.GroupCount > 0); + for (SID_AND_ATTRIBUTES sidAndAttribute : groups.getGroups()) { + assertTrue(Advapi32.INSTANCE.IsValidSid(sidAndAttribute.Sid)); + // System.out.println(Advapi32Util.convertSidToStringSid(sidAndAttribute.Sid)); + } + assertTrue(Kernel32.INSTANCE.CloseHandle(phToken.getValue())); + } + + public void testImpersonateLoggedOnUser() { + USER_INFO_1 userInfo = new USER_INFO_1(); + userInfo.usri1_name = new WString("JNAAdvapi32TestImp"); + userInfo.usri1_password = new WString("!JNAP$$Wrd0"); + userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); + try { + HANDLEByReference phUser = new HANDLEByReference(); + try { + assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), + null, userInfo.usri1_password.toString(), WinBase.LOGON32_LOGON_NETWORK, + WinBase.LOGON32_PROVIDER_DEFAULT, phUser)); + assertTrue(Advapi32.INSTANCE.ImpersonateLoggedOnUser(phUser.getValue())); + assertTrue(Advapi32.INSTANCE.RevertToSelf()); + } finally { + if (phUser.getValue() != WinBase.INVALID_HANDLE_VALUE) { + Kernel32.INSTANCE.CloseHandle(phUser.getValue()); + } + } + } finally { + assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( + null, userInfo.usri1_name.toString())); + } + } + + public void testRegOpenKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, WinNT.KEY_READ, phKey)); + assertTrue(WinBase.INVALID_HANDLE_VALUE != phKey.getValue()); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegQueryValueEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", 0, WinNT.KEY_READ, phKey)); + IntByReference lpcbData = new IntByReference(); + IntByReference lpType = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phKey.getValue(), "User Agent", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_SZ, lpType.getValue()); + assertTrue(lpcbData.getValue() > 0); + char[] buffer = new char[lpcbData.getValue()]; + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phKey.getValue(), "User Agent", 0, lpType, buffer, lpcbData)); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegDeleteValue() { + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteValue( + WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); + } + + public void testRegSetValueEx_REG_SZ() { + HKEYByReference phKey = new HKEYByReference(); + // create parent key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkTest = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkTest, lpdwDisposition)); + // write a REG_SZ value + char[] lpData = Native.toCharArray("Test"); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( + phkTest.getValue(), "REG_SZ", 0, WinNT.REG_SZ, lpData, lpData.length * 2)); + // re-read the REG_SZ value + IntByReference lpType = new IntByReference(); + IntByReference lpcbData = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "REG_SZ", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_SZ, lpType.getValue()); + assertTrue(lpcbData.getValue() > 0); + char[] buffer = new char[lpcbData.getValue()]; + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "REG_SZ", 0, lpType, buffer, lpcbData)); + assertEquals("Test", Native.toString(buffer)); + // delete the test key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( + phkTest.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegSetValueEx_DWORD() { + HKEYByReference phKey = new HKEYByReference(); + // create parent key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkTest = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkTest, lpdwDisposition)); + // write a REG_DWORD value + int value = 42145; + byte[] data = new byte[4]; + data[0] = (byte)(value & 0xff); + data[1] = (byte)((value >> 8) & 0xff); + data[2] = (byte)((value >> 16) & 0xff); + data[3] = (byte)((value >> 24) & 0xff); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegSetValueEx( + phkTest.getValue(), "DWORD", 0, WinNT.REG_DWORD, data, 4)); + // re-read the REG_DWORD value + IntByReference lpType = new IntByReference(); + IntByReference lpcbData = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "DWORD", 0, lpType, (char[]) null, lpcbData)); + assertEquals(WinNT.REG_DWORD, lpType.getValue()); + assertEquals(4, lpcbData.getValue()); + IntByReference valueRead = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryValueEx( + phkTest.getValue(), "DWORD", 0, lpType, valueRead, lpcbData)); + assertEquals(value, valueRead.getValue()); + // delete the test key + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey( + phkTest.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegCreateKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software", 0, WinNT.KEY_WRITE | WinNT.KEY_READ, phKey)); + HKEYByReference phkResult = new HKEYByReference(); + IntByReference lpdwDisposition = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCreateKeyEx( + phKey.getValue(), "JNAAdvapi32Test", 0, null, 0, WinNT.KEY_ALL_ACCESS, + null, phkResult, lpdwDisposition)); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phkResult.getValue())); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegDeleteKey( + phKey.getValue(), "JNAAdvapi32Test")); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegDeleteKey() { + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Advapi32.INSTANCE.RegDeleteKey( + WinReg.HKEY_CURRENT_USER, "JNAAdvapi32TestDoesntExist")); + } + + public void testRegEnumKeyEx() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", + 0, WinNT.KEY_READ, phKey)); + IntByReference lpcSubKeys = new IntByReference(); + IntByReference lpcMaxSubKeyLen = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + phKey.getValue(), null, null, null, lpcSubKeys, lpcMaxSubKeyLen, null, null, + null, null, null, null)); + char[] name = new char[lpcMaxSubKeyLen.getValue() + 1]; + for (int i = 0; i < lpcSubKeys.getValue(); i++) { + IntByReference lpcchValueName = new IntByReference(lpcMaxSubKeyLen.getValue() + 1); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumKeyEx( + phKey.getValue(), i, name, lpcchValueName, null, null, null, null)); + assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); + } + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegEnumValue() { + HKEYByReference phKey = new HKEYByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegOpenKeyEx( + WinReg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", + 0, WinNT.KEY_READ, phKey)); + IntByReference lpcValues = new IntByReference(); + IntByReference lpcMaxValueNameLen = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + phKey.getValue(), null, null, null, null, null, null, lpcValues, + lpcMaxValueNameLen, null, null, null)); + char[] name = new char[lpcMaxValueNameLen.getValue() + 1]; + for (int i = 0; i < lpcValues.getValue(); i++) { + IntByReference lpcchValueName = new IntByReference(lpcMaxValueNameLen.getValue() + 1); + IntByReference lpType = new IntByReference(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegEnumValue( + phKey.getValue(), i, name, lpcchValueName, null, + lpType, null, null)); + assertEquals(Native.toString(name).length(), lpcchValueName.getValue()); + } + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegCloseKey(phKey.getValue())); + } + + public void testRegQueryInfoKey() { + IntByReference lpcClass = new IntByReference(); + IntByReference lpcSubKeys = new IntByReference(); + IntByReference lpcMaxSubKeyLen = new IntByReference(); + IntByReference lpcValues = new IntByReference(); + IntByReference lpcMaxClassLen = new IntByReference(); + IntByReference lpcMaxValueNameLen = new IntByReference(); + IntByReference lpcMaxValueLen = new IntByReference(); + IntByReference lpcbSecurityDescriptor = new IntByReference(); + FILETIME lpftLastWriteTime = new FILETIME(); + assertEquals(W32Errors.ERROR_SUCCESS, Advapi32.INSTANCE.RegQueryInfoKey( + WinReg.HKEY_LOCAL_MACHINE, null, lpcClass, null, + lpcSubKeys, lpcMaxSubKeyLen, lpcMaxClassLen, lpcValues, + lpcMaxValueNameLen, lpcMaxValueLen, lpcbSecurityDescriptor, + lpftLastWriteTime)); + assertTrue(lpcSubKeys.getValue() > 0); + } + + public void testIsWellKnownSid() { + String sidString = EVERYONE; + PSIDByReference sid = new PSIDByReference(); + assertTrue(Advapi32.INSTANCE.ConvertStringSidToSid(sidString, sid)); + assertTrue(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), + WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertFalse(Advapi32.INSTANCE.IsWellKnownSid(sid.getValue(), + WELL_KNOWN_SID_TYPE.WinAccountAdministratorSid)); + } + + public void testCreateWellKnownSid() { + PSID pSid = new PSID(WinNT.SECURITY_MAX_SID_SIZE); + IntByReference cbSid = new IntByReference(WinNT.SECURITY_MAX_SID_SIZE); + assertTrue(Advapi32.INSTANCE.CreateWellKnownSid(WELL_KNOWN_SID_TYPE.WinWorldSid, + null, pSid, cbSid)); + assertTrue(Advapi32.INSTANCE.IsWellKnownSid(pSid, + WELL_KNOWN_SID_TYPE.WinWorldSid)); + assertTrue(cbSid.getValue() <= WinNT.SECURITY_MAX_SID_SIZE); + PointerByReference convertedSidStringPtr = new PointerByReference(); + assertTrue(Advapi32.INSTANCE.ConvertSidToStringSid( + pSid, convertedSidStringPtr)); + String convertedSidString = convertedSidStringPtr.getValue().getString(0, true); + assertEquals(EVERYONE, convertedSidString); + } + + public void testOpenEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertNotNull(h); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testRegisterEventSource() { + // the Security event log is reserved + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, "Security"); + assertNull(h); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + } + + public void testReportEvent() { + String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; + String jnaEventSource = "JNADevEventSource"; + String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; + Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); + IntByReference before = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); + assertNotNull(h); + String s[] = { "JNA", "Event" }; + Memory m = new Memory(4); + m.setByte(0, (byte) 1); + m.setByte(1, (byte) 2); + m.setByte(2, (byte) 3); + m.setByte(3, (byte) 4); + assertTrue(Advapi32.INSTANCE.ReportEvent(h, WinNT.EVENTLOG_ERROR_TYPE, 0, 0, null, 2, 4, s, m)); + IntByReference after = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); + assertTrue(before.getValue() < after.getValue()); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + assertTrue(Advapi32.INSTANCE.DeregisterEventSource(h)); + Advapi32Util.registryDeleteKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + } + + public void testGetNumberOfEventLogRecords() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + IntByReference n = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, n)); + assertTrue(n.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + /* + public void testClearEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertFalse(h.equals(WinBase.INVALID_HANDLE_VALUE)); + IntByReference before = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); + assertTrue(before.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.ClearEventLog(h, null)); + IntByReference after = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, after)); + assertTrue(after.getValue() < before.getValue() || before.getValue() == 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + */ + + public void testBackupEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + assertNotNull(h); + String backupFileName = Kernel32Util.getTempPath() + "\\JNADevEventLog.bak"; + File f = new File(backupFileName); + if (f.exists()) { + f.delete(); + } + + assertTrue(Advapi32.INSTANCE.BackupEventLog(h, backupFileName)); + HANDLE hBackup = Advapi32.INSTANCE.OpenBackupEventLog(null, backupFileName); + assertNotNull(hBackup); + + IntByReference n = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(hBackup, n)); + assertTrue(n.getValue() >= 0); + + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + assertTrue(Advapi32.INSTANCE.CloseEventLog(hBackup)); + } + + public void testReadEventLog() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference pnBytesRead = new IntByReference(); + IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); + Memory buffer = new Memory(1); + assertFalse(Advapi32.INSTANCE.ReadEventLog(h, + WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_BACKWARDS_READ, + 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + assertTrue(pnMinNumberOfBytesNeeded.getValue() > 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testReadEventLogEntries() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference pnBytesRead = new IntByReference(); + IntByReference pnMinNumberOfBytesNeeded = new IntByReference(); + Memory buffer = new Memory(1024 * 64); + // shorten test, avoid iterating through all events + int maxReads = 3; + int rc = 0; + while(true) { + if (maxReads-- <= 0) + break; + if (! Advapi32.INSTANCE.ReadEventLog(h, + WinNT.EVENTLOG_SEQUENTIAL_READ | WinNT.EVENTLOG_FORWARDS_READ, + 0, buffer, (int) buffer.size(), pnBytesRead, pnMinNumberOfBytesNeeded)) { + rc = Kernel32.INSTANCE.GetLastError(); + if (rc == W32Errors.ERROR_INSUFFICIENT_BUFFER) { + buffer = new Memory(pnMinNumberOfBytesNeeded.getValue()); + rc = 0; + continue; + } + break; + } + int dwRead = pnBytesRead.getValue(); + Pointer pevlr = buffer; + int maxRecords = 3; + while (dwRead > 0 && maxRecords-- > 0) { + EVENTLOGRECORD record = new EVENTLOGRECORD(pevlr); + /* + System.out.println(record.RecordNumber.intValue() + + " Event ID: " + record.EventID.intValue() + + " Event Type: " + record.EventType.intValue() + + " Event Source: " + pevlr.getString(record.size(), true)); + */ + dwRead -= record.Length.intValue(); + pevlr = pevlr.share(record.Length.intValue()); + } + } + assertTrue("Unexpected error after reading event log: " + + new Win32Exception(rc), + rc == W32Errors.ERROR_HANDLE_EOF || rc == 0); + assertTrue("Error closing event log", + Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testGetOldestEventLogRecord() { + HANDLE h = Advapi32.INSTANCE.OpenEventLog(null, "Application"); + IntByReference oldestRecord = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetOldestEventLogRecord(h, oldestRecord)); + assertTrue(oldestRecord.getValue() >= 0); + assertTrue(Advapi32.INSTANCE.CloseEventLog(h)); + } + + public void testQueryServiceStatusEx() { + + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_STATUS); + assertNotNull(serviceHandle); + + IntByReference pcbBytesNeeded = new IntByReference(); + + assertFalse(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, + null, 0, pcbBytesNeeded)); + assertEquals(W32Errors.ERROR_INSUFFICIENT_BUFFER, Kernel32.INSTANCE.GetLastError()); + + assertTrue(pcbBytesNeeded.getValue() > 0); + + SERVICE_STATUS_PROCESS status = new SERVICE_STATUS_PROCESS(pcbBytesNeeded.getValue()); + + assertTrue(Advapi32.INSTANCE.QueryServiceStatusEx(serviceHandle, SC_STATUS_TYPE.SC_STATUS_PROCESS_INFO, + status, status.size(), pcbBytesNeeded)); + + assertTrue(status.dwCurrentState == Winsvc.SERVICE_STOPPED || + status.dwCurrentState == Winsvc.SERVICE_RUNNING); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + + public void testControlService() { + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); + assertNotNull(serviceHandle); + + Winsvc.SERVICE_STATUS serverStatus = new Winsvc.SERVICE_STATUS(); + + assertNotNull(serviceHandle); + assertFalse(Advapi32.INSTANCE.ControlService(serviceHandle, Winsvc.SERVICE_CONTROL_STOP, serverStatus)); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testStartService() { + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG); + assertNotNull(serviceHandle); + + assertFalse(Advapi32.INSTANCE.StartService(serviceHandle, 0, null)); + assertEquals(W32Errors.ERROR_ACCESS_DENIED, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testOpenService() { + assertNull(Advapi32.INSTANCE.OpenService(null, "eventlog", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); + + SC_HANDLE scmHandle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(scmHandle); + + SC_HANDLE serviceHandle = Advapi32.INSTANCE.OpenService(scmHandle, "eventlog", Winsvc.SERVICE_QUERY_CONFIG ); + assertNotNull(serviceHandle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(serviceHandle)); + + assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "slashesArentValidChars/", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); + + assertNull(Advapi32.INSTANCE.OpenService(scmHandle, "serviceDoesNotExist", Winsvc.SERVICE_QUERY_CONFIG )); + assertEquals(W32Errors.ERROR_SERVICE_DOES_NOT_EXIST, Kernel32.INSTANCE.GetLastError()); + + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(scmHandle)); + } + + public void testOpenSCManager() { + SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(handle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); + + assertNull(Advapi32.INSTANCE.OpenSCManager("invalidMachineName", null, Winsvc.SC_MANAGER_CONNECT)); + int err = Kernel32.INSTANCE.GetLastError(); + assertTrue("Unexpected error in OpenSCManager: " + err, + err == W32Errors.RPC_S_SERVER_UNAVAILABLE + || err == W32Errors.RPC_S_INVALID_NET_ADDR); + + assertNull(Advapi32.INSTANCE.OpenSCManager(null, "invalidDatabase", Winsvc.SC_MANAGER_CONNECT)); + assertEquals(W32Errors.ERROR_INVALID_NAME, Kernel32.INSTANCE.GetLastError()); + } + + public void testCloseServiceHandle() throws Exception { + SC_HANDLE handle = Advapi32.INSTANCE.OpenSCManager(null, null, Winsvc.SC_MANAGER_CONNECT); + assertNotNull(handle); + assertTrue(Advapi32.INSTANCE.CloseServiceHandle(handle)); + + assertFalse(Advapi32.INSTANCE.CloseServiceHandle(null)); + assertEquals(W32Errors.ERROR_INVALID_HANDLE, Kernel32.INSTANCE.GetLastError()); + } + + public void testCreateProcessAsUser() { + HANDLEByReference hToken = new HANDLEByReference(); + HANDLE processHandle = Kernel32.INSTANCE.GetCurrentProcess(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(processHandle, + WinNT.TOKEN_DUPLICATE | WinNT.TOKEN_QUERY, hToken)); + + assertFalse(Advapi32.INSTANCE.CreateProcessAsUser(hToken.getValue(), null, "InvalidCmdLine.jna", + null, null, false, 0, null, null, new WinBase.STARTUPINFO(), + new WinBase.PROCESS_INFORMATION())); + assertEquals(W32Errors.ERROR_FILE_NOT_FOUND, Kernel32.INSTANCE.GetLastError()); + assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); + } + + /** + * Tests both {@link Advapi32#LookupPrivilegeValue} and {@link Advapi32#LookupPrivilegeName} + */ + public void testLookupPrivilegeValueAndLookupPrivilegeName() { + WinNT.LUID luid = new WinNT.LUID(); + + assertFalse(Advapi32.INSTANCE.LookupPrivilegeValue(null, "InvalidName", luid)); + assertEquals(Kernel32.INSTANCE.GetLastError(), W32Errors.ERROR_NO_SUCH_PRIVILEGE); + + assertTrue(Advapi32.INSTANCE.LookupPrivilegeValue(null, WinNT.SE_BACKUP_NAME, luid)); + assertTrue(luid.LowPart > 0 || luid.HighPart > 0); + + char[] lpName = new char[256]; + IntByReference cchName = new IntByReference(lpName.length); + assertTrue(Advapi32.INSTANCE.LookupPrivilegeName(null, luid, lpName, cchName)); + assertEquals(WinNT.SE_BACKUP_NAME.length(), cchName.getValue()); + assertEquals(WinNT.SE_BACKUP_NAME, Native.toString(lpName)); + } + + public void testAdjustTokenPrivileges() { + HANDLEByReference hToken = new HANDLEByReference(); + assertTrue(Advapi32.INSTANCE.OpenProcessToken(Kernel32.INSTANCE.GetCurrentProcess(), + WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, hToken)); + + // Find an already enabled privilege + TOKEN_PRIVILEGES tp = new TOKEN_PRIVILEGES(1024); + IntByReference returnLength = new IntByReference(); + assertTrue(Advapi32.INSTANCE.GetTokenInformation(hToken.getValue(), WinNT.TOKEN_INFORMATION_CLASS.TokenPrivileges, + tp, tp.size(), returnLength)); + assertTrue(tp.PrivilegeCount.intValue() > 0); + + WinNT.LUID luid = null; + for (int i=0; i 0) { + luid = tp.Privileges[i].Luid; + } + } + assertTrue(luid != null); + + // Re-enable it. That should succeed. + tp = new WinNT.TOKEN_PRIVILEGES(1); + tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new DWORD(WinNT.SE_PRIVILEGE_ENABLED)); + + assertTrue(Advapi32.INSTANCE.AdjustTokenPrivileges(hToken.getValue(), false, tp, 0, null, null)); + assertTrue(Kernel32.INSTANCE.CloseHandle(hToken.getValue())); + } + + public void testImpersonateSelf() { + assertTrue(Advapi32.INSTANCE.ImpersonateSelf(WinNT.SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous)); + assertTrue(Advapi32.INSTANCE.RevertToSelf()); + } +} From 6ff34c29dbf3ce16a01321b37a442f365f977c1b Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:39:56 -0500 Subject: [PATCH 32/34] Revert "update changes doc" This reverts commit 6d608dd49b9cb90c41f6beaa281561b68fb67a2d. --- CHANGES.md | 1229 ++++++++++++++++++++++++++-------------------------- 1 file changed, 612 insertions(+), 617 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index cdd0fa9b7e..943fe3c06d 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,617 +1,612 @@ -Next Release (3.5.2) -==================== - -Bug Fixes ---------- -* [#183](https://github.com/twall/jna/pull/183): Fix LMAccess.GROUP_INFO_3.getFieldOrder() to return correct fields names. - [@bhamail](https://github.com/bhamail). - -Features --------- -* [#183](https://github.com/twall/jna/pull/183): Added StructureFieldOrderInspector unit test utility to scan for Structure field issues. See: com.sun.jna.platform.StructureFieldOrderTest.testMethodGetFieldOrder() - [@bhamail](https://github.com/bhamail). -* [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). -* [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). - -Release 3.5.1 -==================== - -Bug Fixes ---------- -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). -* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). -* [#151] 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) - -Release 3.5.0 -============= - -Features --------- -* `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). -* Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). -* Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). -* Add `android-arm` target - [@ochafik](https://github.com/ochafik), [@twall](https://github.com/twall). -* Add `jna.tmpdir` to override temporary JNA storage location - [@twall](https://github.com/twall). -* Add `EXTRA_MAKE_OPTS` ant property to override make variables - [@twall](https://github.com/twall). -* Add `Library.OPTION_OPEN_FLAGS` to customize dlopen behavior - [@twall](https://github.com/twall). -* [#113](https://github.com/twall/jna/issues/113), [#114](https://github.com/twall/jna/issues/114): Add support for GNU/kFreeBSD and debian multi-arch distros - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Fix `Advapi32Util.registryGetValues()` tried to allocate memory for a zero-length `REG_BINARY` value - [@phailwhale22](https://github.com/phailwhale22). -* Fix crash in direct mode callbacks with certain type conversions - [@twall](https://github.com/twall). -* More thoroughly propagate unexpected exceptions generated in jnidispatch - [@twall](https://github.com/twall). -* Cleanup maven poms and publishing to central repo - [@bhamail](https://github.com/bhamail). -* [#129](https://github.com/twall/jna/issues/129): Allow `Memory` field in structure - [@twall](https://github.com/twall). -* Preserve `PointerType` fields on `Structure.read()` if unchanged - [@twall](https://github.com/twall). -* [#128](https://github.com/twall/jna/issues/128): Fix masking extracting DWORD upper and lower WORD values - [@twall](https://github.com/twall). -* [#135](https://github.com/twall/jna/issues/135): Fix for `Advapi32Util.registryGetValues()` when reading zero length values - [@danwi](https://github.com/danwi). - -Release 3.4.2 -============= - -Features --------- -* Add `platform.win32.Kernel32.GetEnvironmentVariable` and `platform.win32.Kernel32Util.getEnvironmentVariable` - [@dblock](https://github.com/dblock). -* Moved `Kernel32.dll` function definitions from `WinNT.java` into `Kernel32.java` - [@dblock](https://github.com/dblock). -* Provide `toPointer()` methods on all `_PTR` types (platform win32) - [@twall](https://github.com/twall). -* Provide `ant -Dskip-native` to skip platform native build - [@twall](https://github.com/twall). -* Provide `ant -Dheadless=true` to run unit tests headless - [@twall](https://github.com/twall). -* Added Windows dev environment instructions - [@twall](https://github.com/twall). - -Bug Fixes ---------- -* Ensure platform win32 classes use unsigned where appropriate (`ULONG_PTR`, `UINT_PTR`, `ULONGLONG`, `WORD`, `DWORDLONG`) - [@twall](https://github.com/twall). -* [#71](https://github.com/twall/jna/issues/71), [#73](https://github.com/twall/jna/issues/73): Fix OSGI entries in manifest - [@twall](https://github.com/twall). -* [#78](https://github.com/twall/jna/issues/78): Fix NPE in `platform.win32.Netapi32Util.getDomainTrusts` - [@dblock](https://github.com/dblock). -* Fix: auto-sync memory for `struct**` arguments (array of struct pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.Secur32.AcquireCredentialsHandle`, `InitializeSecurityContext` and `AcceptSecurityContext` on Win32 64-bit - [@dblock](https://github.com/dblock). -* Fix: avoid overwriting native `char *` or `wchar_t *` fields within structures when unmodified (similar to current operation with pointers) - [@twall](https://github.com/twall). -* Fix: `platform.win32.DsGetDC.DS_DOMAIN_TRUSTS` and `DsEnumerateDomainTrusts` on Win32 64-bit - [@trejkaz](https://github.com/trejkaz). -* Fix: Crash freeing the wrong pointer in `Netapi32Util.getDomainTrusts` - [@trejkaz](https://github.com/trejkaz). -* [#100](https://github.com/twall/jna/issues/100): Fix `platform.win32.W32FileMonitor` - [@dblock](https://github.com/dblock). -* Return INT_PTR from `platform.win32.Shell32.ShellExecute`, since returning -`HINSTANCE` is useless. -* Fix runtime error in some instances where Structure.setFieldOrder is used (never return self when sharing AutoAllocated memory). -* [#107](https://github.com/twall/jna/issues/107): `Structure.clear()` always calls `ensureAllocated()` to avoid NPE. -* Ensure internal memory pointer is *always* allocated when calling `Structure.useMemory()`, even if layout is not yet determined. - -Release 3.4.1 -============= - -Features --------- -* Add 'unsigned' modifier to IntegerType. -* Add to `platform.win32.User32`: `GetLastInputInfo`. -* Add `platform.win32.WinNT.GetFileType` and `platform.win32.Kernel32Util.getFileType`. -* Add to `platform.win32.Kernel32Util`: `getFileType`. - -Bug Fixes ---------- -* Re-build linux-amd and linux-i386 against older versions of glibc (2.2.5 and -2.1.3 respectively). -* Properly initialize first printer info struct in winspool library. -* Properly support getting and setting zero-array-length `REG_MULTI_SZ` values on Win32. -* Fixed SID in Win32 `USER_INFO_23` and `GROUP_INFO_3`. -* Fixed passing domain name into Win32 `Netapi32Util.getUserInfo`. - -Release 3.4.0 -============= - -Features --------- -* Provide `jna.nosys=true` to avoid loading any system-provided JNA (useful for local build/development). -* Allow override of default jnidispatch library name with `jna.boot.library.name` system property. -* Throw an Error if a system install of JNA is incompatible or if JNA's JNI library does not match. -* Disable automatic jnidispatch unpacking with `jna.nounpack=true`. -* Automatically look up system error messages for LastErrorException. -* Improved callback thread-mapping support; re-use, rename, and group callback -threads. -* Cache structure layout results, improving performance of structure creation. -* linux/arm 32-bit support (hardware provided by Alex Lam). -* linux/ppc 32-bit support (hardware provided by Fritiof Hedman). -* Preliminary linux/ia64, linux/ppc64 support (thanks to Laurent Guerby and the GCC compile farm). -* Windows CE/Mobile support (w32ce-arm) (resources provided by andrea antonello and Hydrologis SRL). -* linux multi-arch support (kohsuke). -* Added REG_QWORD registry type support -* Add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`. -* Add to `platform.mac.Carbon`: `GetEventDispatcherTarget`, `InstallEventHandler`, `RegisterEventHotKey`, `GetEventParameter`, `RemoveEventHandler`, `UnregisterEventHotKey`. -* Add to `platform.win32.Kernel32`: `CopyFile`, `MoveFile`, `MoveFileEx`, `CreateProcess`, `SetEnvironmentVariables`, `GetFileTime`, `SetFileTime`, `SetFileAttributes`, `DeviceIoControl`, `GetDiskFreeSpaceEx`, `CreateToolhelp32Snapshot`, `Process32First`, `Process32Next`. -* Add to `platform.win32.Msi`: `MsiGetComponentPath`, `MsiLocateComponent`, `MsiGetProductCode`, `MsiEnumComponents`. -* Add to `platform.win32.User32`: `RegisterHotKey`, `UnregisterHotKey` -* Add to `platform.win32.SetupApi`: `SetupDiGetClassDevs`, `SetupDiDestroyDeviceInfoList`, `SetupDiEnumDeviceInterfaces`, `SetupDiGetDeviceInterfaceDetail`, `SetupDiGetDeviceRegistryProperty`. -* Add `platform.win32.Shell32.ShellExecute`. -* Add to `platform.win32.User32`: `SetParent`, `IsWindowVisible`, `MoveWindow`, `SetWindowPos`, `AttachInputThread`, `SetForegroundWindow`, `GetForegroundWindow`, `SetFocus`, `SendInput`, `WaitForInputIdle`, `InvalidateRect`, `RedrawWindow`, `GetWindow`, `UpdateWindow`, `ShowWindow`, `CloseWindow`. -* Add to `platform.win32.Version`: `GetFileVersionInfoSize`, `GetFileVersionInfo`, `VerQueryValue`. -* Add to `platform.win32.Advapi32`: `GetFileSecurity`, `RegQueryValueEx(...Long...)`. -* Add to `platform.win32.Netapi32`: `NetUserGetInfo`. - -Bug Fixes --------- -* Revise cleanup of in-use temporary files on win32 (issue 6). -* Fix structure alignment issues on linux/ppc. -* Fix structure alignment issues on linux/arm. -* Account for NIO Buffer position (JIRA issue 185). -* Avoid crash with very long Strings (> 150k in length). -* Fix bug tracking Memory with an associated direct ByteBuffer. -* Fix bug handling structs by value when type mappers are in effect (JIRA issue 188). - -Release 3.3.0 -============= - -Features --------- - -* Facilitate `Memory` subclasses (jbellis). -* Allow multiple fields of the same type in Unions (Francis Barber). -* Add `platform.win32.Advapi32.AdjustTokenPrivileges`, `platform.win32.Advapi32.LookupPrivilegeName`, `platform.win32.Advapi32.LookupPrivilegeValue`, `platform.win32.Advapi32.ImpersonateSelf`. -* Add `platform.win32.Advapi32.DuplicateTokenEx`, `platform.win32.Advapi32.CreateProcessAsUser`, `platform.win32.Kernel32.GetExitCodeProcess`, `platform.win32.Kernel32.TerminateProcess`, `platform.win32.Kernel32.ReadFile`, `platform.win32.Kernel32.CreatePipe`, `platform.win32.Kernel32.SetHandleInformation` and related constants / structures in `platform.win32.WinBase` and `platform.win32.WinNT`. Please note that the `SECURITY_ATTRIBUTES` structure has been moved from `platform.win32.WinNT` to `platform.win32.WinBase`. -* Add `platform.win32.Kernel32.DeleteFile` and `platform.win32.Kernel32Util.deleteFile`. -* Add `platform.win32.Kernel32.GetFileAttributes` and `platform.win32.Kernel32Util.getFileAttributes`. -* Add `platform.win32.Kernel32.GetTickCount`. -* Add Win32 Service functions to `platform.win32.Advapi32`. -* Add `platform.win32.W32ServiceManager` and `W32Service`. -* Add Win32 Event Logging functions to `platform.win32.Advapi32` and `platform.win32.Advapi32Util.EventLogIterator`. -* `platform.win32.Advapi32Util.registryCreateKey` returns `true` if key was created, `false` if it already exists. -* Add `REG_BINARY`, `REG_EXPAND_SZ` and `REG_MULTI_SZ` support to `platform.win32.Advapi32Util` registry functions. -* Reduce JNI crossings in a number of native methods, moving object creation out into pure Java code. - -Bug Fixes ---------- - -* Move all native functions into `com.sun.jna.Native`, to ensure that all dependent classes must be disposed before the `Native` class is unloaded. Note that this change is incompatible with all previous JNA native libraries. -* Fix `platform.win32.Kernel32.GetNativeSystemInfo` and `GetSystemInfo` AV on Win64. -* Fix several potential minor bugs as reported by TvT. -* Fix bug in Structure.StructureSet.toString (Blair Zajac), exposed by Tomcat ThreadLocal cleanup. -* Fix several bugs when using Structure(Pointer) ctor and array fields (Samuel Audet). - -Release 3.2.7 -============= - -Features --------- - -* Add native peer value accessors for Pointer -* The `jna.library.path` property is now re-evaluated whenever a native library is loaded. Previously this value was cached when the JNA classes loaded. -* `Native.loadLibrary` can now load `.drv` files. -* Refactor `com.sun.jna.platform.win32.WINBASE` into `WinDef`, `WinNT` and `BaseTSD`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.GDI32` into `WinGDI`, matching Windows SDK headers. -* Refactor constants from `com.sun.jna.platform.win32.User32` into `WinUser`, matching Windows SDK headers. -* Refactor `platform.win32.WinNT.LARGE_INTEGER` into a union. -* Add `platform.win32.ObjBase`, `com.sun.jna.platform.win32.Ole32.CoInitializeEx`, `CoUninitialize`, and `CoCreateInstance`. -* Add `platform.win32.Oleaut32.SysAllocString` and `SysFreeString`. -* Add `platform.win32.Secur32.ImpersonateSecurityContext` and `RevertSecurityContext`. -* Add `platform.win32.WinNT.WELL_KNOWN_SID_TYPE`, `SECURITY_MAX_SID_SIZE` and other related SID-related constants. -* Add `platform.win32.Advapi32.CreateWellKnownSid` and `IsWellKnownSid` and `com.sun.jna.platform.win32.Advapi32Util.isWellKnownSid`. -* Add `platform.win32.Kernel32.GetVersion`, `GetVersionEx`, `GetSystemInfo`, `GetNativeSystemInfo`, `GlobalMemoryStatusEx`, `GetLogicalDriveStrings` and `IsWow64Process`. -* Add `platform.win32.Kernel32Util.getLogicalDriveStrings`. -* Add `platform.win32.User32.GetSystemMetrics`. -* Add `platform.win32.BaseTSD.DWORD_PTR`. -* Add `platform.win32.WinBase.SYSTEM_INFO` and `MEMORYSTATUSEX`. -* Add `platform.win32.WinNT.OSVERSIONINFOEX`, `VER` constants. -* Add `platform.win32.WinDef.ULONGLONG` and `DWORDLONG`. -* Add `platform.win32.Shell32.SHGetDesktopFolder` (prep work for Com4JNA). -* Add `platform.win32.Winspool.GetPrinterInfo`. -* Add `platform.win32.WinspoolUtil.getPrinterInfo1`. -* Add `platform.win32.GDI32.GetDeviceCaps`. -* Add `platform.win32.GDI32.GetDIBits`. - -Bug Fixes ---------- - -* Fix `ClassCastException` in `Structure.equals` (issue 152). -* Fix bug initializing a structure object from existing memory when the structure has initialized fields (issue 133). -* Fix NPE reading an array of string from a pointer when an element of the array is `NULL` (issue 151). -* Avoid calling `UnregisterNatives` in native code (issue 154). -* Compare unpacked library path against canonical (long) filename (issue 156). -* Fix `read()` of uninitialized memory in `platform.win32.Advapi32Util.getTokenGroups` and `getTokenAccount`. -* Fix `com.sun.jna.platform.win32.Secur32.QuerySecurityContextToken` to take a `CtxtHandle` instead of `PSecHandle`. -* Fix definition of BITMAPINFO (platform/win32). - -Release 3.2.5 -============= - -Features --------- - -* Split code in examples.jar into a contrib platform.jar package and individual packages for demos. -* Fix Eclipse build and added Eclipse projects for all contrib samples, import projects from jnalib and contrib. -* Ensure Structure fields correctly ordered when inherited. -* Use explicit Structure field whenever provided, regardless of whether the VM requires it. -* Add Win32 mappings for two dozen functions from Kernel32.dll, Advapi32.dll, Netapi32.dll, Secur32.dll, NtDll.dll, Ole32.dll, Shell32.dll and Crypt32.dll to com.sun.jna.platform.win32. -* Port parts of WinError.h, WinNT.h, LMAccess.h, LMCons.h, LMErr.h, LMJoin.h, NTStatus.h, ShlObj.h, WinDef.h, ShellApi.h, Wdm.h, WinReg.h, WinCrypt.h, Sspi.h, Guid.h, NtSecApi.h and DsGetDc.h. -* Add Win32 simplified utility interfaces Kernel32Util, Advapi32Util, Netapi32Util, Crypt32Util, NtDllUtil, Shell32Util, Ole32Util and Secur32Util to com.sun.jna.platform.win32. -* Support unicode paths in W32FileUtils. -* Fix exception during dispose in W32FileMonitor. - -Bug Fixes ---------- - -* Provide String.replace for 1.4 compatibility. -* Avoid allocating memory when Structure is provided a pointer in the ctor. -* Ensure proper value returned in Pointer.getValue() for non-null, unchanged NIO Buffer values. -* Use 1.4-compatible URI generation (issue 149). - -Release 3.2.4 -============= - -Features --------- - -* Make Pointer ctor public. -* Provide access to Function objects for arbitrary Pointer values. -* Add linux/ia64 binaries (bpiwowar). See issue 134 patch. - -Bug Fixes ---------- - -* Use a more robust method to decode a file-based URL (issue 135). - -Release 3.2.3 -============= - -Features --------- - -* Include version information in code in case package information lost. - -Bug Fixes ---------- - -* Fix WindowUtils exception on mouse over TrayIcon. -* Fix bug toggling windows transparent/opaque (win32/OSX). -* Avoid overwriting unchanged Pointer values in arrays (function calls with Pointer[] and Structure.read). -* Ensure Structure fields marked `final` are never written. -* Fix bug preventing proper population Structure.ByReference fields on Structure read. -* Ensure double buffering is disabled in components added to a transparent window. -* Fix UnsatisfiedLinkError attempting to load system libraries under Web Start. -* Fix loading Web Start-provided libraries on OSX (libraries must have a .jnilib suffix under Web Start). -* Properly include sources in Maven zip file (Issue 129). - -Release 3.2.2 -============= - -Features --------- - -* Provide length-specified Pointer.getStringArray() - -Bug Fixes ---------- - -* Fix crash with direct mapping if NULL struct* used (Issue 125). -* Fix case where null-valued Structure fields would get non-null values on write. -* Synch callback Structure/Structure[] arguments on callback return. -* Fix NPE when mapping an interface to the current process. -* Automatically load proper C library version from current process on Linux (avoids crashing bug on Ubuntu with libc-i686 packages active). -* Avoid scanning structure contents in Structure.toString if contents aren't actually used. - -Release 3.2.1 -========== - -Features --------- - -* Add HRESULT, LONG mapping to W32API (marc strapetz). - - -Bug Fixes ---------- - -* Fix definition of HWND_BROADCAST in W32API. -* Fix memory alignment checking (Issue 121). -* Fix Structure equals/hashCode implementation, based on current Java fields rather than strictly native memory contents. Avoid using equals/hashCode when avoiding recursive reads/writes. - -Release 3.2.0 -============= - -Features --------- - -* Handle String, Structure, Callback, Buffer, and primitive arrays in direct mappings. Handle NativeMapped and TypeMapper, with optimized paths for IntegerType and PointerType. -* Optionally throw errno/GetLastError as an exception. This is preferred to (and more efficient than) calling Native.getLastError(). -* Unload/delete native library unpacked from jna.jar if Native class is garbage collected. Only install shutdown hook if using the system class loader. -* Auto-write contiguous Structure arrays when first element is written. -* Support NativeMapped[] as function arguments for interface-mapped libraries (Issue 90). -* Enable function lookup within current process on Windows. - -Bug Fixes ---------- - -* Restrict recursive structure reads/writes by thread instead of globally. This avoids potentially missed reads/writes with concurrent access (Issue 120). -* Ensure Memory is not GC'd and freed if direct NIO buffers mapped to it are extant. -* Allow types derived from java.nio.Buffer as Structure fields. - -Release 3.1.0 -============= - -Features --------- - -* Add raw JNI mapping of static Java methods. Performance is about 10X that of traditional JNA interface mapping, although with less type conversion functionality. -* Add library option to allow passing/return of Java Objects. -* Allow handling of uncaught callback exceptions (Issue 63). -* Object oriented interface to X server (see contrib/x11) -* Make Memory class more accessible. -* Provide Structure ctor with Pointer argument (issue 102). -* Allow implicit library access to current process on linux (issue 98). -* Open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux. -* Allow NIO Buffer as Structure field (with limitations) (Issue 57) -* Add `size_t` size. - -Bug Fixes ---------- - -* Run tests with libjsig.so, if available, which fixes some crashes when running tests on 64-bit platforms. -* Fix Issue 104. -* Fix Issue 94 (Java 1.6 update 10 regression). -* Fix Issue 51 (Java 1.6 update 10 regression). -* Fix Issue 95. -* Fix Issue 101. -* Fix Issue 111, memory leak with String-returning Callback. -* Fix missing storage of union type information (affects usage of struct/union by value as argument and return type). -* Remove non-functional Structure ctors requiring explicit size. - -Release 3.0.9 -============= - -Bug Fixes ---------- - -* Fix issue 93 by only manually searching jna.library.path, then falling back to passing the mapped library name to dlopen/LoadLibrary. This fixes an issue in JRUBY where the incorrect libc.so.6 was being loaded. - -Release 3.0.8 -========== - -Features --------- - -* Auto-map Pointer[]/String[]/WString[] return values. -* Provide utility functions to convert String to primitive array. -* Add jna.library.boot.path property to define the directory that the native stub library is loaded from - -Release 3.0.7 -========== - -Features --------- - -* Improve Win32 loading of libraries with dependencies. - -Bug Fixes ---------- - -* Fix bug reading structures with PointerType fields, introduced with Pointer field preservation fix. - -Release 3.0.6 -============= - -Features --------- - -* Allow arbitrary callback method names if only one method is defined in the class which implements Callback (colinwalters). -* Allow specification of callback type mappers by using a TYPE_MAPPER field (colinwalters). -* Allow uninitialized (null-valued) boxed primitives in Structures (colinwalters). -* Add convenience methods to set active Union field and value simultaneously (xylo). -* Augment Union read/writeField to set the active field. -* Allow Structure auto-synch across native calls to be disabled. -* Win64 support. - -Bug Fixes ---------- - -* Avoid overwriting unchanged Structure fields of type Pointer. -* Avoid more content dragging on OSX or warn if it's too late. -* Fix UnsatisfiedLinkError using transparent window on Win2K. -* Fix memory leak with callbacks called from native threads with no Java context (johnwallace). -* Defer structure size calculation if type mapper not yet set, allowing type mapper to be set in derived constructors (colinwalters). -* Ensure structure memory is allocated in Structure.read/writeField. - -Release 3.0.5 -============= - -Features --------- - -* Allow explicit declaration of field order for VMs which have an unpredictable field order. -* Check for w32 libraries with a "lib" prefix in addition to normal lookup. -* Allow String[]/WString[] as callback argument/return value (assume NULL-terminated array). -* Add Solaris8 compatibility to sunos-sparc build (Corey Puffalt). -* Look up libraries using web start library path, if appropriate (Corey Puffalt). -* Use constants to return integer boolean values. - -Bug Fixes ---------- - -* Properly track cursor on alpha-masked windows. -* Avoid searching /lib or /usr/lib on 64-bit Linux. -* Avoid using incorrect version of a library when both 32- and 64-bit versions are found. -* Avoid transparent window events always dragging window bug on OSX. -* Fix division by zero error calculating structure size on OSX/ppc. -* Avoid overwriting initialized NativeMapped Structure fields when calculating structure size. -* Fix NPE reading back into StringArray. - -Release 3.0.4 -============= - -Features --------- - -* Automatically write contents of Structure.ByReference fields on Structure.write(). -* Use the actual parameter type in Function invocations if no parameter type information is available (whether method is missing or untyped varargs). -* Augmented X11 library mappings (xylo). -* Support read/write of NativeMapped arrays within Structure (notably NativeLong). - -Bug Fixes ---------- - -* Fix library load error when /usr/lib32 and /usr/lib both exist (linux) (Marek Slama). -* Avoid incorrect matches against libraries named with the same prefix (e.g. libc-client.so vs libc.so) (xylo). -* Properly handle arrays of NativeMapped (e.g. NativeLong) as a Structure field (stefan endrullis). -* Ensure structure size calculated prior to setting union active type. -* XID is 64-bits on 64-bit X clients (xylo). -* Ensure proper arch name is used on Debian (amd64 instead of x86_64). - -Release 3.0.3 -============= - -Features --------- - -* Enable build/run using IBM's J9 VM (leonardo). -* Make StdCallFunctionMapper attempt a leading underscore if the simpler mapping doesn't work. -* Allow Structure.read to overwrite final fields (may not work on some 1.4 VMs). - -Bug Fixes ---------- - -* Fix NPE when passing an array of Structure.ByReference. -* Compare entire linux library version when finding a match. -* Don't pass struct by value unless the method signature declares it. -* Restrict custom first element structure alignment to OSX/ppc. -* Improve performance and reduce memory footprint for window masks. Optimize polygon-based masks on w32. Use XFillRectangles on X11. -* Fix linkage settings on sunos-amd64 to avoid relocation errors. -* Fix callback allocation code on w32, solaris, freebsd, darwin (libffi was misconfigured). -* Fix bug when NativeMapped fields are used in a Structure.ByValue instance. -* Fix NPE calling Structure.read() before memory is initialized. -* Fix NPE calling Structure.read/write with uninitialized NativeMapped fields. - -Release 3.0.2 -============= - -Features --------- - -* Attempt to force unload of jnidispatch library prior to deleting it (w32). -* Added amd64 targets for OSX, FreeBSD, and Solaris. - -Bug Fixes ---------- - -* Reduce space allocated for invocation arguments. -* Fix NPE when NativeMapped type is used in a Structure. -* Fix some X11 type mappings for 64-bit. -* Fix OSX Leopard/JRE1.5+ window transparency. -* Fix window alpha compositing on X11. -* Fix loading of libraries with unicode names on OSX. - -Release 3.0.1 -============= - -Features --------- - -* Improve transparent window drawing performance on w32 -* Use closure allocation from libffi - -Bug Fixes ---------- - -* Ensure nested structure arrays initialized with Structure.toArray use the appropriate native memory. -* Ensure structure size is calculated prior to converting to array -* Avoid creating new windows when setting a window mask -* Fix bug in Pointer.setChar. - -Release 3.0 -=========== - -Features --------- - -* More supported platforms, via GCC's libffi (wmeissner) -* Support struct by value as parameter and return value (duncan) -* Support struct by reference within structures -* Provide access to native peer for java.awt.Component -* Provide access to native peer on OS X. -* Support MINGW32 builds (fullung) -* Allow per-field Structure read/write by field name -* Avoid writing Structure fields marked 'volatile' -* Read and wrap function pointers in Structure fields when read with a Java proxy to allow easy Java-side invocation (Ken Larson) -* Support array-backed Buffers as arguments (wmeissner) -* Auto-conversion of custom types (wmeissner) -* Allow pointer type-safety -* Optional VM crash protection, via Native.setProtected(boolean) -* Auto-convert WString[] -* Provide library synchronization wrapper similar to Collections.synchronizedX -* Support lookup of OSX framework libraries by name -* Explicit access to shared library global data -* Invocation interception to facilitate translation of C preprocessor macros and inline functions -* Provide utility to determine Web Start native library cache location; auto-include this path if jnidispatch is included as a <nativelib> (robertengels) -* Provide access to aligned memory -* Versioning information embedded in jna.jar and native library - -Bug Fixes ---------- - -* Avoid attempts to free native library if it failed to load (wmeissner) -* Explicitly check method signatures for varargs instead of heuristically guessing (wmeissner) -* Disallow declaring Pointer-derived fields in Structures (Function, Memory) -* Ensure Object.toString/hashCode/equals methods are intercepted on proxyied interfaces -* Update X11 library for 64-bit use (wmeissner) -* Properly map arrays of char*/wchar_t* under w32 -* Allow Pointer[] as a Structure field and Function argument -* Fix some misleading Structure error messages -* Properly preserve/return GetLastError/errno after native calls -* Allocate executable memory on w32 to avoid errors with hardware-enforced data execution protection (DEP) -* Fix VM crash on w32 stdcall callbacks -* Use long offsets and sizes rather than ints (64-bit safe) -* Properly clean up references and release closure memory on JNI_Unload -* Use simpler AWT/JAWT library loading workaround -* Avoid changing array references within a Structure on read - -Release 2.5 -=========== - -Features --------- - -* Unions -* Optimized shaped windows (chris deckers & olivier chafik); instantiation time improved by about 2-3 orders of magnitude for large, mostly contiguous shapes -* Provide type mapping in callback arguments/results -* Provide access to ByteBuffer direct address as a Pointer -* Provide customization of native string encoding with jna.encoding system property - -Bug Fixes ---------- - -* Properly handle VMs with reversed Structure member storage -* Avoid making window undecorated when clearing window mask on X11 -* Fix structure alignment bug on OSX/PPC when first element is > 4 bytes in size -* Clearing OSX window mask by setting to MASK_NONE now works properly -* Avoid index exceptions if native buffers are not NUL-terminated on string conversions -* Write initialized Structure[] argument memory prior to function calls -* Fix IllegalArgumentException reading WString into a Structure -* Clear memory when allocating a structure block (fixes VM crash) -* Remove versioned JAWT dependency on OSX, allowing use on 10.3/JRE1.4. - -Release 2.4 -=========== - -Features --------- - -* Explicitly support unaligned structures -* Auto-reallocate structure arrays -* Automatic handling of w32 UNICODE/ASCII variants -* Automatic mapping of decorated w32 stdcall function names -* Customizable, automatic type conversion of arguments and results (wmeissner) -* Support char*[] arguments as Java String[] -* Structure supports Callback members (wmeissner) -* getByteBuffer from Pointer/Memory (wmeissner) -* Allow GC of native libraries -* Facilitate use from non-Java contexts (JRuby et al.) (wmeissner) -* Improve library path searching (wmeissner) -* Handle Structure[] arguments -* Handle native long arguments and return values -* Handle direct and array-based ByteBuffer arguments (wmeissner) -* Change default w32 build to use GCC (it's free, yo) - -Bug Fixes ---------- - -* Structure.toArray failed to initialize members -* Disallow explicit free of Structure/Memory -* Ensure native libraries are only loaded once until released -* Properly handle NULL when the return value is a Structure -* Proper conversion to wchar_t on linux -* Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered +Next Release (3.5.2) +==================== + +Features +-------- +* [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). +* [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). + +Release 3.5.1 +==================== + +Bug Fixes +--------- +* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). +* [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). +* [#151] 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) + +Release 3.5.0 +============= + +Features +-------- +* `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). +* Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). +* Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). +* Add `android-arm` target - [@ochafik](https://github.com/ochafik), [@twall](https://github.com/twall). +* Add `jna.tmpdir` to override temporary JNA storage location - [@twall](https://github.com/twall). +* Add `EXTRA_MAKE_OPTS` ant property to override make variables - [@twall](https://github.com/twall). +* Add `Library.OPTION_OPEN_FLAGS` to customize dlopen behavior - [@twall](https://github.com/twall). +* [#113](https://github.com/twall/jna/issues/113), [#114](https://github.com/twall/jna/issues/114): Add support for GNU/kFreeBSD and debian multi-arch distros - [@twall](https://github.com/twall). + +Bug Fixes +--------- +* Fix `Advapi32Util.registryGetValues()` tried to allocate memory for a zero-length `REG_BINARY` value - [@phailwhale22](https://github.com/phailwhale22). +* Fix crash in direct mode callbacks with certain type conversions - [@twall](https://github.com/twall). +* More thoroughly propagate unexpected exceptions generated in jnidispatch - [@twall](https://github.com/twall). +* Cleanup maven poms and publishing to central repo - [@bhamail](https://github.com/bhamail). +* [#129](https://github.com/twall/jna/issues/129): Allow `Memory` field in structure - [@twall](https://github.com/twall). +* Preserve `PointerType` fields on `Structure.read()` if unchanged - [@twall](https://github.com/twall). +* [#128](https://github.com/twall/jna/issues/128): Fix masking extracting DWORD upper and lower WORD values - [@twall](https://github.com/twall). +* [#135](https://github.com/twall/jna/issues/135): Fix for `Advapi32Util.registryGetValues()` when reading zero length values - [@danwi](https://github.com/danwi). + +Release 3.4.2 +============= + +Features +-------- +* Add `platform.win32.Kernel32.GetEnvironmentVariable` and `platform.win32.Kernel32Util.getEnvironmentVariable` - [@dblock](https://github.com/dblock). +* Moved `Kernel32.dll` function definitions from `WinNT.java` into `Kernel32.java` - [@dblock](https://github.com/dblock). +* Provide `toPointer()` methods on all `_PTR` types (platform win32) - [@twall](https://github.com/twall). +* Provide `ant -Dskip-native` to skip platform native build - [@twall](https://github.com/twall). +* Provide `ant -Dheadless=true` to run unit tests headless - [@twall](https://github.com/twall). +* Added Windows dev environment instructions - [@twall](https://github.com/twall). + +Bug Fixes +--------- +* Ensure platform win32 classes use unsigned where appropriate (`ULONG_PTR`, `UINT_PTR`, `ULONGLONG`, `WORD`, `DWORDLONG`) - [@twall](https://github.com/twall). +* [#71](https://github.com/twall/jna/issues/71), [#73](https://github.com/twall/jna/issues/73): Fix OSGI entries in manifest - [@twall](https://github.com/twall). +* [#78](https://github.com/twall/jna/issues/78): Fix NPE in `platform.win32.Netapi32Util.getDomainTrusts` - [@dblock](https://github.com/dblock). +* Fix: auto-sync memory for `struct**` arguments (array of struct pointers) - [@twall](https://github.com/twall). +* Fix: `platform.win32.Secur32.AcquireCredentialsHandle`, `InitializeSecurityContext` and `AcceptSecurityContext` on Win32 64-bit - [@dblock](https://github.com/dblock). +* Fix: avoid overwriting native `char *` or `wchar_t *` fields within structures when unmodified (similar to current operation with pointers) - [@twall](https://github.com/twall). +* Fix: `platform.win32.DsGetDC.DS_DOMAIN_TRUSTS` and `DsEnumerateDomainTrusts` on Win32 64-bit - [@trejkaz](https://github.com/trejkaz). +* Fix: Crash freeing the wrong pointer in `Netapi32Util.getDomainTrusts` - [@trejkaz](https://github.com/trejkaz). +* [#100](https://github.com/twall/jna/issues/100): Fix `platform.win32.W32FileMonitor` - [@dblock](https://github.com/dblock). +* Return INT_PTR from `platform.win32.Shell32.ShellExecute`, since returning +`HINSTANCE` is useless. +* Fix runtime error in some instances where Structure.setFieldOrder is used (never return self when sharing AutoAllocated memory). +* [#107](https://github.com/twall/jna/issues/107): `Structure.clear()` always calls `ensureAllocated()` to avoid NPE. +* Ensure internal memory pointer is *always* allocated when calling `Structure.useMemory()`, even if layout is not yet determined. + +Release 3.4.1 +============= + +Features +-------- +* Add 'unsigned' modifier to IntegerType. +* Add to `platform.win32.User32`: `GetLastInputInfo`. +* Add `platform.win32.WinNT.GetFileType` and `platform.win32.Kernel32Util.getFileType`. +* Add to `platform.win32.Kernel32Util`: `getFileType`. + +Bug Fixes +--------- +* Re-build linux-amd and linux-i386 against older versions of glibc (2.2.5 and +2.1.3 respectively). +* Properly initialize first printer info struct in winspool library. +* Properly support getting and setting zero-array-length `REG_MULTI_SZ` values on Win32. +* Fixed SID in Win32 `USER_INFO_23` and `GROUP_INFO_3`. +* Fixed passing domain name into Win32 `Netapi32Util.getUserInfo`. + +Release 3.4.0 +============= + +Features +-------- +* Provide `jna.nosys=true` to avoid loading any system-provided JNA (useful for local build/development). +* Allow override of default jnidispatch library name with `jna.boot.library.name` system property. +* Throw an Error if a system install of JNA is incompatible or if JNA's JNI library does not match. +* Disable automatic jnidispatch unpacking with `jna.nounpack=true`. +* Automatically look up system error messages for LastErrorException. +* Improved callback thread-mapping support; re-use, rename, and group callback +threads. +* Cache structure layout results, improving performance of structure creation. +* linux/arm 32-bit support (hardware provided by Alex Lam). +* linux/ppc 32-bit support (hardware provided by Fritiof Hedman). +* Preliminary linux/ia64, linux/ppc64 support (thanks to Laurent Guerby and the GCC compile farm). +* Windows CE/Mobile support (w32ce-arm) (resources provided by andrea antonello and Hydrologis SRL). +* linux multi-arch support (kohsuke). +* Added REG_QWORD registry type support +* Add to `platform.unix.x11`: `XGrabKey`, `XUngrabKey`, `XSetErrorHandler`. +* Add to `platform.mac.Carbon`: `GetEventDispatcherTarget`, `InstallEventHandler`, `RegisterEventHotKey`, `GetEventParameter`, `RemoveEventHandler`, `UnregisterEventHotKey`. +* Add to `platform.win32.Kernel32`: `CopyFile`, `MoveFile`, `MoveFileEx`, `CreateProcess`, `SetEnvironmentVariables`, `GetFileTime`, `SetFileTime`, `SetFileAttributes`, `DeviceIoControl`, `GetDiskFreeSpaceEx`, `CreateToolhelp32Snapshot`, `Process32First`, `Process32Next`. +* Add to `platform.win32.Msi`: `MsiGetComponentPath`, `MsiLocateComponent`, `MsiGetProductCode`, `MsiEnumComponents`. +* Add to `platform.win32.User32`: `RegisterHotKey`, `UnregisterHotKey` +* Add to `platform.win32.SetupApi`: `SetupDiGetClassDevs`, `SetupDiDestroyDeviceInfoList`, `SetupDiEnumDeviceInterfaces`, `SetupDiGetDeviceInterfaceDetail`, `SetupDiGetDeviceRegistryProperty`. +* Add `platform.win32.Shell32.ShellExecute`. +* Add to `platform.win32.User32`: `SetParent`, `IsWindowVisible`, `MoveWindow`, `SetWindowPos`, `AttachInputThread`, `SetForegroundWindow`, `GetForegroundWindow`, `SetFocus`, `SendInput`, `WaitForInputIdle`, `InvalidateRect`, `RedrawWindow`, `GetWindow`, `UpdateWindow`, `ShowWindow`, `CloseWindow`. +* Add to `platform.win32.Version`: `GetFileVersionInfoSize`, `GetFileVersionInfo`, `VerQueryValue`. +* Add to `platform.win32.Advapi32`: `GetFileSecurity`, `RegQueryValueEx(...Long...)`. +* Add to `platform.win32.Netapi32`: `NetUserGetInfo`. + +Bug Fixes +-------- +* Revise cleanup of in-use temporary files on win32 (issue 6). +* Fix structure alignment issues on linux/ppc. +* Fix structure alignment issues on linux/arm. +* Account for NIO Buffer position (JIRA issue 185). +* Avoid crash with very long Strings (> 150k in length). +* Fix bug tracking Memory with an associated direct ByteBuffer. +* Fix bug handling structs by value when type mappers are in effect (JIRA issue 188). + +Release 3.3.0 +============= + +Features +-------- + +* Facilitate `Memory` subclasses (jbellis). +* Allow multiple fields of the same type in Unions (Francis Barber). +* Add `platform.win32.Advapi32.AdjustTokenPrivileges`, `platform.win32.Advapi32.LookupPrivilegeName`, `platform.win32.Advapi32.LookupPrivilegeValue`, `platform.win32.Advapi32.ImpersonateSelf`. +* Add `platform.win32.Advapi32.DuplicateTokenEx`, `platform.win32.Advapi32.CreateProcessAsUser`, `platform.win32.Kernel32.GetExitCodeProcess`, `platform.win32.Kernel32.TerminateProcess`, `platform.win32.Kernel32.ReadFile`, `platform.win32.Kernel32.CreatePipe`, `platform.win32.Kernel32.SetHandleInformation` and related constants / structures in `platform.win32.WinBase` and `platform.win32.WinNT`. Please note that the `SECURITY_ATTRIBUTES` structure has been moved from `platform.win32.WinNT` to `platform.win32.WinBase`. +* Add `platform.win32.Kernel32.DeleteFile` and `platform.win32.Kernel32Util.deleteFile`. +* Add `platform.win32.Kernel32.GetFileAttributes` and `platform.win32.Kernel32Util.getFileAttributes`. +* Add `platform.win32.Kernel32.GetTickCount`. +* Add Win32 Service functions to `platform.win32.Advapi32`. +* Add `platform.win32.W32ServiceManager` and `W32Service`. +* Add Win32 Event Logging functions to `platform.win32.Advapi32` and `platform.win32.Advapi32Util.EventLogIterator`. +* `platform.win32.Advapi32Util.registryCreateKey` returns `true` if key was created, `false` if it already exists. +* Add `REG_BINARY`, `REG_EXPAND_SZ` and `REG_MULTI_SZ` support to `platform.win32.Advapi32Util` registry functions. +* Reduce JNI crossings in a number of native methods, moving object creation out into pure Java code. + +Bug Fixes +--------- + +* Move all native functions into `com.sun.jna.Native`, to ensure that all dependent classes must be disposed before the `Native` class is unloaded. Note that this change is incompatible with all previous JNA native libraries. +* Fix `platform.win32.Kernel32.GetNativeSystemInfo` and `GetSystemInfo` AV on Win64. +* Fix several potential minor bugs as reported by TvT. +* Fix bug in Structure.StructureSet.toString (Blair Zajac), exposed by Tomcat ThreadLocal cleanup. +* Fix several bugs when using Structure(Pointer) ctor and array fields (Samuel Audet). + +Release 3.2.7 +============= + +Features +-------- + +* Add native peer value accessors for Pointer +* The `jna.library.path` property is now re-evaluated whenever a native library is loaded. Previously this value was cached when the JNA classes loaded. +* `Native.loadLibrary` can now load `.drv` files. +* Refactor `com.sun.jna.platform.win32.WINBASE` into `WinDef`, `WinNT` and `BaseTSD`, matching Windows SDK headers. +* Refactor constants from `com.sun.jna.platform.win32.GDI32` into `WinGDI`, matching Windows SDK headers. +* Refactor constants from `com.sun.jna.platform.win32.User32` into `WinUser`, matching Windows SDK headers. +* Refactor `platform.win32.WinNT.LARGE_INTEGER` into a union. +* Add `platform.win32.ObjBase`, `com.sun.jna.platform.win32.Ole32.CoInitializeEx`, `CoUninitialize`, and `CoCreateInstance`. +* Add `platform.win32.Oleaut32.SysAllocString` and `SysFreeString`. +* Add `platform.win32.Secur32.ImpersonateSecurityContext` and `RevertSecurityContext`. +* Add `platform.win32.WinNT.WELL_KNOWN_SID_TYPE`, `SECURITY_MAX_SID_SIZE` and other related SID-related constants. +* Add `platform.win32.Advapi32.CreateWellKnownSid` and `IsWellKnownSid` and `com.sun.jna.platform.win32.Advapi32Util.isWellKnownSid`. +* Add `platform.win32.Kernel32.GetVersion`, `GetVersionEx`, `GetSystemInfo`, `GetNativeSystemInfo`, `GlobalMemoryStatusEx`, `GetLogicalDriveStrings` and `IsWow64Process`. +* Add `platform.win32.Kernel32Util.getLogicalDriveStrings`. +* Add `platform.win32.User32.GetSystemMetrics`. +* Add `platform.win32.BaseTSD.DWORD_PTR`. +* Add `platform.win32.WinBase.SYSTEM_INFO` and `MEMORYSTATUSEX`. +* Add `platform.win32.WinNT.OSVERSIONINFOEX`, `VER` constants. +* Add `platform.win32.WinDef.ULONGLONG` and `DWORDLONG`. +* Add `platform.win32.Shell32.SHGetDesktopFolder` (prep work for Com4JNA). +* Add `platform.win32.Winspool.GetPrinterInfo`. +* Add `platform.win32.WinspoolUtil.getPrinterInfo1`. +* Add `platform.win32.GDI32.GetDeviceCaps`. +* Add `platform.win32.GDI32.GetDIBits`. + +Bug Fixes +--------- + +* Fix `ClassCastException` in `Structure.equals` (issue 152). +* Fix bug initializing a structure object from existing memory when the structure has initialized fields (issue 133). +* Fix NPE reading an array of string from a pointer when an element of the array is `NULL` (issue 151). +* Avoid calling `UnregisterNatives` in native code (issue 154). +* Compare unpacked library path against canonical (long) filename (issue 156). +* Fix `read()` of uninitialized memory in `platform.win32.Advapi32Util.getTokenGroups` and `getTokenAccount`. +* Fix `com.sun.jna.platform.win32.Secur32.QuerySecurityContextToken` to take a `CtxtHandle` instead of `PSecHandle`. +* Fix definition of BITMAPINFO (platform/win32). + +Release 3.2.5 +============= + +Features +-------- + +* Split code in examples.jar into a contrib platform.jar package and individual packages for demos. +* Fix Eclipse build and added Eclipse projects for all contrib samples, import projects from jnalib and contrib. +* Ensure Structure fields correctly ordered when inherited. +* Use explicit Structure field whenever provided, regardless of whether the VM requires it. +* Add Win32 mappings for two dozen functions from Kernel32.dll, Advapi32.dll, Netapi32.dll, Secur32.dll, NtDll.dll, Ole32.dll, Shell32.dll and Crypt32.dll to com.sun.jna.platform.win32. +* Port parts of WinError.h, WinNT.h, LMAccess.h, LMCons.h, LMErr.h, LMJoin.h, NTStatus.h, ShlObj.h, WinDef.h, ShellApi.h, Wdm.h, WinReg.h, WinCrypt.h, Sspi.h, Guid.h, NtSecApi.h and DsGetDc.h. +* Add Win32 simplified utility interfaces Kernel32Util, Advapi32Util, Netapi32Util, Crypt32Util, NtDllUtil, Shell32Util, Ole32Util and Secur32Util to com.sun.jna.platform.win32. +* Support unicode paths in W32FileUtils. +* Fix exception during dispose in W32FileMonitor. + +Bug Fixes +--------- + +* Provide String.replace for 1.4 compatibility. +* Avoid allocating memory when Structure is provided a pointer in the ctor. +* Ensure proper value returned in Pointer.getValue() for non-null, unchanged NIO Buffer values. +* Use 1.4-compatible URI generation (issue 149). + +Release 3.2.4 +============= + +Features +-------- + +* Make Pointer ctor public. +* Provide access to Function objects for arbitrary Pointer values. +* Add linux/ia64 binaries (bpiwowar). See issue 134 patch. + +Bug Fixes +--------- + +* Use a more robust method to decode a file-based URL (issue 135). + +Release 3.2.3 +============= + +Features +-------- + +* Include version information in code in case package information lost. + +Bug Fixes +--------- + +* Fix WindowUtils exception on mouse over TrayIcon. +* Fix bug toggling windows transparent/opaque (win32/OSX). +* Avoid overwriting unchanged Pointer values in arrays (function calls with Pointer[] and Structure.read). +* Ensure Structure fields marked `final` are never written. +* Fix bug preventing proper population Structure.ByReference fields on Structure read. +* Ensure double buffering is disabled in components added to a transparent window. +* Fix UnsatisfiedLinkError attempting to load system libraries under Web Start. +* Fix loading Web Start-provided libraries on OSX (libraries must have a .jnilib suffix under Web Start). +* Properly include sources in Maven zip file (Issue 129). + +Release 3.2.2 +============= + +Features +-------- + +* Provide length-specified Pointer.getStringArray() + +Bug Fixes +--------- + +* Fix crash with direct mapping if NULL struct* used (Issue 125). +* Fix case where null-valued Structure fields would get non-null values on write. +* Synch callback Structure/Structure[] arguments on callback return. +* Fix NPE when mapping an interface to the current process. +* Automatically load proper C library version from current process on Linux (avoids crashing bug on Ubuntu with libc-i686 packages active). +* Avoid scanning structure contents in Structure.toString if contents aren't actually used. + +Release 3.2.1 +========== + +Features +-------- + +* Add HRESULT, LONG mapping to W32API (marc strapetz). + + +Bug Fixes +--------- + +* Fix definition of HWND_BROADCAST in W32API. +* Fix memory alignment checking (Issue 121). +* Fix Structure equals/hashCode implementation, based on current Java fields rather than strictly native memory contents. Avoid using equals/hashCode when avoiding recursive reads/writes. + +Release 3.2.0 +============= + +Features +-------- + +* Handle String, Structure, Callback, Buffer, and primitive arrays in direct mappings. Handle NativeMapped and TypeMapper, with optimized paths for IntegerType and PointerType. +* Optionally throw errno/GetLastError as an exception. This is preferred to (and more efficient than) calling Native.getLastError(). +* Unload/delete native library unpacked from jna.jar if Native class is garbage collected. Only install shutdown hook if using the system class loader. +* Auto-write contiguous Structure arrays when first element is written. +* Support NativeMapped[] as function arguments for interface-mapped libraries (Issue 90). +* Enable function lookup within current process on Windows. + +Bug Fixes +--------- + +* Restrict recursive structure reads/writes by thread instead of globally. This avoids potentially missed reads/writes with concurrent access (Issue 120). +* Ensure Memory is not GC'd and freed if direct NIO buffers mapped to it are extant. +* Allow types derived from java.nio.Buffer as Structure fields. + +Release 3.1.0 +============= + +Features +-------- + +* Add raw JNI mapping of static Java methods. Performance is about 10X that of traditional JNA interface mapping, although with less type conversion functionality. +* Add library option to allow passing/return of Java Objects. +* Allow handling of uncaught callback exceptions (Issue 63). +* Object oriented interface to X server (see contrib/x11) +* Make Memory class more accessible. +* Provide Structure ctor with Pointer argument (issue 102). +* Allow implicit library access to current process on linux (issue 98). +* Open all shared libraries with RTLD_GLOBAL, if applicable. This was the default behavior on OSX and changes the default behavior on linux. +* Allow NIO Buffer as Structure field (with limitations) (Issue 57) +* Add `size_t` size. + +Bug Fixes +--------- + +* Run tests with libjsig.so, if available, which fixes some crashes when running tests on 64-bit platforms. +* Fix Issue 104. +* Fix Issue 94 (Java 1.6 update 10 regression). +* Fix Issue 51 (Java 1.6 update 10 regression). +* Fix Issue 95. +* Fix Issue 101. +* Fix Issue 111, memory leak with String-returning Callback. +* Fix missing storage of union type information (affects usage of struct/union by value as argument and return type). +* Remove non-functional Structure ctors requiring explicit size. + +Release 3.0.9 +============= + +Bug Fixes +--------- + +* Fix issue 93 by only manually searching jna.library.path, then falling back to passing the mapped library name to dlopen/LoadLibrary. This fixes an issue in JRUBY where the incorrect libc.so.6 was being loaded. + +Release 3.0.8 +========== + +Features +-------- + +* Auto-map Pointer[]/String[]/WString[] return values. +* Provide utility functions to convert String to primitive array. +* Add jna.library.boot.path property to define the directory that the native stub library is loaded from + +Release 3.0.7 +========== + +Features +-------- + +* Improve Win32 loading of libraries with dependencies. + +Bug Fixes +--------- + +* Fix bug reading structures with PointerType fields, introduced with Pointer field preservation fix. + +Release 3.0.6 +============= + +Features +-------- + +* Allow arbitrary callback method names if only one method is defined in the class which implements Callback (colinwalters). +* Allow specification of callback type mappers by using a TYPE_MAPPER field (colinwalters). +* Allow uninitialized (null-valued) boxed primitives in Structures (colinwalters). +* Add convenience methods to set active Union field and value simultaneously (xylo). +* Augment Union read/writeField to set the active field. +* Allow Structure auto-synch across native calls to be disabled. +* Win64 support. + +Bug Fixes +--------- + +* Avoid overwriting unchanged Structure fields of type Pointer. +* Avoid more content dragging on OSX or warn if it's too late. +* Fix UnsatisfiedLinkError using transparent window on Win2K. +* Fix memory leak with callbacks called from native threads with no Java context (johnwallace). +* Defer structure size calculation if type mapper not yet set, allowing type mapper to be set in derived constructors (colinwalters). +* Ensure structure memory is allocated in Structure.read/writeField. + +Release 3.0.5 +============= + +Features +-------- + +* Allow explicit declaration of field order for VMs which have an unpredictable field order. +* Check for w32 libraries with a "lib" prefix in addition to normal lookup. +* Allow String[]/WString[] as callback argument/return value (assume NULL-terminated array). +* Add Solaris8 compatibility to sunos-sparc build (Corey Puffalt). +* Look up libraries using web start library path, if appropriate (Corey Puffalt). +* Use constants to return integer boolean values. + +Bug Fixes +--------- + +* Properly track cursor on alpha-masked windows. +* Avoid searching /lib or /usr/lib on 64-bit Linux. +* Avoid using incorrect version of a library when both 32- and 64-bit versions are found. +* Avoid transparent window events always dragging window bug on OSX. +* Fix division by zero error calculating structure size on OSX/ppc. +* Avoid overwriting initialized NativeMapped Structure fields when calculating structure size. +* Fix NPE reading back into StringArray. + +Release 3.0.4 +============= + +Features +-------- + +* Automatically write contents of Structure.ByReference fields on Structure.write(). +* Use the actual parameter type in Function invocations if no parameter type information is available (whether method is missing or untyped varargs). +* Augmented X11 library mappings (xylo). +* Support read/write of NativeMapped arrays within Structure (notably NativeLong). + +Bug Fixes +--------- + +* Fix library load error when /usr/lib32 and /usr/lib both exist (linux) (Marek Slama). +* Avoid incorrect matches against libraries named with the same prefix (e.g. libc-client.so vs libc.so) (xylo). +* Properly handle arrays of NativeMapped (e.g. NativeLong) as a Structure field (stefan endrullis). +* Ensure structure size calculated prior to setting union active type. +* XID is 64-bits on 64-bit X clients (xylo). +* Ensure proper arch name is used on Debian (amd64 instead of x86_64). + +Release 3.0.3 +============= + +Features +-------- + +* Enable build/run using IBM's J9 VM (leonardo). +* Make StdCallFunctionMapper attempt a leading underscore if the simpler mapping doesn't work. +* Allow Structure.read to overwrite final fields (may not work on some 1.4 VMs). + +Bug Fixes +--------- + +* Fix NPE when passing an array of Structure.ByReference. +* Compare entire linux library version when finding a match. +* Don't pass struct by value unless the method signature declares it. +* Restrict custom first element structure alignment to OSX/ppc. +* Improve performance and reduce memory footprint for window masks. Optimize polygon-based masks on w32. Use XFillRectangles on X11. +* Fix linkage settings on sunos-amd64 to avoid relocation errors. +* Fix callback allocation code on w32, solaris, freebsd, darwin (libffi was misconfigured). +* Fix bug when NativeMapped fields are used in a Structure.ByValue instance. +* Fix NPE calling Structure.read() before memory is initialized. +* Fix NPE calling Structure.read/write with uninitialized NativeMapped fields. + +Release 3.0.2 +============= + +Features +-------- + +* Attempt to force unload of jnidispatch library prior to deleting it (w32). +* Added amd64 targets for OSX, FreeBSD, and Solaris. + +Bug Fixes +--------- + +* Reduce space allocated for invocation arguments. +* Fix NPE when NativeMapped type is used in a Structure. +* Fix some X11 type mappings for 64-bit. +* Fix OSX Leopard/JRE1.5+ window transparency. +* Fix window alpha compositing on X11. +* Fix loading of libraries with unicode names on OSX. + +Release 3.0.1 +============= + +Features +-------- + +* Improve transparent window drawing performance on w32 +* Use closure allocation from libffi + +Bug Fixes +--------- + +* Ensure nested structure arrays initialized with Structure.toArray use the appropriate native memory. +* Ensure structure size is calculated prior to converting to array +* Avoid creating new windows when setting a window mask +* Fix bug in Pointer.setChar. + +Release 3.0 +=========== + +Features +-------- + +* More supported platforms, via GCC's libffi (wmeissner) +* Support struct by value as parameter and return value (duncan) +* Support struct by reference within structures +* Provide access to native peer for java.awt.Component +* Provide access to native peer on OS X. +* Support MINGW32 builds (fullung) +* Allow per-field Structure read/write by field name +* Avoid writing Structure fields marked 'volatile' +* Read and wrap function pointers in Structure fields when read with a Java proxy to allow easy Java-side invocation (Ken Larson) +* Support array-backed Buffers as arguments (wmeissner) +* Auto-conversion of custom types (wmeissner) +* Allow pointer type-safety +* Optional VM crash protection, via Native.setProtected(boolean) +* Auto-convert WString[] +* Provide library synchronization wrapper similar to Collections.synchronizedX +* Support lookup of OSX framework libraries by name +* Explicit access to shared library global data +* Invocation interception to facilitate translation of C preprocessor macros and inline functions +* Provide utility to determine Web Start native library cache location; auto-include this path if jnidispatch is included as a <nativelib> (robertengels) +* Provide access to aligned memory +* Versioning information embedded in jna.jar and native library + +Bug Fixes +--------- + +* Avoid attempts to free native library if it failed to load (wmeissner) +* Explicitly check method signatures for varargs instead of heuristically guessing (wmeissner) +* Disallow declaring Pointer-derived fields in Structures (Function, Memory) +* Ensure Object.toString/hashCode/equals methods are intercepted on proxyied interfaces +* Update X11 library for 64-bit use (wmeissner) +* Properly map arrays of char*/wchar_t* under w32 +* Allow Pointer[] as a Structure field and Function argument +* Fix some misleading Structure error messages +* Properly preserve/return GetLastError/errno after native calls +* Allocate executable memory on w32 to avoid errors with hardware-enforced data execution protection (DEP) +* Fix VM crash on w32 stdcall callbacks +* Use long offsets and sizes rather than ints (64-bit safe) +* Properly clean up references and release closure memory on JNI_Unload +* Use simpler AWT/JAWT library loading workaround +* Avoid changing array references within a Structure on read + +Release 2.5 +=========== + +Features +-------- + +* Unions +* Optimized shaped windows (chris deckers & olivier chafik); instantiation time improved by about 2-3 orders of magnitude for large, mostly contiguous shapes +* Provide type mapping in callback arguments/results +* Provide access to ByteBuffer direct address as a Pointer +* Provide customization of native string encoding with jna.encoding system property + +Bug Fixes +--------- + +* Properly handle VMs with reversed Structure member storage +* Avoid making window undecorated when clearing window mask on X11 +* Fix structure alignment bug on OSX/PPC when first element is > 4 bytes in size +* Clearing OSX window mask by setting to MASK_NONE now works properly +* Avoid index exceptions if native buffers are not NUL-terminated on string conversions +* Write initialized Structure[] argument memory prior to function calls +* Fix IllegalArgumentException reading WString into a Structure +* Clear memory when allocating a structure block (fixes VM crash) +* Remove versioned JAWT dependency on OSX, allowing use on 10.3/JRE1.4. + +Release 2.4 +=========== + +Features +-------- + +* Explicitly support unaligned structures +* Auto-reallocate structure arrays +* Automatic handling of w32 UNICODE/ASCII variants +* Automatic mapping of decorated w32 stdcall function names +* Customizable, automatic type conversion of arguments and results (wmeissner) +* Support char*[] arguments as Java String[] +* Structure supports Callback members (wmeissner) +* getByteBuffer from Pointer/Memory (wmeissner) +* Allow GC of native libraries +* Facilitate use from non-Java contexts (JRuby et al.) (wmeissner) +* Improve library path searching (wmeissner) +* Handle Structure[] arguments +* Handle native long arguments and return values +* Handle direct and array-based ByteBuffer arguments (wmeissner) +* Change default w32 build to use GCC (it's free, yo) + +Bug Fixes +--------- + +* Structure.toArray failed to initialize members +* Disallow explicit free of Structure/Memory +* Ensure native libraries are only loaded once until released +* Properly handle NULL when the return value is a Structure +* Proper conversion to wchar_t on linux +* Copy full length of Java strings to C strings instead of stopping when a NUL character is encountered From 768ea368a6fdce18af931a4d3493e7952c4445d2 Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 20:52:46 -0500 Subject: [PATCH 33/34] re-update changes doc --- CHANGES.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 943fe3c06d..7c95da6176 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,12 +1,20 @@ Next Release (3.5.2) ==================== +Bug Fixes +--------- +* [#183](https://github.com/twall/jna/pull/183): Fix LMAccess.GROUP_INFO_3.getFieldOrder() to return correct fields names. - [@bhamail](https://github.com/bhamail). + Features -------- * [#163](https://github.com/twall/jna/pull/163): The Java `GUID` structure can be used directly as alternative to `Ole32Util.getGUIDFromString()` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Ported Win32 `dbt.h` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Added Win32 `WTSRegisterSessionNotification` and `WTSUnRegisterSessionNotification` from `Wtsapi32.dll` - [@wolftobias](https://github.com/wolftobias). * [#163](https://github.com/twall/jna/pull/163): Added Win32 `native_window_msg` that creates windows, registers for USB device and logon/logoff notifications - [@wolftobias](https://github.com/wolftobias). +* [#178](https://github.com/twall/jna/pull/178): Added Win32 `USER_INFO_10` structure from `LMAccess.h` - [@davidmc24](https://github.com/davidmc24). +* [#174](https://github.com/twall/jna/pull/174): Recompile linux-amd64 natives to remove glibc-2.11 dependencies, now requires only 2.2.5 or better - [@twall](https://github.com/twall). +* [#180](https://github.com/twall/jna/pull/180): Fix: added missing fields in `XEvents.getFieldOrder()` - [@xwizard](https://github.com/xwizard). +* [#183](https://github.com/twall/jna/pull/183): Added StructureFieldOrderInspector unit test utility to scan for Structure field issues. See: com.sun.jna.platform.StructureFieldOrderTest.testMethodGetFieldOrder() - [@bhamail](https://github.com/bhamail). Release 3.5.1 ==================== @@ -15,13 +23,14 @@ Bug Fixes --------- * [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32Util.getDomainTrusts()` returns "empty" domain object - [@aikidojohn](https://github.com/aikidojohn). * [#145](https://github.com/twall/jna/pull/145): Fix `Netapi32.getDC()` - added missing fields in `DOMAIN_CONTROLLER_INFO` - [@aikidojohn](https://github.com/aikidojohn). -* [#151] 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) +* [#151](https://github.com/twall/jna/pull/151): 'platform.jar' in the dist directory was not updated for release 3.5.0. (The 'platform.jar' published to maven central was correct.) Release 3.5.0 ============= Features -------- +* [#62](https://github.com/twall/jna/issues/62) If a callback is required to reside in a DLL, use [`DLLCallback`](http://twall.github.com/jna/3.5.1/javadoc/com/sun/jna/win32/DLLCallback.html) to tag your Callback object - [@twall](https://github.com/twall). * `Structure.getFieldOrder()` supersedes `Structure.setFieldOrder()` and is now required - [@twall](https://github.com/twall). * Search `~/Library/Frameworks` and `/Library/Frameworks` on OSX - [@shaneholloway](https://github.com/shaneholloway). * Automatic cleanup of native threads (based on suggestions from neil smith) - [@twall](https://github.com/twall). From 9da1b4528d2ed4588f8d981b6d488d47a13b2e0c Mon Sep 17 00:00:00 2001 From: Dan Rollo Date: Thu, 24 Jan 2013 21:12:13 -0500 Subject: [PATCH 34/34] re-do skip windows tests that will fail if current user is non-admin --- .../com/sun/jna/platform/win32/Advapi32Test.java | 16 ++++++++++++++-- .../sun/jna/platform/win32/Advapi32UtilTest.java | 13 ++++++++----- .../com/sun/jna/platform/win32/Netapi32Test.java | 14 +++++++++----- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java index 49e5d79be0..9b7bbb4e85 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32Test.java @@ -273,7 +273,10 @@ public void testImpersonateLoggedOnUser() { userInfo.usri1_name = new WString("JNAAdvapi32TestImp"); userInfo.usri1_password = new WString("!JNAP$$Wrd0"); userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } try { HANDLEByReference phUser = new HANDLEByReference(); try { @@ -516,7 +519,16 @@ public void testReportEvent() { String applicationEventLog = "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application"; String jnaEventSource = "JNADevEventSource"; String jnaEventSourceRegistryPath = applicationEventLog + "\\" + jnaEventSource; - Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + // ignore test if not able to create key (need to be administrator to do this). + try { + final boolean keyCreated = Advapi32Util.registryCreateKey(WinReg.HKEY_LOCAL_MACHINE, jnaEventSourceRegistryPath); + if (!keyCreated) { + return; + } + } catch (Win32Exception e) { + return; + } + HANDLE h = Advapi32.INSTANCE.RegisterEventSource(null, jnaEventSource); IntByReference before = new IntByReference(); assertTrue(Advapi32.INSTANCE.GetNumberOfEventLogRecords(h, before)); diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java index 4fbed4f75e..2411d7d166 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Advapi32UtilTest.java @@ -109,10 +109,11 @@ public void testGetUserGroups() { userInfo.usri1_name = new WString("JNANetapi32TestUser"); userInfo.usri1_password = new WString("!JNAP$$Wrd0"); userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } try { - assertEquals("Error in NetUserAdd", - LMErr.NERR_Success, - Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)); HANDLEByReference phUser = new HANDLEByReference(); try { assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), @@ -142,9 +143,11 @@ public void testGetUserAccount() { userInfo.usri1_name = new WString("JNANetapi32TestUser"); userInfo.usri1_password = new WString("!JNAP$$Wrd0"); userInfo.usri1_priv = LMAccess.USER_PRIV_USER; + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(null, 1, userInfo, null)) { + return; + } try { - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - null, 1, userInfo, null)); HANDLEByReference phUser = new HANDLEByReference(); try { assertTrue(Advapi32.INSTANCE.LogonUser(userInfo.usri1_name.toString(), diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java index 3e469a96c6..6521eb078c 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Netapi32Test.java @@ -149,8 +149,10 @@ public void testNetUserAdd() { userInfo.usri1_name = new WString("JNANetapi32TestUser"); userInfo.usri1_password = new WString("!JNAP$$Wrd0"); userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { + return; + } assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserDel( Kernel32Util.getComputerName(), userInfo.usri1_name.toString())); } @@ -160,8 +162,10 @@ public void testNetUserChangePassword() { userInfo.usri1_name = new WString("JNANetapi32TestUser"); userInfo.usri1_password = new WString("!JNAP$$Wrd0"); userInfo.usri1_priv = LMAccess.USER_PRIV_USER; - assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserAdd( - Kernel32Util.getComputerName(), 1, userInfo, null)); + // ignore test if not able to add user (need to be administrator to do this). + if (LMErr.NERR_Success != Netapi32.INSTANCE.NetUserAdd(Kernel32Util.getComputerName(), 1, userInfo, null)) { + return; + } try { assertEquals(LMErr.NERR_Success, Netapi32.INSTANCE.NetUserChangePassword( Kernel32Util.getComputerName(), userInfo.usri1_name.toString(), userInfo.usri1_password.toString(), @@ -249,7 +253,7 @@ public void testDsEnumerateDomainTrusts() { assertTrue(Ole32Util.getStringFromGUID(trust.DomainGuid).startsWith("{")); } - + assertEquals(W32Errors.ERROR_SUCCESS, Netapi32.INSTANCE.NetApiBufferFree(domainTrustRefs.getPointer())); }

d)YNhyGfW|9zXRz*+kAa*ej>vV)6X)zjXe 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 LGk+H5yKesnUCdG7 literal 0 HcmV?d00001 diff --git a/lib/test/javassist-3.12.1.GA.jar b/lib/test/javassist-3.12.1.GA.jar new file mode 100644 index 0000000000000000000000000000000000000000..aba1783b705d85903651d561de28141cb0c1b3c5 GIT binary patch literal 644148 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%0DW4$pvC~@ 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

@D0niVZ=2DC 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�Za6J(R#*$(#Uqs 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


SCQt8@ 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ͻHZK?y&=o2#!$4`%Wt-uA%q3 z`HsYf#2b6H=*8lBlbS`QMeX9T1>abu#GApo&HC&DZh?1rOX}Z;ChsOa;m_Xx{(Sze z*npV*hStyDD?QTx<@x+qU~P*fg8Vsx>j^MRY?HMVziP@as!n9K_qVIu;NNFGOKE~( zFKPnKpY}+kUhQ1=Kt#}`vUdl11>xT1>w^Mcs1U!Mi51LBZ^rIi)2vX|$l-Cc*8jo{1S&>mr!BU_fO2prlbGzJpf;4SnRIAR7*L_M zYAfm254%cl*2(mb$L>9Bi&59#1vRn^=3rKuKOCm5Spf~Xx*t=UL~9lih8omdF4dfCSc-(K zo4J`wWUX@4sDkAa(g{@q_l&>fDOH9y{?K@8u;|*#ZDv6)#P@r0F0hvvsEopF z8mFBGFzT!jRh)xla~Ps00kX=traLIAaMF#n2WfDu(C6=Zw0Zk9U{G)_p5;fuY%ZR` zTUj>e?a`i?y*8ncJbsyj3}|;;0`qj53+RSFCPo)<0j|9* z(^W!w4hH0NX;oP6JX&7)@xQ1%#7Nep%YyX zY32fzr~e|KyiJ4fDBPRZ)U^V3>{`3>Sed_hyCiI+$1d1K$H`Noa?0;bcnVw$#`hv9oWFdWFOFP)1 zybZ?({OSrzWEa`BmyW+8iQtvdl*Nn~olLVv>X3V5_jYU)7SGK71dazLHuV*|f1e^M zf~ALl`vY-%1Ank%6!+!F@X7B_2SUNQ%aPTu;e3xhgAg5-04YpTQDiYij>(ZVO0CkF zxsI&>SH@ya#}yA_Q2ZdID#S?jg#hu1B>FNNG4BPxW{`A6KjDII!WGpJ@#|*K{%38| zTd&~u0u=|+Ejo7)?E06K+OGthF=E|eD@exjz9abQ%CQxOk_Zffb1F9k2+Up-?UV7Z z|JW7IWG=M*(-LsMr|o~=6-wLMnEg*wtqk}k;^2K|QfM~*i-_AGEw**hJy#si(gCX8 zkS{KQVGm*jji9CqkD$hofKB=ywtEJVN%746kk>ILZsYNW>s%MYo{LS>446AMHa5Kf zwr_R6J=Bi&{$vjo1v_vfiDu}^7!U@l-E+o3Q!F!%>l=pN?jyw8mR`J71xvL{r>pd8 zOBhk1Ho0Z38COrS&nBp^*1!q$r(q(d%V;^HV-z1gTELW1DV5OrWmN*$JZ-`Z>8xO( zUNE+bsnM{?u)23HOM0hSJXntDE=PI`tx@w63iE zXVub+>a-Y@r*hR)=WG_E0NE;)a zew?bwXZe0HuM;Cs*Sm1&=)LD&U7+(|pUj$%_!^b2v6~@v+u>79tXya2$%}R|HmoP; zt=gnz3`il%iMWM~X{nS#mY2@Fdvt9jtMd~+vgvb{=Ivo-!8XCvMV5^op-saXu)%Zz z992vwcQNul$vmWH9g{x7TrAM zpAbG`-|@Crd*B56koo=jjU z!i$T;HB??7CO8vAaA5EY6GXLxEFJcTWEbi;5~M63UQp_THswH+a7-f;d@Iiu;V4=r z#aTK0Rfj2a`AEE{R#Y@PCLsq>7~IEXm=ueCL?rqWrl5Np*Ws2m7-^tk8*DN?bG6^s zDsKwR`O9^`8#_lZ#b-3_F?5$6$4vygfju^L;CRp4@R0^QD3t<98>C0o*7$#R1y#U5+g2ai_HkN!6bJ}b@CZ6_w{Q!o zVv@3Id~@?d5`n6`{f4zZ!PV$aEb*1=UJd&Yvvs;I^^~*0s(KnU65GKvCkPOPr9JCnMuH(1Om6LWZE$ z4^O9aEt%Sm5ED+s9L6l&6`i{g)`}Vt?I9)L=`y&~G1H(iSck(25jAHR$hKF$$InCF zhlJQJ^CfGU+`s5*0sU>X+$fK`0YPSvs(0G{5iFpXl8{bGBvn+aegp?<|ApTfq|T~VTWD=ajxi{t>_ zKQLx;>5-YcEz6xs4a-R|{gq|2*dq@1a?vsaSw+PX7s7V*gCcAJ!=i-z6y#Wbw}|_Lth^ zw5lAuQDZvTwt5l#mx$8_%SjLHq>pSNZb0h2V6ONkv06lK;;e{l9FAj}i@Ewa;y&O` z`sOe9l^Wdm)Qs6h6i%#cG@#MzulR6C&G}dZPm61{(Y)y}befbbj-2KV_%kAjO}Je&Ke*=2Hz7WBz)<;Hvu zIidghgZtf!S#bRp&Rj}(L1JbHU$7#dEv{j~HV&^>l!_!4cUM`l;OK{>s%+w@MaK;B z5pYwn@5q|LT>}roOMT3pk{}pwG<|O<`D}jn>@N0fVd`u_?yNx&8vRJ5`fjB95uCv- zNo@{eK^RdGGFX|cpk8fNfB>}nk}AFQwB=n9b4_A%9OGkSpyvWv5|1?by+9H})SNFH zF|~XqACbfeOzj$UA#y0}x37(MOJuXMUVYnkS)-RLUVYSuy2tk!ej}FT??tn2iQDcZ z_+6>;1yhAHihYe@Hzw^ZBJEv+npPlfM!?(4IZ^xX~p z=(m}Xk6?o-=np9Y43xGrFXaFI;X+|UY(jbor9nNP5>e&GilW-MKieqz`k_lmaF3vz zi=b`g@_+vN?~PHyL}Di38!Tyk&rdY}IzP!cTRU0&Z@NfdM*Cpq3v_m?lZzQAr+dYWUq-S*gnZ zdx`d#sMKB&R_87XFe@^f^!ADUac?@Yd(RWCGeV^+NIV+lWRltK*@oY3LboI>Xn zx53)_>?~Y_&Xu~G#8sMe#8p!fx82R%Gc9N}TpIw*bX^GT((bb$!L27Wm^DP6kjryj zt%zZIr@t3N_*pH_^H3O<9XFo&Ay4GhZhp=ZZdb=I@yW!Q5*-=Pn*jG~S78K+nkF3I z)`htITh~fW+r^7^$*nmhu#023nw4b2+we`NKv^~N`ECVUK5f3Zrfxc(RIhUFn_o-S zgZKr-ylU$0B2qTZ;>TD$iwZIA>pP8N1&NO}NQym=f(g7#5i(cS&v68<>@*zWOHpG? zA7p>BL!6562d{g9kYaocDiJP&Yg&tVTHoHhC6ZUu`psBL8BB~YM`frt$_`M4eE1U% z-u$aX>h5?MrOR|@U4?58#9NEw?n!xD>jPAU`4D5mvJbC`Vob&3K`6s+lgEgAR$y=g@BNm z3LJqyuQco|#*Fum2vc*Z3<7A)zkbJZ28jmNU>Nt?1r(@Eh%aPO@PJY!;}I!jct#!8 zc03YCQ%HjJMk*nn6e@RxFk#XMHiAq$J#zX}H8>_E&&|1#YgHRhj+4=ow)*rB>Fw&t zl;#Y)pMdr=fKIUK-^onfdS;voE2ATsDD+_oKb9=Z?J#D{9th^1nrSjw&`u%EuX?pV za*=;u?92FqS=N4mE6VMgDT(?OYq(%x0{n%U(EYpSkb9e|8fV()aMNE)i z7@4*ti!3iJfu+fh;YciHGJAm7&Pv`a=qn%pJJ*~>#PK>Ow25!pOT_U5|D-HS*6<6D6?4I$m)ET$$u9&h#U#tQ8;PkXm5`!$h^gIQkdbfB%?2 zP}WT(za?cL-;%O_CqraST>k~)Y&jySAb)LbXU@{b72!3-rPQJ>gcLyrwES#BrtjyE zSB9?$zB09FE$TFA1XwJweL?7XpGCqg*%KZB*UmhXvA>>=o_>GPy!1qF*QO8JT!=DiBdk0Sf=|Pe94Cn*IZRmZ! zChZj1V0aiMgRWpI2Tzu;*1$H@p+EQ~f#~4-I2Jx?uuKA*aSt*aWk1b-B4Z3JUk220 zC{>zd=M(kj(N-o$DAaIh)b#g3I*4ci@) zQ73w(GLJUkc{W}^eA&O;hqQ1j_cxS1!SGar7MH)5$t%=LJ%| z!8L-8!{-}_5XJS>f0l8!NNG5=2#Eef{$(7jF%v4HH@mU)SYsfM{kdtl%38{0_84J` zWimk_A`9INbVijhs~}m9M(oL)P3DzHQ@S>;ma+42ESK9rQ%g9}!%|EtFrMYW`%BR>mnX_Bjt}uZsN-Q{# znla1J7zVFt9A@E_BZu!2iWfZPi5(J3a;ZTi?*R&J3xSEhgu3qHXtkS{95m>3=d#@+ zW4O94t5ythxG`b?I+4}utYlEkg0oZUlgof^#buWLS^B?tm{v-R!^*5`=8B!LCG{H{ z)E=PNmK4I3t^8d1T}_9Z2^NLRx@so&lqm+LD#xu@D~OIp=XHea)X1;{BmQ2eV)iWJ+A#qwC`>7QupDI87D(gn^yc zEa$-YFTy&eS3D%4UW8r;Xb=j!gXV(59wLGnm!ka8-wr$R@z z!P={1DVg6lQ*c2$pX#vm!Yw3W8J#+7gCNLU2upj%lM))yg{rT~~PvyOFIi zb`{>>GfxcK=g%*HK0)sp3C#Q=_L;P)>z)&y6YdlD+>@=3KeM$iKez)O5Lt8N@{rnz zXABs}PeDR6&I$@O2-(=s4-{nFd!t zrq1%tA)Th(d$@XgIu1ij%*scm>f7`7f7fv2myS#qVQk%=1Bo%~hO_4=J#4!Q{p>t^ zvtie9Ja5FcZi-wnREj>PBU=c?{~kBUt10Z{Mav-Up(% zndH@6ZKcC-XBYQhKT;t=99?e)2g2HccV}2D|6avqLE_5(j(Z)rjtp+eNjTNsKYXjs zbu8n<`aD%_jU8NHPljLh-`l}--U4}-mAE>&`46!TL)Vt15 zY5?PT+XtHcse-<<@5_U)?Y{FlFEc!a{yLR7J8%VOq5?FnAhOu_pvkTkOXZro%4_oJ z2_6hIrpHeEZY94(t&8I|dbBk+2b)284wk9%TTwxc%|IrBXrY@PzW#G8yh-zwg#5yo?z-nMfdNMfPH!6QVWi>qB z;IOiWx??JQG5{13nQSFKX`1oEMwzJK^#_N)quJNm37}`w;NLcpu zFDp0Yt9&f7lgP6fFBlI(kGTQRCln99AWh=?)x--nTerDrUdlu<$ z$|I{s(uG()i_$Z!rdpO*G|kZ|>!MNsAuH?ah1EVsPT!Q1z*8`+M?%Hl>&FiX>CagI z9kl^WU0Ddey)7Q!{M7%_C!8Ei{-<&@SxLugQ6HVhHjzaJb8G#Dp;W6=qZ!YUW?#pI zegZ6+FfeAj^ej@ep{VF=^&Ki8pmz|fAMSSG+unjGw?J>TqR}Ou6Z_;o>zMOE%;)R< z^)t^u#GkpviP~VJ&pQd)1CE({K^~Rz`_RN9Sq}`BEO)AlB9S{=h2wb=%aZo9o2Wf!l3}jzVn|$L? za*@`+04W8!P(xE_2xQWN6{2KakSEzoWwd4hr=h#lxK1nN&c0sYgDaLHIJcjVzv-Or z1q(Z|R9y$6@FcH$xv7koJrVk=o((MMpyP|ZdOsJA%!1_XQYeYUX-Ud#%zT-q9&E7B z;KK5|eR?=xh9=@Km&#%uda6<|hh|GcHi*BRaWS?;uS@bVP`gHWF1XW|-hoIiwOU*! zGjYVb-okrgTdp{d2P7U27?XyF=hSyb#5r4-zMrF^@8{^>70OCZ4i^8q7`brxN1?pjLM^sdRG-N%vjFyFb8;-W2;>Y=WFw>_ zh-sH0NH=J0Oj1@TUPEj~?&}V@o$ssPNB_S2(~Uf&k&57a^{x-PaNhFil4Iv(M&u-x z&-V?dkA<6wKE{d&eQ*P8yWhFJDrU}MuurCoD)wgl$Q!s-esZtHAFj@HSIDdAASQ-0 z(1kcFW>|jJiy%gL3E^6x8RNCZQ{HH7yG4gf+bE6lNl(oMgVDKGWTcc8u(E!ReXa2s zv+9VPWd>=c_T0ifIw1Yrj6;7&;<-Mr!!g0MF>u<*j}{>>W>q&LG7>KiZL4Ld(&jLT*W-D2O1@_n# z1S^6ct!B)rTHti*HdG%u%GtB~j40>CZPNBkhnWnyQ@iBIx9&*Uolm2^QYc*UPHIw2 zOFp?{Ya{NB?ohC#>B>D{@JYp1KCPY==YXw?j+bR?rR@CJkQW@w` z%xJD1h4}75wwZdzu=xtdv&^RM27)s5k#Qqb@Rh@9E%l+3c;xRy8Z$}$b9pkxF2D%* zYHu5A651-64B9NT8DkKA{Y8`s%8;6Bd^;t2kD5NM_;Z7i(Xx8(^qdlQoUvp*J0%e3a1*1%u zv=PK)#8^`SF;#m3dHa@v{H#C?+1T$?tTo~vKhXY-u=_8U z*swZ;8}=V(UpY++)yjD4YHJLM)s*OH=QTzk=rJ(rN!2)_an_zVX>8F>BKK)awaXam z$zyQ%82B+6%rSwpqc|ma!gO+&B7$N9*UW7W&GnL|>Fg#MEXjM%uk`HfY@G4qi>KyX z-svxol`oyIr@zB$d=DIi>qBs2r(BO);MJu!D!UJ^2$n^?sk2h|FQJmJVy|TB-g>-W z)VZltXL_f4M-R4`ANYbQk3wso3PGZ$qX@4MAIgQf7LO0$OY?LCk2j2;p_jeHjbBmn zNj~NCz9Of+XC?yg$@IP?(qBXeQU)F>eLm5kNIHIvGaL#YwaVcHHm)D0vN5}79$a^cVRGX zqvmX`f4eCK{k2H0of)FCMcsxepm9E_;T!h4YH1tgM19dqPumg43M1 zbc((=rreO)fYd&=o_SF+IB}Y^LG|Rc$z-IjwUN#h_WiyZf<8E>rOA!olg1>AW*8gT zPZN$Y_)xImQg{M8BLkg<=?x}LJVQI0vF|N50qalX0LE0H~C`noC(9UDw5pO-q zE{&1YP91^GNMcY`%J^hFjl+T@?^nrk%8v}FF>O=gq?l!pv$D|vZ?RJ9#d#$QRwN@x zGHNCxb&IqUAT2f}Rl+rnAHTm*Z5@dbgqL9=RGFTJwH#+Qh`H+|5G5~Oaj1wA*Az7f zRUoHqHe!ttls!sQkMIJ>%A_W$Yb5APv13nLQ!&dJR^@bJN_xbN>$macrq$chdTNS1 z;Hc2@nz9ic@)(CrrR?wJ#%$BNfz>3cl$`XwV7e?YR2I>zUmgdzkNGIpvPXclJ62tq zYIdTv`9Ry6_K-fWGiZm4g~ubhlbRi?xn$FBoPf7;9D4U(V>8miE~+dpeM@Mdo#1Np zU8mE0x?G41s3e3msERIhov|?Wn=#Og4m8CMxzhGNRUr7`%q!0+u^_&_Ul=*^y*AoL3 zw46dq5Yq4JL};-6CE=?eo;RTyopjdup*A~nJ#S<>l@LeX*T~|=4sO@}1D6d^Vmuxc z-ReCnWIp zvkn>`!qoWte~_3+miz;dys$vOy*=5kcNfkb+1u5N)lQi+z>j6Ja(jb;+(mab*-y8+ z*|nt{*-!IKoHr-Hn0UWm;CJ#K=)IBRooY@5Lqp&$yoh=Q*u8ZQh&X%WZ7KUMS%wDM z=VsOrAR%Of@Q2!V8x)APFMGVF85qP}8)pi!7tavdC$1iu7lR`~J4WpDP0yKy6^QQ_N1LB7)Bk!>iPB{`%>$)*aU}?9lnJXzpPKdWEA3(4; zy(4m#*^3=B$cCj8IlU8j{mBkr%afAR{7hrX8o~!w=gzdepcY>rqRdLbLRb3@6|)R} z7o^N6d1;>@c`25joXKGq(x7^c4Z6dJ_MF(A`6szMAkOQLWKM6klo@KCD0yj~Xkqw( zcb+}MWGp_zX73Co%6^z3B_pbyaJ|q9bYhvPeu^)3arUO)#5Z~(WV|qSN-w|g_UOUx z6g&WPm)~hQ`^4cnNSh1Uh_M)AN>;R@VCTuQj(&^wsJpUv{MV(t<`_o+y`E$NwQF_s zzG%H#w>yCuwa?yEbqd!cx_MmcO3)h6P6`b23XSmKD!;iv7#~{^-7+Hmy|P6NygHXc zoN2=&USs$Lg8|}sbDuTD=wmBIAlp+bIUtDlt@P4Vs5C9uE1Tp#&GXf859B}Xn+fr2 zinphUNmXEU6GWRkd2iz(FO!vd62)rodqmvK3fsx1XwF*?2j;f=6B8bl-@-l!iRH-h zaKF^2gpabBNBRpmFE-{J>B^Zwpj0ikQ}TJ!u(koeMTE%vRB%`byAw2n49~_bO1k}7 zd~@nf5CcaJQ+6@OSCG#{xvwQ^E`T(U3CFE;w2bLCP;DX?n(GL;b)ao1c!C%>EF?7+ z5tJpVH`PG8<7u5svQLU@hBsIdYRijV5eO#4N?miZg05PcL6Yxtzz#RFqmJ_!nyJge z3rdUt_&WhHLN*FGPt8A*>kCaUO;w8JevMjePbwsQtIP##S02jt*>Z)(g0pE)C|ri9 z>8!;ae*Mr^Jv4Pu(bAgZTlFlBtbF0GIN9RJV#^b@1PH|HOFiy>(``pNzWO!>I^kN&++om%n zXy{2@lZ$nuoZ{lhwlhkK(*T#|r8ZHR?@U`3=MfUC5V^is$rddv%v);85eX{`qRmNU zkd`P}I%fzjv>9v%b#I)(UUoxN3a!E!R9Rc`Np02}#7O2SgS+ly^@}&594tAZnSNhs z+mf**Rc!P;)s0JB^VU}_FnuzrP1+7{2RBm~zWy1yHMzP-k85G&n;~gNVGL)2vuhcMsG!Js2?FMJy_sZ67!d%<91Owqt~zykr}MP zo_wbW6SFWnDG%Tzt#ihhneQ2o>k)eom3|bpECfeYsIp+{LHB_QG8-ue|K*(){_Ocv zr=klKtkS}Y4!%eeN5)SFQd5rVc$&3s)JRyaWt6+BiM++@HvwP4vT!E0Ow;rNq!!$K z^0R)s(;31d=!;X`#`Q@mvd&yAeZn>DIB|343K6`cS|=|lPaF2D>_0{x>M)5hn1J$a|*(O2(VOpeH5JC^ZPUnMsv{IqJdBn}r*HP0$bC z5C4NiypU*+POF?{*um~)7#F|UVIeGDxeL7f+mI9Uk131_OhmNcl@?yAMDxt&;)37e zROQ3*Mliv5-q4+~i-==-a6U4(ugSZukl0$M5Gxd^yCY`EPbz-C0lWoX#ZdOF)z>@4 z`_k-93u0$RySvjAc%^de>t`;H6@!*njlT&-Cap$h44CTH6LD!SVno$_sO(RjIGrXS zAy!E}`UAC(31|Jv@Z4iqpW}N`!`_oFo^)UxR{wS~@_pud-VV}!mY!Pt^6k4j!Hfl? zw|N{rZp{zA;lJ5|xrIsh)+7Nd(a3Nl*Si*1wU9#PmCD9@fOztbwM(wCGdsfw9kLN? z)`t{rgk!+CYGD;PBLqD28Xl%)Q?9@skK+13hg4?X?nJB za@vp|b9(f*itD$HS^P8>rl8qbMAxIs*gNEDEk8-EB2gllUQ36y)|n%5jBZF?%ApF- zsc6uOBYZo;!>kdh?2FhVC|RCvrM%kfewr2hZgW%61^(}buVDFhw|H>(oSxIL*75O% zBS5jEQ}XPJTk~kv5iB2FHXj&{*3++gGSrBc;Gmg4ZU9D%jR;WttH$W!r2k$$ovR{; zUcgEBWOFT8syk5s@cA`sE8@$??Yqj_p~?}9kBaV36phg% zI8;s{g0@@Syh|Ki2C)^YTW_ZQuy##LzHK{_C2E{7+##R`;ED>)$EwO`o72E&_TU!~ z%ZWtg>C& zN?J6|SIx@Fj`zB%3wn7zD7wB9zDKu=d*VR769=dd$}E>@H8`MK^c7~kkzR?>eFAPVHU{y%r}l>a zR_Xr73@c*-Ff?%>7BVn0H~FtoHdQ&6(d+cg@hiJ$<+Epv#Ckx{ZFQ~vgZ5#X zjmh`x?OKlTHEQ_)IbV$7Ja1H+d(V(1q{k~LNAxs3&uz(W!iAzX6GdQr7~ri|yE5JJ z9Z!)GW!YaQ0~vt|sJxyD17wH}XL`@LouR8z*w%8gEUqIuF_3)g;I`H=UAfG#GBbC@ zg(RleNQC5{3M?=tVM=B$f+0OTP_GJf-Ah)aZ9KCplvpnU1~|IaMVT0EHAHFD{5gQP z0)L9uj+NJKD8v;6fXOxxl~q=)+-Rm;oyJ&bskiTRB&AE&LMcWh=YnMOv4REA4BjC{ zfx$m}s6uXt&i|zK`7)VbHIU{J+#w93;Z|P{R`wtQPumTLRaG!&2N&PDQy+zB49P<5I{$`zAkyT~JQ z`1403RwE;dWJe(sWW65POVZMB?pgT?7l}B(@ED3k#%zpB_X?9mlc=Ryj&IA zNsehVL9*2fPS(Vgnn{lekDgI`GB0$R`Dfkt`8=ZrM&?@!q4MAkj@Y zaV8t-gANCLIB0wC#U3oHeD)2xL44G1VHn39auI1D*;I&~p1osu9HNL3m9u+%i_6&~rluJHD+lpn3QOA;Xmij|PcW@fUUHXK?K4F9Lpih(JQv z1RFPT!k;0hEpiTR6dX}^T8j6q-fOtr)jV!UKl=~1g$~<7p$FB=aJ)u;!Ls$c&Vc1W zgUEpeB)i-y^ECY# zXiPTMl3YyLUsGHMkY7Qx0b#}JA23*R`$u!jUMl5!bx`Dn=&13oBBA3@nF&D{R$B$f}_5cEzHh98bE^U>*;&h!F=O_8R_xa`< z5<^?gYlq|=y8Pr8>eJ`Gkgs^Z1uXF@+9RaxiLWA<#t{23ii?^7^$G=W=`5p(7BB;7 zc*-=cP2p}~Pj<{t-(Ne3kJgoIxNevTjd%24ABA+tWlPsJeSK~z5Z4g(hfSCR3jY$R z>h>op4g>4&VQve6b@7A!w%5c4c|qYR%00qlUQuFFj6}Czsq^!Y?&)|khhXvXPc7bt z+?NOoinDcu6ZwDR@&8#bpNGIsE`P6#vLJr^K>yb!`d{tSS!Lr}-h=%q+jv&8K~qct zN?GQY2LM7wuG9`jrCeH2jo75zCtWLnIK`#~H%J zn2X}J-lxTm_Ra1CX0hCUrBo?06b+LSh0zQ~`BR(1u(#oFL^e#Hr7iBA-y#eIkGKz{bs`A+3Xt-W+ZQZc%4njPV=VX>1tt*n9K zPisDL)EwZ+t8c9wc6|{qLVIG6-e5awdv=k}%c+-R$3Lf~wm6Wb3;iW1dufDC6iI)( zHwjEd2&KE6Eo>op^}fe|d8TNLrKokT~{SUG2pZ`Qu%&q#Sx62ZjeqHAzPR4UXT z?j);e&E{BuX{EDs5Jh64w)_{4&2DK?-X*yDFKFp*-E4dp+Y|f54CQHldcZy{sh(lh z6{LxbN5nL}<_kCDNjx-*q>uU%1Kq(CyGsxJEs=gc?C)36V*eP8O1m*uC|geZ+fCNK(;yl`OZD-vUS?)M;*LZ_d;iZg9w*8Lahkeor#Q z_G?2wT;O@gxIBFPs7QH-P;k^_yn?DZYto<5S7f{h$#M<1@V=5jQQTXCE3UtO2IC&r+C$=4O+0 zQY%7*3M;LR3l5z(IL&BOXl~ktsnPkz-eV&P=21(*mFtZ4s=L=AbnOQ1MG9 zY}{BNsY{N~v#e<~bkN`KGW!_PYkY@F%m$VpwZ9Ce8U$FR`4ICR6ZklkTCuSCYVDQt z3lW<`WBBk9f3rH^t)~k^%p+>v2;fPL7?Ct(OCmC+%;Q!an1Y_Gk3edWC6G9g9#8>y z1=WO_*a}7+pj|#nxqP8K={0WJ-V*i<<9dY(J@6a*g7Rh_CWw+IWo zhv2@?MA+OBZJIjz#wBpEM$XF;?qrUpTF2 zYW;;$9?2Nh)PtSUCX;csGHqOmbKgek;p`9)2kantHH z#)q8GoE*B$`_E7EgZAQt1(u0#@rvh+d(MNy>{ac~jxUh9h>C~=@E`!imAS}XZI}lJ z!`d9Z&l`pl*Z59;!T~jt61UuKDsMez7jVr0t*SkW)>&ePYfpgUF>T+bc9zyN>m34G zs9J@WfoE>@R-lZ)rH$QI-TqL=7^rBkm1R(7!}V_RR5sqdV%jK_;kDH~B|G?N-42&L zRpKkNV5|4dbuc}?3^Zo54u&A;OX4hAr2Yjmc?n?dkuLisy_wl!1Z63+PR?3}X|JDn zaTzSGGRec)VxplW3NrUj+$JJJ0SJzCh^JJo%9BI-ax$LF@ojppucJtbAZxO<-?_gu z+FQVgMjtN1bfEd1xpWa`+2=GKw=T>OJXHzDYT{|V(0CV-AMe|7P&39yk;6Df^iXgV z_VRP!;lx358==qjtL>EKl8w7jkqn^;83qYiJU_rDlCT_CjIWiz5kVg^>xzE7Q+bHf zD$u@EIa5!$4i<8hd${M3DcZKU~WziZSGi5Yl*+5V8S zv#3K#gkp)B_^CK;vA=NtT`_{78nOWXUG9Ir*ZGwHUhWb$PXAi*iaK&g0?0hAIvrOH z^5x)`B9X|OsQEoB&-}^8iLdeeultKGu0TTTTc)n``UP;j&sJV@L$O1@eEs+)+{`Fs z7F7*NnVyWUIUJ9VKR+KH(EP+!oAvi~e{v{OR~`7^V!12JSf{)3r(wC(uaLz_jq#-9 zE6ah094vEMYbxM_54S)MM=tuP4Tb8qj;1Se-FNGbMi$3}N(kXh2Gt#gRGxPTGtet_O^x#^|Q2caPbH~Jn0h7`FA-)_<8u1flXKR9&$aF2L< zlZY2)8}*pOsIfH`nr`N|uiyER?U>gdc_1h+TD-|F1~jLb|F#2km9}zW7-F2qO1erT z-2vE+#Z0%<%+;%!aSxG|7pA@DYsfZ%+|5^iYkZAeEN?RzY*013IFwvtA^UOnj*VFTN zJyHF8J^f>u{r7^JwD~6*o6UZI)fo%C7*x^%lBQW{y$;TBp1)Z1Cnbu>;6%MxIn`*) zB}G8&4`TJYT{LySAtA&5U$+WjTsC0^#L8nC?X!-@&*z`79|vT9ovSSQM$`NVDo7V? z8UxjctWKN%hpl(u&IIbVbgNRaZB*=3Y@2UvJ9%R}Rk3Z`wr$(CZQp$3^c{WrbpMAv z_TF>NHJ`ayBSHbY-hY8oEJCpflgqzJZst68Qf)ri`8$41fCNA5v5m;>)LCd!X|?7k z5RVN?iCY?Y%PwB0F>f&_PlbS17fnQ{1|d%pYjRvz@;wH640%ic_?_@j=t;6~cWxuS zhfPCGa;&pX0D2ly$^(Ah8Q*K@^U#qqXA7?ukYujI(-fn}>$wx+1N+Q_2S3y)-tp~e zBrnjd0>G<+tmn%JMo5C)!zn!^H~eZu?xNEXP(!Sov+n_CageL@{0wb+pTPGSdrgs;t%6 zPx?azp1oaI>a`=!ampQd&Aai1ARvU;L_~#fOsbt<5Kj@90=EPj8mfl94k?1%Ix&<2 zbOiF2=#Sxsx{;SqJHw%)-I9`(YyRvqE}xjXugC#nhUEdQMzZ%sGA-jZ9HI2_mbTA!J5IBt$6*ySW#J~ zHbB8}4dm3s86@~Wuc)D6#v-`yBgOZvQ2uAG=)a%N;^#49oGB$Jkh+c8ccDt=` zaON)*0rBXkB=tL?zU<6$B?`~cq4qoVHL4Y5{gLOizFoh>ZI5%rJ;iaKf4)=nm&b|9 z8OCR{p9YC1VeFw9?mh)$8)(`9yXlo_d?P1Z}ABh&XNNXgf->P zp!DeP@r!udE|cuzzxh;UA|__6oB@OM>IG$yL#_Ct{{UXKu{zK`r;Wq{$@%^n-u>%v4COORM9;))k6%1c+$IWW$ASD&e2Rf=@ z#1PQl9M+E0PBZS%Z(@Of^~tXA235MyMSPdg0gLXcE1c*Fq$4GaP=s9pfY?VemaD`@K{p&l;vZFqE747RJsJs#ITvg@VWUc9)sd9W^2u6(ka2SX6o0$>EUdB`qx z)B2ZQ$sPpy1y9#!NQti$V+6)=L0-?8UATvbdo)hrGMi%#PdB5o*Zp?Zmq$w|>s%*8 z(jn0qa<4tKxViqJd*Ki58AI&E0Xc?9*;hUgct3pW)2C;p{{Omd7LX5)?KR*KTB}5+%tv4_w zMY&LZji{_Swh{7JS*??8o0D@eE}=;s^APuaxVx7v5-b`2K%(uGks5m5z`n;6s)5as z%N}PIoQ#JZ8jkJuHP=F-h&YXD9%O*j+TBg*F3cXg76z?MlLi{(f7V-v=c8yo6*)Sy z2#C+=Q9*D79TduBQwSbUxrB|Z*Bdbc6f%o5LmSLn#IfYRi2zW%6{T@;vg=6`| z#*Hw^8Bp7YK&*o#7pd0BQ_7wMZ)RzTy=G!uU28H-xxCMiYISACh!-2p)KJHoXP8sF|_ z)J=Wp-TE9u_AYrgGhJfYGbKXC(MVQ~*ua$A30=SPI|%CLpBrklu0bX$Z$CU}@3LK& z=MG=K;%8##vS$?M;%BB$!4-$oy6oMm=d{qSJpw9Z%T^QUPum|~O4onTz6R@{Kl66G z&U?VPi=d-L2(L+uQMq`nUZWey6Z2(sPkR}jVmG&mIBE)EXq;oxpF+Ms>1bxVFq8Nm```qA)M*t7MbGrVO<%tlM+7qutZ37!zpO%X79w z;*6vV{VZ7?6-4hc`WXdB##|aH99dgz=ncN1L)=E<4XUaxK&Y(`A6}RI+%la30Bahw zAK}+D&Yxq$f`K_B_pn$SYduMnduAvrR?tsf53IPQOBVH~LfZ&;zxPra;emR&uHDw? z+ehDs_f)wd^R)KFFWLUm)F-$2J%l?c)o$p&a;}&6_RvhnZrot%b%(p(WR2azw7o}N z?smcMU1JwTPS@lyD&mc~m_M4=XCy%1?(MaGg zDJ|)avEg;2t58wSy-E_ZvWM6XSHP@XH*xKC)Ej*g^AFYN#0ADg4p%~7GXW-z0>1A$ zUbnw0+t{~)!<%CiyF@E%;k2_?XtQDn<{JMhn$bz~ZQvVY(p6tOGWJ)laKs1uApM0= zTJWGT{)`y}qNJc!tVX1WOUVizhPIO%yK+4EpQjAlR$+M6KXRUWm{r0Scs|sXH%`YD zwC7x7&ZD?l=#(6gnHx7!3bd{jpjFM&;$quW5A@tV=%YNzp)*D49h%2KsElKayrj%Q z-UphUg~_rTv_)h#p|H9vmoJWW1fFwLKz~;Sw{?bQp4UW;D;wF3ctwg|#&Rkvl0_v2 zdRu%L$BKjt5fXgNhIyDRMJ_YD(!w2ht~4+UQ-Eh`V!8hiIYJ~!Rep@j4b_pVOU@W5 zFtM4$EIlC&YcUEo&Y;I7cHami!)?OSGRH#oWNL)9u4}C1eTPK%pCYn_bm&DO=KqoW zdmh(!mjhb11|{6`XEz7^DMK(Jlpzhld;>bojuyT8_*ib@dsXrjl5tJ9=X`{I4pu^( zkg1iv|DFE%cpByw2MWc}tC+Sk;QC=pW6QWl4sdo>r`8V)b`Q%SKeF?EfEv%0Exg$t zyX#3ZOkSSIoL<;6u&+D7Qf%%ySyW_glB8kb09NMfhDMg0Y=6{8MxB5w)RBZ0Xzw@_ z=X=v{_w>A@$Bad6$f*0n>+7KKoODqBi*v~fhqxLKd6+htJ>q<6g&(5{Ivn%7XU=iJ ze_v3N%941vx2liq4CTC*=2di@W{LD-g@J-j@;h!Q_qojf7k0Is|rwtR#J1BR3ctxA}CIZ{})0F7uB z{n+e7{3DR^mRW}sMpTz~mA8F0v=IT~2D>&-;nbb>BUE0%!X|fin~-4jniHEkhp`T_ zY6wSs412t9q8=|4E{kZL$j+NMfq=IFpGxefx5gy!+AK3pxhkhrQg)H?Q9R8OltYV>xvxK%`7{UA-{QQS6WH@bFKN5(b zMH|2u1sSJHoPn%o;OEhd0JfebL!LM>pLkkP9Pce)wZ3_(SwdWMwV_sprhS+7WwCsr zEB0&JIg45Z`M26fb{W%AX4@2Rl!wXZN7kQC&}+PRo^a62axsKV=sk08!|fpb<7#0h z!{3w$CG-U6^d=1Cv+d^`PR)pe)>`p*=IZE1Q!Lw9!~QeArXne5#(?M#`dg4$KPe*Z z!~;o8)f$S~c1s#eR{;HAr67W_uRD-C-)ArR#H9X1-q&F2kGg2^y!84mu@G0a|;@} zCkRi{!0Dil_zL~E;=NVFmjEm-kHu68#X0U%(u({11gHI${PL*-CTHhy4LNWeZj{L^ z7klj0MOU1u#x%|| zG;_1#_2h)SmlbucGC}wW3iZB>G80m?=p+}Kx9q&b=vh>S^5SJVs2-&~ zJo8nqYQp?d4A}hVzr5Yku5VZJy?SFD)~F*Ks?ynJqOy{oDPLjV$NQ&lILj1%W>Om0 zFH3?DLTu9CkZsOZ8+sMUv`4r|w}(B!w%hDtJQsu@TvMZT9Oqp%B+;4dE~zoz{KjXz zfs9PX958QOL06tZEQ4OP*N!UD7>-t15q{QYv%@8qeh2Sjx#4=>>?V+w-c1kT+Z94# zyUy|9OL>MQsPk@UQ`QqVNje)ym)tZQp?ZxRgXHZwGibHkReWFR*EM=6J65@7gR5wu zqq#Z`9L?xR)wk2=v}%Z9QYIw-+%hNmK<^yKotm39>Ds92i2^sAd<@GgWZ6`-Snl7O zOMBMLLo$5;{u?hHTxDrhUP5eQFnv3KBAKJ{?qn^M2rTM|XF6Lh@aVUg(-Qb{mIW`m zh&nQzg+KDgCqUw2YC5boGiFy$fi+DD?8I(aPY$^44jpJpM*`UpZ$weCES)H(w%vX`;0R!$$AY-$H?k?q$)I9ivB2-K%5&GSD&o!E!0LnF2a`^|TJR z0tPL17G@Vx#WeeskCL`%Vl-vg(i+ykSY6p@f)I#N!3uANF*B;1phcrZe0L#}}FbiPJU)noCaeA`eya zRdC=*NRg*tpx}NXYtu!o?s+}Rpf*JF4gQnGpMUB}dBw!P$iqwiF{V>w)5TC^f1>w- zF_W}f_r8b2H{MV~JFay%gweUkhvuMpO#4_@x;XqL!0+b44dG!Y&(b7$*Vf3|Rh8xf zS&sSz39XFV|MY_tFBhOV>(!jaEA0MHA3UBpxDVC?VaV#HoX)Qa^;umb%!~RZO$zdf zl?{E`k#43f^a8DOf}6M;F4LSS4V?(8sBw3NF-`?`N1w=oaiN7AACSn+EUqB)b5s7O zwF2rDamgDJ*#Wef5LW$9F$U>j!+599rt2X>UEjY6kiIjtKefc-Il6@0G(`7K*3422 zcr?3^n_{M1r@P@nn3LA8MDUgffdt?EY3p2*8~THG;R_riABv$0;dC1EvJ;ddm2J|M zIK-~?!gT!|=$=`!o*8H-<{lF2o;0zlYi2e-FN%H%`3SiSU%lOe2fh)#e)i}wt954t z35JLVGv`SylZV2qbD}g=J4^>-$4tZTy@0eL%jf;mUIJNV(boLD;%mLfS^j2+4qlch z_oqHpyWb;k>;Cjmo%v8ET@hNIe87$S0FC2;Lpe%0C$EX)nVmp5@aFF8OxBN=xRupU ze~U{#I=vp_s$jff&vOfwk7SSnm&I2afV%bMo4ghd<^}9BNX{~Z6>x*S%zU!9McYss z(dV>I`iBur)5#@pmB4H*7HqyJ%g&xaaN6utl7jxCM!nSO)gC|Stmy=~#F~HW5{=VR z5Yi3AS35}>!_b{k9Tm7TT=@}Y#1vmkV+W7)d`wcX(cBN?9N@!KbfzGB!5sR|L z(h9GtkKm(wP+5+mRau@QzHGjtA{R0!GJQXduJN%9t|#876fT#;tG|E0es$+H6B<%S zO1Y|wLMd&6lA0k4B0FLslVv3De$>N4^tPw$OqBaWVocpgDE0ot0ykjP5zrD86lIa# zBx!l}N5Lmweeuj>BY(+M^t>+(U%GA$Cu=9%W8RFvPV{fWk___7%NzPWHoV}6rW98! zxloD`se3?@k~K(nOrxBA9IP7|TPQ;clvw?(U>n=`FiFhCb11RCLmlw6HmCHSO$&d= zz)&AsB?OWqUw2PwI8kv07Ckedkyb>|3pa6n+T0GP&_{Q;yPyn7FH~LK672CEhzxg0 zifDUK{o%a2!sZb=FawE&bAbam*f&#>*&fk>g#B25ICe|3621*9
Jt;p+L`)#V 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%0AlG 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 F{R5c-dxHP~ literal 0 HcmV?d00001 diff --git a/lib/test/reflections-0.9.8.jar b/lib/test/reflections-0.9.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..d9b2b66edc103fa1841d75c6631f71efa8d6bdc9 GIT binary patch literal 102696 zcmb5V1F$X8k}bMz+qP}nw$8R~+qP}nwr$(iIoo^x(|x=9b@#t<_zw$56H{vwBWDXcTc>|vjrmWk z4U7%!olPA7U)`LH3~X)xwHwYqxtf!SqlJOBh3CKaMExh8F3uL#|6*zXhTp%1>c0oV z)%5?Y3gX{`8&ff#O9})4(Ec~FjQ_;rzk(rU;A-IHWZ~p2_>b_AFwz-W|NSRLSz8`i z5aqj6x64(x1O-|T0a5E(lq>!fjExWkd8QIRy;r_%>E_Ti?AjLclUf!989#dNo8ltUbjNw*k%$PvEbb8U5?3TH|!5PlaAQ zI4&knYA!&@$XG|wd9;MOIirGtB_n{KFCrL|W_*M~l8Mu6gQ>0LdPItalADe?18wvs zzKfCWov5iz{jyV>FQ9{*CXvo$W_hDB%g}3XkI{N2+>ik-4wn;$N~Q(<_43kw9)yCi zJ?GeQ8=NbAMB!6sX}4qk%+G?m5F$)5mC&np%YNRHZUIL_aH`{4`;X+RQn(bFqMZv# zxw__(C=QjO@sy(36tb?Z#$wwjAzxgVPx#Jgf;_%B{5`D+pbRUfaj9f?ShQdq2*V1tXq%z7#KnPT;ED9|0K z!^UQs?fJEg_OkJL`9#knWQ{LoCj9f{0og*%MnI}|(PcRgXeSCwmL1Z@MTogkh_`p~ z`ccltJ8}RvCI69x1q=bFC=H@7+(X#SJG4I#&%2=WqwE-G?QD=*9U#wqsXt((?*zYf z28Nt}jTEW0i8<%0B^Yx?^93pOc5ZQb^4^>n%P^}XzNXH0ivBDqbF|GfD99DQ(q z_g(!Aa`*Y&z#!5dy6HMIf6a>i2=}F(8nMWb8h>UH*je{J*iE&EN12Ql*hfUEs2z`J zim^Ln4AP;~9ynU4px+!qS&VXebVs2*f{@E6o0YJjchnms4ywv^N~fwr_ZySTCp=)G zyEwF5*SJ2YpW-DBmK9lnRs_3t&KlHk+-#*^VgvwU1fLgPLwS6EKXqSY)@jJoKRh~NY?F4 z;684XIIB~4Yo?DpSq`id`R6bx6V9kvw05|2-`Ov)^p1|`b}I*OlOF0--Mi3To?Mk= zP|x6HJW+4o9PZ#CQ1LFBFFs2xk|TD+G)N+Tzj3LIdg#8TlHby8r! z1tallS-lD{pk2dRXn*<0bSGKp5FE#itbz+`Me*0G8)dGbg+G716D9PN0`xQQ z;>UWvf?5K{>_c{O|22+(`&1JpMy%-1b?6n8e?5aZwReOcZncnZXCzg~IvP&VC?8b^ zZ&`qMt#eLCoL^Lg;MS((UsiK1jcQ3XYJN zqQt_`s)L_7nDrWK=@b*V!*O_ZxFGaa1m}Cn7~GWD%M)H8D$qqHi7D86M9WVn&h3aM zu;u{I1|gsUH57ftFhU{QLa5f%6zv!RNj(mx4IEsFu+7#PyvLQrptOD*sL6MFEH?~4 zf7}f~u+~MHY~@kk zb0b`p*j2uHyNh=bS;RUbk{lEWs~GC-!!UF<236exoIbmTPck<{KS3joNtpZyW|WP* zQ+NPC!_DlP@wu@OF9ls(%oM^2YD8;P--@I5_r*wHX5>qVH92`}oUuytN(RP!VE~H) z>1eQ2^BR0j#(+GS6Vahmn~hAP3u)H+Ii|FL(`%8U2)?)kv^2uwmKdvc)GYEePth5! zxT!cjS;;c_nm{f?!zA9K9zB~@&-+g!KfJuM5paRNca7?Vbxg4khO@%i?2hq}x}r6r z49|Em$Pn*<|FtvN%x8dY)k;gt5z9?ybg^DF7{PHL$l=zX>RL8D=5`EY2mZiZ4?Udgn{Y)U}9hdNfHqR4I)oFU=6 zL!ZY|!_069u`L&P>|x{nWi&}4;7og{n#o=h8ic>p%X|+MzQUUrp2}N33%jHf^IqY7 znaVfIUge|BC#H%`QSZRYfj#87ch_Xz3AajTitUgn)0JcSqOfEI9*|InUy*5cGnH?&X?Psox<}~G!a@29@8CEhA$XA> z@J~bevEvqN0<3`4L#?<;`X_3tukc-A8~*$>W-4AOVF+v3CRAV56B2y&3y1g0N%GfX zsk@~(g9T`ncfPNFy}MMSqgkc-CRN{)BRPl8Ryu3x zAS}=My^{%8sA((-c0TiDX2L#Vl7zWOlF= z>D5f*hRD6V8{uy1>->C2Tjdj1_eJv{R&`^u9}=MoDlyzoi+z}F0Axi@zdbT$a{J`w-Bi{)zqg>sNG2_i`XDR4`w{ug1R721` zV$jgHP2EL5k4k4h{zCGMTOU+49nxijYNsy>J6u=MAlnw*u%CMB_X)up z;*l1$aa;jLMLps~W=Pt^#-gf9RJmDSQsCs2R8CY`y0zetQ(k&KdS0pWZ^t9bw<*Nm+8_Zi%cFZhwLG_|8BmeuBnz_1h!Xd^SX5QWA zn99f`19!_K*VHs(J%O-fmGH8708_&of_Hf)Bx2H8;$Gxx$LBhEg`MO*2EUD4SDeg>~||)YPn~Y}6wgOHRoM z@do4j^+wE~Tf=Nyn66n{|ChD}-cA1p>#~$?bB61o4f;)~l?A@8_}B4TNEh1mZ7Gyz zt{wronrsRB1*uYfS!(ROB84F%>k^}<<_|puqBJC;GUTFHh+fDm+@`!F7aZT|f*4mo zZjfB&CG)9X)2W=nu)^L|KZi|+I=))C>RRci(C0t{xg<1990i|bFVVS)L93Oyeq9p6l-Z#?SSJ^)5C@623b9SoIJKGx!H3lBy%{ckZbH2Dwba^*~AeJtB3re zp@GK)qK0M{I7=$tLIU{`3kX4wT1)K?;Q1HWs~ZqAW4&iTk||ei*!dP0x)TlE>3r5R zE-yr%iNgakfh5B2=uN&iWi3IOx#k+B)-LE5D}EU&Zkf5H`jLay#E{wsvjHhY!!B?GiCmk`0he=m;do94A|WX% zA)!QPm7rjjG~2OC?F05UgOi(11?gu7)`Zz5w}6WgNZi7^i_0z3h_)G&x^S)w8&7fm z7B^buh|Ehph#0*N%Xi3429epxRf9@VzoO?ltWqj?z0JgBx;xw<6{QYJpME;s9Jin( zFQ#hK0#UyL6IQ)<;GJR3UjOvxmn_2Wh2`urLdmQGX2=uT6!pA(TBgN};+jXkjd{~n z7v6Ni_64GCb25SpNNAzgFtmd!*})ddL4|&{f(G1}G3Y|>>j>WLF?OY4OIkzz!WS7s zCgQ6$_q}{lVU>drLh_4D1IvDaG{*Uq;+!ECSm3Tub09F+1Ce~!h)T&$w4OhqPb>|B zcXxP1BLNwQXHByQi0jKnm^ii#9NR*E5`G|jYD*;9L- zfj#S~#@Zu?ADFZA!?vHDu2mHFW=i-2+Bhm8$vt3tnD%K3_)GYM;B>;#_{;dgdmJP{ z8fOD2>`Qv(g!bj6$+<7+>*WHsTzP9yE+#};#Pph=vipYb!k!a6fFyZPdCK?0*uM8)- z!7Z#5y8t<`4K*IZ|LIg*)dudw!jfO)i@)KNnd+Gj&5(Z?Vt+VYPkM-DdIkw`wlOKc z)CsN3Bmg4x=SIjKBWC#p@{%2ZzzN@QsRWYXV!v%;zoWh1>{jTx$)M5%N70%o?8a zWA6E;YU-nSkRY&{A6EHojh~Z=7(zvJi25w=iITX>U!)GQe}@jT`!Er(SK`MQpbjV) zD4H<_QElL*KwOxtnQsC{kw3d&Cp%}(Rv<-cBm#Aiti@5%pMdjOcg}s^4H9m4ogs{c zfkEw5_B81+q*0JtiSfKDM4viZ;HRz}belRH5U5P*3^nB-m5gn52fNva{l|!vOZ~Y2N z0elSVx36BgjZvV`=r{b;&^(L}uO-gd6w4FE1bHUQGz>>9qV7-9x3u3k`%b|S`qB+f z*<5O>BK=)yA7FFk(EJb3|EvXNyuuAD{;fZ{fdK%}{i|A#tcmmATBNhVf0Q5pQ3{Gt zwUJ*^K;c6_ojg_84fCfT?}tsHvNQ~ij~^j}uA;Gi2->6Dx#=!$ow}h-=sN}X^XH#* ze{WR!0J@g`$bQOBJIh|Wp41 zdGQ9yd@M+9a49`-vj7+%l^17C#Ty{_`!qjiE_3YK$8I{!18qMoau|8YyzE&`53H?_a~{fDJ{9W-9+s`4#YmyW&|FLU`2rG0Y5CR1S~DQB zdqclW*AR(S8J2{IES*-QmsI;QZHLZ&)X5UV)gRx=21Wt31KdDbZKVUc1$j796cT zV{a(j9DT-+!JyR}f@v2BQ=Z)=#@zM2d;tPXJyThnyDTH)Iu}V%+~xI;N=*xKuw0FpymWfM^%SkklRDu*#htheAC18gn9DrKYpVr zzojC%V?Ibl{t8>c;1}vno$Sl)#}3CIBJ1T9zusyik_YD9su;(0M?4}sRD-%3l=jYx zrK#I@x!(>ld#xsVg8W|Lp;i9|{Ga5M-Hraz00aQA{Yy~de?m@SJ6lr=GZ#mLf0G&h z!AKhgY3U&Wgxs2z2KtYADhRyp5+XW09#s%ZC?OGs=fW}M4{yOyWlUk{J~==SG=b3wphzaexfLRQUbf@1gJOAYDVFIA?6oq@qt6hyV! zmkENV4!@}+WQJko43p(ZHyyiJj-=NHSUud6nV1+!vp-$N3&h66t>y2CqtgflvagUwH+ z7OB5tVwo10SixG3K*>f}nw|<2iPY{irO17^E`LJh#H#1o81)WGNMQwwI~-(+P*oKUPS( zWxV&muZl~xO;R<%sS+K%YkZt%z8vs=zI(tN0}EJc^9-dIgJM%7bb6fbH~TTbc?K>- zNPZaPiv!xBm!KXnpGuS&Iix~X6_{8#EZ89#IAlzdM=BTgOv?s#g_{C7JNLTl2XF0T0qa(D+UG!$FZ?? z;u+x@qv8;s2@bn2=Pp?!(U%w!DOY@L@skEunK7*5R-05gBG6x_wL%z@i$HP_77vti z7DbVib>c3aSoskSN7Kd4!aD1J6kY#o0btUJKW9hxqQz2Te@7s_JB+eVzit^QR`_xJVbnLJm&b$IBE2eq3b zp1wiYD&_Vak5KTJmc|gD&ekX7$P@bi%tg|-nK<*mc{u-9sQPEQ_}?LC`bRE?{Dpj3 z0EKr+w_LZf`ZXXN;<8d2of6-dP=ZCIXreHfmFJ#Kd(>94O?OK(kRS3WDnkD-=wSoj zq6d% z_X$SWYn#5MJ(&m!W3;l%J8sM7;?0#rr@_vyxWFV-aO3`P5obt*HChL%?{^4s4@3CP zOkXQdt$P5uI%evmPXg~t=C0v*T?lueLHi}>p=y^V`U1Az%LKC$Ebgt{!?^O*bcT8d zqyK<6CJ2$%lLrp;qs*VF{APg-xO=rJzd8GY?9-#C{uV2yM<6#3&#Xhec}wY*y9j&q z3m2cXVC2MBez)v|5sc`}GccW2;>q_BNr4r}tXAyMT6$}yECc;D51Q*3iEDSbG{X~P ztSS=i@{pTx#5rEo7{f74Gt}(MR~q|I2C~=A_!xWfvA_t?ZB_>?GZ~lx7RG2VuG=hk z|1hpp86F@=^sY8$2S}r35T7g0=rp_-gG)a%BaFKuDYq-A4$8yh;^yYb9`15tCFIK6 zj>gN%1w0V2o{5qr1jHf3vz%I1cNOHjO(OeY#+BsW+{DzMg6?l^dga(8oK{9r`1yP> zS^;V_)dRrH3$*i_({p^WghI0kt-w^z>Pf7puV5QgjF;16yoDJhWiHTBjG{^#t{>&$C>xrK_@)YZ4$V0s_4rk@4o+%tN)>Hb-`dQ>SF)^ zMDPLt5dM>g#(yK~KWN(WSI^Q>UEx17VX|ZLkll2~mCCx1;@Xh1C?K)PFV>bqmQvOd znqrdGTMC$vNiTuU59iK;Dukd?Q;95GhbpFQQ9wzM1=SQm8PIi5XG6Vy;eYAzcru*; zdT;6L?YQf8n)99Iec9%F&-1z?E<9>+<+nKn`**o_UYCO&GF3~!1ne|jboquAoIwk?br3?3uFKA zfX>sNJ$raN@dnJRcG5Vj;k!i($K%iHmOazs&*@Ka?2V_VI-_`*0FG~P)S7n4`Eco7 zm!HW-2rmwgPZZxA~nb{hVQ%nQ?KGlwJ^ELrFT?bm*{uPW9(ks>s!$$ zW5Nv=p}h~M&0*YB8@Bf+B)*?gvQJSS{|NhqcT*hyO_|ttG{e0n{@&ry+(q}8yw9hH zreoFYulomd(PDZ?@wN%`I`0l$v0tfU>c_uh9lxpkWcBWn*XpK>@_7DCZL=Rcq~+b6 zdO71EXn_X@2tGvc1#nRSyre!6@@evUE1$wmZToQT-IZ0ng->sj=l=1}e@pH5)h6+p zAKQC)68_Z1=ckdzUwBh2O*HRLtFW};S=dUCw$*kwINEf#tIIGqg{qbxQ%c}-G9tm; zz+z1sF?>+rK#dqnlu=&O!`MaKUBPfA!{%OGFvqah;4J0F+d{jLC0|A_wG81iu#L*x zff6*T!Umw0N~&-lG|tok*r3D*IM79k5LKd;VYU+MXR{+tDr4ORc22P(W^5wfX#BWl<^ogrRATj>4*h`2^lgi>I5W3oy&jR7JgnQeLO zv?tm&6UxPLlCRvjCUPBJg$|fE725}7?1cd6t`fr(9zP__31?E(uxDgmabJCJDP)uZ z7R(pOTv|*pk2_pwq9rnYtXAO{%c|eSf+bHPLzAPAcN}XqJ{q-|*Z_)Mk&tI`)BS$i=QRz_f4kNGw1Y%^Q8*fECk^Bf}j)hZW zK-Ffw;FOw}yR~0^O4q~<%YMm%%uTctc~#h~c035V8#TRS2!j4((~xX2(%>e}k%<;c zcJlsx`yKs5KYrvqVb4Sd*}~EWa1%YqF|F9G(aVB#C0~}GeCw`~9}i`D8iRn9h6)+e zvh&b8y6fJ}ZW&n6%U7ILb5Oj|PG|5(q;rU}N#i~}o*An{q@#=37B8av1|Y%RXbaO8 zoI<_OAD?+U4LBtyb$Si|wwGets&;Caf`>3y&N&M=oT{AEgfs(jWMHzr5GU5u!z`2C zk}=~`a&1sZ8@8i%8+63^Fua?Nk|nKOT+^(W9j(>y)aY)wSoGn0Zo0d^v>a4it2Beb z(#N&txv_vZ;mWAQ$FvY#OIOKUg?%TXo$7)WF)nJm zRFSh~e2{1>)L^cHROSe(UZQg%OS{n^$T4Oq)!N(=D?>sW&p#|!#jV8IO(kfF!j%xig+kS}nCc~|JDaE@v>`HarU&6n8y~~fLPOcg<{6PU4;nlR zXj`!ep(5*ua|T>5IS#3Dz7nfw%hBOA@k^M*wFX*Wt%&dwN07utRE4vP$tSxe2hnl* zI1`p`vlJC=JwBJhhnX;Qw(QDVN4#&j++^7ww(P-u-iO{lDs{ER}s92bNLgn*ek%pK=RUtonEa@iYUw(!CG;TboC&U&$=;JgOtmmBabn=c0P`g zfkaj5T4FJd<({;tZm}u@nLKonBp8Yq0$pJ{;9(_iY;2-=)_>H(2o#P15-t$k6Ay4r z^(gg|veJGTydBF>3Nh4Bs^!LZ&Q1?q!MhE?CpDeT<<(U)=^(N_0!nSM{=ypz+9Taj z>;gW#Q<=5R2_5T1V1u9s+mYpGICpYR6U-}}%P*v;q|3o)es%c9BY67&^GUU3dy=4XFJ|CBbk zqN~rkqaM8A3-TN3OI^Urc6h8Z^Ok4)aa^ zBYoz_jLV&^%rJu|OAL%E;l_h|14&c@*5zO;ks+9Gu7M{B(nfmdGpHtv0N(5_)BsbG zp3yR3UoEbZ967xBN-^o7eAWi@4Ucb<$p-VbVXutjSGmB-#InkwOU=jT(k`O zf&7r`+%_IZX^~Gc!PxpvI>0HZOU=$Aj9p}f`lvnOtfR=tW*rvkwK{UNAY%m<+sm2L z?BGVcop^?|sbP~{plWdhYXkHtn+0JvPiBz>YZHm4pBdkheyIGYj1b~rPhJ_2k83F? z%pJN1V*e2dJ9W9mrPgT^Fs;twTHPCTG_DF;;E66XRNGr#AiEN4lF8j!Y&M_ttdbz$ zBAmCAw$z@^6}?3ud}8w5^1#5c(qa+Hrd!3bTYy`(V!Tb)wg>!VQd1DSCHQc~4r`N(HVEj- z(yZD?k*-qqM~DpJ>0SPd$jbc4OjAx-??w%Ir;zl&Gj<@c@|q}?pev`d z8b8<*dcVspV@{EsZka{!%}BIX(9}LRjr9_wc48++U9*XZeGYtG7!Q-<$55$np;ODh zf2&Dm%9Nq?{7_Krg;uK+M~4xp)%jU}>tdg$M+B$q8#2E2i;I$UY;R}Y>LMnE@?t!O zetgVm$hV?v7O&EJrYI#u)~%C{1^#W$rb#Y2kBMW&IDTH9aOe0zmqGK(Z@C8 zeh0f=yGbxtxgFlmwTfR0rLa3b1$mQLQ6nu^Zp=2RjfDE0QxOfYt79DJ;M1z3vS_@B zinb~m0pjmsr>V-3#an%n4cExL{&B>;;>oD;dp?#FotnUQcsgeaDdOJNBaF*YX!#Am z)HIIFp&vQ%qQ)mdMXv~=L}}X4GWe=8^4ct_Akki4K9|_E8)(8rY9_w$BXMh~BKLJR z-Gzi77gUw{Pf;?#)IysRqbgv1Oyz1LAa$dH)zP6rC)G%C4|lI=40eP!Sf~T2`ADbD z$b@95E&N^NbIC`s%GEGmb#|ky?F$05fxW%sg4c#3NVxI6gtazKh1_rALWmz+ve^AC zLeatNxX=-eBug#rs9M(J<@G$NR?Qa^(IP2RXEwqT=>x}LJUBdg9wmnH*eT0P_OtB~% zr@bvsfi?TPv&5j?DaAE6=jnx;4ORh*x8^(+rbUE5NESssJsnW{3JI+v@#^+RkM!yO z_vwRbfh&I$*6vS7F6!;stj=%xO~N-s^CMXjs>IKi2=$wuu$N~hn+w~}CHnU{Baupk z;FxV;sKu6GaYkG!(1X)Ni)5-SBRz(=FCb@WBPU?Z%q}7GZ?<)uxzwejqMVqpX5{fb zu>k?>KN_N{;mF&npzIB2@eJkJwKK+16C@o9J%mH5y7>E$upb`OZ}9)2OUa1B$Hz;6X%H`-8nVI}^pFP>XdTFxwx@NY?<#+=J( zPUSFR<%ZeVVcoh-p{Cl%juu@c_fWo(VwzpfaSHDMoqeV;WC~_oB#Ed9nJl^xmuCH4 z_}$EFkKks^>q>D(_?|`j56;cN)06uLsmFcV`Qkj_qEO3=g5)`ZN2evc66KO`vDcr( zvSR>`J3?G1z6@V(-YlNALF8)B6RU4s`O65we zJy3I16^XS0owcgTFwkML6U4mw(0yjK?NnorDA%fv@v(?O^7f;Xr|b*CcJs?&<}kUc zV|c|DSU2j(h&=F%&H)^E2&zF%`&w&CZ9&tM9OKcko0S>BEYP)#*!-$a_v_6s=T8DA zMdg`M6`O!uw*HoIi##!4l+KotQ6U&|o5zsuz0zGykgO?SQZ`E3#>NYlk6_(FAYs+W z^`8D0fIDDWM8u%0^T*Jj-r(UccwZ|Y((d%Kwu>p=DMa_)0o=VHvt4HNJq!}inNm*@ zLE$mXbi`RK6eo#){yqiF6B1-QX%w*TaSD+;g#sFZo9_u|7XkbV#S|u!*x32l+4-`v ztVE}i9LMLJ#_3x@cryY*sj|Go$~&Y*bR2(ni{wFhz%3|~yzjS;{C|ASJ2rV#3tj!S zlA|%Q7mrn&=g>CG-c&`O94!mv?yUpR|aKKamlXsR zUcV=Q3A~{J`;s$%tT%8h|aEol(0`j^bi}5S@ zMVPCpox=P&Xyqz?p&UeG!DThzriNoW8|>o7$MUITRZkr<&xw@9i&4z^AGUdv*}h+4 z-3o4bX7DL1DKzWS-@?nFGH1>>g)^@^i^q_FdmTZ}xz}Q6+7T34RQ#94lc8kv#AXD3 zI{A&oWqOa|8bRtdJH<)@LDC01g~s$s&Z==KlLa*-Bl0I91lzK>VM{B1mZ!%O3 zQAmo$zs7xmFe!w!E}`B32zJ7WJkc&!`Q9lb`iXpLJ?w$#B7Fsw&Qq5M>J=?rxCneB zn+)~s=lzUk7Cl>}s@f5~?+s2CJu@)#j*?FLYU>B^vf%#l!dh4hI6TDE&;`$Rqty1W zK(sGUN4{B%(`QvGI@?FB7MmNQXR&7h*mDQ;o)M6}XV%zGiU7y{7LC?Z;(nS_?NPAJ z*s8?Pu!XZ0Z%39s*$RzEg+p(=#u~l%Y(DQtHOG_e(RJ2Ctw9D2`$OrfWl?hU zI3}Us$SEs;WPKu~HDP3qx;W>FcZR}WrGWH_L`Qcr0XCMyPGQn;_@&Nv_u}uSxS|BM z(ObI-jA8}90;|wn1Q%Mfw|3y_AJv5I)x*>$?hlmvA*dv5!|#wSM;doDZLqZua0rW4IC$?c?c{M1 z%^*a#J|=;-PR+(EV!n5~Fvd#2HMhzf`-lL)D4Jf&BjZ~?gq)_jLde>{*4L@Bz@pX> zlPp*+kzLW^tG7q|*P%~rQZWX!kgxGugRTiaqI!Bh^6&oI3PH+%x%o zvWsNKThmdZ-vlQU!&l0;>DrVbkm9ctrLf0Z6d6zdMa@~79GVaq+Sb->LH#7g?XQB9UmcCOO_q_CI=Hf$!(sBhqNMmAwmy3o-rn3x7k zss>ChDj3EM7}hEY!bRbh^&?l49u*rT@7^h4moUJbUHw^&T-K2KVX;?^^c2}nQAziB zS82I`M*4>0;ZlbS0^Lv>kUZdALC-W`VAXDH6T^HKam>^?TXBD}@=SV>0MCRbhe_rk z<*1pYXquAfpg6B&rOJjz6k_|?Nl9M>{p1X9y zYG%9_kADO`<;8PUd%TK4)D%6kqg6EY7F4wG>!&_nm@HdgaEo8656oBtU*m{N&+5*UgV(Wk`p+=F44l$~5ajRWFoghC_{9;Q+#-}mI>OVbNjw*nD zTY^DtY`G#H+l^nfk4tgqsD?0=zWdvZc-wi@O=&w8j-Jq>_UmevOP|;AR?Wdn9sDUM zaM4UFnu6!};!%hNo4>YHmJ0YY=s*$gkfs$*;uGjYane zTR2G(K7TA#Ja+`Lmp_(dyJgPi3n&?@YMiWBxTV}B-k+#Mnjmw{aIl2UEer>-CMv7Q z%q}N#4zIn1GVtm(^{<^V`*uYyfeKRs#ShwH3wqJ`%nIFE9qgJg_0_4Fs>jDHjyr{J zmr5uo?w#JIgDc&jPv|^T2!|q1!Q(I^z}MCjUw9R8YK*Me zwYsY*#tG&{G91eVelX`2BpF_+n?7T_)>+ygve-RwkSNi%1Qsmpu4`euJLpGYSKQ9a zJbBh?Ma}0^GbSfv#{M|ThOS!P68s_JM4b}GAr!wWP(zb>kZdzw6A$GRxNmTOAaEmIpebO{n2Q9`4Zl>ZI>Kd}LqgiVb6i_6Aejg$OeVx#(Z@1N6uO4}jI zTXHCZ2)sSq*Vk}G)swOa9hF{+U?_?pk`N2S#)3fOLGpj-Zsv_!&2pdz$22CEXmN1hrk;DBG)u zQZ!(%R1a((E0LEvSZ}QzaVlL?{nvxwl_H36D_MnrP*_okeKlYaeTV zmwwU2$MQ4ET5`D;9pEs)e9@CZHmZpv`}DqM|B+mQ01gdkYGZuHLwBElrDp2ski6Xv zZAOI`ii?*C$Pah7=2Z!(j-tJg-s~FXwbUi(CN0_a9~;C3JF5ObvkP3cJm)}s^Oh#g zQ*)D4mdV-7k)(WvNfnR3NqwAq1!|w>j6iT7q=;q#w1%8;S`)pZUsi^2~ec+4WjlQxD5U-T@claxe44Y z$QK)K4U9e?bH1w(6hUd|p1=T;>{nR#iE0tLC|*A|zbm-5D=dvas` z+LvmKG34GYw~tkWReJkIgGgRziu_7hmd9Je>*ff{`PiJ{NK=-;Xk{&=IoHg zQNBmJu3Fl*4i_;X_JIa0aJfy8(>iUC7DXUHDus!GI6>%;%`Rm+cVkwqr0zbEZz>KG zrRh?%B0cLp59j>?_zU~0q*5sMu&5&l5{#y}?RI`^9EP!`S$cI2`5QMKM7PXpC^dYyuLvf5Upnd-lR)?%rbC`Hp3y zNz9!Kj5Prjl?)shO#z*r*vm5N>VjX2m9*Zn0D7nf&$(C zCQw)~`PI4=nQO=!ovByM_o7-fw${~Qv=`g5M<*v2pG(Tl{#6G8RlL zqp^QHFuhTfl|!&f+fu!i8AyAZb*BP<@VzU;&efYoArt%!NL>n;5p1m~u&FzfiRV!>T!+qrf}SaeAH8nr1FR-W;sKiDWD*|X1V7%@Uu%YW{$F9M6 z8f~---eIOZ<0#}Znbq3G%A&~h?8f_@Fmgz3w^q(1@m0u$;|b$*Z9J3J33>y(b^ZOv zV)qj)wc)FO|M)@8FmsEWrs^2%b9B>}e2L#4$7Rx4;bUE(w-CV@4#NV z2-d)-xA(wbm(aPi>b{}BAueuwe)IhyG6!dma+?TUBN_F4Flm$- zb?6>jIR2Fo*5-+ebe!eQH21$+sKUERFHQa?XT$$(a{kAD?-*5WdF;Q*8S8fQJCn2> zg`BZMT1e&ydL}TdlNJH0KoWJLm;!w{Rcb|_&9v}$ZBv(A(#vPWpNdIn`fe4QicN58 zd5>}U^EnI8(FPbOF;n%cw|{H`pMJRd`Mv;1A6p|!EHBnSOhQ3wXA6{9R9%{b@yZjhlD)RZV^9>sMkGUy{>gmh}THWjZXDYKX`R? zNXoB!*}}xc^PS)N_@!tg??KKQJnb_?Ac7cfeNu|Gv^f8`{X?XkL9}0 zv!$O|IyQ3-4;tMo5NfK6s1}v5QnP-8@2oC1)HGj@=^nFn@A=% z8xP#0?MAfm!g^AHsR|qTOZQyM-E(;3GE+eIn~>BtbuNF z?A-88Ky`C+g-Y-vB*g~*1Z>W2g zQym+#(A8F|K5Xim;buoUmO@onn8Zo$0fub3j8xE)C3#iGNq)lQI0WC!GCh@d1Kzgt zyIFqB@ATnTA9Jj^pS@-Iy?gL2g-XQ0#K|I=GBQd~ODutyjrBrBud!qJ7BKLdw@Vy& z%B5MW@Hp>KjU02okVtJ0liK|`tfvovkJAI8_(sE`VW#gD^9-e2^fvlQQ!TEw^|8{r zP(pbfQ6`(%4v0s=UMO?`7ptZ<3&!4m<6W6nd?G~vV|)Nh@_(pR*sX~q7#+KYJF5Go z8Yv&C#-h{Y9PyX_e~i6jc%U%u3aWx>Go`iyng?H@wpojWx5-9Jr4Fy zc6_#gq>4XjY-?&_*_-y^d3f2I(+5ItNDPe`<1)D=4Fl$7Q=Sm#lDLSBsf;ma&t)-* z?V!F`iZ#Hj#k(`UroQ&RE*wsVMhm#ACN6=Fxu{ z$?9$`6kH{OFYSCyO}CSX^bIq6t(RdCR3g4q14eibZp51mTMOLp_*!?|zC}gJ(J`VC zYdvG45d=++$Q&GKg*pM>x@Ml#ryFnpl1I0|0n>V6_%36DJ-!fipN zF`f|g=(xuYQ-Q%^5HcPI23RPtM;sx}jFC)-^?!<(j=iT$(y!DhhGYpWthVEn+u##N zbvsHq-kqdEN@PkyZ57U(vlEnmbs`}W7}XL_FCLqeyEYm8>Mn>np_Q8&uwC3Gvc#f# z3(zTf!>hjkR#E37Z5aMLn9)}t)aP&@8V#TnfCWyRR1GU!6Xj6%22r%aQcSbgKWpF{ zWa|q^`Mns-k+UC@^X_sN%_<-DmS>Wca0@hUub3WTSIE$1*qCx*51VaRkKulSZ1)Vp z5hW$N&=Yz-><8dvdKZ~quscAC#FU~YQA3HF{u`#L`vQNwzc5|=rym_GBC zj5DC24nuzy;6j!|NeV-flA}QqB6QnsJ!v@YSYNk7`bYW)GW4cXlJjHc`P{}a&*s7< zf>_df^YHLI%uKhj^!@Sq18e}#&{Ti7E(HD^-iz@nKcFxsQRJdAhJrnJGu?0;_kplZ zAuFh$&uKWW1H<8mw>5Cw5gB0Dw4zwg5R+D?lkS>D!`d)M=bc(PVn*$&v4c+!PSUvx zdDWwSj>K}-wxk5XbQ%c!rA3)o+5yz^K85kVN3t76RBlRfWOugXLv4z1c5dc7J74z( ztUT5zJ^9k}J$o_ah0Mq|=A_DvMOgQ`7NhiSODZ}XBmL1tr>zqtdq}!M)e_;EBwS2! zlmL{tJer;vHNzmQ|%j#sqLhTCJBi;Op(HCWcYo(jo z(FUSbR;}@R53wq@lGIlj3|Wb--g)l{URcyfby-pUu*k`zyFZ}ph4qe4&A0|ZW(*=T zd0lZnS`Io3d`QKg!WoJ>HA|P1Q&c+C*ITy6! zQ-sQ!k*<^d4a*DSk(yiHF5QedEB?9DBTDC{I-+N3+>Y^}7US|KlxkPqD z_x2`V0O$WxfLZ?raF3HMU;a1(k|<);bC^^9EodTQVT6!=JRhTer?Lu5zN z?oYyOpM;5%T@K9+$NeLX!Mt{y4)uroRJmX2AKIZu*E?KUqeu;0A4k~GU12PAaMejh z0iaC7~M*P z0G`Y)R$q946p!#Cwelm#FX<;9jUN!o`j%;fl%HV+C;ehXcLt--#_0iA@WiQqNo_Er z?q~4C1=nJVy}@Zc|3EAMkhK5#fVTW?DZLN3hj^zL!H{jDt@t3U;(8%tQ;uk!``|J4 z%HDXkaXH4?)!>Zo;fVu;vy0tfSy-3;}Ql#v=_CrPY3&g zb{RKiw#=`;--`t>F;lwONbhDsOVtI3f7dxrtffZ1%sUZe$STBn|C+I=Z4Vwu6-Efo zaB^4cCHNPs3(bc6i&!FVGH;QWW}-GWI_%}kgPo^g1q6_B!`z`&_Zl8J3F}F0wIhd5 zXmm*3O=#>znHouet3Y=6vS^woE7g@C#?(mx*XDzc^wDS-2o9ZgkCQ_#Gu!D7kH9q8 zp|wyKrf?$SM&}z$r>hobSr_V5!|rdaEw4q(?^!{Zs#`8mX-DgbHnlqAjP4^PSCUK% z>GbJcJ4Z0SvD5SVlzL1=J+{=;s-vft)nbO97v~!zpfg4Q01-^;6xOq))6!$d8PSzo zqFF*AhJ*Bv8-o%8N#7D(=$^+LKt{3WF*1T#^?Vp``dwk~|EMh@V9K9S;|*MmU+4{V zm12F>T;rU<)}s!&yWo2sdTxT<(wIZom$$$Oa-2#vZ9%iJR>QcV{EMSgetsvG#~+x( z8;~`k8@K*aP>1ee2o?g5%`0aQhPh~Wm=E3CmxBq7NoNtcE`HNwff66fXzZus3 zYv35)61}dLnk8a=5Twz6cq;z-$}FY{Ikj(+)}RgWxxaz6aAC z$^WD~zwUN4C07z!W?pUcIp1`=a|u}!d4G|#g)>4DOj~y)-JiR%32t}K%Z=3y7O z#z7q%*1$np8p?m=NQe+}BDH1D!MEWkLW{BmdON1}lQ>x~o{nF`)qR{Xf#&AU z_u5OxwP-t%@f^ckKQT|G#%-L@trutLtPc&pRlYLX-gd#&={q|r!WKVK1g;Rk!>g!9 zcms8dIsUk7)^``R;8s0(ktmMZ95b#Fzr7o#)7o~9<#?Fq-u-H>%3I~TC>~EbM`ccj zv4;mb?V8Jyt;No5h>Tg1vWh3+wyXZKX-t?=1hii1`f{n=JKLRT<|sfRg4^8V{D@DD zO#wogjhc9S#TBPE*b^0xG{K26pbP%mFp$VOHxnMfBz*DsI~?|WX@*hu=>lNb2*D<| zY>joT=AwHodB8F~@AIq@0UCKajmZOtlsgQLq%nv}7bI7-iI6IfLuFxn_z2ri^a!E} z6TW~T`D08V=!XEwbMCHDyW}6JbT0o$p~e^iPofwZ#vuhGq$ER+6~l2Hiar{p&VTlXk03MI*I-(0ExVfiy7Eh#0akE0bnCkkMdL)076l zWlN4H>XzeiLVq9T%S~8-I7&kJnwMuwRYe;ww={c|(Q%sVeY3si-}?uMG1Lf~yAgad z;ZhLi9vr&8>L^#}HUwT~tT>hm+>sh)usc;T=|8=Ic6=HoUv7weGLQmMGW?&vWUP z{`nlfuAD8C`P6RPfqBiuT8#?zslmN{Q;854y-=R4?X&}bSSu@uFO(Vcx@vFJaPdKd z;u{iAx6r8^Ma87%;Hp~ypUP4cn0e%Ew%uyZ@R;C#Fi?0jr--BVrfnCv&Q~uY3;rA$ z!}67Z;V;XJl5?}tjt>Zl$g(THPcy3n97(9 zb=7PM*C+;8IBjfuE+trwQu^h$*9EB;9|jd{3^K+T^2`Wg(WY>YJJtW0$NC3%=luW^mLUkJ&u26v>p4>l!EFVkr1DrR$)~H>JYd>t;t=($f8vfN&|F3%|~LOz$w0fApuC=bFof|{1n)UMU@-Ay8~?L^z#yB=Z$ zx_oSduq};g)19Upp7<~*CFt_25?@@#T0o=GVmy}%SE}(CjDIQsi#+d@#%cTG#NGUy zcXQJI66j5QQ)EwR%gBnFR%ny&Kc)2-yRx>AGV{|0dXK{%D3jz;BJMCeDAv_LYL7-|$L+`w=# zG4L_4es=2-vq_hBTNk9jhEHrGtsz*EIr_H6?N+=v@5Kfj*d7LH9-lNE^fo!; zi7ziUkf@i?_MDFS(R|j=(U5QM%*iP+2z)2XVW}=n$;32Df-ZmrLfZ` zBD20n*e!~=Soehw@c4(65wpC9{Ej)r9JC)0Eum<(E(S$eFo z)?j|UIN4-3QM9VMifQPZ4&gvla+Z#}Pa845%!R8fFm$UXVWB3;~-g&0Duw!9wf7eIj0K@95Vl3sdE@MpFHT)q-95buSn8#La za2EGn@10d?C#FoLI{!ARZuDLk@-5kQ)|;d;XbHHt;z`O*`n|I0c8{-e74sG`RrWQP zq8m(+OC`@aD_OrX6&v;&LinP>7?^MuRi;=-uOM^UAK29Q$Z?6zsQj>6M=x-XFqQa% zLsI%egbSa=@^C4pZdfe9eIHZ$J80^kSjr)e;a%Y@WN$v$^Hbz(?DeS}0oh$#IZ7(9JM0nWCtp~#4%NT_@B=x1ZY zP)Au%YitgSm;-WhN2;^Tgt&{PUkLxrdWKjn=KdG!;$H=vf8vJxZwUBT{pNq>_0s8n z^_mLZf=G8z_E5q=Qade3Gcr+00(tJ+YK?xO{+C!EG8|yM29cBR-u{&o{u-TOMr8|@ zm{`hU-kae(>pq*!^?rI2mj^^%k0}CciO0=s+aC6A`*k%Q{JRA55jMFCH)F*?Ab<*P z2^PUBFUc7`#1>#J{|xm}m_vOS|Fq6v0^%TmTa(2#WF(Zwo>sPW7O1~8l5 zJR)6^jByPk4IaZrh_ihv!%yf%o z&FbD-Uu$=qHNpDeN26;$93R)tsrV`habBmj*wttWvz_jI3M%FRh_U)yQr$m}k9htP1 zG3BcN(lx?Jhrf!e63yK*PUk{6ftH`3<(6MSCXXO zZw(j3Q+FMm&yi(ggwzAixJ=d4jr#CN=I?Ad?kK9%+l(5te`InUXpngf@Vk!WuBTnD zdQR=oUoY@#S1HXbbAo}gQs;IJVz2kmNkMDrVEp8nm$Jw%rV2TOI6I%lsDI=L;a{K* zpXWyKDxF2d0`=}@(1S;Pd~s+K!i`Q5Y-Y^thx!u z7mn(dAoW2-tmJveR1J*oO> zbUw{sp}*keV(3AEZ_F0Q1Z$Z7OrnZF(vC9i&Lr&|(hE-Y2ntmYi)PXM_aHMi(L>yW(sLxb?YG3LJwf{3>C6twCu#eAP+;*uI#{X)n@L=Y&cDA0HaAM8mDfQ@_B4&7i^ z-yp?N6#uPJA+bex@9RFooq4(YY7kv|vW?s6bqCAKmsyzpcy)DxHb7+|0!@G}0zMZ9 zb>N65f`upugTjY0VhwK~9L36fX-7IOwd~kVNj+yA&NXxUg}(-8ck<+q?|Z$SZC0L_ zQ0iii1&-WOhG5J1dRk*Ebk4kpI#n{5TEF%yRcJgWI^}2-yshMoA=uAd0vV0bLZ+1J zr)MxvEMc*L@rLIP`W$S+!|O%W=`)Htw!BZ`I+#a;#aDX`IdyvqMh+6n77TzAaw!LY z)5IWgmkbcj8b#(_s~i^q!8BZl992-$nHzklDcAet>J+wWvU_YdL0-%+6hDctO_xzi z8xD6anb|dHtA|)yU*+NA_3MR(O^+T604?vRO(Wym-6Hd|d*1b(MEXdEA5bx6KyHrq z*lqd)t{_P>A60uB=`E73)im}Zn`p49nZ4UA~JLW5o)L*=#+o+6O zwTi3h9rb%(X)S30LqV+6cRiJxUJs))>eGg(twVx%w2J^P&Fd34Nq<17=nQ5{)w(Ey zEQSe;irs1l6}`ldJTUY`eU{5?7rwZiui^^ z(bt!42;|=FhzN!KIm{f9mFqQKg=F#ix1 z8e0Z~0w9UiT^Xc>kYok_C$>!hx(`q=Pc!B!-m2{({6PIz1qYiTT7mqwDB8Jm2Hc%! ztCY|AWZH-2VJ73DPrx5IeQb%=Wt(k2#v8oTVNVbr3{Nb0nG6rXg?E{0DxU9fR@Orq z16btG);*EHVd{|XmX^B*A}x!FS~1O#Dqz6p-O(^jNc-g(OvGNZ(}<)}HKcEd2Hx^* zN-u?{Ydg&wbhsLPg}fBd}#9c`sxU$}E*Ki(ape zhXU647fc7K{3;C+zQ_AiC|_fe9UnB7crCke`ex*|;_7fMEGb#rgs&b-!R?yP8jNQ) z=#WLUgUwy(;$}Fmglbc@WC!BD>yP-`qt}WfE-}F^ETmq#uL5O)f{9HlPI8srOe5c% zTZouZ%%G|VVYQt8&naqzk;xUb8szSVD=|OS?)b=`f#}fYDKsq?9onwlf}L(dN@1o( z@DJp$IxL2V2@zu&^LN9;#HpBoI%rEHL=o5|JngY~Yq}J}!tXV(M|kmAUi{;?`5WBI zw0dp|Jd4uHB@Y+eFB`-*gIBEJ#)SIqHmulWV##4GC+{C2v@D0d!>U@Le;Oq-y(22? z!=SJy?6AXWHR#K<1ixjM&JDXRKF2o)p!NhP(fWR)@sqfKxl%qW@dwxhupAp9kl~yS z0WF6sIgd*dC8LBKEE2$`$|unKfxQD?k+@u;G(VoAcRyg-mmehUQ=OCh!nR4SVnLAz z+Qke;lSlB&44Ooh?45Com7=};1hH$4$QrTz$}IwT8oqLig{xmx$x1_PmUblduiWC3 z%b&ktY+TQ)aQ}sI+CP+i&i}<&MMeQd3H7%f0c;HkYH_&157h<+EIqa6&=5o^Noe+b zS_d{d;|>$A;LDGkHfRK@enn|!i2r39`jdg;MNuNSOq@cbdmtui*RpPro(`3%fe-gG8T~|id zVw0IFsoU}l&8PkVcR#@zY&bc31rN4g*j~iscHW*>tNIaSw(}i^+p^QyOlgHfB`V5S z_uRRas{|yt+Xgf9$0*W-gmbB?GVN7CEgGI3c5CBm{0)yzTTxTUXq_7M8@~vt8?4NZ zl;%RVtuqbEo{2$rt|=fk(yGFAhDcEY_j9{k1rPAM=@ZNAkA!@#>*GNwvI)w=F=L|| z8?N3ed;81;;~$3eAj9<7i$z0B2j3UemI4*Es!n=hb5YN@&|d9zB0+kTx!n*-(X2W7}m`)$2hHNo2k262!q$rDH_P`F&F#wC4 zk*Wd;)O4`GwM9#5?!tMtVpca`TInum=mRF=`LCYaXqi$La8N`RRTr~ABC6I=qVm`s zawt?p(+R#cnPiwAY(<-)h_G&7v1$R=D@ry8@Pp}jnPgMgLP)XP&J#eAC)N!h+wXfy z@gQ)Y?})SaON8hk5J4=2;)ffSoW!Su-v$xCS;$fB8FPCA-AG?B-a-Gor7GP0C3$g+ z^)|xKoDwOE*Z%_QXMfd@#`ou8O8sF~N0fLAvjCJ|sd|pocL2<11gMuN@J2F$HxAG4JSv;iiG%k@yXHNl9gJKhkRmTx$byp8A+=99?B=HG|$0W=Ee z^}ddc$v;$ou74k!e;4q*9yv>t1wj+;W!^=&7<ri7YHtw*447;gQ)~z`%2L+B@(^yed z=T5GXUQC;BzQkVRuS6!zS5AKHhY+D;lg^XR*!>8E`g*~miouopkG2Ar;FMES0Mf2i z$0_W?uL~%FAE{HSYZIGj2MueK7`q8MDmCn6ygcjChL(AeiE@sl-=rp1+UK%}QGd58 z>y00gVxAaB3avb6 zrXG35($FGjq1MiRGhFdmh-XI_IoXeFh1})5-Rz~)n+X3o!4JJgtln9fHtE(QNPW7g zG-iyVP;W*IH#Ce%i*mVckdB2qIZRrLi5{khB~sca3fQj4#zF@WvX}@=-nM(24$Qg+ z*D5Q(m&990pA@b39EI1zIC|_xzBw@Kd+dogZs(aETTr@KZ7S8vk{3plQb^rk$}a8_ zpJO3E0*O0b^Jv^bAb%A;`)%J!$HChNIelj|*yDxJ7cdbMOwfqBuL)(-{7AGr1@9YQ z;eMjHT(LACr|~!UF>OA!NI=jfmO7@*noF))>Nz5Ot@w%Gkk4e`7FrxxWU#=%JRj@1 z7?5*!TuLAE`5`upo&BxJ#G(NfxgPn;q2~qyBK!aE zDgGCrJzAayDl01jVbjNQK@w4ohEwv+z)(Urud)b2;P)%zLd57uNH&K((J#;SJJqrajX1P7hB79m5uIF5bRCH($JnhnBPi5MN;lSEe22JhKBc{l74gkXVb$MI;;M&Pi@@~PwCp()_boK#oC~dOt`B02I z#Vi~xhaw#GBXTH)S%9er6paHFN1Evo#r%}Q)yMHs=};)N!ufG&RF<9H2mSWX!O#y6 zE(J)*brQpQI2?yU7?JIl&Rgi~A-iaUWVscJ19Ygi&I9Fp7`e?+*wS`K9=!>HHq(W5 zRr>DD(6x4lFqk^m16TU)-B6BphcXy6sEKBpWcZ zOSc=@TP~ouupcLCjntU=sVijP%ur1@-T2Wh>5JeItcy0YP%p5q+SR@axz*T{W@rx2 zVz1ec6A^BC^kg}e63+1RCI&Fb%H^COa27`|K2Aw(C+0v4;~GzCjQt^GYOAl%g=}}% z3Slw4gm~}yt!B4AZ?8p2qIpXJ6AZ4vL0wGa9G3Fy5m2L5s@L*3;#H80@|H?O(?CIH ze0xAECVRRmh33Ka%gYLBP%oe<(H_@Ppw*haNu}*+vJZ!U@a-}Z z2T;ay!4_Jn#Izj+D_XI1m$POxw{1#gMSmE#t(%=({6vhKa`x z2ZJfP{(jeG7LsUMIVy z-klX%wjlq9{a&T+nK4s>4M+JdKru&yq_`w)%lhlajJUDKC>70Nc4#z5%=pB)v*ezZ z@w8h+{TPaMW;1Ql725!5ez9fN&iR&^3GE`sY-C}wgQaFEAsMW&i6{}1a)A-{YKF}# zkxF&~b{O?=LdWwEHPxzL5{E1fvTYJ-R!2l2N#!vdJCbUmT0d+a19=9R#@AqpjcAw` z#KAYDnl@D2u?#MHm?yA`RvOw$g{chrJn24Cyf@TDSym~dP0LLIYzBlme;Zu&^;DW) zbOd{|Ox=vc4Xxoz`yrrE%@#e`=n)5Pu2)%5!}LfNSU#l0BbU>6OcB#URH@TmWSbc9 zm51QJ35pwQ(>eW{9GL&CV_w|4zy0#aT|l`IELTwdUW_uC2~+AZB)xq{EnK{S^W^%S zDp5^K5^oLXyj{#~hE1_{{p7n>OAT|A1m=*Ax)y9Gqvw)CA2za6$+<0kC_zd+Q;cks zlT^YFo$OKM7W`u8?o>G4z94MBt++Zh-)PcF!n$;XQ-Jalt8ye>|2Z{=F^wx=&??ZU zR<0qlzKb=a8xJ*Pggs5{tn70Y2j06aE4ZM92Y0hlm&xS)kPyjU@s+Nhc>JMU=`as1g!nfH)A@|ZAaolM$`{5ugKn<1J6|m-I ziwz5^Nkc>nO7NR*`1m`>oH>!{)4AWnko+nz@Z&{W3W(ktP&e^G(>JE@O47s`62Bn52 zx&!5aHl9qNKdHBTSbJl8v8OoZ{3-H<3CHjLO}hYJjf&cXbSO9xUEC} zEjQRV_TC0+_u&4ZHUD~(us4n3@bzX;N=oMKmoSv%T{w@rBz)4-|Y34Xr1cAa*|9>%`fsS(Zc0T z*=Lm?elc39Ed$c&YDs->(JDxC)RncZ%*jDzg0w+td%^0vA5s|!VR6|1%BT-=$@78I5vBvp&p$88CmVyMihI;>WFR}WH<^(r6ykYGr>oJ zg@UEr!gYD&k}N+UJ|U2LC%*9ode~$;Rp|M(G_%z(syhE9s8cxJTL3^6^0H(@WUUC# z1WaW4rkQF5Q|`kqT`VilDn`(+MRE^St5M(Jg4Lr~0TF)N)?rzMx=VUwhqfzx*#W#{ zoqwV)-TZo#JvFov5F>j|%xmXaM1t>j>+IYGz?=;s2>pb#ts_HwVG^LOecG45qq%edqOS(

2k&z@tung) zW5rPNAy3-?!Bodm-);5f1VcJAW&cJ?Rh(?P<@z6{{dbmsxHacqTVz1L^~TrivxTxQ zmUH^fSWmsZeRPw5TP=p7XD@LR4VB}9FIKzZX3~YpQ|69g5%)tR76H`@C6p<_84T3 z5LQ*>4k!eTSNpi*z+u6BKF+rZyp6Jv4(t|wfbH$i-S0uDqzK!#eh)ss)idIWtTp^O zzXlSNO4D+cay1C3C!v*N@y}s^Vi2Bd)QOACm1RK=esapmejS@2i#VcbcWEgmUnE{> zOWWjsaT#&P2B@9dR9k#faOA0EwkHv(nbXdY)Nwx^`FaRSN*&8kog%N2ELfsYPTcys zHNC9h*$mNA__dx_n~;P_0wQ-XR~uw z2cE-|s2LgeuQ1>d*55(2MHHF|u8L&ZPp=$V>|$tKn~`pawM6V1ld}C*qz++Y>gBi2 zSN$b;UW#K0C2*!Rzi*}8xdd>Ue6`{bpBGxdjqee_V4E`^UHc?&mVVy_>>+UUl4k<_P~i%F+MS zN&bl(P+NCERzdl&svRa9ZK&I?Rb>?D_W1Hugm1;SVM>Z1FP}C54V5i*)zP39I#mZu z?~l&s3upYh?rR@4C�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