diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java index e668d272f..43aa08f19 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; /** @@ -22,8 +23,11 @@ package com.jpexs.decompiler.flash; public interface AbortRetryIgnoreHandler { public static int UNDEFINED = -1; + public static int ABORT = 0; + public static int RETRY = 1; + public static int IGNORE = 2; public int handle(Throwable thrown); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppResources.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppResources.java index 6266ad237..ab7082e6d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppResources.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppResources.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import java.util.ResourceBundle; @@ -33,5 +34,4 @@ public class AppResources { ResourceBundle b = ResourceBundle.getBundle(bundle); return b.getString(key); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java index 15708a50f..baad815c5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import java.io.IOException; @@ -25,19 +26,33 @@ import java.util.Properties; public class ApplicationInfo { public static final String APPLICATION_NAME = "JPEXS Free Flash Decompiler"; + public static final String SHORT_APPLICATION_NAME = "FFDec"; + public static final String VENDOR = "JPEXS"; + public static String version = ""; + public static String revision = ""; + public static int version_major = 4; + public static int version_minor = 0; + public static int version_release = 0; + public static int version_build = 0; + public static boolean nightly = false; + public static String applicationVerName; + public static String shortApplicationVerName; + public static final String PROJECT_PAGE = "http://www.free-decompiler.com/flash"; + public static String updatePageStub = "http://www.free-decompiler.com/flash/update.html?currentVersion="; + public static String updatePage; static { @@ -67,5 +82,4 @@ public class ApplicationInfo { updatePage = updatePageStub + version; shortApplicationVerName = SHORT_APPLICATION_NAME + " v." + version; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java index bfdbb9bf7..8eb76c34e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; /** @@ -20,5 +21,4 @@ package com.jpexs.decompiler.flash; * @author JPEXS */ public abstract class BaseLocalData { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java index 070e24677..581b8da88 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.abc.RenameType; @@ -36,15 +37,21 @@ import java.util.regex.Pattern; public class IdentifiersDeobfuscation { private final Random rnd = new Random(); + private final int DEFAULT_FOO_SIZE = 10; + public HashSet allVariableNamesStr = new HashSet<>(); + private final HashMap typeCounts = new HashMap<>(); public static final String VALID_FIRST_CHARACTERS = "\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}_$"; + public static final String VALID_NEXT_CHARACTERS = VALID_FIRST_CHARACTERS + "\\p{Nl}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}"; + public static final Pattern IDENTIFIER_PATTERN = Pattern.compile("^[" + VALID_FIRST_CHARACTERS + "][" + VALID_NEXT_CHARACTERS + "]*$"); public static final String FOO_CHARACTERS = "bcdfghjklmnpqrstvwz"; + public static final String FOO_JOIN_CHARACTERS = "aeiouy"; // http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000477.html @@ -68,10 +75,11 @@ public class IdentifiersDeobfuscation { "interface", "internal", "is", "new", "null", "package", "private", "protected", "public", "return", "super", "switch", "this", "throw", // is "to" really a keyword? documentation says yes, but I can create "to" variable... - // "to", + // "to", "true", "try", "typeof", "use", "var", "void", "while", "with" }; + //syntactic keywords - can be used as identifiers, but that have special meaning in certain contexts public static final String[] syntacticKeywordsAS3 = {"each", "get", "set", "namespace", "include", "dynamic", "final", "native", "override", "static"}; @@ -290,6 +298,7 @@ public class IdentifiersDeobfuscation { } private static final Cache as3NameCache = Cache.getInstance(false, "as3_ident"); + private static final Cache as2NameCache = Cache.getInstance(false, "as2_ident"); /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ParseException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ParseException.java index 0dbd59267..1e9351010 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ParseException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ParseException.java @@ -1,23 +1,25 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; public abstract class ParseException extends Exception { public long line; + public String text; public ParseException(String text, long line) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java index 8ab434307..11d1d86e7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import java.io.IOException; @@ -24,7 +25,9 @@ import java.io.IOException; public class RetryTask { private final RunnableIOEx r; + private final AbortRetryIgnoreHandler handler; + public Object result; public RetryTask(RunnableIOEx r, AbortRetryIgnoreHandler handler) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java index d0c421c57..207fbf967 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import java.io.IOException; @@ -74,5 +75,4 @@ public class SWC extends ZippedSWFBundle { public String getExtension() { return "swc"; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java index 9020241da..8c5a557a0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -215,50 +215,63 @@ public final class SWF implements SWFContainerItem, Timelined { * Default version of SWF file format */ public static final int DEFAULT_VERSION = 10; + /** * Tags inside of file */ public List tags = new ArrayList<>(); + @Internal public boolean hasEndTag; + /** * ExportRectangle for the display */ public RECT displayRect; + /** * Movie frame rate */ public int frameRate; + /** * Number of frames in movie */ public int frameCount; + /** * Version of SWF */ public int version; + /** * Uncompressed size of the file */ @Internal public long fileSize; + /** * Used compression mode */ public SWFCompression compression = SWFCompression.NONE; + /** * Compressed size of the file (LZMA) */ @Internal public long compressedSize; + /** * LZMA Properties */ public byte[] lzmaProperties; + @Internal public byte[] uncompressedData; + @Internal public byte[] originalUncompressedData; + /** * ScaleForm GFx */ @@ -266,19 +279,27 @@ public final class SWF implements SWFContainerItem, Timelined { @Internal public SWFList swfList; + @Internal public String file; + @Internal public String fileTitle; + @Internal private Map characters; + @Internal private List abcList; + @Internal private JPEGTablesTag jtt; + @Internal public Map sourceFontNamesMap = new HashMap<>(); + public static final double unitDivisor = 20; + private static final Logger logger = Logger.getLogger(SWF.class.getName()); @Internal @@ -286,25 +307,29 @@ public final class SWF implements SWFContainerItem, Timelined { @Internal public DumpInfoSwfNode dumpInfo; + @Internal public DefineBinaryDataTag binaryData; @Internal private final HashMap deobfuscated = new HashMap<>(); + @Internal private final IdentifiersDeobfuscation deobfuscation = new IdentifiersDeobfuscation(); @Internal private static Cache frameCache = Cache.getInstance(false, "frame"); + @Internal private final Cache as2Cache = Cache.getInstance(true, "as2"); + @Internal private final Cache as3Cache = Cache.getInstance(true, "as3"); public void updateCharacters() { characters = null; } - + public Map getCharacters() { if (characters == null) { synchronized (this) { @@ -315,10 +340,10 @@ public final class SWF implements SWFContainerItem, Timelined { } } } - + return characters; } - + public CharacterTag getCharacter(int characterId) { return getCharacters().get(characterId); } @@ -336,7 +361,7 @@ public final class SWF implements SWFContainerItem, Timelined { return abcList; } - + public boolean isAS3() { FileAttributesTag fileAttributes = getFileAttributes(); return (fileAttributes != null && fileAttributes.actionScript3) || (fileAttributes == null && !getAbcList().isEmpty()); @@ -348,7 +373,7 @@ public final class SWF implements SWFContainerItem, Timelined { return (FileAttributesTag) t; } } - + return null; } @@ -379,7 +404,7 @@ public final class SWF implements SWFContainerItem, Timelined { return jtt; } - + public String getDocumentClass() { for (Tag t : tags) { if (t instanceof SymbolClassTag) { @@ -391,10 +416,10 @@ public final class SWF implements SWFContainerItem, Timelined { } } } - + return null; } - + public void fixCharactersOrder(boolean checkAll) { Set addedCharacterIds = new HashSet<>(); Set movedTags = new HashSet<>(); @@ -638,7 +663,7 @@ public final class SWF implements SWFContainerItem, Timelined { } return false; } - + public void clearModified() { for (Tag tag : tags) { if (tag.isModified()) { @@ -658,9 +683,9 @@ public final class SWF implements SWFContainerItem, Timelined { } public SWF() { - + } - + public SWF(InputStream is, boolean parallelRead) throws IOException, InterruptedException { this(is, null, parallelRead, false); } @@ -920,7 +945,7 @@ public final class SWF implements SWFContainerItem, Timelined { header.compression = SWFCompression.ZLIB; break; } - case 'Z': { // ZWS + case 'Z': { // ZWS byte lzmaprop[] = new byte[9]; is.read(lzmaprop); sis = new SWFInputStream(null, lzmaprop); @@ -1025,14 +1050,23 @@ public final class SWF implements SWFContainerItem, Timelined { private class ExportPackTask implements Callable { ScriptPack pack; + String directory; + ScriptExportMode exportMode; + ClassPath path; + AtomicInteger index; + int count; + boolean parallel; + AbortRetryIgnoreHandler handler; + long startTime; + long stopTime; public ExportPackTask(AbortRetryIgnoreHandler handler, AtomicInteger index, int count, ClassPath path, ScriptPack pack, String directory, ScriptExportMode exportMode, boolean parallel) { @@ -1178,7 +1212,7 @@ public final class SWF implements SWFContainerItem, Timelined { } } } - + private static void addASM(Map asms, ASMSource asm, String path) { String npath = path; int ppos = 1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFContainerItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFContainerItem.java index 3c7de161d..4206764eb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFContainerItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFContainerItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.treeitems.TreeItem; @@ -22,5 +23,4 @@ import com.jpexs.decompiler.flash.treeitems.TreeItem; * @author JPEXS */ public interface SWFContainerItem extends TreeItem { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java index e8f049e29..3e9643c21 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; /** @@ -45,5 +46,4 @@ public class SWFHeader { * ScaleForm GFx */ public boolean gfx = false; - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java index 1f32b51ff..efe947a33 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -293,11 +293,17 @@ import java.util.zip.InflaterInputStream; public class SWFInputStream implements AutoCloseable { private MemoryInputStream is; + private long startingPos; + private static final Logger logger = Logger.getLogger(SWFInputStream.class.getName()); + private final List listeners = new ArrayList<>(); + private long percentMax; + private SWF swf; + public DumpInfo dumpInfo; public void addPercentListener(ProgressListener listener) { @@ -848,7 +854,9 @@ public class SWFInputStream implements AutoCloseable { endDumpLevel(result); return result; } + private int bitPos = 0; + private int tempByte = 0; /** @@ -1000,9 +1008,13 @@ public class SWFInputStream implements AutoCloseable { private class TagResolutionTask implements Callable { private final TagStub tag; + private final DumpInfo dumpInfo; + private final int level; + private final boolean parallel; + private final boolean skipUnusualTags; public TagResolutionTask(TagStub tag, DumpInfo dumpInfo, int level, boolean parallel, boolean skipUnusualTags) { @@ -1244,7 +1256,7 @@ public class SWFInputStream implements AutoCloseable { case 26: ret = new PlaceObject2Tag(sis, data); break; - //case 27: + //case 27: case 28: ret = new RemoveObject2Tag(sis, data); break; @@ -2893,7 +2905,7 @@ public class SWFInputStream implements AutoCloseable { public MORPHGRADIENT readMORPHGRADIENT(String name) throws IOException { MORPHGRADIENT ret = new MORPHGRADIENT(); newDumpLevel(name, "MORPHGRADIENT"); - // Despite of documentation (UI8 1-8), there are two fields + // Despite of documentation (UI8 1-8), there are two fields // spreadMode and interPolationMode which are same as in GRADIENT ret.spreadMode = (int) readUB(2, "spreadMode"); ret.interPolationMode = (int) readUB(2, "interPolationMode"); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java index 04da5eee5..1e050e143 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -91,9 +92,13 @@ import java.util.zip.DeflaterOutputStream; public class SWFOutputStream extends OutputStream { private final OutputStream os; + private final int version; + private long pos = 0; + private int bitPos = 0; + private int tempByte = 0; public long getPos() { @@ -1551,7 +1556,7 @@ public class SWFOutputStream extends OutputStream { * @throws IOException */ public void writeMORPHGRADIENT(MORPHGRADIENT value, int shapeNum) throws IOException { - // Despite of documentation (UI8 1-8), there are two fields + // Despite of documentation (UI8 1-8), there are two fields // spreadMode and interPolationMode which are same as in GRADIENT writeUB(2, value.spreadMode); writeUB(2, value.interPolationMode); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java index fa234cdc0..7164458d5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.helpers.Helper; @@ -34,10 +35,15 @@ import java.util.Set; public class SWFSearch { protected Searchable s; + private final boolean noCheck; + private final SearchMode searchMode; + private boolean processed = false; + private final Set listeners = new HashSet<>(); + private final Map swfStreams = new HashMap<>(); public SWFSearch(Searchable s, boolean noCheck, SearchMode searchMode) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java index 0a9b7ae2e..8985c81a1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.helpers.Path; @@ -29,7 +30,9 @@ import java.io.InputStream; public class SWFSourceInfo { private final InputStream inputStream; + private String file; + private final String fileTitle; public SWFSourceInfo(InputStream inputStream, String file, String fileTitle) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java index 819e621af..b999561f1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.abc.types.ABCException; @@ -32,23 +33,38 @@ import java.util.Map; public class SourceGeneratorLocalData implements Serializable { public HashMap registerVars; + public Integer inFunction; + public Boolean inMethod; + public Integer forInLevel; // TODO: handle AVM2 separately public List exceptions = new ArrayList<>(); + public List finallyCatches = new ArrayList<>(); + public Map finallyCounter = new HashMap<>(); + public int finallyRegister = -1; + public String currentClass; + public int activationReg = 0; + public List callStack = new ArrayList<>(); + public Map> traitUsages = new HashMap<>(); + public String pkg = ""; + public List scopeStack = new ArrayList<>(); + public boolean documentClass; + public ScriptInfo currentScript; + public boolean subMethod = false; public String getFullClass() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java index 35612dfcb..0888483bd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import java.util.HashMap; @@ -26,17 +27,30 @@ import java.util.Map; public class Version { public int versionId; + public String revision; + public String versionName; + public String longVersionName; + public String releaseDate; + public String appName; + public String appFullName; + public String updateLink; + public int major; + public int minor; + public int release; + public int build; + public boolean nightly; + public Map> changes = new HashMap<>(); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java index 9c10ff5dc..90d165e5b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.helpers.Helper; @@ -37,7 +38,9 @@ import java.util.zip.ZipInputStream; public class ZippedSWFBundle implements SWFBundle { protected Set keySet = new HashSet<>(); + private final Map cachedSWFs = new HashMap<>(); + protected ReReadableInputStream is; public ZippedSWFBundle(InputStream is) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java index fc4db4e7f..3b5552cd9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -75,20 +75,35 @@ import java.util.logging.Logger; public class ABC { public int major_version = 46; + public int minor_version = 16; + public AVM2ConstantPool constants = new AVM2ConstantPool(); + public List method_info = new ArrayList<>(); + public List metadata_info = new ArrayList<>(); + public List instance_info = new ArrayList<>(); + public List class_info = new ArrayList<>(); + public List script_info = new ArrayList<>(); + public List bodies = new ArrayList<>(); + private Map bodyIdxFromMethodIdx; + private long[] stringOffsets; + public static final int MINORwithDECIMAL = 17; + protected Set listeners = new HashSet<>(); + private static final Logger logger = Logger.getLogger(ABC.class.getName()); + private AVM2Deobfuscation deobfuscation; + @Internal public ABCContainerTag parentTag; @@ -109,7 +124,6 @@ public class ABC { public SWF getSwf() { return parentTag.getSwf(); } - public List getAbcTags() { return getSwf().getAbcList(); @@ -258,7 +272,7 @@ public class ABC { Set stringUsages = getStringUsages(); Set namespaceUsages = getNsStringUsages(); int strIndex = constants.getMultiname(multinameIndex).name_index; - if (stringUsages.contains(strIndex) || namespaceUsages.contains(strIndex)) { // name is used elsewhere as string literal + if (stringUsages.contains(strIndex) || namespaceUsages.contains(strIndex)) { // name is used elsewhere as string literal strIndex = constants.getStringId(newname, true); constants.getMultiname(multinameIndex).name_index = strIndex; } else { @@ -361,7 +375,7 @@ public class ABC { } if (constant_int_pool_count > 1) { ais.newDumpLevel("integers", "integer[]"); - for (int i = 1; i < constant_int_pool_count; i++) { // index 0 not used. Values 1..n-1 + for (int i = 1; i < constant_int_pool_count; i++) { // index 0 not used. Values 1..n-1 constants.addInt(ais.readS32("int")); } ais.endDumpLevel(); @@ -560,9 +574,9 @@ public class ABC { SWFDecompilerPlugin.fireMethodBodyParsed(mb, swf); } - + /*for(int i=0;i()); @@ -572,7 +586,6 @@ public class ABC { System.out.println(""+t.toString()); } //System.exit(0);*/ - SWFDecompilerPlugin.fireAbcParsed(this, swf); } @@ -809,18 +822,18 @@ public class ABC { } namespaceMap = map; } - + return namespaceMap; } - + private AVM2Deobfuscation getDeobfuscation() { if (deobfuscation == null) { deobfuscation = new AVM2Deobfuscation(constants); } - + return deobfuscation; } - + private Map getBodyIdxFromMethodIdx() { if (bodyIdxFromMethodIdx == null) { Map map = new HashMap<>(bodies.size()); @@ -828,10 +841,10 @@ public class ABC { MethodBody mb = bodies.get(i); map.put(mb.method_info, i); } - + bodyIdxFromMethodIdx = map; } - + return bodyIdxFromMethodIdx; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java index f3e1353b8..3f161eded 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc; import com.jpexs.decompiler.flash.EndOfStreamException; @@ -39,10 +40,15 @@ import java.util.List; public class ABCInputStream implements AutoCloseable { private static final int CLASS_PROTECTED_NS = 8; + private static final int ATTR_METADATA = 4; + private final MemoryInputStream is; + private ByteArrayOutputStream bufferOs = null; + public static final boolean DEBUG_READ = false; + public DumpInfo dumpInfo; public void startBuffer() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java index e355698a4..212210862 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -35,22 +35,39 @@ import java.util.List; public class AVM2LocalData extends BaseLocalData { public Boolean isStatic; + public Integer classIndex; + public HashMap localRegs; + public ScopeStack scopeStack; + public AVM2ConstantPool constants; + public List methodInfo; + public MethodBody methodBody; + public ABC abc; + public HashMap localRegNames; + public List fullyQualifiedNames; + public ArrayList parsedExceptions; + public ArrayList finallyJumps; + public ArrayList ignoredSwitches; + public Integer scriptIndex; + public HashMap localRegAssignmentIps; + public Integer ip; + public HashMap> refs; + public AVM2Code code; public AVM2LocalData() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CachedDecompilation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CachedDecompilation.java index 3137bb100..9c506f790 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CachedDecompilation.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CachedDecompilation.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc; import com.jpexs.decompiler.flash.helpers.HighlightedText; @@ -27,10 +28,15 @@ import java.util.List; public class CachedDecompilation implements Serializable { public String text; + public List traitHilights; + public List classHilights; + public List methodHilights; + public List instructionHilights; + public List specialHilights; public List getInstructionHighlights() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java index f9fa00672..14ff0d372 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc; import java.util.Objects; @@ -24,6 +25,7 @@ import java.util.Objects; public class ClassPath { public String packageStr; + public String className; public ClassPath(String packageStr, String className) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java index eaf4b6a2e..1326f4833 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc; import java.io.IOException; @@ -22,11 +23,17 @@ import java.io.OutputStream; public class CopyOutputStream extends OutputStream { private final OutputStream os; + private final InputStream is; + private long pos = 0; + private final int TEMPSIZE = 5; + private final int[] temp = new int[TEMPSIZE]; + private int tempPos = 0; + public int ignoreFirst = 0; public CopyOutputStream(OutputStream os, InputStream is) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java index aae67381a..0810714aa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -48,8 +48,11 @@ import java.util.logging.Logger; public class ScriptPack extends AS3ClassTreeItem { public final ABC abc; + public final int scriptIndex; + public final List traitIndices; + private final ClassPath path; @Override @@ -228,5 +231,4 @@ public class ScriptPack extends AS3ClassTreeItem { } return true; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index fd79c55b0..ea4b650bd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.flash.EndOfStreamException; @@ -253,34 +254,63 @@ import java.util.logging.Logger; public class AVM2Code implements Cloneable { private static final Logger logger = Logger.getLogger(AVM2Code.class.getName()); + private static final boolean DEBUG_MODE = false; + public static int toSourceLimit = -1; + public List code = new ArrayList<>(); + public static boolean DEBUG_REWRITE = false; + public static final int OPT_U30 = 0x100; + public static final int OPT_U8 = 0x200; + public static final int OPT_S24 = 0x300; + public static final int OPT_CASE_OFFSETS = 0x400; + public static final int OPT_BYTE = 0x500; + public static final int DAT_MULTINAME_INDEX = OPT_U30 + 0x01; + public static final int DAT_ARG_COUNT = OPT_U30 + 0x02; + public static final int DAT_METHOD_INDEX = OPT_U30 + 0x03; + public static final int DAT_STRING_INDEX = OPT_U30 + 0x04; + public static final int DAT_DEBUG_TYPE = OPT_U8 + 0x05; + public static final int DAT_REGISTER_INDEX = OPT_U8 + 0x06; + public static final int DAT_LINENUM = OPT_U30 + 0x07; + public static final int DAT_LOCAL_REG_INDEX = OPT_U30 + 0x08; + public static final int DAT_SLOT_INDEX = OPT_U30 + 0x09; + public static final int DAT_SLOT_SCOPE_INDEX = OPT_U30 + 0x0A; + public static final int DAT_OFFSET = OPT_S24 + 0x0B; + public static final int DAT_EXCEPTION_INDEX = OPT_U30 + 0x0C; + public static final int DAT_CLASS_INDEX = OPT_U30 + 0x0D; + public static final int DAT_INT_INDEX = OPT_U30 + 0x0E; + public static final int DAT_UINT_INDEX = OPT_U30 + 0x0F; + public static final int DAT_DOUBLE_INDEX = OPT_U30 + 0x10; + public static final int DAT_DECIMAL_INDEX = OPT_U30 + 0x11; + public static final int DAT_CASE_BASEOFFSET = OPT_S24 + 0x12; + public static final int DAT_DECIMAL_PARAMS = OPT_U30 + 0x13; + public static InstructionDefinition[] instructionSet = new InstructionDefinition[]{ new AddIns(), new InstructionDefinition(0x9b, "add_d", new int[]{}) { @@ -725,8 +755,9 @@ public class AVM2Code implements Cloneable { } }; // endoflist - + public static InstructionDefinition[] instructionSetByCode = buildInstructionSetByCode(); + public boolean hideTemporaryRegisters = true; private static InstructionDefinition[] buildInstructionSetByCode() { @@ -739,7 +770,9 @@ public class AVM2Code implements Cloneable { } return result; } + public static final String IDENTOPEN = "/*IDENTOPEN*/"; + public static final String IDENTCLOSE = "/*IDENTCLOSE*/"; public AVM2Code() { @@ -1178,7 +1211,9 @@ public class AVM2Code implements Cloneable { } return writer; } + private boolean cacheActual = false; + private List posCache; private void buildCache() { @@ -1213,8 +1248,11 @@ public class AVM2Code implements Cloneable { public void invalidateCache() { cacheActual = false; } + private List unknownJumps; + private List ignoredIns; + boolean isCatched = false; /** @@ -1236,6 +1274,7 @@ public class AVM2Code implements Cloneable { } return false; } + private int toSourceCount = 0; public Map getLocalRegNamesFromDebug(ABC abc) { @@ -1623,6 +1662,7 @@ public class AVM2Code implements Cloneable { private class Slot { public GraphTargetItem scope; + public Multiname multiname; public Slot(GraphTargetItem scope, Multiname multiname) { @@ -1719,7 +1759,7 @@ public class AVM2Code implements Cloneable { for(int reg:nowdeclaredRegs){ declaredRegisters[reg] = false; } - + for(Slot s:nowdeclaredSlots){ declaredSlots.remove(s); }*/ @@ -1784,7 +1824,7 @@ public class AVM2Code implements Cloneable { return list; } } - // Declarations + // Declarations injectDeclarations(list, new boolean[regCount], new ArrayList(), abc, body); int lastPos = list.size() - 1; @@ -2322,6 +2362,7 @@ public class AVM2Code implements Cloneable { private static class ControlFlowTag { public String name; + public int value; public ControlFlowTag(String name, int value) { @@ -2551,8 +2592,11 @@ public class AVM2Code implements Cloneable { private static class Decision { public boolean jumpUsed = false; + public boolean skipUsed = false; + public Set casesUsed = new HashSet<>(); + HashMap registers = new HashMap<>(); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2ConstantPool.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2ConstantPool.java index a04883a85..38f8000ae 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2ConstantPool.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2ConstantPool.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.flash.abc.types.Decimal; @@ -28,14 +29,22 @@ import java.util.logging.Logger; public class AVM2ConstantPool { private static final Logger logger = Logger.getLogger(AVM2ConstantPool.class.getName()); + public List constant_int = new ArrayList<>(); + public List constant_uint = new ArrayList<>(); + public List constant_double = new ArrayList<>(); /* Only for some minor versions */ + public List constant_decimal = new ArrayList<>(); + public List constant_string = new ArrayList<>(); + public List constant_namespace = new ArrayList<>(); + public List constant_namespace_set = new ArrayList<>(); + public List constant_multiname = new ArrayList<>(); public synchronized int addInt(long value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java index 265815bb1..e988dcb21 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.flash.abc.RenameType; @@ -30,6 +31,7 @@ import java.util.regex.Pattern; public class AVM2Deobfuscation { private static final Random rnd = new Random(); + private static final int DEFAULT_FOO_SIZE = 10; public static final String[] reservedWords = { @@ -38,13 +40,19 @@ public class AVM2Deobfuscation { "interface", "internal", "is", "native", "new", "null", "override", "package", "private", "protected", "public", "return", "set", "super", "switch", "this", "throw", "true", "try", "typeof", "use", "var", /*"void",*/ "while", "with", "dynamic", "default", "final", "in", "static"}; + public static final String VALID_FIRST_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; + public static final String VALID_NEXT_CHARACTERS = VALID_FIRST_CHARACTERS + "0123456789"; + public static final String VALID_NS_CHARACTERS = ".:$"; + public static final String FOO_CHARACTERS = "bcdfghjklmnpqrstvwz"; + public static final String FOO_JOIN_CHARACTERS = "aeiouy"; private final AVM2ConstantPool constants; + private final Map usageTypesCount = new HashMap<>(); public AVM2Deobfuscation(AVM2ConstantPool constants) { @@ -241,5 +249,4 @@ public class AVM2Deobfuscation { } return strIndex; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java index 18b2c1c8f..5bb8c3c09 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.flash.abc.ABC; @@ -27,11 +28,17 @@ import java.util.List; public class CodeStats { public int maxstack = 0; + public int maxscope = 0; + public int maxlocal = 1; + public int initscope = 0; + public boolean has_set_dxns = false; + public boolean has_activation = false; + public InstructionStats[] instructionStats; public GraphTextWriter toString(GraphTextWriter writer, ABC abc, List fullyQualifiedNames) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java index ac9226775..64acd006c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.graph.GraphTargetItem; @@ -26,6 +27,7 @@ import java.util.List; public class ConvertOutput { public TranslateStack stack; + public List output; public ConvertOutput(TranslateStack stack, List output) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java index 42a6dc5e0..b87a9aa0e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -24,10 +25,15 @@ import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; public class InstructionStats { public boolean seen = false; + public int stackpos = 0; + public int scopepos = 0; + public int stackpos_after = 0; + public int scopepos_after = 0; + public AVM2Instruction ins; public InstructionStats(AVM2Instruction ins) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java index 13762994a..e8d4ad76a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import java.util.HashMap; @@ -21,6 +22,8 @@ import java.util.Stack; public class LocalDataArea { public Stack operandStack = new Stack<>(); + public Stack scopeStack = new Stack<>(); + public HashMap localRegisters = new HashMap<>(); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java index 49a0bac3c..7856894a7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2; import com.jpexs.decompiler.graph.GraphTargetItem; @@ -22,7 +23,9 @@ import java.util.List; public class UnknownJumpException extends RuntimeException { public TranslateStack stack; + public int ip; + public List output; public UnknownJumpException(TranslateStack stack, int ip, List output) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java index fdc7c3563..2a35cb4ee 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.graph; import com.jpexs.decompiler.flash.BaseLocalData; @@ -80,7 +81,9 @@ import java.util.List; public class AVM2Graph extends Graph { private final AVM2Code avm2code; + private final ABC abc; + private final MethodBody body; public AVM2Code getCode() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java index 8e7151f5b..3904c0a29 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.graph; import com.jpexs.decompiler.flash.BaseLocalData; @@ -38,16 +39,27 @@ import java.util.List; public class AVM2GraphSource extends GraphSource { private final AVM2Code code; + boolean isStatic; + int classIndex; + int scriptIndex; + HashMap localRegs; + ScopeStack scopeStack; + ABC abc; + MethodBody body; + HashMap localRegNames; + List fullyQualifiedNames; + HashMap localRegAssigmentIps; + HashMap> refs; public AVM2Code getCode() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java index 78738969f..e2d82b59d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.instructions; import com.jpexs.decompiler.flash.BaseLocalData; @@ -42,11 +43,17 @@ import java.util.List; public class AVM2Instruction implements Cloneable, GraphSourceItem { public InstructionDefinition definition; + public int[] operands; + public long offset; + public String comment; + public boolean ignored = false; + public long mappedOffset = -1; + public int changeJumpTo = -1; public AVM2Instruction(long offset, InstructionDefinition definition, int[] operands) { @@ -277,6 +284,7 @@ public class AVM2Instruction implements Cloneable, GraphSourceItem { s += getParams(constants, fullyQualifiedNames) + getComment(); return s; } + public List replaceWith; @Override @@ -354,6 +362,7 @@ public class AVM2Instruction implements Cloneable, GraphSourceItem { public void setFixBranch(int pos) { this.fixedBranch = pos; } + private int fixedBranch = -1; public int getFixBranch() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java index 02cb16007..4c9d43b8c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.instructions; import com.jpexs.decompiler.flash.abc.ABC; @@ -44,7 +45,9 @@ public class InstructionDefinition implements Serializable { public static final long serialVersionUID = 1L; public int[] operands; + public String instructionName = ""; + public int instructionCode = 0; public InstructionDefinition(int instructionCode, String instructionName, int[] operands) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java index b6bbfee90..65e0fd737 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.instructions.other; import com.jpexs.decompiler.flash.abc.ABC; @@ -47,5 +48,4 @@ public class GetLexIns extends InstructionDefinition { public int getStackDelta(AVM2Instruction ins, ABC abc) { return 1; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java index 50f008265..9a220e899 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.instructions.other; import com.jpexs.decompiler.flash.abc.ABC; @@ -48,5 +49,4 @@ public class HasNext2Ins extends InstructionDefinition { public int getStackDelta(AVM2Instruction ins, ABC abc) { return 1; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java index 6b3c9ec00..e03381ab3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -35,6 +36,7 @@ import java.util.List; public abstract class AVM2Item extends GraphTargetItem { public AVM2Instruction instruction; + public boolean hidden = false; public AVM2Item(GraphSourceItem instruction, int precedence) { @@ -147,5 +149,4 @@ public abstract class AVM2Item extends GraphTargetItem { AVM2SourceGenerator g = (AVM2SourceGenerator) generator; g.killRegister(localData, regNumber); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java index 22638beff..73525a4f6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -28,6 +29,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class AlchemyLoadAVM2Item extends AVM2Item { private final String name; + private final GraphTargetItem ofs; public AlchemyLoadAVM2Item(GraphSourceItem instruction, GraphTargetItem ofs, String name) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java index ff7da1607..d36499f38 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -28,6 +29,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class AlchemyStoreAVM2Item extends AVM2Item { private final String name; + private final GraphTargetItem ofs; public AlchemyStoreAVM2Item(GraphSourceItem instruction, GraphTargetItem value, GraphTargetItem ofs, String name) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java index 092a53673..1ce999c26 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,6 +32,7 @@ import java.util.List; public class ApplyTypeAVM2Item extends AVM2Item { public GraphTargetItem object; + public List params; public ApplyTypeAVM2Item(AVM2Instruction instruction, GraphTargetItem object, List params) { @@ -83,5 +85,4 @@ public class ApplyTypeAVM2Item extends AVM2Item { ins(new ApplyTypeIns(), params.size()) ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java index b71481b9a..8d9ce6554 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,7 +26,9 @@ import java.util.List; public class CallAVM2Item extends AVM2Item { public GraphTargetItem receiver; + public GraphTargetItem function; + public List arguments; public CallAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, GraphTargetItem function, List arguments) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java index e91681433..45bdb3d09 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,7 +26,9 @@ import java.util.List; public class CallMethodAVM2Item extends AVM2Item { public GraphTargetItem receiver; + public String methodName; + public List arguments; public CallMethodAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java index f70e370cb..421271e0a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,8 +32,11 @@ import java.util.List; public class CallPropertyAVM2Item extends AVM2Item { public GraphTargetItem receiver; + public GraphTargetItem propertyName; + public List arguments; + public boolean isVoid; public CallPropertyAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem propertyName, List arguments) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java index c3276d79c..91a22b1d0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,7 +26,9 @@ import java.util.List; public class CallStaticAVM2Item extends AVM2Item { public GraphTargetItem receiver; + public String methodName; + public List arguments; public CallStaticAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java index 9ef256e13..83737cab6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,8 +26,11 @@ import java.util.List; public class CallSuperAVM2Item extends AVM2Item { public GraphTargetItem receiver; + public GraphTargetItem multiname; + public List arguments; + public boolean isVoid; public CallSuperAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem multiname, List arguments) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java index 5b4fe4469..545e27e59 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -136,5 +137,4 @@ public class CoerceAVM2Item extends AVM2Item { } return toSourceMerge(localData, generator, value, ins); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java index 3abad16db..4dbf217d7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -24,6 +25,7 @@ import java.util.List; public class ConstructAVM2Item extends AVM2Item { public GraphTargetItem object; + public List args; public ConstructAVM2Item(AVM2Instruction instruction, GraphTargetItem object, List args) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java index 58e9eff45..db4863f88 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,7 +26,9 @@ import java.util.List; public class ConstructPropAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem propertyName; + public List args; public ConstructPropAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName, List args) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java index 480271f58..28c63efde 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,6 +31,7 @@ import java.util.List; public class ConstructSuperAVM2Item extends AVM2Item { public GraphTargetItem object; + public List args; public ConstructSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, List args) { @@ -71,5 +73,4 @@ public class ConstructSuperAVM2Item extends AVM2Item { new AVM2Instruction(0, new ConstructSuperIns(), new int[]{args.size()}) ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java index 20afd49d9..955755ac1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -61,5 +61,4 @@ public class DefaultXMLNamespace extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, ns, ins(new DXNSLateIns())); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java index 1cd03a7de..b1279d26c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -60,5 +60,4 @@ public class EscapeXElemAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, value, ins(new EscXElemIns())); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java index 54fa0f4ce..ec7b79927 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; @@ -28,7 +29,9 @@ import java.util.List; public class FullMultinameAVM2Item extends AVM2Item { public int multinameIndex; + public GraphTargetItem name; + public GraphTargetItem namespace; public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java index e54e26b52..f0bcbfb78 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,8 +31,11 @@ import java.util.List; public class GetDescendantsAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem multiname; + public List openedNamespaces; + public String nameStr; //constructor for compiler @@ -69,5 +73,4 @@ public class GetDescendantsAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java index 68efa95c7..bd782394a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,6 +32,7 @@ import java.util.List; public class GetPropertyAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem propertyName; public GetPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java index 7e16657d4..7097b7f64 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,6 +26,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class GetSlotAVM2Item extends AVM2Item { public Multiname slotName; + public GraphTargetItem scope; public GetSlotAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, Multiname slotName) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java index 8a9c374e0..5ee7006f9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class GetSuperAVM2Item extends AVM2Item { public GraphTargetItem object; + public FullMultinameAVM2Item propertyName; public GetSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, FullMultinameAVM2Item propertyName) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java index d458a0fce..671975b7f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -28,6 +29,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class HasNextAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem collection; public HasNextAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem collection) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java index 9167c7bcd..425f08140 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,6 +31,7 @@ import java.util.List; public class InAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem collection; public InAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem collection) { @@ -59,5 +61,4 @@ public class InAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSourceMerge(localData, generator, object, collection, ins(new InIns())); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java index 08ef2c15b..94fe8276a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,6 +26,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class InitPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item { public GraphTargetItem object; + public FullMultinameAVM2Item propertyName; //public GraphTargetItem value; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java index f1fb3745d..fd2906063 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -45,7 +46,9 @@ import java.util.List; public class InitVectorAVM2Item extends AVM2Item { public GraphTargetItem subtype; + public List arguments; + List openedNamespaces; private int allNsSet(ABC abc) { @@ -118,5 +121,4 @@ public class InitVectorAVM2Item extends AVM2Item { } return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java index 3fd4b2387..36b178587 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -37,8 +38,11 @@ import java.util.Set; public class LocalRegAVM2Item extends AVM2Item { public int regIndex; + public GraphTargetItem computedValue; + private final Object computedResult; + private boolean isCT = false; public LocalRegAVM2Item(AVM2Instruction instruction, int regIndex, GraphTargetItem computedValue) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java index 27f5adad8..541b8192e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -64,5 +65,4 @@ public class NewArrayAVM2Item extends AVM2Item { new AVM2Instruction(0, new NewArrayIns(), new int[]{values.size()}) ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java index 7d14fea61..fd0b604b7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.ABC; @@ -33,14 +34,23 @@ import java.util.List; public class NewFunctionAVM2Item extends AVM2Item { public String functionName; + public String path; + public boolean isStatic; + public int scriptIndex; + public int classIndex; + public ABC abc; + public List fullyQualifiedNames; + public AVM2ConstantPool constants; + public List methodInfo; + public int methodIndex; public NewFunctionAVM2Item(AVM2Instruction instruction, String functionName, String path, boolean isStatic, int scriptIndex, int classIndex, ABC abc, List fullyQualifiedNames, AVM2ConstantPool constants, List methodInfo, int methodIndex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java index 8fd85efb8..7359809ce 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -81,5 +82,4 @@ public class NewObjectAVM2Item extends AVM2Item { new AVM2Instruction(0, new NewObjectIns(), new int[]{pairs.size()}) ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java index 80260dbba..e1964fe56 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -28,6 +29,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class NextNameAVM2Item extends AVM2Item { GraphTargetItem index; + GraphTargetItem obj; public NextNameAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java index fb5f050d3..1cc7d2405 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -28,6 +29,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class NextValueAVM2Item extends AVM2Item { GraphTargetItem index; + GraphTargetItem obj; public NextValueAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java index 0d93e33a8..9f3e71650 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -73,5 +74,4 @@ public class PostIncrementAVM2Item extends AVM2Item implements AssignmentAVM2Ite } return new ArrayList<>(); //? } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java index 7a3a32b85..11ff06193 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -33,7 +34,9 @@ import java.util.List; public class SetPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item { public GraphTargetItem object; + public GraphTargetItem propertyName; + public GraphTargetItem value; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java index 54ad67dc0..989735dc2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -27,6 +28,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class SetSlotAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item { public Multiname slotName; + //public GraphTargetItem value; public GraphTargetItem scope; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java index 01f7e7b4e..a82e3c9ac 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -26,6 +27,7 @@ public class SetSuperAVM2Item extends AVM2Item { //public GraphTargetItem value; public GraphTargetItem object; + public FullMultinameAVM2Item propertyName; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java index 5babefa2a..b1c1565b6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -55,5 +56,4 @@ public class ThrowAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java index 4fb2bcde6..3e09fcd76 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,7 +33,9 @@ import java.util.List; public class WithAVM2Item extends AVM2Item { public GraphTargetItem scope; + public List items; + public List subvariables = new ArrayList<>(); public WithAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, List items) { @@ -79,5 +82,4 @@ public class WithAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java index 70ed79a2c..2c161dcec 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -54,5 +55,4 @@ public class WithObjectAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return scope.toSource(localData, generator); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java index f84e97ca7..32d64eaad 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -34,6 +35,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class DeclarationAVM2Item extends AVM2Item { public GraphTargetItem assignment; + public GraphTargetItem type; public DeclarationAVM2Item(GraphTargetItem assignment, GraphTargetItem type) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java index d771265ea..55680b603 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -29,6 +30,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class FilterAVM2Item extends AVM2Item { public GraphTargetItem expression; + public GraphTargetItem collection; public FilterAVM2Item(AVM2Instruction instruction, GraphTargetItem collection, GraphTargetItem expression) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java index 0b059097a..af8903a24 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -39,7 +40,9 @@ import java.util.List; public class ForEachInAVM2Item extends LoopItem implements Block { public InAVM2Item expression; + public List commands; + private boolean labelUsed; @Override @@ -133,5 +136,4 @@ public class ForEachInAVM2Item extends LoopItem implements Block { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java index c90cd04eb..4f7f288df 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -39,7 +40,9 @@ import java.util.List; public class ForInAVM2Item extends LoopItem implements Block { public InAVM2Item expression; + public List commands; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java index 00c5172ac..27cc7814c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -38,10 +39,15 @@ import java.util.List; public class TryAVM2Item extends AVM2Item implements Block { public List tryCommands; + public List catchExceptions; + public List catchExceptions2; + public List> catchCommands; + public List finallyCommands; + public List> catchVariables = new ArrayList<>(); @Override @@ -164,5 +170,4 @@ public class TryAVM2Item extends AVM2Item implements Block { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java index 83e87dc92..74aad1450 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.operations; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -87,5 +88,4 @@ public class AddAVM2Item extends BinaryOpItem { public GraphTargetItem returnType() { return new UnboundedTypeItem(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java index 689bef551..f09bd92e8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.operations; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -36,6 +37,7 @@ import java.util.List; public class DeletePropertyAVM2Item extends AVM2Item { public GraphTargetItem object; + public GraphTargetItem propertyName; private int line; @@ -80,7 +82,7 @@ public class DeletePropertyAVM2Item extends AVM2Item { return n.toSource(localData, generator, true, false, new ArrayList(), true, false); } - throw new CompilationException("Not a property", line); //TODO: handle line better way + throw new CompilationException("Not a property", line); //TODO: handle line better way } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java index 5d10d9f4f..bb8981c96 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.operations; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -49,5 +50,4 @@ public class LShiftAVM2Item extends BinaryOpItem { public GraphTargetItem returnType() { return new UnboundedTypeItem(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java index d59e86149..272df7c43 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.model.operations; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -58,5 +59,4 @@ public class PreDecrementAVM2Item extends UnaryOpItem implements AssignmentAVM2I public GraphTargetItem returnType() { return value.returnType(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java index 1244fb677..0a4c304e8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ASM3Parser.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.pcode; import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; @@ -46,7 +47,9 @@ public class ASM3Parser { private static class OffsetItem { public String label = ""; + public long insPosition; + public int insOperandIndex; public OffsetItem(String label, long insOffset, int insOperandIndex) { @@ -66,6 +69,7 @@ public class ASM3Parser { private static class LabelItem { public String label = ""; + public int offset; public LabelItem(String label, int offset) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java index e5104be20..dc86e8164 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -43,7 +43,9 @@ public final class Flasm3Lexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int PARAMETERS = 4; /** @@ -2494,7 +2496,9 @@ public final class Flasm3Lexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -2642,7 +2646,9 @@ public final class Flasm3Lexer { /* user code: */ StringBuffer string = new StringBuffer(); + boolean isMultiname = false; + long multinameId = 0; /** @@ -3607,5 +3613,4 @@ public final class Flasm3Lexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ParsedSymbol.java index 477d51b68..e086e9073 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/ParsedSymbol.java @@ -1,108 +1,195 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.pcode; public class ParsedSymbol { public int type; + public Object value; + public static final int TYPE_STRING = 1; + public static final int TYPE_MULTINAME = 2; + public static final int TYPE_INSTRUCTION_NAME = 3; + public static final int TYPE_INTEGER = 4; + public static final int TYPE_FLOAT = 5; + public static final int TYPE_IDENTIFIER = 6; + public static final int TYPE_EOF = 7; + public static final int TYPE_LABEL = 8; + public static final int TYPE_COMMENT = 9; + public static final int TYPE_EXCEPTION_START = 10; + public static final int TYPE_EXCEPTION_END = 11; + public static final int TYPE_EXCEPTION_TARGET = 12; + public static final int TYPE_KEYWORD_QNAME = 13; + public static final int TYPE_KEYWORD_QNAMEA = 14; + public static final int TYPE_KEYWORD_RTQNAME = 15; + public static final int TYPE_KEYWORD_RTQNAMEA = 16; + public static final int TYPE_KEYWORD_RTQNAMEL = 17; + public static final int TYPE_KEYWORD_RTQNAMELA = 18; + public static final int TYPE_KEYWORD_MULTINAME = 19; + public static final int TYPE_KEYWORD_MULTINAMEA = 20; + public static final int TYPE_KEYWORD_MULTINAMEL = 21; + public static final int TYPE_KEYWORD_MULTINAMELA = 22; + public static final int TYPE_KEYWORD_TYPENAME = 23; + public static final int TYPE_PARENT_OPEN = 24; + public static final int TYPE_PARENT_CLOSE = 25; + public static final int TYPE_COMMA = 26; + public static final int TYPE_KEYWORD_NULL = 27; + public static final int TYPE_BRACKET_OPEN = 28; + public static final int TYPE_BRACKET_CLOSE = 29; + public static final int TYPE_LOWERTHAN = 30; + public static final int TYPE_GREATERTHAN = 31; + public static final int TYPE_KEYWORD_NAMESPACE = 32; + public static final int TYPE_KEYWORD_PRIVATENAMESPACE = 33; + public static final int TYPE_KEYWORD_PACKAGENAMESPACE = 34; + public static final int TYPE_KEYWORD_PACKAGEINTERNALNS = 35; + public static final int TYPE_KEYWORD_PROTECTEDNAMESPACE = 36; + public static final int TYPE_KEYWORD_EXPLICITNAMESPACE = 37; + public static final int TYPE_KEYWORD_STATICPROTECTEDNS = 38; + public static final int TYPE_KEYWORD_TRY = 39; + public static final int TYPE_KEYWORD_FROM = 40; + public static final int TYPE_KEYWORD_TO = 41; + public static final int TYPE_KEYWORD_TARGET = 42; + public static final int TYPE_KEYWORD_TYPE = 43; + public static final int TYPE_KEYWORD_NAME = 44; + public static final int TYPE_KEYWORD_FLAG = 45; + public static final int TYPE_KEYWORD_EXPLICIT = 46; + public static final int TYPE_KEYWORD_HAS_OPTIONAL = 47; + public static final int TYPE_KEYWORD_HAS_PARAM_NAMES = 48; + public static final int TYPE_KEYWORD_IGNORE_REST = 49; + public static final int TYPE_KEYWORD_NEED_ACTIVATION = 50; + public static final int TYPE_KEYWORD_NEED_ARGUMENTS = 51; + public static final int TYPE_KEYWORD_NEED_REST = 52; + public static final int TYPE_KEYWORD_SET_DXNS = 53; + public static final int TYPE_KEYWORD_PARAM = 54; + public static final int TYPE_KEYWORD_PARAMNAME = 55; + public static final int TYPE_KEYWORD_OPTIONAL = 56; + public static final int TYPE_KEYWORD_RETURNS = 57; + public static final int TYPE_KEYWORD_BODY = 58; + public static final int TYPE_KEYWORD_MAXSTACK = 59; + public static final int TYPE_KEYWORD_LOCALCOUNT = 60; + public static final int TYPE_KEYWORD_INITSCOPEDEPTH = 61; + public static final int TYPE_KEYWORD_MAXSCOPEDEPTH = 62; + public static final int TYPE_KEYWORD_CODE = 63; + public static final int TYPE_KEYWORD_INTEGER = 64; + public static final int TYPE_KEYWORD_UINTEGER = 65; + public static final int TYPE_KEYWORD_DOUBLE = 66; + public static final int TYPE_KEYWORD_DECIMAL = 67; + public static final int TYPE_KEYWORD_UTF8 = 68; + public static final int TYPE_KEYWORD_TRUE = 69; + public static final int TYPE_KEYWORD_FALSE = 70; + public static final int TYPE_KEYWORD_UNDEFINED = 71; + public static final int TYPE_KEYWORD_TRAIT = 72; + public static final int TYPE_KEYWORD_SLOT = 73; + public static final int TYPE_KEYWORD_CONST = 74; + public static final int TYPE_KEYWORD_METHOD = 75; + public static final int TYPE_KEYWORD_GETTER = 76; + public static final int TYPE_KEYWORD_SETTER = 77; + public static final int TYPE_KEYWORD_CLASS = 78; + public static final int TYPE_KEYWORD_FUNCTION = 79; + public static final int TYPE_KEYWORD_DISPID = 80; + public static final int TYPE_KEYWORD_SLOTID = 81; + public static final int TYPE_KEYWORD_VALUE = 82; + public static final int TYPE_KEYWORD_FINAL = 83; + public static final int TYPE_KEYWORD_METADATA = 84; + public static final int TYPE_KEYWORD_OVERRIDE = 85; public ParsedSymbol(int type, Object value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java index db8a9cfae..9b06ad0ca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/AVM2SourceGenerator.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -142,11 +142,15 @@ import java.util.logging.Logger; public class AVM2SourceGenerator implements SourceGenerator { public final ABC abc; + public List allABCs; public static final int MARK_E_START = 0; + public static final int MARK_E_END = 1; + public static final int MARK_E_TARGET = 2; + public static final int MARK_E_FINALLYPART = 3; private AVM2Instruction ins(InstructionDefinition def, int... operands) { @@ -249,7 +253,7 @@ public class AVM2SourceGenerator implements SourceGenerator { private List generateIf(SourceGeneratorLocalData localData, GraphTargetItem expression, List onTrueCmds, List onFalseCmds, boolean ternar) throws CompilationException { List ret = new ArrayList<>(); - //ret.addAll(notCondition(localData, expression)); + //ret.addAll(notCondition(localData, expression)); List onTrue = null; List onFalse = null; if (ternar) { @@ -594,6 +598,7 @@ public class AVM2SourceGenerator implements SourceGenerator { fixLoop(forBody, forBodyLen + forFinalCLen + forExprLen, forBodyLen, item.loop.id); return ret; } + private long uniqLast = 0; public String uniqId() { @@ -814,7 +819,7 @@ public class AVM2SourceGenerator implements SourceGenerator { } } - //catchCmds.add(catchCmd); + //catchCmds.add(catchCmd); preCatches.addAll(catchCmds.get(c)); catches.addAll(0, preCatches); catches.add(0, new ExceptionMarkAVM2Instruction(currentExceptionIds.get(c), MARK_E_TARGET)); @@ -1322,7 +1327,7 @@ public class AVM2SourceGenerator implements SourceGenerator { } if (!nameItem.subtypes.isEmpty()) { //It's vector => TypeName List params = new ArrayList<>(); - for (GraphTargetItem p : nameItem.subtypes) { + for (GraphTargetItem p : nameItem.subtypes) { params.add(typeName(localData, p));//abc.constants.getMultinameId(new Multiname(Multiname.QNAME, str(p), namespace(Namespace.KIND_PACKAGE, ppkg), 0, 0, new ArrayList()), true)); } int qname = abc.constants.getMultinameId(new Multiname(Multiname.QNAME, str(name), namespace(Namespace.KIND_PACKAGE, pkg), 0, 0, new ArrayList()), true); @@ -1381,7 +1386,7 @@ public class AVM2SourceGenerator implements SourceGenerator { public int method(boolean subMethod, boolean isInterface, List callStack, String pkg, boolean needsActivation, List subvariables, int initScope, boolean hasRest, int line, String className, String superType, boolean constructor, SourceGeneratorLocalData localData, List paramTypes, List paramNames, List paramValues, List body, GraphTargetItem retType) throws CompilationException { //Reference hasArgs = new Reference<>(Boolean.FALSE); - //calcRegisters(localData,needsActivation,paramNames,subvariables,body, hasArgs); + //calcRegisters(localData,needsActivation,paramNames,subvariables,body, hasArgs); SourceGeneratorLocalData newlocalData = new SourceGeneratorLocalData(new HashMap(), 1, true, 0); newlocalData.currentClass = className; newlocalData.pkg = localData.pkg; @@ -1598,7 +1603,7 @@ public class AVM2SourceGenerator implements SourceGenerator { mi.setFlagNeed_Arguments(); } //No param names like in official - /* + /* if (!paramNames.isEmpty()) { mi.setFlagHas_paramnames(); }*/ @@ -2326,8 +2331,8 @@ public class AVM2SourceGenerator implements SourceGenerator { parentNames(a, abcs, a.instance_info.get(i).super_index, indices, names, namespaces, outABCs); } /*parentNames(abc,allABCs,abc.constants.getMultinameId( - new Multiname(superName.kind, - abc.constants.getStringId(superName.getName(a.constants, new ArrayList()),true), + new Multiname(superName.kind, + abc.constants.getStringId(superName.getName(a.constants, new ArrayList()),true), abc.constants.getNamespaceId(new Namespace(superName.getNamespace(a.constants).kind, abc.constants.getStringId(superName.getNamespace(a.constants).getName(a.constants),true)),0,true), 0, 0, new ArrayList()), true),indices,names,namespaces,outABCs);*/ return; } @@ -2337,7 +2342,7 @@ public class AVM2SourceGenerator implements SourceGenerator { } /* public void calcRegisters(Reference activationReg, SourceGeneratorLocalData localData, boolean needsActivation, List funParamNames,List funSubVariables,List funBody, Reference hasArguments) throws ParseException { - + }*/ /*public int resolveType(String objType) { if (objType.equals("*")) { @@ -2461,5 +2466,4 @@ public class AVM2SourceGenerator implements SourceGenerator { ret.add(ins(new PopIns())); return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java index c3da03a31..ff91d9b77 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -45,15 +45,25 @@ public final class ActionScriptLexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int CHARLITERAL = 4; + public static final int XMLOPENTAG = 6; + public static final int XMLOPENTAGATTRIB = 8; + public static final int XMLINSTROPENTAG = 10; + public static final int XMLINSTRATTRIB = 12; + public static final int XMLCDATA = 14; + public static final int XMLCOMMENT = 16; + public static final int XML = 18; + public static final int OIDENTIFIER = 20; /** @@ -864,7 +874,9 @@ public final class ActionScriptLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -2334,5 +2346,4 @@ public final class ActionScriptLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptParser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptParser.java index ccd9c34b8..40ce4c40c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptParser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptParser.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -125,10 +125,13 @@ import java.util.logging.Logger; public class ActionScriptParser { private long uniqLast = 0; + private final boolean debugMode = false; + private static final String AS3_NAMESPACE = "http://adobe.com/AS3/2006/builtin"; private final ABC abc; + private final List otherABCs; private static final List playerABCs = new ArrayList<>(); @@ -305,7 +308,7 @@ public class ActionScriptParser { boolean attrBracket = false; while (s.isType(SymbolType.DOT)) { - name += s.value.toString(); //. or :: + name += s.value.toString(); //. or :: s = lex(); if (s.type == SymbolType.ATTRIBUTE) { name += "@"; @@ -932,7 +935,7 @@ public class ActionScriptParser { GraphTargetItem ret = null; switch (s.type) { /*case INT: - expectedType(SymbolType.PARENT_OPEN); + expectedType(SymbolType.PARENT_OPEN); ret = new ToIntegerAVM2Item(null, expression(thisType,pkg,needsActivation, importedClasses, openedNamespaces,openedNamespacesKinds,registerVars, inFunction, inMethod, true, variables)); expectedType(SymbolType.PARENT_CLOSE); break; @@ -1092,7 +1095,7 @@ public class ActionScriptParser { addS(rets, sb); lexer.yybegin(ActionScriptLexer.XML); break; - case XML_STARTVARTAG_BEGIN: //add + case XML_STARTVARTAG_BEGIN: //add //openedTags.add("*"); //ret = add(ret, ); @@ -1123,7 +1126,7 @@ public class ActionScriptParser { rets.addAll(st); closedVarTags.setVal(subclose.getVal() + subclose.getVal()); break; - /*case XML_STARTTAG_END: + /*case XML_STARTTAG_END: sb.append(s.value.toString()); ret = addstr(ret,sb); break;*/ @@ -1631,7 +1634,7 @@ public class ActionScriptParser { System.out.println("/command"); } lexer.removeListener(buf); - if (ret == null) { //can be popped expression + if (ret == null) { //can be popped expression buf.pushAllBack(lexer); ret = expression(thisType, pkg, needsActivation, importedClasses, openedNamespaces, registerVars, inFunction, inMethod, true, variables); } @@ -2196,6 +2199,7 @@ public class ActionScriptParser { } private ActionScriptLexer lexer = null; + private List constantPool; private PackageAVM2Item parsePackage(List openedNamespaces) throws IOException, AVM2ParseException, CompilationException { @@ -2352,5 +2356,4 @@ public class ActionScriptParser { } System.exit(0); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/CallAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/CallAVM2Item.java index 1704bb1a9..9c63b46b6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/CallAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/CallAVM2Item.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -48,7 +48,9 @@ import java.util.List; public class CallAVM2Item extends AVM2Item { public GraphTargetItem name; + public List arguments; + public int line; public CallAVM2Item(int line, GraphTargetItem name, List arguments) { @@ -137,12 +139,12 @@ public class CallAVM2Item extends AVM2Item { if (obj == null) { obj = new AVM2Instruction(0, new FindPropertyStrictIns(), new int[]{propIndex}); } - + boolean isSuper = (obj instanceof NameAVM2Item) && "super".equals(((NameAVM2Item) obj).getVariableName()); - - InstructionDefinition insDef = isSuper ? - (needsReturn ? new CallSuperIns() : new CallSuperVoidIns()) : - (needsReturn ? new CallPropertyIns() : new CallPropVoidIns()); + + InstructionDefinition insDef = isSuper + ? (needsReturn ? new CallSuperIns() : new CallSuperVoidIns()) + : (needsReturn ? new CallPropertyIns() : new CallPropVoidIns()); return toSourceMerge(localData, generator, obj, arguments, ins(insDef, propIndex, arguments.size()) ); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ClassAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ClassAVM2Item.java index 1d2dd11ba..719e7102c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ClassAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ClassAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -28,18 +29,31 @@ import java.util.List; public class ClassAVM2Item extends AVM2Item implements Block { public List traits; + public GraphTargetItem extendsOp; + public List implementsOp; + public String className; + public GraphTargetItem constructor; + public int namespace; + public int protectedNs; + public boolean isDynamic; + public boolean isFinal; + public List openedNamespaces; + public List staticInit; + public boolean staticInitActivation; + public List sinitVariables; + public List importedClasses; public String pkg; @@ -97,5 +111,4 @@ public class ClassAVM2Item extends AVM2Item implements Block { public GraphTargetItem returnType() { return new UnboundedTypeItem(); //FIXME } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstAVM2Item.java index 80845340b..16748cc2a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -27,11 +28,17 @@ import com.jpexs.decompiler.graph.model.LocalData; public class ConstAVM2Item extends AVM2Item { private final int namespace; + private final boolean isStatic; + public String var; + public GraphTargetItem type; + public String customNamespace; + public int line; + public String pkg; public int getNamespace() { @@ -68,5 +75,4 @@ public class ConstAVM2Item extends AVM2Item { public boolean hasReturnValue() { return true; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstructSomethingAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstructSomethingAVM2Item.java index bdced9867..638565782 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstructSomethingAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ConstructSomethingAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -95,5 +96,4 @@ public class ConstructSomethingAVM2Item extends CallAVM2Item { } return toSourceMerge(localData, generator, resname, arguments, ins(new ConstructIns(), arguments.size())); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ContinueJumpIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ContinueJumpIns.java index 3707889c3..7af8bc65e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ContinueJumpIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ContinueJumpIns.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.JumpIns; @@ -32,5 +33,4 @@ public class ContinueJumpIns extends JumpIns { public long getLoopId() { return loopId; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java index cfec47a48..afbe7413c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ExceptionMarkAVM2Instruction.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; @@ -25,6 +26,7 @@ import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition; public class ExceptionMarkAVM2Instruction extends AVM2Instruction { public int markType; + public int exceptionId; public ExceptionMarkAVM2Instruction(int exceptionId, int markType) { @@ -38,5 +40,4 @@ public class ExceptionMarkAVM2Instruction extends AVM2Instruction { public byte[] getBytes() { return new byte[0]; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/FunctionAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/FunctionAVM2Item.java index bf12296e7..6b201fb5b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/FunctionAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/FunctionAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -33,18 +34,31 @@ import java.util.List; public class FunctionAVM2Item extends AVM2Item { public String calculatedFunctionName; + public String functionName; + public int namespace; + public List paramNames; + public List body; + public List subvariables; + public List paramTypes; + public List paramValues; + public GraphTargetItem retType; + public int line; + public boolean hasRest; + public boolean needsActivation; + public boolean isInterface; + public String pkg; public FunctionAVM2Item(String pkg, boolean isInterface, boolean needsActivation, int namespace, boolean hasRest, int line, String functionName, List paramTypes, List paramNames, List paramValues, List body, List subvariables, GraphTargetItem retType) { @@ -83,5 +97,4 @@ public class FunctionAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/GetterAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/GetterAVM2Item.java index 5bdd32d0d..425f84ddb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/GetterAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/GetterAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.graph.GraphTargetItem; @@ -27,5 +28,4 @@ public class GetterAVM2Item extends MethodAVM2Item { public GetterAVM2Item(String pkg, boolean isInterface, String customNamespace, boolean needsActivation, boolean hasRest, int line, boolean override, boolean isFinal, boolean isStatic, int namespace, String methodName, List paramTypes, List paramNames, List paramValues, List body, List subvariables, GraphTargetItem retType) { super(pkg, isInterface, customNamespace, needsActivation, hasRest, line, override, isFinal, isStatic, namespace, methodName, paramTypes, paramNames, paramValues, body, subvariables, retType); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/IndexAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/IndexAVM2Item.java index 4acf4831b..038b65e20 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/IndexAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/IndexAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -47,8 +48,11 @@ import java.util.List; public class IndexAVM2Item extends AssignableAVM2Item { private final List openedNamespaces; + public GraphTargetItem object; + public GraphTargetItem index; + public boolean attr; public IndexAVM2Item(boolean attr, GraphTargetItem object, GraphTargetItem index, GraphTargetItem storeValue, List openedNamespaces) { @@ -150,5 +154,4 @@ public class IndexAVM2Item extends AssignableAVM2Item { public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSource(localData, generator, false, false, new ArrayList(), false, false); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/InterfaceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/InterfaceAVM2Item.java index 47436d5bf..a21b5cdcb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/InterfaceAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/InterfaceAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -29,12 +30,19 @@ import java.util.List; public class InterfaceAVM2Item extends AVM2Item { public String name; + public List superInterfaces; + public List methods; + public int namespace; + public boolean isFinal; + public List openedNamespaces; + public String pkg; + public List importedClasses; public InterfaceAVM2Item(List importedClasses, String pkg, List openedNamespaces, boolean isFinal, int namespace, String name, List superInterfaces, List traits) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/MethodAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/MethodAVM2Item.java index a479f6bfc..bdb836735 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/MethodAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/MethodAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -27,9 +28,13 @@ import java.util.List; public class MethodAVM2Item extends FunctionAVM2Item { private final boolean isStatic; + private final boolean isFinal; + private final boolean override; + public String customNamespace; + public boolean isInterface; public MethodAVM2Item(String pkg, boolean isInterface, String customNamespace, boolean needsActivation, boolean hasRest, int line, boolean override, boolean isFinal, boolean isStatic, int namespace, String methodName, List paramTypes, List paramNames, List paramValues, List body, List subvariables, GraphTargetItem retType) { @@ -57,5 +62,4 @@ public class MethodAVM2Item extends FunctionAVM2Item { public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { return writer; //todo? } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NameAVM2Item.java index 543389280..4846d65c9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NameAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NameAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -61,14 +62,23 @@ public class NameAVM2Item extends AssignableAVM2Item { private String variableName; private boolean definition; + private int nsKind = -1; + public List openedNamespaces; + public int line; + public GraphTargetItem type; + private GraphTargetItem ns = null; + private int regNumber = -1; + public boolean unresolved = false; + private int slotNumber = -1; + private int slotScope = 0; public GraphTargetItem redirect; @@ -310,8 +320,8 @@ public class NameAVM2Item extends AssignableAVM2Item { Reference ret_temp = new Reference<>(-1); boolean isInteger = returnType().toString().equals("int"); /* - - + + */ if (!needsReturn) { if (slotNumber > -1) { @@ -340,5 +350,4 @@ public class NameAVM2Item extends AssignableAVM2Item { slotNumber > -1 ? ins(new SetSlotIns(), slotNumber) : null ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NamespacedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NamespacedAVM2Item.java index 9ddd5f7dc..7c61316f4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NamespacedAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/NamespacedAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -51,10 +52,15 @@ import java.util.List; public class NamespacedAVM2Item extends AssignableAVM2Item { public GraphTargetItem ns; + public String name; + public GraphTargetItem nameItem; + public GraphTargetItem obj; + public boolean attr; + public List openedNamespaces; public NamespacedAVM2Item(GraphTargetItem ns, String name, GraphTargetItem nameItem, GraphTargetItem obj, boolean attr, List openedNamespaces, GraphTargetItem storeValue) { @@ -219,5 +225,4 @@ public class NamespacedAVM2Item extends AssignableAVM2Item { public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return toSource(localData, generator, false, false, new ArrayList(), false, false); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PackageAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PackageAVM2Item.java index a4f36db0b..5a69d0668 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PackageAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PackageAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -30,8 +31,11 @@ import java.util.List; public class PackageAVM2Item extends AVM2Item { public List items; + public String packageName; + public List importedClasses = new ArrayList<>(); + public int publicNs = 0; public PackageAVM2Item(int publicNs, List importedClasses, String packageName, List items) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ParsedSymbol.java index eca38fb51..0eaaf5bb6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ParsedSymbol.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; /** @@ -22,7 +23,9 @@ package com.jpexs.decompiler.flash.abc.avm2.parser.script; public class ParsedSymbol { public SymbolGroup group; + public Object value; + public SymbolType type; public ParsedSymbol(SymbolGroup group, SymbolType type) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java index 8743d4f84..6550ff4f3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -60,11 +61,17 @@ import java.util.List; public class PropertyAVM2Item extends AssignableAVM2Item { public String propertyName; + public GraphTargetItem object; + public ABC abc; + public List otherABCs; + private final List openedNamespaces; + private final List callStack; + public List scopeStack = new ArrayList<>(); @Override @@ -148,7 +155,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { nsname = name.substring(0,name.lastIndexOf(".")); name = name.substring(name.lastIndexOf(".")+1); } - + List abcs = new ArrayList<>(); abcs.add(abc); abcs.addAll(otherABCs); @@ -394,7 +401,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { for (int i = 0; i < openedNamespaces.size(); i++) { int nsindex = openedNamespaces.get(i); int nsKind = abc.constants.constant_namespace.get(openedNamespaces.get(i)).kind; - String nsname = abc.constants.constant_namespace.get(openedNamespaces.get(i)).getName(abc.constants); + String nsname = abc.constants.constant_namespace.get(openedNamespaces.get(i)).getName(abc.constants); int name_index = 0; for (int m = 1; m < abc.constants.constant_multiname.size(); m++) { Multiname mname = abc.constants.constant_multiname.get(m); @@ -680,5 +687,4 @@ public class PropertyAVM2Item extends AssignableAVM2Item { killTemp(localData, generator, Arrays.asList(ret_temp, obj_temp))); return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/Reference.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/Reference.java index fc3417c3a..611d71b0f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/Reference.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/Reference.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; /** @@ -40,5 +41,4 @@ public class Reference { public String toString() { return val.toString(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SetterAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SetterAVM2Item.java index 6d2a7af45..4f7b33ab3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SetterAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SetterAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.graph.GraphTargetItem; @@ -27,5 +28,4 @@ public class SetterAVM2Item extends MethodAVM2Item { public SetterAVM2Item(String pkg, boolean isInterface, String customNamespace, boolean needsActivation, boolean hasRest, int line, boolean override, boolean isFinal, boolean isStatic, int namespace, String methodName, List paramTypes, List paramNames, List paramValues, List body, List subvariables, GraphTargetItem retType) { super(pkg, isInterface, customNamespace, needsActivation, hasRest, line, override, isFinal, isStatic, namespace, methodName, paramTypes, paramNames, paramValues, body, subvariables, retType); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SlotAVM2Item.java index ba27f380d..a68d9b21d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SlotAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/SlotAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item; @@ -27,11 +28,17 @@ import com.jpexs.decompiler.graph.model.LocalData; public class SlotAVM2Item extends AVM2Item { private final int namespace; + private final boolean isStatic; + public String var; + public GraphTargetItem type; + public String customNamespace; + public int line; + public String pkg; public int getNamespace() { @@ -68,5 +75,4 @@ public class SlotAVM2Item extends AVM2Item { public boolean hasReturnValue() { return true; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java index 6dd004659..27abcd1c9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -51,15 +51,24 @@ public class UnresolvedAVM2Item extends AssignableAVM2Item { private String name; private int nsKind = -1; + public List openedNamespaces; + public int line; + public GraphTargetItem type; + //private GraphTargetItem ns = null; public GraphTargetItem resolved; + public GraphTargetItem resolvedRoot; + private final boolean mustBeType; + public List importedClasses; + public List scopeStack = new ArrayList<>(); + public List subtypes; @Override @@ -382,7 +391,7 @@ public class UnresolvedAVM2Item extends AssignableAVM2Item { } } - //Search for types in opened namespaces + //Search for types in opened namespaces for (int ni : openedNamespaces) { Namespace ons = abc.constants.getNamespace(ni); if (ons == null) { @@ -501,5 +510,4 @@ public class UnresolvedAVM2Item extends AssignableAVM2Item { } return resolvedRoot = ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLAVM2Item.java index b7cc7b10a..0f3614b82 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -66,5 +67,4 @@ public class XMLAVM2Item extends AVM2Item { ins(new ConstructIns(), 1) ); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLFilterAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLFilterAVM2Item.java index ceb4c11eb..4329422f5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLFilterAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/XMLFilterAVM2Item.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -33,6 +34,7 @@ import java.util.List; public class XMLFilterAVM2Item extends AVM2Item { public List openedNamespaces; + public GraphTargetItem object; public XMLFilterAVM2Item(GraphTargetItem object, GraphTargetItem value, List openedNamespaces) { @@ -61,5 +63,4 @@ public class XMLFilterAVM2Item extends AVM2Item { public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException { return ((AVM2SourceGenerator) generator).generate(localData, this); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java index 048d7c907..9456219ba 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -40,6 +40,7 @@ public final class MethodInfoLexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int STRING = 2; /** @@ -482,7 +483,9 @@ public final class MethodInfoLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -611,7 +614,9 @@ public final class MethodInfoLexer { /* user code: */ StringBuffer string = new StringBuffer(); + boolean isMultiname = false; + long multinameId = 0; /** @@ -1206,5 +1211,4 @@ public final class MethodInfoLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/ParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/ParsedSymbol.java index 890ce205d..f0eda1326 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/ParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/ParsedSymbol.java @@ -1,46 +1,70 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.methodinfo_parser; public class ParsedSymbol { public int type; + public Object value; + public static final int TYPE_INTEGER = 1; + public static final int TYPE_FLOAT = 2; + public static final int TYPE_TRUE = 3; + public static final int TYPE_FALSE = 4; + public static final int TYPE_NULL = 5; + public static final int TYPE_UNDEFINED = 6; + public static final int TYPE_STRING = 7; + //8-12 namespace prefix public static final int TYPE_PRIVATE = 8; + public static final int TYPE_PACKAGE = 9; + public static final int TYPE_INTERNAL = 10; + public static final int TYPE_STATIC = 11; + public static final int TYPE_EXPLICIT = 12; + public static final int TYPE_PROTECTED = 13; + public static final int TYPE_NAMESPACE = 14; + public static final int TYPE_COLON = 15; + public static final int TYPE_COMMA = 16; + public static final int TYPE_DOTS = 17; + public static final int TYPE_MULTINAME = 18; + public static final int TYPE_IDENTIFIER = 19; + public static final int TYPE_EOF = 20; + public static final int TYPE_STAR = 21; + public static final int TYPE_ASSIGN = 22; public ParsedSymbol(int type, Object value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java index 99e0f4961..13c8ed750 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.avm2.AVM2Code; @@ -25,9 +26,13 @@ import java.util.List; public class ABCException implements Serializable { public int start; + public int end; + public int target; + public int type_index; + public int name_index; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java index 2f1acfb24..e51332936 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.ABC; @@ -22,6 +23,7 @@ import java.util.List; public class ClassInfo { public int cinit_index; //MethodInfo - static initializer + public Traits static_traits = new Traits(); public boolean deleted; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Decimal.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Decimal.java index 4ceec4b34..ae1a38b14 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Decimal.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Decimal.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -26,7 +26,7 @@ public class Decimal { public Decimal() { } - + public Decimal(byte[] data) { this.data = data; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java index e67acc1e9..7f72c7bb6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.ABC; @@ -27,15 +28,25 @@ import java.util.List; public class InstanceInfo { public int name_index; + public int super_index; + public int flags; // 1 = sealed, 0 = dynamic, 2 = final, 4 = interface, 8 = ProtectedNs + public int protectedNS; //if flags & 8 + public int[] interfaces; + public int iinit_index; // MethodInfo - constructor + public Traits instance_traits = new Traits(); + public static final int CLASS_SEALED = 1; //not dynamic + public static final int CLASS_FINAL = 2; + public static final int CLASS_INTERFACE = 4; + public static final int CLASS_PROTECTEDNS = 8; public boolean deleted; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MetadataInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MetadataInfo.java index a69986fb3..3de0e384c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MetadataInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MetadataInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; @@ -21,7 +22,9 @@ import com.jpexs.helpers.Helper; public class MetadataInfo { public int name_index; + public int[] keys; + public int[] values; public MetadataInfo(int name_index, int[] keys, int[] values) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java index 09bd4bcd4..303e190ca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -50,18 +50,30 @@ import java.util.logging.Logger; public final class MethodBody implements Cloneable { public boolean deleted; + boolean debugMode = false; + public int method_info; + public int max_stack; + public int max_regs; + public int init_scope_depth; + public int max_scope_depth; + @SWFField private byte[] codeBytes = new byte[0]; + private AVM2Code code; + public ABCException[] exceptions = new ABCException[0]; + public Traits traits = new Traits(); + public transient List convertedItems; + public transient Throwable convertException; public synchronized void setCodeBytes(byte codeBytes[]) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java index 03d3993ba..a2c4efa37 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -44,22 +44,36 @@ public class MethodInfo { } } } + public int[] param_types; + public int ret_type; + public int name_index; //0=no name // 1=need_arguments, 2=need_activation, 4=need_rest 8=has_optional 16=ignore_rest, 32=explicit, 64=setsdxns, 128=has_paramnames + public static int FLAG_NEED_ARGUMENTS = 1; + public static int FLAG_NEED_ACTIVATION = 2; + public static int FLAG_NEED_REST = 4; + public static int FLAG_HAS_OPTIONAL = 8; + public static int FLAG_IGNORE_REST = 16; + public static int FLAG_EXPLICIT = 32; + public static int FLAG_SETSDXNS = 64; + public static int FLAG_HAS_PARAMNAMES = 128; public int flags; + public ValueKind[] optional; + public int[] paramNames; + private MethodBody body; public void setFlagIgnore_Rest() { @@ -198,7 +212,7 @@ public class MethodInfo { public MethodInfo() { } - + public MethodInfo(int[] param_types, int ret_type, int name_index, int flags, ValueKind[] optional, int[] paramNames) { this.param_types = param_types; this.ret_type = ret_type; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java index a0d84c9bc..b7db0f3cc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -24,24 +24,43 @@ import java.util.List; public class Multiname { public static final int QNAME = 7; + public static final int QNAMEA = 0x0d; + public static final int RTQNAME = 0x0f; + public static final int RTQNAMEA = 0x10; + public static final int RTQNAMEL = 0x11; + public static final int RTQNAMELA = 0x12; + public static final int MULTINAME = 0x09; + public static final int MULTINAMEA = 0x0e; + public static final int MULTINAMEL = 0x1b; + public static final int MULTINAMELA = 0x1c; + public static final int TYPENAME = 0x1d; + private static final int[] multinameKinds = new int[]{QNAME, QNAMEA, MULTINAME, MULTINAMEA, RTQNAME, RTQNAMEA, MULTINAMEL, RTQNAMEL, RTQNAMELA, MULTINAMELA, TYPENAME}; + private static final String[] multinameKindNames = new String[]{"Qname", "QnameA", "Multiname", "MultinameA", "RTQname", "RTQnameA", "MultinameL", "RTQnameL", "RTQnameLA", "MultinameLA", "TypeName"}; + public int kind = -1; + public int name_index = 0; + public int namespace_index = 0; + public int namespace_set_index = 0; + public int qname_index = 0; //for TypeName + public List params; //for TypeName + public boolean deleted; private boolean validType() { @@ -56,7 +75,7 @@ public class Multiname { public Multiname() { } - + public Multiname(int kind, int name_index, int namespace_index, int namespace_set_index, int qname_index, List params) { this.kind = kind; this.name_index = name_index; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Namespace.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Namespace.java index a4ea6fc98..063ac39ed 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Namespace.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Namespace.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -23,17 +23,29 @@ import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; public class Namespace { public static final int KIND_NAMESPACE = 8; + public static final int KIND_PRIVATE = 5; + public static final int KIND_PACKAGE = 22; + public static final int KIND_PACKAGE_INTERNAL = 23; + public static final int KIND_PROTECTED = 24; + public static final int KIND_EXPLICIT = 25; + public static final int KIND_STATIC_PROTECTED = 26; + public static final int[] nameSpaceKinds = new int[]{KIND_NAMESPACE, KIND_PRIVATE, KIND_PACKAGE, KIND_PACKAGE_INTERNAL, KIND_PROTECTED, KIND_EXPLICIT, KIND_STATIC_PROTECTED}; + public static final String[] nameSpaceKindNames = new String[]{"Namespace", "PrivateNamespace", "PackageNamespace", "PackageInternalNs", "ProtectedNamespace", "ExplicitNamespace", "StaticProtectedNs"}; + public static final String[] namePrefixes = new String[]{"", "private", "public", "", "protected", "explicit", "protected"}; + public int kind; + public int name_index; + public boolean deleted; public static String kindToStr(int kind) { @@ -56,7 +68,7 @@ public class Namespace { public Namespace() { } - + public Namespace(int kind, int name_index) { this.kind = kind; this.name_index = name_index; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/NamespaceSet.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/NamespaceSet.java index 1ef8b851b..5fa0b4e70 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/NamespaceSet.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/NamespaceSet.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; @@ -20,6 +21,7 @@ import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; public class NamespaceSet { public boolean deleted; + public int[] namespaces; public NamespaceSet() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java index f7247af63..833c6bddc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.types; import com.jpexs.decompiler.flash.abc.ABC; @@ -27,7 +28,9 @@ import java.util.List; public class ScriptInfo { public boolean deleted; + public int init_index; //MethodInfo + public Traits traits = new Traits(); public List> getPacks(ABC abc, int scriptIndex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ValueKind.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ValueKind.java index 2bb2ef01c..dd21cde9c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ValueKind.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ValueKind.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -22,29 +22,48 @@ import com.jpexs.helpers.Helper; public class ValueKind { public static final int CONSTANT_Decimal = 0x02; //decimal + public static final int CONSTANT_Int = 0x03;// integer + public static final int CONSTANT_UInt = 0x04;// uinteger + public static final int CONSTANT_Double = 0x06;// double + public static final int CONSTANT_Utf8 = 0x01;// string + public static final int CONSTANT_True = 0x0B;// - + public static final int CONSTANT_False = 0x0A;// - + public static final int CONSTANT_Null = 0x0C;// - + public static final int CONSTANT_Undefined = 0x00;// - + public static final int CONSTANT_Namespace = 0x08;// namespace + public static final int CONSTANT_PackageNamespace = 0x16;// namespace + public static final int CONSTANT_PackageInternalNs = 0x17;// Namespace + public static final int CONSTANT_ProtectedNamespace = 0x18;// Namespace + public static final int CONSTANT_ExplicitNamespace = 0x19;// Namespace + public static final int CONSTANT_StaticProtectedNs = 0x1A;// Namespace + public static final int CONSTANT_PrivateNs = 0x05;// namespace + private static final int[] optionalKinds = new int[]{0x03, 0x04, 0x06, 0x02, 0x01, 0x0B, 0x0A, 0x0C, 0x00, 0x08, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x05}; + private static final String[] optionalKindNames = new String[]{"Int", "UInt", "Double", "Decimal", "Utf8", "True", "False", "Null", "Undefined", "Namespace", "PackageNamespace", "PackageInternalNs", "ProtectedNamespace", "ExplicitNamespace", "StaticProtectedNs", "PrivateNamespace"}; + public int value_index; + public int value_kind; public ValueKind() { } - + public ValueKind(int value_index, int value_kind) { this.value_index = value_index; this.value_kind = value_kind; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java index 49086164a..254bd5ac0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -31,20 +31,35 @@ import java.util.List; public abstract class Trait implements Serializable { public int name_index; + public int kindType; + public int kindFlags; + public int[] metadata = new int[0]; + public long fileOffset; + public byte[] bytes; + public static final int ATTR_Final = 0x1; + public static final int ATTR_Override = 0x2; + public static final int ATTR_Metadata = 0x4; + public static final int TRAIT_SLOT = 0; + public static final int TRAIT_METHOD = 1; + public static final int TRAIT_GETTER = 2; + public static final int TRAIT_SETTER = 3; + public static final int TRAIT_CLASS = 4; + public static final int TRAIT_FUNCTION = 5; + public static final int TRAIT_CONST = 6; public abstract void delete(ABC abc, boolean d); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java index 0a71db97d..1e83e6fd8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -43,7 +43,9 @@ import java.util.List; public class TraitClass extends Trait implements TraitWithSlot { public int slot_id; + public int class_info; + private static final String[] builtInClasses = {"ArgumentError", "arguments", "Array", "Boolean", "Class", "Date", "DefinitionError", "Error", "EvalError", "Function", "int", "JSON", "Math", "Namespace", "Number", "Object", "QName", "RangeError", "ReferenceError", "RegExp", "SecurityError", "String", "SyntaxError", "TypeError", "uint", "URIError", "VerifyError", "XML", "XMLList"}; private boolean classInitializerIsEmpty; @@ -446,7 +448,7 @@ public class TraitClass extends Trait implements TraitWithSlot { writer.newLine(); } - //class header + //class header abc.instance_info.get(class_info).getClassHeaderStr(writer, abc, fullyQualifiedNames, false); writer.startBlock(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java index 2a572a7ae..6100bae62 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -29,6 +29,7 @@ import java.util.List; public class TraitFunction extends Trait implements TraitWithSlot { public int slot_id; + public int method_info; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java index c40fa0dbd..13cef436f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -29,6 +29,7 @@ import java.util.List; public class TraitMethodGetterSetter extends Trait { public int disp_id; //compiler assigned value that helps overriding + public int method_info; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java index 600205e3b..3f57fcd60 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitSlotConst.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -35,9 +35,13 @@ import java.util.List; public class TraitSlotConst extends Trait implements TraitWithSlot { public int slot_id; + public int type_index; + public int value_index; + public int value_kind; + public GraphTargetItem assignedValue; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java index 56ea7a654..ad9248668 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -81,17 +81,29 @@ public class Traits implements Serializable { private class TraitConvertTask implements Callable { Trait trait; + boolean makePackages; + String path; + ABC abc; + boolean isStatic; + ScriptExportMode exportMode; + int scriptIndex; + int classIndex; + NulWriter writer; + List fullyQualifiedNames; + int traitIndex; + boolean parallel; + Trait parent; public TraitConvertTask(Trait trait, Trait parent, boolean makePackages, String path, ABC abc, boolean isStatic, ScriptExportMode exportMode, int scriptIndex, int classIndex, NulWriter writer, List fullyQualifiedNames, int traitIndex, boolean parallel) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/DefinitionUsage.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/DefinitionUsage.java index 3f5a595ed..8679f382c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/DefinitionUsage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/DefinitionUsage.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.usages; /** @@ -20,5 +21,4 @@ package com.jpexs.decompiler.flash.abc.usages; * @author JPEXS */ public interface DefinitionUsage { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/InsideClassMultinameUsage.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/InsideClassMultinameUsage.java index 42b57d3b4..ea1c31796 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/InsideClassMultinameUsage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/InsideClassMultinameUsage.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -25,6 +25,7 @@ import com.jpexs.decompiler.flash.abc.ABC; public abstract class InsideClassMultinameUsage extends MultinameUsage { public int multinameIndex; + public int classIndex; public InsideClassMultinameUsage(ABC abc, int multinameIndex, int classIndex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/TraitMultinameUsage.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/TraitMultinameUsage.java index 8b7451168..4ee7ac25b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/TraitMultinameUsage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/usages/TraitMultinameUsage.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -26,8 +26,11 @@ import com.jpexs.decompiler.flash.abc.types.traits.Traits; public abstract class TraitMultinameUsage extends InsideClassMultinameUsage { public int traitIndex; + public boolean isStatic; + public Traits traits; + public int parentTraitIndex; public TraitMultinameUsage(ABC abc, int multinameIndex, int classIndex, int traitIndex, boolean isStatic, Traits traits, int parentTraitIndex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java index bf0544a30..cc3ebf96a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action; import com.jpexs.decompiler.flash.AppResources; @@ -99,14 +100,17 @@ public abstract class Action implements GraphSourceItem { private static final int INFORM_LISTENER_RESOLUTION = 100; private boolean ignored = false; + /** * Action type identifier */ public int actionCode; + /** * Length of action data */ public int actionLength; + private long address; /** @@ -136,7 +140,9 @@ public abstract class Action implements GraphSourceItem { "_xmouse", "_ymouse" }; + public static final List propertyNamesList = Arrays.asList(propertyNames); + private static final Logger logger = Logger.getLogger(Action.class.getName()); /** @@ -800,8 +806,11 @@ public abstract class Action implements GraphSourceItem { private static class Loop { public long loopContinue; + public long loopBreak; + public int continueCount = 0; + public int breakCount = 0; public Loop(long loopContinue, long loopBreak) { @@ -848,7 +857,7 @@ public abstract class Action implements GraphSourceItem { } if (action instanceof GraphSourceItemContainer) { GraphSourceItemContainer cnt = (GraphSourceItemContainer) action; - //List out=actionsPartToTree(new HashMap(), new HashMap(),new HashMap(), new TranslateStack(), src, ip+1,endip-1 , version); + //List out=actionsPartToTree(new HashMap(), new HashMap(),new HashMap(), new TranslateStack(), src, ip+1,endip-1 , version); long endAddr = action.getAddress() + cnt.getHeaderSize(); String cntName = cnt.getName(); List> outs = new ArrayList<>(); @@ -978,7 +987,7 @@ public abstract class Action implements GraphSourceItem { } } } while (ip < end); - + for (int i = 0; i < caseBodyIps.size(); i++) { int caseEnd = ip - 1; if (i < caseBodyIps.size() - 1) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraphSource.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraphSource.java index 6b0d0d8d9..0c124a16b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraphSource.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraphSource.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action; import com.jpexs.decompiler.flash.BaseLocalData; @@ -35,9 +36,13 @@ import java.util.logging.Logger; public class ActionGraphSource extends GraphSource { private final List actions; + public int version; + private final HashMap registerNames; + private final HashMap variables; + private final HashMap functions; public List getActions() { @@ -75,6 +80,7 @@ public class ActionGraphSource extends GraphSource { public List translatePart(GraphPart part, BaseLocalData localData, TranslateStack stack, int start, int end, int staticOperation, String path) throws InterruptedException { return (Action.actionsPartToTree(registerNames, variables, functions, stack, actions, start, end, version, staticOperation, path)); } + private List posCache = null; private void rebuildCache() { @@ -94,7 +100,7 @@ public class ActionGraphSource extends GraphSource { if(curAdr==addr){ return i; } - if(curAdr>addr){ + if(curAdr>addr){ System.err.println("lastAddr="+lastAddr+" addr="+addr+" curAddr="+curAdr); int contPos=adr2pos(lastAddr); System.err.println("/insadr2po"); @@ -104,7 +110,7 @@ public class ActionGraphSource extends GraphSource { return new ActionGraphSource(cnt.getActions(), version, registerNames, variables, functions).adr2pos(addr); }else{ return -1; - } + } } lastAddr=curAdr; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionLocalData.java index 2b796c6d1..52640b0e1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionLocalData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionLocalData.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action; import com.jpexs.decompiler.flash.BaseLocalData; @@ -26,7 +27,9 @@ import java.util.HashMap; public class ActionLocalData extends BaseLocalData { public final HashMap regNames; + public final HashMap variables; + public final HashMap functions; public ActionLocalData() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/CachedScript.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/CachedScript.java index 31c77129c..408da4ab6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/CachedScript.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/CachedScript.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action; import com.jpexs.decompiler.flash.helpers.hilight.Highlighting; @@ -26,6 +27,7 @@ import java.util.List; public class CachedScript implements Serializable { public String text; + public List hilights; public CachedScript(String text, List hilights) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/UnknownJumpException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/UnknownJumpException.java index e705cf789..146956d38 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/UnknownJumpException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/UnknownJumpException.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action; import com.jpexs.decompiler.flash.action.model.ActionItem; @@ -30,10 +31,12 @@ public class UnknownJumpException extends RuntimeException { * Actual stack */ public Stack stack; + /** * Actual address */ public long addr; + /** * Output of the method before raising the exception */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java index 1b091fb01..802b3342c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscator.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.deobfuscation; import com.jpexs.decompiler.flash.DisassemblyListener; @@ -385,7 +386,7 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { DefineFunction "fakeName" 0 { Push 1777 Return - } + } */ Map results = new HashMap<>(); @@ -432,11 +433,17 @@ public class ActionDeobfuscator extends ActionDeobfuscatorSimple { class ExecutionResult { public int idx = -1; + public int instructionsProcessed = -1; + public ActionConstantPool constantPool; + public Map variables = new HashMap<>(); + public Set defines = new HashSet<>(); + public TranslateStack stack = new TranslateStack(); + public Object resultValue; } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscatorSimple.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscatorSimple.java index 09d4909c8..2bea33d89 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscatorSimple.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/deobfuscation/ActionDeobfuscatorSimple.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.deobfuscation; import com.jpexs.decompiler.flash.SWF; @@ -384,8 +385,11 @@ public class ActionDeobfuscatorSimple implements SWFDecompilerListener { class ExecutionResult { public int idx = -1; + public int instructionsProcessed = -1; + public TranslateStack stack = new TranslateStack(); + public Object resultValue; } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java index 3c51b069f..0f810be7a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallFunctionActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -31,7 +32,9 @@ import java.util.Set; public class CallFunctionActionItem extends ActionItem { public GraphTargetItem functionName; + public List arguments; + public GraphTargetItem calculatedFunction; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java index 905913cfd..6f5ae85b1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CallMethodActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -32,7 +33,9 @@ import java.util.List; public class CallMethodActionItem extends ActionItem { public GraphTargetItem methodName; + public GraphTargetItem scriptObject; + public List arguments; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CastOpActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CastOpActionItem.java index 75ffc27e9..5ee573768 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CastOpActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CastOpActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,6 +31,7 @@ import java.util.List; public class CastOpActionItem extends ActionItem { public GraphTargetItem constructor; + public GraphTargetItem object; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java index 41d1c0f43..0885b0414 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/CloneSpriteActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,7 +31,9 @@ import java.util.List; public class CloneSpriteActionItem extends ActionItem { public GraphTargetItem source; + public GraphTargetItem target; + public GraphTargetItem depth; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineLocalActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineLocalActionItem.java index 3bb884a8b..43486a2ea 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineLocalActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineLocalActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -32,6 +33,7 @@ import java.util.List; public class DefineLocalActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem name; + //public GraphTargetItem value; private int tempRegister = -1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineRegisterActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineRegisterActionItem.java index 088437bf3..fe0ff8950 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineRegisterActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DefineRegisterActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -25,6 +26,7 @@ import com.jpexs.decompiler.graph.model.LocalData; public class DefineRegisterActionItem extends ActionItem { private final String identifier; + private final int register; public DefineRegisterActionItem(String identifier, int register) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DeleteActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DeleteActionItem.java index 2bc95bb72..f69bfebb2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DeleteActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DeleteActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,6 +32,7 @@ import java.util.List; public class DeleteActionItem extends ActionItem { public GraphTargetItem object; + public GraphTargetItem propertyName; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DirectValueActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DirectValueActionItem.java index 15509ffc8..c568883a9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DirectValueActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/DirectValueActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -36,7 +37,9 @@ import java.util.Set; public class DirectValueActionItem extends ActionItem { public Object value; + public List constants; + public GraphTargetItem computedRegValue; public DirectValueActionItem(Object o) { @@ -258,5 +261,4 @@ public class DirectValueActionItem extends ActionItem { public String toString() { return "" + getResult(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ExtendsActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ExtendsActionItem.java index 6b60449e2..2c31e2380 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ExtendsActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ExtendsActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -25,6 +26,7 @@ import java.util.List; public class ExtendsActionItem extends ActionItem { public GraphTargetItem subclass; + public GraphTargetItem superclass; public ExtendsActionItem(GraphSourceItem instruction, GraphTargetItem subclass, GraphTargetItem superclass) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java index 2b5dacc60..d3de184cd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FSCommand2ActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,7 +32,9 @@ import java.util.List; public class FSCommand2ActionItem extends ActionItem { public String target; + public List arguments; + public GraphTargetItem command; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java index a340ac28c..939868dbb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/FunctionActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -41,18 +42,29 @@ import java.util.Set; public class FunctionActionItem extends ActionItem { public List actions; + public List constants; + public String functionName; + public List paramNames; + public GraphTargetItem calculatedFunctionName; + private int regStart; + private List variables; public static final int REGISTER_THIS = 1; + public static final int REGISTER_ARGUMENTS = 2; + public static final int REGISTER_SUPER = 3; + public static final int REGISTER_ROOT = 4; + public static final int REGISTER_PARENT = 5; + public static final int REGISTER_GLOBAL = 6; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetMemberActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetMemberActionItem.java index 84329192a..7b5225723 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetMemberActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetMemberActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -31,6 +32,7 @@ import java.util.List; public class GetMemberActionItem extends ActionItem { public GraphTargetItem object; + public GraphTargetItem memberName; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetPropertyActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetPropertyActionItem.java index 0e5bf5c58..ef6ffe260 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetPropertyActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetPropertyActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,6 +33,7 @@ import java.util.List; public class GetPropertyActionItem extends ActionItem { public GraphTargetItem target; + public int propertyIndex; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java index e7d59aa6a..830714bf9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURL2ActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,7 +31,9 @@ import java.util.List; public class GetURL2ActionItem extends ActionItem { public GraphTargetItem urlString; + public GraphTargetItem targetString; + public int sendVarsMethod; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java index 042a476be..5615f3765 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetURLActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -28,6 +29,7 @@ import java.util.List; public class GetURLActionItem extends ActionItem { public String urlString; + public String targetString; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetVariableActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetVariableActionItem.java index 3ac1de012..2e81bfc00 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetVariableActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GetVariableActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -33,9 +34,13 @@ import java.util.Set; public class GetVariableActionItem extends ActionItem { public GraphTargetItem name; + private GraphTargetItem computedValue; + private Object computedResult; + private boolean computedCompiletime = false; + private boolean computedVariableComputed = false; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java index f8df9fbaf..01e2132e5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/GotoFrame2ActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,8 +33,11 @@ import java.util.List; public class GotoFrame2ActionItem extends ActionItem { public GraphTargetItem frame; + public boolean sceneBiasFlag; + public boolean playFlag; + public int sceneBias; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ImplementsOpActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ImplementsOpActionItem.java index 0ac91e85f..280d21b66 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ImplementsOpActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/ImplementsOpActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -25,6 +26,7 @@ import java.util.List; public class ImplementsOpActionItem extends ActionItem { public GraphTargetItem subclass; + public List superclasses; public ImplementsOpActionItem(GraphSourceItem instruction, GraphTargetItem subclass, List superclasses) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/InitObjectActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/InitObjectActionItem.java index 468e0bc07..97c6ce465 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/InitObjectActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/InitObjectActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,6 +33,7 @@ import java.util.List; public class InitObjectActionItem extends ActionItem { public List names; + public List values; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java index 7327393ab..0335fc478 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -33,7 +34,9 @@ import java.util.List; public class LoadMovieActionItem extends ActionItem { private final GraphTargetItem urlString; + private final GraphTargetItem targetString; + private final int method; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java index 2e01a912f..6e1a1286b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadMovieNumActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,7 +36,9 @@ import java.util.List; public class LoadMovieNumActionItem extends ActionItem { private final GraphTargetItem urlString; + private final GraphTargetItem num; + private final int method; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java index 5899ccd62..94d11e5eb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -33,7 +34,9 @@ import java.util.List; public class LoadVariablesActionItem extends ActionItem { private final GraphTargetItem urlString; + private final GraphTargetItem targetString; + private final int method; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java index cc6273252..2c3a328a8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/LoadVariablesNumActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,7 +36,9 @@ import java.util.List; public class LoadVariablesNumActionItem extends ActionItem { private final GraphTargetItem urlString; + private final GraphTargetItem num; + private final int method; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java index 050a32175..cd0b9df3c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/MBStringExtractActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,6 +32,7 @@ public class MBStringExtractActionItem extends ActionItem { //public GraphTargetItem value; public GraphTargetItem index; + public GraphTargetItem count; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java index 35329b6c4..c247af9d6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewMethodActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -31,7 +32,9 @@ import java.util.List; public class NewMethodActionItem extends ActionItem { public GraphTargetItem methodName; + public GraphTargetItem scriptObject; + public List arguments; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java index a85729c68..17604308c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/NewObjectActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,6 +31,7 @@ import java.util.List; public class NewObjectActionItem extends ActionItem { public GraphTargetItem objectName; + public List arguments; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java index ee6d63079..5f148a536 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostDecrementActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -38,6 +39,7 @@ import java.util.List; public class PostDecrementActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem object; + private int tempRegister = -1; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java index 77f698603..1981cffda 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PostIncrementActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -38,6 +39,7 @@ import java.util.List; public class PostIncrementActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem object; + private int tempRegister = -1; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java index 9b624a579..f72ce5652 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class PrintActionItem extends ActionItem { private final GraphTargetItem target; + private final GraphTargetItem boundingBox; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java index b89759080..69352365e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class PrintAsBitmapActionItem extends ActionItem { private final GraphTargetItem target; + private final GraphTargetItem boundingBox; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java index 72df98158..6bfd52a7a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintAsBitmapNumActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class PrintAsBitmapNumActionItem extends ActionItem { private final GraphTargetItem num; + private final GraphTargetItem boundingBox; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java index 455ac3f18..de1b006fe 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/PrintNumActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class PrintNumActionItem extends ActionItem { private final GraphTargetItem num; + private final GraphTargetItem boundingBox; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetMemberActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetMemberActionItem.java index 0d36b9a37..f53be3b96 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetMemberActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetMemberActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -36,7 +37,9 @@ import java.util.List; public class SetMemberActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem object; + public GraphTargetItem objectName; + //public GraphTargetItem value; private int tempRegister = -1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetPropertyActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetPropertyActionItem.java index 4aa8c6810..a43c6d7c1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetPropertyActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetPropertyActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class SetPropertyActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem target; + public int propertyIndex; //public GraphTargetItem value; @@ -47,6 +49,7 @@ public class SetPropertyActionItem extends ActionItem implements SetTypeActionIt public void setValue(GraphTargetItem value) { this.value = value; } + private int tempRegister = -1; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java index ea7c5fed0..9e5742f99 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/SetVariableActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -36,6 +37,7 @@ import java.util.Set; public class SetVariableActionItem extends ActionItem implements SetTypeActionItem { public GraphTargetItem name; + //public GraphTargetItem value; private int tempRegister = -1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java index a6008f831..4dd9207d2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StartDragActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,11 +31,17 @@ import java.util.List; public class StartDragActionItem extends ActionItem { public GraphTargetItem target; + public GraphTargetItem lockCenter; + public GraphTargetItem constrain; + public GraphTargetItem y2; + public GraphTargetItem x2; + public GraphTargetItem y1; + public GraphTargetItem x1; public StartDragActionItem(GraphSourceItem instruction, GraphTargetItem target, GraphTargetItem lockCenter, GraphTargetItem constrain, GraphTargetItem x1, GraphTargetItem y1, GraphTargetItem x2, GraphTargetItem y2) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StoreRegisterActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StoreRegisterActionItem.java index 830dd7304..c80f97cc7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StoreRegisterActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StoreRegisterActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,8 +33,10 @@ import java.util.Set; public class StoreRegisterActionItem extends ActionItem implements SetTypeActionItem { public RegisterNumber register; + //public GraphTargetItem value; public boolean define = false; + public boolean temporary = false; @Override @@ -45,6 +48,7 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction public void setValue(GraphTargetItem value) { this.value = value; } + private int tempRegister = -1; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java index c2d48dac2..7844bae52 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/StringExtractActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,6 +31,7 @@ public class StringExtractActionItem extends ActionItem { //public GraphTargetItem value; public GraphTargetItem index; + public GraphTargetItem count; public StringExtractActionItem(GraphSourceItem instruction, GraphTargetItem value, GraphTargetItem index, GraphTargetItem count) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java index a6b1d1d6c..4e5ae7854 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ClassActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -41,13 +42,21 @@ import java.util.Set; public class ClassActionItem extends ActionItem implements Block { public List functions; + public List staticFunctions; + public GraphTargetItem extendsOp; + public List implementsOp; + public GraphTargetItem className; + public GraphTargetItem constructor; + public List> vars; + public List> staticVars; + public Set uninitializedVars; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java index dc022a9d0..bcd4f112a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/ForInActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SWF; @@ -48,8 +49,11 @@ import java.util.List; public class ForInActionItem extends LoopActionItem implements Block { public GraphTargetItem variableName; + public GraphTargetItem enumVariable; + public List commands; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java index a1b34741c..d7b3b0c45 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/IfFrameLoadedActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -37,6 +38,7 @@ import java.util.List; public class IfFrameLoadedActionItem extends ActionItem implements Block { private final List actions; + private final GraphTargetItem frame; public IfFrameLoadedActionItem(GraphTargetItem frame, List actions, GraphSourceItem instruction) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/InterfaceActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/InterfaceActionItem.java index ff09de7fa..e858921c9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/InterfaceActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/InterfaceActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,6 +36,7 @@ import java.util.List; public class InterfaceActionItem extends ActionItem { public GraphTargetItem name; + public List superInterfaces; public InterfaceActionItem(GraphTargetItem name, List superInterfaces) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java index 4cbeadb6b..4907dd245 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TellTargetActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -34,6 +35,7 @@ import java.util.List; public class TellTargetActionItem extends ActionItem { public List commands; + public GraphTargetItem target; public TellTargetActionItem(GraphSourceItem instruction, GraphTargetItem target, List commands) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java index f1b53f399..3241dff9e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/TryActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SWF; @@ -37,8 +38,11 @@ import java.util.List; public class TryActionItem extends ActionItem implements Block { public List tryCommands; + public List catchExceptions; + public List> catchCommands; + public List finallyCommands; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java index 7df6df9a2..c62679f57 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/model/clauses/WithActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.model.clauses; import com.jpexs.decompiler.flash.SWF; @@ -32,6 +33,7 @@ import java.util.List; public class WithActionItem extends ActionItem { public GraphTargetItem scope; + public List items; public WithActionItem(Action instruction, GraphTargetItem scope, List items) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/ASMParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/ASMParsedSymbol.java index 54993a50b..3ae7932e3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/ASMParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/ASMParsedSymbol.java @@ -1,40 +1,59 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.pcode; public class ASMParsedSymbol { public int type; + public Object value; + public static final int TYPE_STRING = 1; + public static final int TYPE_BLOCK_END = 2; + public static final int TYPE_INSTRUCTION_NAME = 3; + public static final int TYPE_INTEGER = 4; + public static final int TYPE_FLOAT = 5; + public static final int TYPE_BOOLEAN = 11; + public static final int TYPE_IDENTIFIER = 6; + public static final int TYPE_EOF = 7; + public static final int TYPE_LABEL = 8; + public static final int TYPE_COMMENT = 9; + public static final int TYPE_BLOCK_START = 10; + public static final int TYPE_REGISTER = 12; + public static final int TYPE_CONSTANT = 13; + public static final int TYPE_NULL = 14; + public static final int TYPE_UNDEFINED = 15; + public static final int TYPE_EOL = 16; + public static final int TYPE_CONSTANT_LITERAL = 17; public ASMParsedSymbol(int type, Object value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java index 5c1c8e840..a814e0a47 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -46,7 +46,9 @@ public final class FlasmLexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int PARAMETERS = 4; /** @@ -473,7 +475,9 @@ public final class FlasmLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -1162,5 +1166,4 @@ public final class FlasmLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/Label.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/Label.java index ef3a02177..86a324194 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/Label.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/Label.java @@ -1,23 +1,25 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.pcode; public class Label { public String name; + public long address; public Label(String name, long address) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java index d3ce352aa..04477c044 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -44,10 +44,15 @@ public final class ActionScriptLexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int CHARLITERAL = 4; + public static final int XMLSTARTTAG = 6; + public static final int XML = 8; + public static final int OIDENTIFIER = 10; /** @@ -1124,7 +1129,9 @@ public final class ActionScriptLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -2592,5 +2599,4 @@ public final class ActionScriptLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java index 4eb95e803..33772783b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptParser.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -161,6 +162,7 @@ public class ActionScriptParser { } private long uniqLast = 0; + private final boolean debugMode = false; private String uniqId() { @@ -829,7 +831,7 @@ public class ActionScriptParser { expectedType(SymbolType.PARENT_OPEN); GraphTargetItem gtpFrame = expression(registerVars, inFunction, inMethod, true, variables); s = lex(); - if (s.type == SymbolType.COMMA) { //Handle scene? + if (s.type == SymbolType.COMMA) { //Handle scene? s = lex(); gtpFrame = expression(registerVars, inFunction, inMethod, true, variables); } else { @@ -1212,7 +1214,7 @@ public class ActionScriptParser { System.out.println("/command"); } lexer.removeListener(buf); - if (ret == null) { //can be popped expression + if (ret == null) { //can be popped expression buf.pushAllBack(lexer); ret = expression(registerVars, inFunction, inMethod, true, variables); } @@ -1741,7 +1743,9 @@ public class ActionScriptParser { } return new DirectValueActionItem(null, 0, new ConstantIndex(index), constantPool); } + private ActionScriptLexer lexer = null; + private List constantPool; public List treeFromString(String str, List constantPool) throws ActionParseException, IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionSourceGenerator.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionSourceGenerator.java index 4251bdedd..cffae92d6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionSourceGenerator.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionSourceGenerator.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.script; import com.jpexs.decompiler.flash.SWF; @@ -596,7 +597,9 @@ public class ActionSourceGenerator implements SourceGenerator { } return ret; } + private final List constantPool; + private final int swfVersion; public int getSwfVersion() { @@ -784,5 +787,4 @@ public class ActionSourceGenerator implements SourceGenerator { ret.add(new ActionPop()); return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ParsedSymbol.java index abf7e5919..83460ae1c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ParsedSymbol.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.script; /** @@ -22,7 +23,9 @@ package com.jpexs.decompiler.flash.action.parser.script; public class ParsedSymbol { public SymbolGroup group; + public Object value; + public SymbolType type; public ParsedSymbol(SymbolGroup group, SymbolType type) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java index 0d4f5223d..6adb3e8d1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/VariableActionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.script; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,7 +36,9 @@ public class VariableActionItem extends ActionItem { private ActionItem it; private final String variableName; + private GraphTargetItem storeValue; + private boolean definition; public void setDefinition(boolean definition) { @@ -114,5 +117,4 @@ public class VariableActionItem extends ActionItem { } return false; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/special/ActionDeobfuscateJump.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/special/ActionDeobfuscateJump.java index 4ecfeaa69..e81c2b34a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/special/ActionDeobfuscateJump.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/special/ActionDeobfuscateJump.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.special; import com.jpexs.decompiler.flash.action.parser.ActionParseException; @@ -38,5 +39,4 @@ public class ActionDeobfuscateJump extends ActionJump { public String toString() { return "FFDec_DeobfuscateJump " + getJumpOffset(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionGetURL.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionGetURL.java index 55650b7d8..319488487 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionGetURL.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionGetURL.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf3; import com.jpexs.decompiler.flash.SWFInputStream; @@ -38,6 +39,7 @@ import java.util.List; public class ActionGetURL extends Action { public String urlString; + public String targetString; public ActionGetURL(String urlString, String targetString) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java index 0186b27df..542945eea 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf3/ActionWaitForFrame.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf3; import com.jpexs.decompiler.flash.SWF; @@ -40,7 +41,9 @@ import java.util.Set; public class ActionWaitForFrame extends Action implements ActionStore { public int frame; + public int skipCount; + public List skipped; public ActionWaitForFrame(int actionLength, SWFInputStream sis, ConstantPool cpool) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGetURL2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGetURL2.java index 48dc11dec..0d857b946 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGetURL2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGetURL2.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -45,10 +45,15 @@ import java.util.List; public class ActionGetURL2 extends Action { public int sendVarsMethod; + public static final int GET = 1; + public static final int POST = 2; + public boolean loadTargetFlag; + public boolean loadVariablesFlag; + @Reserved public int reserved; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGotoFrame2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGotoFrame2.java index 10962e564..bf8990a92 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGotoFrame2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionGotoFrame2.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -33,8 +33,11 @@ import java.util.List; public class ActionGotoFrame2 extends Action { boolean sceneBiasFlag; + boolean playFlag; + public int sceneBias; + @Reserved int reserved; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionIf.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionIf.java index e41a8db91..eb4199b61 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionIf.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionIf.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.SWFInputStream; @@ -34,8 +35,11 @@ import java.util.logging.Logger; public class ActionIf extends Action { private int offset; + public String identifier; + public boolean jumpUsed = true; + public boolean ignoreUsed = true; public int getJumpOffset() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionJump.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionJump.java index ec27b8a36..92bf4e6ed 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionJump.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionJump.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.SWFInputStream; @@ -35,8 +36,11 @@ import java.util.logging.Logger; public class ActionJump extends Action { private int offset; + public String identifier; + public boolean isContinue = false; + public boolean isBreak = false; public int getJumpOffset() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionPush.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionPush.java index 12ffa91df..18d1c8e8d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionPush.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionPush.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.EndOfStreamException; @@ -47,8 +48,11 @@ import java.util.Set; public class ActionPush extends Action { public List values; + public List replacement; + public List constantPool; + public List ignoredParts = new ArrayList<>(); @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionWaitForFrame2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionWaitForFrame2.java index 0ed7d35c3..c7b4359b6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionWaitForFrame2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ActionWaitForFrame2.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.SWF; @@ -39,6 +40,7 @@ import java.util.Set; public class ActionWaitForFrame2 extends Action implements ActionStore { public int skipCount; + List skipped; public ActionWaitForFrame2(int skipCount) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ConstantIndex.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ConstantIndex.java index e6a9ec659..8a7a678d0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ConstantIndex.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/ConstantIndex.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -24,6 +25,7 @@ import java.util.List; public class ConstantIndex implements Serializable { public int index; + public List constantPool; public ConstantIndex(int index) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/RegisterNumber.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/RegisterNumber.java index 1467a76d7..999cbef8c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/RegisterNumber.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf4/RegisterNumber.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf4; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -21,6 +22,7 @@ import java.io.Serializable; public class RegisterNumber implements Serializable { public int number; + public String name = null; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionDefineFunction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionDefineFunction.java index 9730fec54..0e30cd7ac 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionDefineFunction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionDefineFunction.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf5; import com.jpexs.decompiler.flash.SWFInputStream; @@ -39,12 +40,18 @@ import java.util.Set; public class ActionDefineFunction extends Action implements GraphSourceItemContainer { public String functionName; + public String replacedFunctionName; + public List paramNames = new ArrayList<>(); + public List replacedParamNames; + //public List code; public int codeSize; + private int version; + public List constantPool; public ActionDefineFunction(String functionName, List paramNames, int codeSize, int version) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionWith.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionWith.java index 1c1283af1..0da5d8aa0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionWith.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf5/ActionWith.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.swf5; import com.jpexs.decompiler.flash.SWFInputStream; @@ -36,6 +37,7 @@ import java.util.Set; public class ActionWith extends Action implements GraphSourceItemContainer { public int codeSize; + public int version; public ActionWith(int codeSize) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionDefineFunction2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionDefineFunction2.java index 7994161c4..d5695afd6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionDefineFunction2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionDefineFunction2.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -41,24 +41,42 @@ import java.util.Set; public class ActionDefineFunction2 extends Action implements GraphSourceItemContainer { public String functionName; + public String replacedFunctionName; + public List paramNames = new ArrayList<>(); + public List replacedParamNames; + public List paramRegisters = new ArrayList<>(); + public boolean preloadParentFlag; + public boolean preloadRootFlag; + public boolean suppressSuperFlag; + public boolean preloadSuperFlag; + public boolean suppressArgumentsFlag; + public boolean preloadArgumentsFlag; + public boolean suppressThisFlag; + public boolean preloadThisFlag; + @Reserved public int reserved; + public boolean preloadGlobalFlag; + public int registerCount; + public int codeSize; + private int version; + public List constantPool; public ActionDefineFunction2(String functionName, boolean preloadParentFlag, boolean preloadRootFlag, boolean suppressSuperFlag, boolean preloadSuperFlag, boolean suppressArgumentsFlag, boolean preloadArgumentsFlag, boolean suppressThisFlag, boolean preloadThisFlag, boolean preloadGlobalFlag, int registerCount, int codeSize, int version, List paramNames, List paramRegisters) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionTry.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionTry.java index f8db78274..dd60ac808 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionTry.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/swf7/ActionTry.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -44,14 +44,23 @@ public class ActionTry extends Action implements GraphSourceItemContainer { @Reserved public int reserved; + public boolean catchInRegisterFlag; + public boolean finallyBlockFlag; + public boolean catchBlockFlag; + public String catchName; + public int catchRegister; + long trySize; + long catchSize; + long finallySize; + private final int version; public ActionTry(boolean catchInRegisterFlag, boolean finallyBlockFlag, boolean catchBlockFlag, String catchName, int catchRegister, long trySize, long catchSize, long finallySize, int version) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index 436ffa945..b6709de12 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import com.jpexs.decompiler.flash.ApplicationInfo; @@ -48,7 +49,9 @@ import javax.swing.JOptionPane; public class Configuration { private static final String CONFIG_NAME = "config.bin"; + private static final File unspecifiedFile = new File("unspecified"); + private static File directory = unspecifiedFile; public static final Level logLevel; @@ -142,30 +145,35 @@ public class Configuration { @ConfigurationDefaultBoolean(false) @ConfigurationCategory("debug") public static final ConfigurationItem debugMode = null; + /** * Turn off resolving constants in ActionScript 2 */ @ConfigurationDefaultBoolean(true) @ConfigurationCategory("script") public static final ConfigurationItem resolveConstants = null; + /** * Limit of code subs (for obfuscated code) */ @ConfigurationDefaultInt(500) @ConfigurationCategory("limit") public static final ConfigurationItem sublimiter = null; + /** * Total export timeout in seconds */ @ConfigurationDefaultInt(30 * 60) @ConfigurationCategory("limit") public static final ConfigurationItem exportTimeout = null; + /** * Decompilation timeout in seconds for a single file */ @ConfigurationDefaultInt(5 * 60) @ConfigurationCategory("limit") public static final ConfigurationItem decompilationTimeoutFile = null; + /** * Using parameter names in decompiling may cause problems because official * programs like Flash CS 5.5 inserts wrong parameter names indices @@ -177,9 +185,11 @@ public class Configuration { @ConfigurationDefaultBoolean(true) @ConfigurationCategory("ui") public static final ConfigurationItem displayFileName = null; + @ConfigurationDefaultBoolean(false) @ConfigurationCategory("debug") public static final ConfigurationItem debugCopy = null; + @ConfigurationDefaultBoolean(false) @ConfigurationCategory("debug") public static final ConfigurationItem dumpTags = null; @@ -187,6 +197,7 @@ public class Configuration { @ConfigurationDefaultInt(60) @ConfigurationCategory("limit") public static final ConfigurationItem decompilationTimeoutSingleMethod = null; + @ConfigurationDefaultInt(1) public static final ConfigurationItem lastRenameType = null; @@ -219,25 +230,34 @@ public class Configuration { @ConfigurationDefaultInt(1000) @ConfigurationName("gui.window.width") public static final ConfigurationItem guiWindowWidth = null; + @ConfigurationDefaultInt(700) @ConfigurationName("gui.window.height") public static final ConfigurationItem guiWindowHeight = null; + @ConfigurationDefaultBoolean(false) @ConfigurationName("gui.window.maximized.horizontal") public static final ConfigurationItem guiWindowMaximizedHorizontal = null; + @ConfigurationDefaultBoolean(false) @ConfigurationName("gui.window.maximized.vertical") public static final ConfigurationItem guiWindowMaximizedVertical = null; + @ConfigurationName("gui.avm2.splitPane.dividerLocation") public static final ConfigurationItem guiAvm2SplitPaneDividerLocation = null; + @ConfigurationName("guiActionSplitPaneDividerLocation") public static final ConfigurationItem guiActionSplitPaneDividerLocation = null; + @ConfigurationName("guiPreviewSplitPaneDividerLocation") public static final ConfigurationItem guiPreviewSplitPaneDividerLocation = null; + @ConfigurationName("gui.splitPane1.dividerLocation") public static final ConfigurationItem guiSplitPane1DividerLocation = null; + @ConfigurationName("gui.splitPane2.dividerLocation") public static final ConfigurationItem guiSplitPane2DividerLocation = null; + @ConfigurationDefaultInt(3) @ConfigurationCategory("export") public static final ConfigurationItem saveAsExeScaleMode = null; @@ -245,13 +265,18 @@ public class Configuration { @ConfigurationDefaultInt(1024 * 1024/*1MiB*/) @ConfigurationCategory("limit") public static final ConfigurationItem syntaxHighlightLimit = null; + public static final ConfigurationItem guiFontPreviewSampleText = null; + @ConfigurationName("gui.fontPreviewWindow.width") public static final ConfigurationItem guiFontPreviewWidth = null; + @ConfigurationName("gui.fontPreviewWindow.height") public static final ConfigurationItem guiFontPreviewHeight = null; + @ConfigurationName("gui.fontPreviewWindow.posX") public static final ConfigurationItem guiFontPreviewPosX = null; + @ConfigurationName("gui.fontPreviewWindow.posY") public static final ConfigurationItem guiFontPreviewPosY = null; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationCategory.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationCategory.java index 5321d215a..73a5e1772 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationCategory.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationCategory.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationCategory { String value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultBoolean.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultBoolean.java index c4dd9db85..1366e04fe 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultBoolean.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultBoolean.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationDefaultBoolean { boolean value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultDouble.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultDouble.java index ae33fc1e2..cbc8d6722 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultDouble.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultDouble.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationDefaultDouble { double value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultInt.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultInt.java index ea3d6a4b9..4c6ae21e8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultInt.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultInt.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationDefaultInt { int value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultString.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultString.java index b19be7e61..1835df476 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultString.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationDefaultString.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationDefaultString { String value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java index 4629d3d86..1ab21a0ae 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; /** @@ -23,10 +24,13 @@ package com.jpexs.decompiler.flash.configuration; public class ConfigurationItem { private final String name; + protected boolean hasValue; private T value; + private T defaultValue; + private boolean modified; public ConfigurationItem(String name) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationName.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationName.java index 9f8d5e94b..3959ef424 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationName.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationName.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.configuration; import java.lang.annotation.ElementType; @@ -29,5 +30,4 @@ import java.lang.annotation.Target; public @interface ConfigurationName { String value(); - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/dumpview/DumpInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/dumpview/DumpInfo.java index 7ffb6e73b..7a88f11f3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/dumpview/DumpInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/dumpview/DumpInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.dumpview; import com.jpexs.decompiler.flash.tags.TagStub; @@ -26,7 +27,9 @@ import java.util.List; public class DumpInfo { public String name; + public String type; + public TagStub tagToResolve = null; public Object previewValue; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/BinaryDataExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/BinaryDataExporter.java index a2627e452..cccb94fcf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/BinaryDataExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/BinaryDataExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters; import com.jpexs.decompiler.flash.AbortRetryIgnoreHandler; @@ -64,5 +65,4 @@ public class BinaryDataExporter { } return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/SoundExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/SoundExporter.java index fde35a11e..7de8f91ac 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/SoundExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/SoundExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters; import com.jpexs.decompiler.flash.AbortRetryIgnoreHandler; @@ -155,5 +156,4 @@ public class SoundExporter { fmt.createWav(siss, fos); } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java index 008115a02..b71ba57d8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/TextExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters; import com.jpexs.decompiler.flash.AbortRetryIgnoreHandler; @@ -44,7 +45,9 @@ import java.util.List; public class TextExporter { public static final String TEXT_EXPORT_FOLDER = "texts"; + public static final String TEXT_EXPORT_FILENAME_FORMATTED = "textsformatted.txt"; + public static final String TEXT_EXPORT_FILENAME_PLAIN = "textsplain.txt"; public List exportTexts(AbortRetryIgnoreHandler handler, String outdir, List tags, final TextExportSettings settings) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/ExportRectangle.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/ExportRectangle.java index cebca65d2..0d778e83e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/ExportRectangle.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/ExportRectangle.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.commonshape; import com.jpexs.decompiler.flash.types.RECT; @@ -25,8 +26,11 @@ import java.awt.geom.Rectangle2D; public class ExportRectangle { public double xMin; + public double yMin; + public double xMax; + public double yMax; public ExportRectangle(double xMin, double yMin, double xMax, double yMax) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Matrix.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Matrix.java index 1a545e8f9..d28cf2d87 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Matrix.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Matrix.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.commonshape; import com.jpexs.decompiler.flash.types.MATRIX; @@ -25,10 +26,15 @@ import java.awt.geom.AffineTransform; public final class Matrix implements Cloneable { public double scaleX = 1; + public double scaleY = 1; + public double rotateSkew0; + public double rotateSkew1; + public double translateX; + public double translateY; public static Matrix getScaleInstance(double scale) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Point.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Point.java index e2c5810ea..8f32128d6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Point.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/Point.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.commonshape; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.exporters.commonshape; public class Point { public double x; + public double y; public Point(double x, double y) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/PointInt.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/PointInt.java index b6d018cbb..b7d1a8762 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/PointInt.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/PointInt.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.commonshape; /** @@ -24,6 +25,7 @@ public class PointInt { public static final PointInt MAX = new PointInt(Integer.MAX_VALUE, Integer.MAX_VALUE); private final int x; + private final int y; public PointInt(int x, int y) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/SVGExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/SVGExporter.java index 5cce5e948..3ad4399c9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/SVGExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/commonshape/SVGExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.commonshape; import com.jpexs.decompiler.flash.SWF; @@ -56,19 +57,31 @@ import org.w3c.dom.Node; public class SVGExporter { protected static final String sNamespace = "http://www.w3.org/2000/svg"; + protected static final String xlinkNamespace = "http://www.w3.org/1999/xlink"; protected Document _svg; + protected Element _svgDefs; + protected CDATASection _svgStyle; + protected Stack _svgGs = new Stack<>(); + public List gradients; + protected int lastPatternId; + public Map exportedTags = new HashMap<>(); + public Map> exportedChars = new HashMap<>(); + private final Map lastIds = new HashMap<>(); + private final HashSet fontFaces = new HashSet<>(); + private String clip; + public boolean useTextTag = Configuration.textExportExportFontFace.get(); public SVGExporter(ExportRectangle bounds) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CanvasMorphShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CanvasMorphShapeExporter.java index 971f57f3d..bfa2bc21b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CanvasMorphShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CanvasMorphShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.SWF; @@ -40,29 +41,49 @@ import com.jpexs.helpers.SerializableImage; public class CanvasMorphShapeExporter extends MorphShapeExporterBase { protected static final String DRAW_COMMAND_M = "M"; + protected static final String DRAW_COMMAND_L = "L"; + protected static final String DRAW_COMMAND_Q = "Q"; + protected String currentDrawCommand = ""; + protected double deltaX = 0; + protected double deltaY = 0; + protected String pathData = ""; + protected String fillData = ""; + protected double unitDivisor; + protected String shapeData = ""; + protected String strokeData = ""; + protected Matrix fillMatrix = null; + protected Matrix fillMatrixEnd = null; + protected String lastRadColor = null; + protected int repeatCnt = 0; + protected SWF swf; protected String lineFillData = null; + protected String lineLastRadColor = null; + protected Matrix lineFillMatrix = null; + protected Matrix lineFillMatrixEnd = null; + protected int lineRepeatCnt = 0; protected int fillWidth; + protected int fillHeight; public CanvasMorphShapeExporter(SWF swf, SHAPE shape, SHAPE endShape, ColorTransform colorTransform, double unitDivisor, int deltaX, int deltaY) { @@ -138,7 +159,7 @@ public class CanvasMorphShapeExporter extends MorphShapeExporterBase { public void beginGradientFill(int type, GRADRECORD[] gradientRecords, GRADRECORD[] gradientRecordsEnd, Matrix matrix, Matrix matrixEnd, int spreadMethod, int interpolationMethod, float focalPointRatio, float focalPointRatioEnd) { finalizePath(); - //TODO: How many repeats is ideal? + //TODO: How many repeats is ideal? final int REPEAT_CNT = 5; repeatCnt = spreadMethod == GRADIENT.SPREAD_PAD_MODE ? 0 : REPEAT_CNT; @@ -302,7 +323,7 @@ public class CanvasMorphShapeExporter extends MorphShapeExporterBase { public void lineGradientStyle(int type, GRADRECORD[] gradientRecords, GRADRECORD[] gradientRecordsEnd, Matrix matrix, Matrix matrixEnd, int spreadMethod, int interpolationMethod, float focalPointRatio, float focalPointRatioEnd) { lineFillData = ""; - //TODO: How many repeats is ideal? + //TODO: How many repeats is ideal? final int REPEAT_CNT = 5; lineRepeatCnt = spreadMethod == GRADIENT.SPREAD_PAD_MODE ? 0 : REPEAT_CNT; @@ -543,5 +564,4 @@ public class CanvasMorphShapeExporter extends MorphShapeExporterBase { private String useRatioColor(RGB color, RGB colorEnd) { return "tocolor(ctrans.apply([" + useRatioInt(color.red, colorEnd.red) + "," + useRatioInt(color.green, colorEnd.green) + "," + useRatioInt(color.blue, colorEnd.blue) + ",((" + useRatioInt((color instanceof RGBA) ? ((RGBA) color).alpha : 255, (colorEnd instanceof RGBA) ? ((RGBA) colorEnd).alpha : 255) + ")/255)]))"; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CurvedMorphEdge.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CurvedMorphEdge.java index 76ce6888f..7c0578ea1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CurvedMorphEdge.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/CurvedMorphEdge.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; public class CurvedMorphEdge extends StraightMorphEdge implements IMorphEdge { private final PointInt control; + private final PointInt controlEnd; CurvedMorphEdge(PointInt from, PointInt control, PointInt to, diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/DefaultSVGMorphShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/DefaultSVGMorphShapeExporter.java index 00e12fcf0..28e5bc4d3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/DefaultSVGMorphShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/DefaultSVGMorphShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.SWF; @@ -29,11 +30,15 @@ import com.jpexs.decompiler.flash.types.SHAPE; public abstract class DefaultSVGMorphShapeExporter extends MorphShapeExporterBase { protected static final String DRAW_COMMAND_L = "L"; + protected static final String DRAW_COMMAND_Q = "Q"; protected String currentDrawCommand = ""; + protected String pathData; + protected String pathDataEnd; + protected double zoom; public DefaultSVGMorphShapeExporter(SHAPE shape, SHAPE endShape, ColorTransform colorTransform, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/MorphShapeExporterBase.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/MorphShapeExporterBase.java index a94fb7e1b..a81ef84d1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/MorphShapeExporterBase.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/MorphShapeExporterBase.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; @@ -45,18 +46,23 @@ import java.util.Map; public abstract class MorphShapeExporterBase implements IMorphShapeExporter { protected final SHAPE shape; + protected final SHAPE shapeEnd; protected List _fillStyles; + protected List _lineStyles; protected List _fillStylesEnd; + protected List _lineStylesEnd; protected List>> _fillEdgeMaps; + protected List>> _lineEdgeMaps; private boolean edgeMapsCreated; + protected ColorTransform colorTransform; public MorphShapeExporterBase(SHAPE shape, SHAPE endShape, ColorTransform colorTransform) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/SVGMorphShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/SVGMorphShapeExporter.java index 5e1f84aca..76ec7a541 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/SVGMorphShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/SVGMorphShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.SWF; @@ -44,9 +45,13 @@ import org.w3c.dom.Element; public class SVGMorphShapeExporter extends DefaultSVGMorphShapeExporter { protected Element path; + protected int lastPatternId; + private final Color defaultColor; + private final SWF swf; + private final SVGExporter exporter; public SVGMorphShapeExporter(SWF swf, SHAPE shape, SHAPE endShape, SVGExporter exporter, Color defaultColor, ColorTransform colorTransform, double zoom) { @@ -331,7 +336,7 @@ public class SVGMorphShapeExporter extends DefaultSVGMorphShapeExporter { /* // LDU decomposition - + double translateX = roundPixels400(matrix.translateX * zoom / SWF.unitDivisor); double translateY = roundPixels400(matrix.translateY * zoom / SWF.unitDivisor); double a = matrix.scaleX; @@ -447,7 +452,7 @@ public class SVGMorphShapeExporter extends DefaultSVGMorphShapeExporter { gradientEntry.appendChild(createAnimateElement("offset", record.ratio / 255.0, recordEnd.ratio / 255.0)); RGB color = record.color; RGB colorEnd = recordEnd.color; - //if(colors.get(i) != 0) { + //if(colors.get(i) != 0) { gradientEntry.setAttribute("stop-color", color.toHexRGB()); gradientEntry.appendChild(createAnimateElement("stop-color", color.toHexRGB(), colorEnd.toHexRGB())); //} diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/StraightMorphEdge.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/StraightMorphEdge.java index 9a5dc7097..cab083ba6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/StraightMorphEdge.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/morphshape/StraightMorphEdge.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.morphshape; import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; @@ -24,10 +25,15 @@ import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; public class StraightMorphEdge implements IMorphEdge { protected final PointInt from; + protected final PointInt to; + protected final PointInt fromEnd; + protected final PointInt toEnd; + protected final int lineStyleIdx; + private final int fillStyleIdx; StraightMorphEdge(PointInt from, PointInt to, PointInt fromEnd, PointInt toEnd, int lineStyleIdx, int fillStyleIdx) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java index 68ec113c5..299a84cbf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; public class FramesExportSettings { public FramesExportMode mode; + public double zoom; public FramesExportSettings(FramesExportMode mode, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java index 14a5ee621..d2f90ce8e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; public class MorphShapeExportSettings { public MorphShapeExportMode mode; + public double zoom; public MorphShapeExportSettings(MorphShapeExportMode mode, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java index c870abb4d..2d02152ec 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.ShapeExportMode; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.flash.exporters.modes.ShapeExportMode; public class ShapeExportSettings { public ShapeExportMode mode; + public double zoom; public ShapeExportSettings(ShapeExportMode mode, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/TextExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/TextExportSettings.java index 75a0b12ad..df7aca902 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/TextExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/TextExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.TextExportMode; @@ -24,7 +25,9 @@ import com.jpexs.decompiler.flash.exporters.modes.TextExportMode; public class TextExportSettings { public TextExportMode mode; + public boolean singleFile; + public double zoom; public TextExportSettings(TextExportMode mode, boolean singleFile, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/BitmapExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/BitmapExporter.java index df9fcd450..869389a21 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/BitmapExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/BitmapExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.SWF; @@ -52,18 +53,31 @@ import java.util.List; public class BitmapExporter extends ShapeExporterBase { private SerializableImage image; + private Graphics2D graphics; + private final Color defaultColor; + private double deltaX; + private double deltaY; + private final SWF swf; + private GeneralPath path; + private Paint fillPathPaint; + private Paint fillPaint; + private AffineTransform fillTransform; + private Color lineColor; + private Stroke lineStroke; + private Stroke defaultStroke; + private double unitDivisor; private class TransformedStroke implements Stroke { @@ -77,6 +91,7 @@ public class BitmapExporter extends ShapeExporterBase { * the AffineTransform used to transform the shape before stroking. */ private final AffineTransform transform; + /** * The inverse of {@link #transform}, used to transform back after * stroking. @@ -382,7 +397,7 @@ public class BitmapExporter extends ShapeExporterBase { } else { lineStroke = new BasicStroke((float) thickness, capStyle, joinStyle); } - + // Do not scale strokes automatically: try { lineStroke = new TransformedStroke(lineStroke, graphics.getTransform()); @@ -424,10 +439,10 @@ public class BitmapExporter extends ShapeExporterBase { graphics.setClip(path); Matrix inverse = null; try { - double scx = fillTransform.getScaleX(); - double scy = fillTransform.getScaleY(); - double shx = fillTransform.getShearX(); - double shy = fillTransform.getShearY(); + double scx = fillTransform.getScaleX(); + double scy = fillTransform.getScaleY(); + double shx = fillTransform.getShearX(); + double shy = fillTransform.getShearY(); double det = scx * scy - shx * shy; if (Math.abs(det) <= Double.MIN_VALUE) { // use only the translate values @@ -436,7 +451,7 @@ public class BitmapExporter extends ShapeExporterBase { } inverse = new Matrix(new AffineTransform(fillTransform).createInverse()); - + } catch (NoninvertibleTransformException ex) { // it should never happen as we already checked the determinant of the matrix } @@ -459,10 +474,10 @@ public class BitmapExporter extends ShapeExporterBase { graphics.setClip(path); Matrix inverse = null; try { - double scx = fillTransform.getScaleX(); - double scy = fillTransform.getScaleY(); - double shx = fillTransform.getShearX(); - double shy = fillTransform.getShearY(); + double scx = fillTransform.getScaleX(); + double scy = fillTransform.getScaleY(); + double shx = fillTransform.getShearX(); + double shy = fillTransform.getShearY(); double det = scx * scy - shx * shy; if (Math.abs(det) <= Double.MIN_VALUE) { // use only the translate values diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/CanvasShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/CanvasShapeExporter.java index b961a9d45..76a877c98 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/CanvasShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/CanvasShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.SWF; @@ -39,28 +40,49 @@ import com.jpexs.helpers.SerializableImage; public class CanvasShapeExporter extends ShapeExporterBase { protected static final String DRAW_COMMAND_M = "M"; + protected static final String DRAW_COMMAND_L = "L"; + protected static final String DRAW_COMMAND_Q = "Q"; + protected String currentDrawCommand = ""; protected String pathData = ""; + protected String shapeData = ""; + protected String html = ""; + protected String strokeData = ""; + protected String fillData = ""; + protected double deltaX = 0; + protected double deltaY = 0; + protected Matrix fillMatrix = null; + protected String lastRadColor = null; + protected SWF swf; + protected int repeatCnt = 0; + protected double unitDivisor; + protected RGB basicFill; + protected String lineFillData = null; + protected String lineLastRadColor = null; + protected Matrix lineFillMatrix = null; + protected int lineRepeatCnt = 0; + protected int fillWidth = 0; + protected int fillHeight = 0; public static String getJsPrefix() { @@ -176,7 +198,7 @@ public class CanvasShapeExporter extends ShapeExporterBase { public void beginGradientFill(int type, GRADRECORD[] gradientRecords, Matrix matrix, int spreadMethod, int interpolationMethod, float focalPointRatio) { finalizePath(); - //TODO: How many repeats is ideal? + //TODO: How many repeats is ideal? final int REPEAT_CNT = 5; repeatCnt = spreadMethod == GRADIENT.SPREAD_PAD_MODE ? 0 : REPEAT_CNT; @@ -320,7 +342,7 @@ public class CanvasShapeExporter extends ShapeExporterBase { public void lineGradientStyle(int type, GRADRECORD[] gradientRecords, Matrix matrix, int spreadMethod, int interpolationMethod, float focalPointRatio) { lineFillData = ""; - //TODO: How many repeats is ideal? + //TODO: How many repeats is ideal? final int REPEAT_CNT = 5; lineRepeatCnt = spreadMethod == GRADIENT.SPREAD_PAD_MODE ? 0 : REPEAT_CNT; @@ -510,5 +532,4 @@ public class CanvasShapeExporter extends ShapeExporterBase { fillWidth = 0; fillHeight = 0; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/DefaultSVGShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/DefaultSVGShapeExporter.java index 525b0cc00..caa2860e8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/DefaultSVGShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/DefaultSVGShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.SWF; @@ -29,10 +30,13 @@ import com.jpexs.decompiler.flash.types.SHAPE; public abstract class DefaultSVGShapeExporter extends ShapeExporterBase { protected static final String DRAW_COMMAND_L = "L"; + protected static final String DRAW_COMMAND_Q = "Q"; protected String currentDrawCommand = ""; + protected String pathData; + protected double zoom; public DefaultSVGShapeExporter(SHAPE shape, ColorTransform colorTransform, double zoom) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/PathExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/PathExporter.java index a4183a38f..cdba8eebf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/PathExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/PathExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; @@ -31,6 +32,7 @@ import java.util.List; public class PathExporter extends ShapeExporterBase { private final List paths = new ArrayList<>(); + private GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD); private final double unitDivisor = 1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/SVGShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/SVGShapeExporter.java index 3443c5dc8..515757b37 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/SVGShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/SVGShapeExporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.SWF; @@ -44,9 +45,13 @@ import org.w3c.dom.Element; public class SVGShapeExporter extends DefaultSVGShapeExporter { protected Element path; + protected int lastPatternId; + private final Color defaultColor; + private final SWF swf; + private final SVGExporter exporter; public SVGShapeExporter(SWF swf, SHAPE shape, SVGExporter exporter, Color defaultColor, ColorTransform colorTransform, double zoom) { @@ -257,7 +262,7 @@ public class SVGShapeExporter extends DefaultSVGShapeExporter { Element gradientEntry = exporter.createElement("stop"); gradientEntry.setAttribute("offset", Double.toString(record.ratio / 255.0)); RGB color = record.color; - //if(colors.get(i) != 0) { + //if(colors.get(i) != 0) { gradientEntry.setAttribute("stop-color", color.toHexRGB()); //} if (color instanceof RGBA) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/ShapeExporterBase.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/ShapeExporterBase.java index 192b45a3d..8fb5f25b6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/ShapeExporterBase.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/ShapeExporterBase.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; @@ -47,12 +48,15 @@ public abstract class ShapeExporterBase implements IShapeExporter { protected final SHAPE shape; protected List _fillStyles; + protected List _lineStyles; protected List>> _fillEdgeMaps; + protected List>> _lineEdgeMaps; private boolean edgeMapsCreated; + protected ColorTransform colorTransform; public ShapeExporterBase(SHAPE shape, ColorTransform colorTransform) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/StraightEdge.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/StraightEdge.java index 46789c489..f7ad3aafa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/StraightEdge.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/shape/StraightEdge.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.shape; import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; @@ -24,8 +25,11 @@ import com.jpexs.decompiler.flash.exporters.commonshape.PointInt; public class StraightEdge implements IEdge { protected final PointInt from; + protected final PointInt to; + protected final int lineStyleIdx; + private final int fillStyleIdx; StraightEdge(PointInt from, PointInt to, int lineStyleIdx, int fillStyleIdx) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/IndentedStringBuilder.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/IndentedStringBuilder.java index b4ffa827c..72e9f9f6f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/IndentedStringBuilder.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/IndentedStringBuilder.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -23,29 +23,31 @@ import com.jpexs.helpers.Helper; * @author JPEXS */ public class IndentedStringBuilder { - + private final StringBuilder builder = new StringBuilder(); + private final String indentString; + private int indent; public IndentedStringBuilder(String indentString) { super(); this.indentString = indentString; } - + public void indent() { indent++; } - + public void unindent() { indent--; } - + public void appendLine(String str) { for (int i = 0; i < indent; i++) { builder.append(indentString); } - + builder.append(str); builder.append(Helper.newLine); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfFile.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfFile.java index 3cec483f2..e23810bc0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfFile.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfFile.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -31,8 +31,8 @@ public class SwfFile { public void saveTo(String fileName) throws IOException { /*SWF swf = getSwf(); - try (FileOutputStream fos = new FileOutputStream(fileName)) { - swf.saveTo(fos, SWFCompression.ZLIB); - }*/ + try (FileOutputStream fos = new FileOutputStream(fileName)) { + swf.saveTo(fos, SWFCompression.ZLIB); + }*/ } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfJavaExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfJavaExporter.java index 47e25f3de..03d99a657 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfJavaExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfJavaExporter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -44,17 +44,17 @@ import java.util.logging.Logger; * @author JPEXS */ public class SwfJavaExporter { - + private static final String javaIndentString = " "; - - private static final String[] allowedSubTypes = new String[] { "List", "String", "ByteArrayRange", "RECT", "MATRIX", "CXFORMWITHALPHA", - "CXFORM", "CLIPEVENTFLAGS", "CLIPACTIONRECORD", "CLIPACTIONS", "COLORMATRIXFILTER", "RGBA", "ARGB", "RGB", - "CONVOLUTIONFILTER", "BLURFILTER", "DROPSHADOWFILTER", "GLOWFILTER", "BEVELFILTER", "GRADIENTGLOWFILTER", "GRADIENTBEVELFILTER", - "FILTERLIST", "FILTER", "BUTTONRECORD", "BUTTONCONDACTION", "GRADRECORD", "GRADIENT", "FOCALGRADIENT", "FILLSTYLE", - "FILLSTYLEARRAY", "LINESTYLE", "LINESTYLE2", "LINESTYLEARRAY", "SHAPERECORD", "SHAPE", "SHAPEWITHSTYLE", "SHAPERECORDS", - "SOUNDINFO", "SOUNDENVELOPE", "GLYPHENTRY", "TEXTRECORD", "MORPHGRADRECORD", "MORPHGRADIENT", "MORPHFOCALGRADIENT", - "MORPHFILLSTYLE", "MORPHFILLSTYLEARRAY", "MORPHLINESTYLE", "MORPHLINESTYLE2", "MORPHLINESTYLEARRAY", "KERNINGRECORD", - "LANGCODE", "ZONERECORD", "ZONEDATA", "PIX15", "PIX24", "COLORMAPDATA", "BITMAPDATA", "ALPHABITMAPDATA", "ALPHACOLORMAPDATA" }; + + private static final String[] allowedSubTypes = new String[]{"List", "String", "ByteArrayRange", "RECT", "MATRIX", "CXFORMWITHALPHA", + "CXFORM", "CLIPEVENTFLAGS", "CLIPACTIONRECORD", "CLIPACTIONS", "COLORMATRIXFILTER", "RGBA", "ARGB", "RGB", + "CONVOLUTIONFILTER", "BLURFILTER", "DROPSHADOWFILTER", "GLOWFILTER", "BEVELFILTER", "GRADIENTGLOWFILTER", "GRADIENTBEVELFILTER", + "FILTERLIST", "FILTER", "BUTTONRECORD", "BUTTONCONDACTION", "GRADRECORD", "GRADIENT", "FOCALGRADIENT", "FILLSTYLE", + "FILLSTYLEARRAY", "LINESTYLE", "LINESTYLE2", "LINESTYLEARRAY", "SHAPERECORD", "SHAPE", "SHAPEWITHSTYLE", "SHAPERECORDS", + "SOUNDINFO", "SOUNDENVELOPE", "GLYPHENTRY", "TEXTRECORD", "MORPHGRADRECORD", "MORPHGRADIENT", "MORPHFOCALGRADIENT", + "MORPHFILLSTYLE", "MORPHFILLSTYLEARRAY", "MORPHLINESTYLE", "MORPHLINESTYLE2", "MORPHLINESTYLEARRAY", "KERNINGRECORD", + "LANGCODE", "ZONERECORD", "ZONEDATA", "PIX15", "PIX24", "COLORMAPDATA", "BITMAPDATA", "ALPHABITMAPDATA", "ALPHACOLORMAPDATA"}; public List exportJavaCode(SWF swf, String outdir) throws IOException { final File file = new File(outdir + File.separator + Helper.makeFileName("SwfFile.java")); @@ -90,7 +90,7 @@ public class SwfJavaExporter { writer.newLine(); writer.indent(); IndentedStringBuilder sb = new IndentedStringBuilder(javaIndentString); - generateJavaCode(writer, sb, objectNames, swf, 0); + generateJavaCode(writer, sb, objectNames, swf, 0); writer.unindent(); writer.append(" public SWF getSwf() {").newLine(); writer.append(" SWF swf = swf();").newLine(); @@ -107,7 +107,7 @@ public class SwfJavaExporter { writer.append(" }").newLine(); writer.append("}").newLine(); } - + private static String getNextId(Map objectNames, String type) { Integer nextId = objectNames.get(type); if (nextId == null) { @@ -115,11 +115,11 @@ public class SwfJavaExporter { } else { nextId++; } - + objectNames.put(type, nextId); return type + nextId; } - + private static String getIndent(int indent, String indentStr) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < indent; i++) { @@ -127,30 +127,30 @@ public class SwfJavaExporter { } return sb.toString(); } - - private static Object generateJavaCode(GraphTextWriter writer, IndentedStringBuilder sb, Map objectNames, Object obj, int level){ + + private static Object generateJavaCode(GraphTextWriter writer, IndentedStringBuilder sb, Map objectNames, Object obj, int level) { if (obj == null) { return null; } - + Class cls = obj.getClass(); Object value = null; - if (cls == Byte.class || cls == byte.class || - cls == Short.class || cls == short.class || - cls == Integer.class || cls == int.class || - cls == Long.class || cls == long.class || - cls == Float.class || cls == float.class || - cls == Double.class || cls == double.class || - cls == Boolean.class || cls == boolean.class || - cls == Character.class || cls == char.class || - cls == String.class) { - value = obj; - if (value instanceof Float) { - value = value + "f"; - } else if (value instanceof String) { - value = "\"" + Helper.escapeJavaString((String) value) + "\""; - } + if (cls == Byte.class || cls == byte.class + || cls == Short.class || cls == short.class + || cls == Integer.class || cls == int.class + || cls == Long.class || cls == long.class + || cls == Float.class || cls == float.class + || cls == Double.class || cls == double.class + || cls == Boolean.class || cls == boolean.class + || cls == Character.class || cls == char.class + || cls == String.class) { + value = obj; + if (value instanceof Float) { + value = value + "f"; + } else if (value instanceof String) { + value = "\"" + Helper.escapeJavaString((String) value) + "\""; + } } else if (cls.isEnum()) { value = cls.getSimpleName() + "." + obj; } else if (obj instanceof ByteArrayRange) { @@ -165,29 +165,29 @@ public class SwfJavaExporter { // string should be splitted to avoid "constant string too long" compile error sb2.append("String.join(\"\", "); } - + int stringCount = (int) Math.ceil(data.length / (double) maxBytePerString); for (int i = 0; i < stringCount; i++) { if (i != 0) { sb2.append(", "); } - + sb2.append("\""); int from = i * maxBytePerString; int to = Math.min(from + maxBytePerString, data.length); for (int j = from; j < to; j++) { sb2.append(String.format("%02x", data[j])); } - + sb2.append("\""); } if (isLong) { sb2.append(")"); } - + sb.appendLine(className + " " + tagObjName + " = new ByteArrayRange(" + sb2.toString() + ");"); - value = tagObjName; + value = tagObjName; } else if (List.class.isAssignableFrom(cls)) { List list = (List) obj; String tagObjName = getNextId(objectNames, "objList"); @@ -211,7 +211,7 @@ public class SwfJavaExporter { if (obj instanceof LazyObject) { ((LazyObject) obj).load(); } - + String className = obj.getClass().getSimpleName(); boolean isSwf = level == 0; String resultName = isSwf ? "swf" : "result"; @@ -241,7 +241,7 @@ public class SwfJavaExporter { Logger.getLogger(SwfJavaExporter.class.getName()).log(Level.SEVERE, null, ex); } } - + writer.append("private " + className + " " + tagObjName + "(" + (isSwf ? "" : "SWF swf") + ") {").newLine(); writer.indent(); writer.append(className + " " + resultName + " = new " + className + "(" + (obj instanceof Tag ? "swf" : "") + ");" + Helper.newLine); @@ -249,7 +249,7 @@ public class SwfJavaExporter { writer.append(indent + "return " + resultName + ";").newLine(); writer.unindent(); writer.append("}").newLine().newLine(); - value = tagObjName + "(swf)"; + value = tagObjName + "(swf)"; } return value; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java index a2e2bd802..71986427f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -54,7 +54,7 @@ import org.w3c.dom.Node; * @author JPEXS */ public class SwfXmlExporter { - + public List exportXml(SWF swf, String outdir) throws IOException { final File file = new File(outdir + File.separator + Helper.makeFileName("swf.xml")); @@ -92,33 +92,33 @@ public class SwfXmlExporter { } public void exportXml(SWF swf, Document doc, Node node) throws IOException { - generateXml(doc, node, "swf", swf, false, 0); + generateXml(doc, node, "swf", swf, false, 0); } - - private static void generateXml(Document doc, Node node, String name, Object obj, boolean isListItem, int level){ + + private static void generateXml(Document doc, Node node, String name, Object obj, boolean isListItem, int level) { Class cls = obj != null ? obj.getClass() : null; - if (cls == Byte.class || cls == byte.class || - cls == Short.class || cls == short.class || - cls == Integer.class || cls == int.class || - cls == Long.class || cls == long.class || - cls == Float.class || cls == float.class || - cls == Double.class || cls == double.class || - cls == Boolean.class || cls == boolean.class || - cls == Character.class || cls == char.class || - cls == String.class) { - Object value = obj; - if (value instanceof String) { - value = Helper.removeInvalidXMLCharacters((String) value); - } + if (cls == Byte.class || cls == byte.class + || cls == Short.class || cls == short.class + || cls == Integer.class || cls == int.class + || cls == Long.class || cls == long.class + || cls == Float.class || cls == float.class + || cls == Double.class || cls == double.class + || cls == Boolean.class || cls == boolean.class + || cls == Character.class || cls == char.class + || cls == String.class) { + Object value = obj; + if (value instanceof String) { + value = Helper.removeInvalidXMLCharacters((String) value); + } - if (isListItem) { - Element childNode = doc.createElement(name); - childNode.setTextContent(value.toString()); - node.appendChild(childNode); - } else { - ((Element) node).setAttribute(name, value.toString()); - } + if (isListItem) { + Element childNode = doc.createElement(name); + childNode.setTextContent(value.toString()); + node.appendChild(childNode); + } else { + ((Element) node).setAttribute(name, value.toString()); + } } else if (cls != null && cls.isEnum()) { ((Element) node).setAttribute(name, obj.toString()); } else if (obj instanceof ByteArrayRange) { @@ -128,7 +128,7 @@ public class SwfXmlExporter { for (int i = 0; i < data.length; i++) { sb.append(String.format("%02x", data[i])); } - + ((Element) node).setAttribute(name, sb.toString()); } else if (cls != null && List.class.isAssignableFrom(cls)) { List list = (List) obj; @@ -149,7 +149,7 @@ public class SwfXmlExporter { if (obj instanceof LazyObject) { ((LazyObject) obj).load(); } - + String className = obj.getClass().getSimpleName(); List fields = ReflectionTools.getSwfFields(obj.getClass()); Element objNode = doc.createElement(name); @@ -159,7 +159,7 @@ public class SwfXmlExporter { if (level == 0) { objNode.appendChild(doc.createComment("WARNING: The structure of this XML is not final. In later versions of FFDec it can be changed.")); } - + for (Field f : fields) { if (Modifier.isStatic(f.getModifiers())) { continue; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/AUDIODATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/AUDIODATA.java index bf1ed71be..be678e0e7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/AUDIODATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/AUDIODATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; import java.io.ByteArrayOutputStream; @@ -25,25 +26,45 @@ import java.io.IOException; public class AUDIODATA extends DATA { public static final int SOUNDFORMAT_UNCOMPRESSED_NE = 0; + public static final int SOUNDFORMAT_ADPCM = 1; + public static final int SOUNDFORMAT_MP3 = 2; + public static final int SOUNDFORMAT_UNCOMPRESSED_LE = 3; + public static final int SOUNDFORMAT_NELLYMOSER_16 = 4; + public static final int SOUNDFORMAT_NELLYMOSER_8 = 5; + public static final int SOUNDFORMAT_NELLYMOSER = 6; + public static final int SOUNDFORMAT_SPEEX = 11; + public static final int SOUNDRATE_5K5 = 0; + public static final int SOUNDRATE_11K = 1; + public static final int SOUNDRATE_22K = 2; + public static final int SOUNDRATE_44K = 3; + public static final int SOUNDSIZE_8BIT = 0; + public static final int SOUNDSIZE_16BIT = 1; + public static final int SOUNDTYPE_MONO = 0; + public static final int SOUNDTYPE_STEREO = 1; + public int soundFormat; + public int soundRate; + public boolean soundSize; + public boolean soundType; + public byte[] soundData; public AUDIODATA(int soundFormat, int soundRate, boolean soundSize, boolean soundType, byte[] soundData) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVOutputStream.java index 59a2a9cd4..785366c96 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVOutputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVOutputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; import com.jpexs.helpers.utf8.Utf8Helper; @@ -27,8 +28,11 @@ import java.util.List; public class FLVOutputStream extends OutputStream { private final OutputStream os; + private int bitPos = 0; + private int tempByte = 0; + private long pos = 0; public FLVOutputStream(OutputStream os) { @@ -134,7 +138,7 @@ public class FLVOutputStream extends OutputStream { writeUB(1, audio ? 1 : 0); //audio present writeUB(1, 0); //reserved writeUB(1, video ? 1 : 0); //video present - writeUI32(9); //header size + writeUI32(9); //header size writeUI32(0); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVTAG.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVTAG.java index 9f81dfd30..649e5065a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVTAG.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/FLVTAG.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; /** @@ -22,10 +23,15 @@ package com.jpexs.decompiler.flash.flv; public class FLVTAG { public int tagType; + public long timeStamp; + public DATA data; + public static final int DATATYPE_VIDEO = 9; + public static final int DATATYPE_AUDIO = 8; + public static final int DATATYPE_SCRIPT_DATA = 18; public FLVTAG(long timeStamp, SCRIPTDATA data) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATADATE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATADATE.java index a53d37987..92880e5d2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATADATE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATADATE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.flv; public class SCRIPTDATADATE { public double dateTime; + public int localDateTimeOffset; public SCRIPTDATADATE(double dateTime, int localDateTimeOffset) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAOBJECT.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAOBJECT.java index d1801dd8e..93d37f60d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAOBJECT.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAOBJECT.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.flv; public class SCRIPTDATAOBJECT { public String objectName; + public SCRIPTDATAVALUE objectData; public SCRIPTDATAOBJECT(String objectName, SCRIPTDATAVALUE objectData) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVALUE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVALUE.java index 3f2f86067..b3351eb15 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVALUE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVALUE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.flv; public class SCRIPTDATAVALUE { public int type; + public Object value; public SCRIPTDATAVALUE(int type, Object value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVARIABLE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVARIABLE.java index 6ed8cefb8..d5299c4a1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVARIABLE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/SCRIPTDATAVARIABLE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.flv; public class SCRIPTDATAVARIABLE { public String variableName; + public SCRIPTDATAVALUE variableData; public SCRIPTDATAVARIABLE(String variableName, SCRIPTDATAVALUE variableData) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/VIDEODATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/VIDEODATA.java index a03d9d121..e46fa886d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/VIDEODATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/flv/VIDEODATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.flv; import java.io.ByteArrayOutputStream; @@ -25,7 +26,9 @@ import java.io.IOException; public class VIDEODATA extends DATA { public int frameType; + public int codecId; + public byte[] videoData; public VIDEODATA(int frameType, int codecId, byte[] videoData) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/BMPFile.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/BMPFile.java index 456d3fced..ad486858d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/BMPFile.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/BMPFile.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import java.awt.Component; @@ -30,30 +31,51 @@ public class BMPFile extends Component { //--- Private constants private final static int BITMAPFILEHEADER_SIZE = 14; + private final static int BITMAPINFOHEADER_SIZE = 40; + //--- Private variable declaration //--- Bitmap file header private final byte bitmapFileHeader[] = new byte[14]; + private final byte bfType[] = {'B', 'M'}; + private int bfSize = 0; + private final int bfReserved1 = 0; + private final int bfReserved2 = 0; + private final int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE; + //--- Bitmap info header private final byte bitmapInfoHeader[] = new byte[40]; + private final int biSize = BITMAPINFOHEADER_SIZE; + private int biWidth = 0; + private int biHeight = 0; + private final int biPlanes = 1; + private final int biBitCount = 24; + private final int biCompression = 0; + private int biSizeImage = 0x030000; + private final int biXPelsPerMeter = 0x0; + private final int biYPelsPerMeter = 0x0; + private final int biClrUsed = 0; + private final int biClrImportant = 0; + //--- Bitmap raw data private int bitmap[]; + //--- File section private FileOutputStream fo; @@ -78,7 +100,7 @@ public class BMPFile extends Component { * The saveMethod is the main method of the process. This method * will call the convertImage method to convert the memory image to * a byte array; method writeBitmapFileHeader creates and writes - * the bitmap file header; writeBitmapInfoHeader creates the + * the bitmap file header; writeBitmapInfoHeader creates the * information header; and writeBitmap writes the image. * */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java index a71276bf9..9a0975cce 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/CodeFormatting.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; /** @@ -22,31 +23,51 @@ package com.jpexs.decompiler.flash.helpers; public class CodeFormatting { public String newLineChars = "\r\n"; + public String indentString = " "; + public boolean beginBlockOnNewLine = true; // spaces // before parentheses public boolean spaceBeforeParenthesesMethodCallParentheses = false; + public boolean spaceBeforeParenthesesMethodCallEmptyParentheses = false; + public boolean spaceBeforeArrayAccessBrackets = false; + public boolean spaceBeforeParenthesesMethodDeclarationParentheses = false; + public boolean spaceBeforeParenthesesMethodDeclarationEmptyParentheses = false; + public boolean spaceBeforeParenthesesIfParentheses = false; + public boolean spaceBeforeParenthesesWithParentheses = false; + public boolean spaceBeforeParenthesesWhileParentheses = false; + public boolean spaceBeforeParenthesesCatchParentheses = false; + public boolean spaceBeforeParenthesesSwitchParentheses = false; + public boolean spaceBeforeParenthesesForParentheses = false; + public boolean spaceBeforeParenthesesForEachParentheses = false; // around operators public boolean spaceAroundOperatorsAssignmentOperators = false; // =, +=,... + public boolean spaceAroundOperatorsLogicalOperators = false; // &&, || + public boolean spaceAroundOperatorsEqualityOperators = false; // ==, != + public boolean spaceAroundOperatorsRelationalOperator = false; // <, >, <=, >= + public boolean spaceAroundOperatorsBitwiseOperator = false; // &, |, ^ + public boolean spaceAroundOperatorsAdditiveOperator = false; // +, - + public boolean spaceAroundOperatorsMultiplicativeOperator = false; // *, /, % + public boolean spaceAroundOperatorsShiftOperator = false; // <<, >> } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FileTextWriter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FileTextWriter.java index 85527eb75..e207d75db 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FileTextWriter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FileTextWriter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -34,8 +34,11 @@ import java.util.logging.Logger; public class FileTextWriter extends GraphTextWriter implements AutoCloseable { private final Writer writer; + private boolean newLine = true; + private int indent; + private int writtenBytes; public FileTextWriter(CodeFormatting formatting, FileOutputStream fos) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java index f6a8a22cb..dc9825807 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import java.awt.Font; @@ -82,14 +83,14 @@ public class FontHelper { fonts = (Font[]) clFm.getDeclaredMethod("getAllInstalledFonts").invoke(fm); } catch (Throwable ex) { - // ignore + // ignore } - + if (fonts == null) { fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); } - - List javaFonts = Arrays.asList("Dialog", "DialogInput", "Monospaced", "Serif", "SansSerif"); + + List javaFonts = Arrays.asList("Dialog", "DialogInput", "Monospaced", "Serif", "SansSerif"); for (Font f : fonts) { String fam = f.getFamily(Locale.ENGLISH); //Do not want Java logical fonts @@ -102,7 +103,7 @@ public class FontHelper { ret.get(fam).put(f.getFontName(Locale.ENGLISH), f); } - + return ret; } @@ -216,7 +217,9 @@ public class FontHelper { public static class KerningPair { public char char1; + public char char2; + public int kerning; public KerningPair(char char1, char char2, int kerning) { @@ -259,7 +262,6 @@ public class FontHelper { public String toString() { return "'" + char1 + "','" + char2 + "' => " + kerning; } - } private static Object getFont2d(Font f) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { @@ -295,11 +297,17 @@ public class FontHelper { private static class KerningLoader { private int size = -1; + private float scale; + private long bytePosition; + private long headOffset = -1; + private long kernOffset = -1; + private Font font; + private Map charmap; public List loadFromTTF(File file, int size) throws IOException, FontFormatException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphSourceItemPosition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphSourceItemPosition.java index 9f9cc6c15..9001c5d93 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphSourceItemPosition.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphSourceItemPosition.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import com.jpexs.decompiler.flash.helpers.hilight.HighlightData; @@ -26,7 +27,8 @@ import com.jpexs.decompiler.graph.GraphSourceItem; public class GraphSourceItemPosition { public GraphSourceItem graphSourceItem; - public int position; - public HighlightData data; + public int position; + + public HighlightData data; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java index 54cec1fc3..f101c8b4e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/GraphTextWriter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -28,7 +28,9 @@ import com.jpexs.decompiler.graph.GraphSourceItem; public abstract class GraphTextWriter { protected long startTime; + protected long suspendTime; + protected CodeFormatting formatting; public CodeFormatting getFormatting() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedText.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedText.java index 3d5fb61a4..423297566 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedText.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedText.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import com.jpexs.decompiler.flash.helpers.hilight.Highlighting; @@ -28,10 +29,15 @@ import java.util.List; public class HighlightedText implements Serializable { public String text; + public List traitHilights; + public List classHilights; + public List methodHilights; + public List instructionHilights; + public List specialHilights; public List getTraitHighlights() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedTextWriter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedTextWriter.java index 78f4e48e4..ce525d936 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedTextWriter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/HighlightedTextWriter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -35,18 +35,29 @@ import java.util.Stack; public class HighlightedTextWriter extends GraphTextWriter { private final StringBuilder sb = new StringBuilder(); + private final boolean hilight; + private boolean newLine = true; + private int indent = 0; + private final Stack offsets = new Stack<>(); + private boolean toStringCalled = false; + private int newLineCount = 0; private final Stack hilightStack = new Stack<>(); + public List traitHilights = new ArrayList<>(); + public List classHilights = new ArrayList<>(); + public List methodHilights = new ArrayList<>(); + public List instructionHilights = new ArrayList<>(); + public List specialHilights = new ArrayList<>(); public HighlightedTextWriter(CodeFormatting formatting, boolean hilight) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/ImageHelper.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/ImageHelper.java index 72a641754..41caf66c7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/ImageHelper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/ImageHelper.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import java.awt.image.BufferedImage; @@ -42,7 +43,7 @@ public class ImageHelper { newImage.getRaster().setDataElements(0, 0, width, height, imgData); return newImage; } - + return in; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/LoopWithType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/LoopWithType.java index 0d5c88309..36dcef8ae 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/LoopWithType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/LoopWithType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; /** @@ -23,10 +24,12 @@ package com.jpexs.decompiler.flash.helpers; public class LoopWithType { public static int LOOP_TYPE_LOOP = 0; + public static int LOOP_TYPE_SWITCH = 1; public long loopId; - public int type; - public boolean used; + public int type; + + public boolean used; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/NulWriter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/NulWriter.java index f175f3d43..3a5f2ea74 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/NulWriter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/NulWriter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import com.jpexs.decompiler.flash.helpers.hilight.HighlightData; @@ -27,7 +28,9 @@ import java.util.Stack; public class NulWriter extends GraphTextWriter { private final Stack loopStack = new Stack<>(); + private final Stack stringAddedStack = new Stack<>(); + private boolean stringAdded = false; public NulWriter() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/SWFDecompilerPlugin.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/SWFDecompilerPlugin.java index beadbe034..a6d71bf90 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/SWFDecompilerPlugin.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/SWFDecompilerPlugin.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, Miron Sadziak, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers; import com.jpexs.decompiler.flash.SWF; @@ -38,6 +39,7 @@ import javax.tools.ToolProvider; public class SWFDecompilerPlugin { private static final Logger logger = Logger.getLogger(SWFDecompilerPlugin.class.getName()); + private static final List listeners = new ArrayList<>(); public static void loadPlugin(String path) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/collections/MyEntry.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/collections/MyEntry.java index b20ab6dfc..9fada2fe8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/collections/MyEntry.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/collections/MyEntry.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers.collections; import java.util.Map.Entry; @@ -27,6 +28,7 @@ import java.util.Objects; public class MyEntry implements Entry { private final K key; + private V value; public MyEntry(K key, V value) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightType.java index c7466976f..8a6ea0cf9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/HighlightType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers.hilight; /** @@ -22,5 +23,4 @@ package com.jpexs.decompiler.flash.helpers.hilight; public enum HighlightType { TRAIT, CLASS, METHOD, OFFSET, SPECIAL - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/Highlighting.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/Highlighting.java index 03e2ec6d7..0095995d3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/Highlighting.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/hilight/Highlighting.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.helpers.hilight; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -28,15 +29,19 @@ import java.util.List; public class Highlighting implements Serializable { public HighlightType type; + public String HighlightedText; + /** * Starting position */ public int startPos; + /** * Length of highlighted text */ public int len; + private final HighlightData properties; public HighlightData getProperties() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java index 36c83b54a..0f8f99a9a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/SwfXmlImporter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -124,9 +124,11 @@ import org.xml.sax.SAXException; public class SwfXmlImporter { private Map swfTags; + private Map swfObjects; + private Map swfObjectsParam; - + public void importSwf(SWF swf, String xml) throws IOException { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); try { @@ -137,7 +139,7 @@ public class SwfXmlImporter { Logger.getLogger(SwfXmlImporter.class.getName()).log(Level.SEVERE, null, ex); } } - + private Field getField(Class cls, String name) throws NoSuchFieldException { Field field; try { @@ -146,10 +148,10 @@ public class SwfXmlImporter { field = cls.getDeclaredField(name); field.setAccessible(true); } - + return field; } - + private void processElement(Element element, Object obj, SWF swf) { Class cls = obj.getClass(); for (int i = 0; i < element.getAttributes().getLength(); i++) { @@ -175,7 +177,7 @@ public class SwfXmlImporter { Field field = getField(cls, name); Class childCls = field.getType(); if (List.class.isAssignableFrom(childCls)) { - List list = new ArrayList(); + List list = new ArrayList(); for (int j = 0; j < child.getChildNodes().getLength(); j++) { Node childChildNode = child.getChildNodes().item(j); if (childChildNode instanceof Element) { @@ -187,7 +189,7 @@ public class SwfXmlImporter { field.set(obj, list); } else if (childCls.isArray()) { - List list = new ArrayList(); + List list = new ArrayList(); for (int j = 0; j < child.getChildNodes().getLength(); j++) { Node childChildNode = child.getChildNodes().item(j); if (childChildNode instanceof Element) { @@ -201,7 +203,7 @@ public class SwfXmlImporter { for (int j = 0; j < list.size(); j++) { Array.set(array, j, list.get(j)); } - + field.set(obj, array); } else { Object childObj = processObject(child, null, swf); @@ -213,7 +215,7 @@ public class SwfXmlImporter { } } } - + private Object processObject(Element element, Class requiredType, SWF swf) throws IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InstantiationException, InvocationTargetException { String type = element.getAttribute("type"); if (type != null && !type.isEmpty()) { @@ -225,11 +227,11 @@ public class SwfXmlImporter { if (Boolean.parseBoolean(isNullAttr)) { return null; } - + return getAs(requiredType, element.getTextContent()); } } - + private Object createObject(String type, SWF swf) throws NoSuchMethodException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { if (swfTags == null) { Map tags = new HashMap<>(); @@ -241,7 +243,7 @@ public class SwfXmlImporter { } tags.put(cls.getSimpleName(), cls); } - + swfTags = tags; } @@ -249,34 +251,32 @@ public class SwfXmlImporter { if (cls != null) { return cls.getConstructor(SWF.class).newInstance(swf); } - + if (swfObjects == null) { Map objects = new HashMap<>(); - Class[] knownObjects = new Class[] { ALPHABITMAPDATA.class, ALPHACOLORMAPDATA.class, ARGB.class, BITMAPDATA.class, - BUTTONCONDACTION.class, BUTTONRECORD.class, CLIPACTIONRECORD.class, CLIPACTIONS.class, CLIPEVENTFLAGS.class, - COLORMAPDATA.class, ColorTransform.class, CXFORM.class, CXFORMWITHALPHA.class, - FILLSTYLE.class, FILLSTYLEARRAY.class, FOCALGRADIENT.class, GLYPHENTRY.class, GRADIENT.class, GRADRECORD.class, - KERNINGRECORD.class, LANGCODE.class, LINESTYLE.class, LINESTYLE2.class, LINESTYLEARRAY.class, MATRIX.class, - MORPHFILLSTYLE.class, MORPHFILLSTYLEARRAY.class, MORPHFOCALGRADIENT.class, MORPHGRADIENT.class, - MORPHGRADRECORD.class, MORPHLINESTYLE.class, MORPHLINESTYLE2.class, MORPHLINESTYLEARRAY.class, PIX15.class, - PIX24.class, RECT.class, RGB.class, RGBA.class, SHAPE.class, SHAPEWITHSTYLE.class, SOUNDENVELOPE.class, + Class[] knownObjects = new Class[]{ALPHABITMAPDATA.class, ALPHACOLORMAPDATA.class, ARGB.class, BITMAPDATA.class, + BUTTONCONDACTION.class, BUTTONRECORD.class, CLIPACTIONRECORD.class, CLIPACTIONS.class, CLIPEVENTFLAGS.class, + COLORMAPDATA.class, ColorTransform.class, CXFORM.class, CXFORMWITHALPHA.class, + FILLSTYLE.class, FILLSTYLEARRAY.class, FOCALGRADIENT.class, GLYPHENTRY.class, GRADIENT.class, GRADRECORD.class, + KERNINGRECORD.class, LANGCODE.class, LINESTYLE.class, LINESTYLE2.class, LINESTYLEARRAY.class, MATRIX.class, + MORPHFILLSTYLE.class, MORPHFILLSTYLEARRAY.class, MORPHFOCALGRADIENT.class, MORPHGRADIENT.class, + MORPHGRADRECORD.class, MORPHLINESTYLE.class, MORPHLINESTYLE2.class, MORPHLINESTYLEARRAY.class, PIX15.class, + PIX24.class, RECT.class, RGB.class, RGBA.class, SHAPE.class, SHAPEWITHSTYLE.class, SOUNDENVELOPE.class, SOUNDINFO.class, TEXTRECORD.class, ZONEDATA.class, ZONERECORD.class, CurvedEdgeRecord.class, EndShapeRecord.class, StraightEdgeRecord.class, StyleChangeRecord.class, - BEVELFILTER.class, BLURFILTER.class, COLORMATRIXFILTER.class, CONVOLUTIONFILTER.class, DROPSHADOWFILTER.class, GLOWFILTER.class, GRADIENTBEVELFILTER.class, GRADIENTGLOWFILTER.class, - AVM2ConstantPool.class, Decimal.class, Namespace.class, NamespaceSet.class, Multiname.class, MethodInfo.class, - ValueKind.class, InstanceInfo.class, Traits.class, TraitClass.class, TraitFunction.class, - TraitMethodGetterSetter.class, TraitSlotConst.class, ClassInfo.class, ScriptInfo.class, MethodBody.class, - ABCException.class }; + ValueKind.class, InstanceInfo.class, Traits.class, TraitClass.class, TraitFunction.class, + TraitMethodGetterSetter.class, TraitSlotConst.class, ClassInfo.class, ScriptInfo.class, MethodBody.class, + ABCException.class}; for (Class cls2 : knownObjects) { if (!ReflectionTools.canInstantiateDefaultConstructor(cls2)) { System.err.println("Can't instantiate: " + cls2.getName()); } objects.put(cls2.getSimpleName(), cls2); } - + swfObjects = objects; } @@ -287,14 +287,14 @@ public class SwfXmlImporter { if (swfObjectsParam == null) { Map objects = new HashMap<>(); - Class[] knownObjects = new Class[] { ABC.class }; + Class[] knownObjects = new Class[]{ABC.class}; for (Class cls2 : knownObjects) { if (!ReflectionTools.canInstantiate(cls2)) { System.err.println("Can't instantiate: " + cls2.getName()); } objects.put(cls2.getSimpleName(), cls2); } - + swfObjectsParam = objects; } @@ -306,7 +306,7 @@ public class SwfXmlImporter { System.err.println("Type not found: " + type); return null; } - + private Object getAs(Class cls, String stringValue) throws IllegalArgumentException, IllegalAccessException { if (cls == Byte.class || cls == byte.class) { return Byte.parseByte(stringValue); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TagImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TagImporter.java index 5b23458e8..95dbaff7c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TagImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TagImporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.importers; /** @@ -20,5 +21,4 @@ package com.jpexs.decompiler.flash.importers; * @author JPEXS */ public class TagImporter { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImportResizeTextBoundsMode.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImportResizeTextBoundsMode.java index 7aacf6248..8e16ac943 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImportResizeTextBoundsMode.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImportResizeTextBoundsMode.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.importers; /** @@ -20,6 +21,6 @@ package com.jpexs.decompiler.flash.importers; * @author JPEXS */ public enum TextImportResizeTextBoundsMode { - + NO_RESIZE, GROW_ONLY, GROW_AND_SHRINK } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java index 9de1501d2..d618ad91c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.importers; import com.jpexs.decompiler.flash.SWF; @@ -38,6 +39,7 @@ import java.util.regex.Pattern; public class TextImporter { private final MissingCharacterHandler missingCharacterHandler; + private final TextImportErrorHandler errorHandler; public TextImporter(MissingCharacterHandler missingCharacterHandler, TextImportErrorHandler errorHandler) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG3Tag.java index 5cc21473a..c6e87ff98 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG3Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG3Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -94,15 +95,15 @@ public class DefineBitsJPEG3Tag extends ImageTag implements AloneTag { } else { stream = new ByteArrayInputStream(imageData.getArray(), imageData.getPos(), imageData.getLength()); } - + BufferedImage image = ImageHelper.read(stream); SerializableImage img = image == null ? null : new SerializableImage(image); if (bitmapAlphaData.length == 0) { cachedImage = img; return img; } - - int[] pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData(); + + int[] pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData(); for (int i = 0; i < pixels.length; i++) { int a = bitmapAlphaData[i] & 0xff; pixels[i] = multiplyAlpha((pixels[i] & 0xffffff) | (a << 24)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG4Tag.java index e884c5709..dfc2c33af 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG4Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsJPEG4Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -103,12 +104,12 @@ public class DefineBitsJPEG4Tag extends ImageTag implements AloneTag { return img; } - int[] pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData(); + int[] pixels = ((DataBufferInt) img.getRaster().getDataBuffer()).getData(); for (int i = 0; i < pixels.length; i++) { int a = bitmapAlphaData.get(i) & 0xff; pixels[i] = multiplyAlpha((pixels[i] & 0xffffff) | (a << 24)); } - + cachedImage = img; return img; } catch (IOException ex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLossless2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLossless2Tag.java index 974c60638..a80b59b37 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLossless2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLossless2Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -64,12 +64,15 @@ public class DefineBitsLossless2Tag extends ImageTag implements AloneTag { public ByteArrayRange zlibBitmapData; //TODO: Parse ALPHACOLORMAPDATA,ALPHABITMAPDATA public static final int FORMAT_8BIT_COLORMAPPED = 3; + public static final int FORMAT_32BIT_ARGB = 5; @HideInRawEdit private ALPHACOLORMAPDATA colorMapData; + @HideInRawEdit private ALPHABITMAPDATA bitmapData; + @Internal private boolean decompressed = false; @@ -106,7 +109,7 @@ public class DefineBitsLossless2Tag extends ImageTag implements AloneTag { int width = image.getWidth(); int height = image.getHeight(); bitmapData.bitmapPixelData = new ARGB[width * height]; - int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); for (int pos = 0; pos < pixels.length; pos++) { int argb = pixels[pos]; int a = (argb >> 24) & 0xff; @@ -166,7 +169,7 @@ public class DefineBitsLossless2Tag extends ImageTag implements AloneTag { } zlibBitmapData = sis.readByteRangeEx(sis.available(), "zlibBitmapData"); } - + public ALPHACOLORMAPDATA getColorMapData() { if (!decompressed) { uncompressData(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLosslessTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLosslessTag.java index 32804b46f..fd2bf68da 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLosslessTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBitsLosslessTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -63,14 +63,19 @@ public class DefineBitsLosslessTag extends ImageTag implements AloneTag { public int bitmapColorTableSize; public ByteArrayRange zlibBitmapData; //TODO: Parse COLORMAPDATA,BITMAPDATA + public static final int FORMAT_8BIT_COLORMAPPED = 3; + public static final int FORMAT_15BIT_RGB = 4; + public static final int FORMAT_24BIT_RGB = 5; @HideInRawEdit private COLORMAPDATA colorMapData; + @HideInRawEdit private BITMAPDATA bitmapData; + @Internal private boolean decompressed = false; @@ -102,7 +107,7 @@ public class DefineBitsLosslessTag extends ImageTag implements AloneTag { int height = image.getHeight(); bitmapData = new BITMAPDATA(); bitmapData.bitmapPixelDataPix24 = new PIX24[width * height]; - int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); for (int pos = 0; pos < pixels.length; pos++) { int argb = pixels[pos]; //int a = (argb >> 24) & 0xff; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java index f863f12c5..310ba8ae1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -68,19 +68,23 @@ public class DefineButton2Tag extends ButtonTag implements ASMSourceContainer { * Track as menu button */ public boolean trackAsMenu; + /** * Characters that make up the button */ public List characters; + /** * Actions to execute at particular button events */ public List actions = new ArrayList<>(); + public static final int ID = 34; private Timeline timeline; private boolean isSingleFrameInitialized; + private boolean isSingleFrame; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonCxformTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonCxformTag.java index 93bd9b37c..e75daeb10 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonCxformTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonCxformTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -35,7 +36,9 @@ public class DefineButtonCxformTag extends Tag { @SWFType(BasicType.UI16) public int buttonId; + public CXFORM buttonColorTransform; + public static final int ID = 23; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java index 67d63d2df..9986f1ad5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -56,6 +57,7 @@ public class DefineButtonSoundTag extends CharacterIdTag { public int buttonSoundChar3; public SOUNDINFO buttonSoundInfo3; + public static final int ID = 17; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java index 9f6538efe..cab006684 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -67,16 +67,19 @@ public class DefineButtonTag extends ButtonTag implements ASMSource { */ @SWFType(BasicType.UI16) public int buttonId; + /** * Characters that make up the button */ public List characters; + /** * Actions to perform */ //public List actions; @HideInRawEdit public ByteArrayRange actionBytes; + public static final int ID = 7; @Override @@ -87,6 +90,7 @@ public class DefineButtonTag extends ButtonTag implements ASMSource { private Timeline timeline; private boolean isSingleFrameInitialized; + private boolean isSingleFrame; @Override @@ -275,6 +279,7 @@ public class DefineButtonTag extends ButtonTag implements ASMSource { rectCache.put(this, rect); return rect; } + List listeners = new ArrayList<>(); @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java index 7217a4371..9775115b7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -82,21 +83,37 @@ public class DefineEditTextTag extends TextTag { public int characterID; public RECT bounds; + public boolean hasText; + public boolean wordWrap; + public boolean multiline; + public boolean password; + public boolean readOnly; + public boolean hasTextColor; + public boolean hasMaxLength; + public boolean hasFont; + public boolean hasFontClass; + public boolean autoSize; + public boolean hasLayout; + public boolean noSelect; + public boolean border; + public boolean wasStatic; + public boolean html; + public boolean useOutlines; @SWFType(BasicType.UI16) @@ -982,7 +999,7 @@ public class DefineEditTextTag extends TextTag { staticTextToImage(swf, allTextRecords, 2, image, getTextMatrix(), transformation, colorTransform); } } - + return ""; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java index 3020f2a2c..045dfa577 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -48,15 +48,25 @@ public class DefineFont2Tag extends FontTag { public int fontId; public boolean fontFlagsHasLayout; + public boolean fontFlagsShiftJIS; + public boolean fontFlagsSmallText; + public boolean fontFlagsANSI; + public boolean fontFlagsWideOffsets; + public boolean fontFlagsWideCodes; + public boolean fontFlagsItalic; + public boolean fontFlagsBold; + public LANGCODE languageCode; + public String fontName; + public List glyphShapeTable; @SWFType(value = BasicType.UI8, alternateValue = BasicType.UI16, alternateCondition = "fontFlagsWideCodes") @@ -82,6 +92,7 @@ public class DefineFont2Tag extends FontTag { public List fontBoundsTable; public List fontKerningTable; + public static final int ID = 48; @Override @@ -440,7 +451,7 @@ public class DefineFont2Tag extends FontTag { fontBoundsTable = new ArrayList<>(); fontKerningTable = new ArrayList<>(); } - + for (Integer character : codeTable) { char ch = (char) (int) character; SHAPE shp = SHAPERECORD.fontCharacterToSHAPE(font, (int) Math.round(getDivider() * 1024), ch); @@ -450,7 +461,7 @@ public class DefineFont2Tag extends FontTag { fontAdvanceTable.add((int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, ch))); } } - + @Override public String getCharacters(List tags) { StringBuilder ret = new StringBuilder(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java index 721330ac5..470d94271 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -47,14 +47,23 @@ public class DefineFont3Tag extends FontTag { public int fontId; public boolean fontFlagsHasLayout; + public boolean fontFlagsShiftJIS; + public boolean fontFlagsSmallText; + public boolean fontFlagsANSI; + public boolean fontFlagsWideOffsets; + public boolean fontFlagsWideCodes; + public boolean fontFlagsItalic; + public boolean fontFlagsBold; + public LANGCODE languageCode; + public String fontName; public List glyphShapeTable; @@ -75,8 +84,11 @@ public class DefineFont3Tag extends FontTag { public int fontLeading; public List fontAdvanceTable; + public List fontBoundsTable; + public List fontKerningTable; + public static final int ID = 75; @Override @@ -440,7 +452,7 @@ public class DefineFont3Tag extends FontTag { fontBoundsTable = new ArrayList<>(); fontKerningTable = new ArrayList<>(); } - + for (Integer character : codeTable) { char ch = (char) (int) character; SHAPE shp = SHAPERECORD.fontCharacterToSHAPE(font, (int) Math.round(getDivider() * 1024), ch); @@ -450,7 +462,7 @@ public class DefineFont3Tag extends FontTag { fontAdvanceTable.add((int) getDivider() * Math.round(FontHelper.getFontAdvance(fnt, ch))); } } - + @Override public String getCharacters(List tags) { StringBuilder ret = new StringBuilder(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont4Tag.java index 9f1bad815..048e48b7e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont4Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont4Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -35,11 +36,17 @@ public class DefineFont4Tag extends CharacterTag { @Reserved @SWFType(value = BasicType.UB, count = 5) public int reserved; + public boolean fontFlagsHasFontData; + public boolean fontFlagsItalic; + public boolean fontFlagsBold; + public String fontName; + public byte[] fontData; + public static final int ID = 91; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontAlignZonesTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontAlignZonesTag.java index 6536b243c..797aa0324 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontAlignZonesTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontAlignZonesTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -34,13 +35,17 @@ public class DefineFontAlignZonesTag extends Tag { @SWFType(BasicType.UI16) public int fontID; + @SWFType(value = BasicType.UB, count = 2) public int CSMTableHint; + @Reserved @SWFType(value = BasicType.UB, count = 6) public int reserved; + @SWFArray(value = "zone", countField = "glyphCount") public List zoneTable; + public static final int ID = 73; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java index 96e06d214..d9b580358 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -39,19 +40,30 @@ public class DefineFontInfo2Tag extends Tag { @SWFType(BasicType.UI16) public int fontID; + public String fontName; + @Reserved @SWFType(value = BasicType.UB, count = 2) public int reserved; + public boolean fontFlagsSmallText; + public boolean fontFlagsShiftJIS; + public boolean fontFlagsANSI; + public boolean fontFlagsItalic; + public boolean fontFlagsBold; + public boolean fontFlagsWideCodes; //always 1 + public LANGCODE languageCode; + @SWFType(BasicType.UI16) public List codeTable; + public static final int ID = 62; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java index f1519a1bc..0fa87942c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -38,18 +39,28 @@ public class DefineFontInfoTag extends Tag { @SWFType(BasicType.UI16) public int fontId; + public String fontName; + @Reserved @SWFType(value = BasicType.UB, count = 2) public int reserved; + public boolean fontFlagsSmallText; + public boolean fontFlagsShiftJIS; + public boolean fontFlagsANSI; + public boolean fontFlagsItalic; + public boolean fontFlagsBold; + public boolean fontFlagsWideCodes; + @SWFType(value = BasicType.UI8, alternateValue = BasicType.UI16, alternateCondition = "fontFlagsWideCodes") public List codeTable; + public static final int ID = 13; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontNameTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontNameTag.java index 035767529..3f119bce2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontNameTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontNameTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -29,8 +30,11 @@ public class DefineFontNameTag extends Tag { @SWFType(BasicType.UI16) public int fontId; + public String fontName; + public String fontCopyright; + public static final int ID = 88; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java index eb91a876e..b8b1c9fca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -41,11 +42,15 @@ public class DefineFontTag extends FontTag { @SWFType(BasicType.UI16) public int fontId; + public List glyphShapeTable; + @Internal private DefineFontInfoTag fontInfoTag = null; + @Internal private DefineFontInfo2Tag fontInfo2Tag = null; + public static final int ID = 10; @Override @@ -324,7 +329,7 @@ public class DefineFontTag extends FontTag { public void setAdvanceValues(Font font) { throw new UnsupportedOperationException("Setting the advance values for DefineFontTag is not supported."); } - + @Override public String getCharacters(List tags) { StringBuilder ret = new StringBuilder(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShape2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShape2Tag.java index 67159c7aa..fe739c543 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShape2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShape2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -65,20 +66,33 @@ public class DefineMorphShape2Tag extends CharacterTag implements MorphShapeTag @SWFType(BasicType.UI16) public int characterId; + public RECT startBounds; + public RECT endBounds; + public RECT startEdgeBounds; + public RECT endEdgeBounds; + @Reserved @SWFType(value = BasicType.UB, count = 6) public int reserved; + public boolean usesNonScalingStrokes; + public boolean usesScalingStrokes; + public MORPHFILLSTYLEARRAY morphFillStyles; + public MORPHLINESTYLEARRAY morphLineStyles; + public SHAPE startEdges; + public SHAPE endEdges; + public static final int ID = 84; + public static final int MAX_RATIO = 65535; @Override @@ -351,8 +365,8 @@ public class DefineMorphShape2Tag extends CharacterTag implements MorphShapeTag public void toImage(int frame, int time, int ratio, DepthState stateUnderCursor, int mouseButton, SerializableImage image, Matrix transformation, ColorTransform colorTransform) { SHAPEWITHSTYLE shape = getShapeAtRatio(ratio); // shapeNum: 4 - // todo: Currently the generated image is not cached, because the cache - // key contains the hashCode of the finalRecord object, and it is always + // todo: Currently the generated image is not cached, because the cache + // key contains the hashCode of the finalRecord object, and it is always // recreated BitmapExporter.export(swf, shape, null, image, transformation, colorTransform); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShapeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShapeTag.java index 87c02d093..5158d806c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShapeTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineMorphShapeTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -64,13 +65,21 @@ public class DefineMorphShapeTag extends CharacterTag implements MorphShapeTag { @SWFType(BasicType.UI16) public int characterId; + public RECT startBounds; + public RECT endBounds; + public MORPHFILLSTYLEARRAY morphFillStyles; + public MORPHLINESTYLEARRAY morphLineStyles; + public SHAPE startEdges; + public SHAPE endEdges; + public static final int ID = 46; + public static final int MAX_RATIO = 65535; @Override @@ -332,8 +341,8 @@ public class DefineMorphShapeTag extends CharacterTag implements MorphShapeTag { public void toImage(int frame, int time, int ratio, DepthState stateUnderCursor, int mouseButton, SerializableImage image, Matrix transformation, ColorTransform colorTransform) { SHAPEWITHSTYLE shape = getShapeAtRatio(ratio); // shapeNum: 3 - // todo: Currently the generated image is not cached, because the cache - // key contains the hashCode of the finalRecord object, and it is always + // todo: Currently the generated image is not cached, because the cache + // key contains the hashCode of the finalRecord object, and it is always // recreated BitmapExporter.export(swf, shape, null, image, transformation, colorTransform); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineScalingGridTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineScalingGridTag.java index 604b3233e..16a583ff0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineScalingGridTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineScalingGridTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -33,7 +34,9 @@ public class DefineScalingGridTag extends Tag { @SWFType(BasicType.UI16) public int characterId; + public RECT splitter; + public static final int ID = 78; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSceneAndFrameLabelDataTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSceneAndFrameLabelDataTag.java index 86a78d89b..0ddc756f3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSceneAndFrameLabelDataTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSceneAndFrameLabelDataTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -36,6 +37,7 @@ public class DefineSceneAndFrameLabelDataTag extends Tag { @SWFType(value = BasicType.EncodedU32) @SWFArray(value = "offset", countField = "sceneCount") public long[] sceneOffsets; + @SWFArray(value = "name", countField = "sceneCount") public String[] sceneNames; @@ -45,6 +47,7 @@ public class DefineSceneAndFrameLabelDataTag extends Tag { @SWFArray(countField = "frameLabelCount") public String[] frameNames; + public static final int ID = 86; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape2Tag.java index b52fddfdf..d193ef5f5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -36,8 +37,11 @@ public class DefineShape2Tag extends ShapeTag { @SWFType(BasicType.UI16) public int shapeId; + private final RECT shapeBounds; + public SHAPEWITHSTYLE shapes; + public static final int ID = 22; private ByteArrayRange shapeData; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape3Tag.java index f61e34a2a..1c65807de 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape3Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape3Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -36,8 +37,11 @@ public class DefineShape3Tag extends ShapeTag { @SWFType(BasicType.UI16) public int shapeId; + public RECT shapeBounds; + public SHAPEWITHSTYLE shapes; + public static final int ID = 32; private ByteArrayRange shapeData; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java index 3063c3eba..01517e4b5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -37,15 +38,23 @@ public class DefineShape4Tag extends ShapeTag { @SWFType(BasicType.UI16) public int shapeId; + public RECT shapeBounds; + public RECT edgeBounds; + @Reserved @SWFType(value = BasicType.UB, count = 5) public int reserved; + public boolean usesFillWindingRule; + public boolean usesNonScalingStrokes; + public boolean usesScalingStrokes; + public SHAPEWITHSTYLE shapes; + public static final int ID = 83; private ByteArrayRange shapeData; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java index c60cbb0c7..7b1d1f5a7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -35,8 +36,11 @@ public class DefineShapeTag extends ShapeTag { @SWFType(BasicType.UI16) public int shapeId; + public RECT shapeBounds; + public SHAPEWITHSTYLE shapes; + public static final int ID = 2; private ByteArrayRange shapeData; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java index 0c7b75f34..6af247303 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -57,12 +58,14 @@ public class DefineSoundTag extends CharacterTag implements SoundTag { public int soundRate; public boolean soundSize; + public boolean soundType; @SWFType(BasicType.UI32) public long soundSampleCount; public ByteArrayRange soundData; + public static final int ID = 14; @Override @@ -347,5 +350,4 @@ public class DefineSoundTag extends CharacterTag implements SoundTag { final int[] rateMap = {5512, 11025, 22050, 44100}; return new SoundFormat(getSoundFormatId(), rateMap[getSoundRate()], getSoundType()); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSpriteTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSpriteTag.java index c3cf11331..a325d1dc7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSpriteTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSpriteTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -62,15 +62,18 @@ public class DefineSpriteTag extends CharacterTag implements DrawableTag, Timeli */ @SWFType(BasicType.UI16) public int spriteId; + /** * Number of frames in sprite */ @SWFType(BasicType.UI16) public int frameCount; + /** * A series of tags */ public List subTags; + public boolean hasEndTag; public static final int ID = 39; @@ -78,6 +81,7 @@ public class DefineSpriteTag extends CharacterTag implements DrawableTag, Timeli private Timeline timeline; private boolean isSingleFrameInitialized; + private boolean isSingleFrame; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java index 564d46cdc..2fe285944 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -61,11 +62,17 @@ public class DefineText2Tag extends TextTag { @SWFType(BasicType.UI16) public int characterID; + private final int glyphBits; + private final int advanceBits; + public RECT textBounds; + public MATRIX textMatrix; + public List textRecords; + public static final int ID = 33; @Override @@ -546,14 +553,14 @@ public class DefineText2Tag extends TextTag { public void toImage(int frame, int time, int ratio, DepthState stateUnderCursor, int mouseButton, SerializableImage image, Matrix transformation, ColorTransform colorTransform) { staticTextToImage(swf, textRecords, 2, image, getTextMatrix(), transformation, colorTransform); /*try { - DefineText2Tag originalTag = (DefineText2Tag) getOriginalTag(); - if (isModified()) { - originalTag.toImage(frame, time, ratio, stateUnderCursor, mouseButton, image, transformation, new ConstantColorColorTransform(0xFFC0C0C0)); - } - staticTextToImage(swf, textRecords, 2, image, getTextMatrix(), transformation, new ConstantColorColorTransform(0xFF000000)); - } catch (InterruptedException | IOException ex) { - Logger.getLogger(DefineText2Tag.class.getName()).log(Level.SEVERE, null, ex); - }*/ + DefineText2Tag originalTag = (DefineText2Tag) getOriginalTag(); + if (isModified()) { + originalTag.toImage(frame, time, ratio, stateUnderCursor, mouseButton, image, transformation, new ConstantColorColorTransform(0xFFC0C0C0)); + } + staticTextToImage(swf, textRecords, 2, image, getTextMatrix(), transformation, new ConstantColorColorTransform(0xFF000000)); + } catch (InterruptedException | IOException ex) { + Logger.getLogger(DefineText2Tag.class.getName()).log(Level.SEVERE, null, ex); + }*/ } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java index a781e03b2..6e1e94adc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.AppResources; @@ -62,11 +63,17 @@ public class DefineTextTag extends TextTag { @SWFType(BasicType.UI16) public int characterID; + private final int glyphBits; + private final int advanceBits; + public RECT textBounds; + public MATRIX textMatrix; + public List textRecords; + public static final int ID = 11; @Override @@ -565,14 +572,14 @@ public class DefineTextTag extends TextTag { public void toImage(int frame, int time, int ratio, DepthState stateUnderCursor, int mouseButton, SerializableImage image, Matrix transformation, ColorTransform colorTransform) { staticTextToImage(swf, textRecords, 1, image, getTextMatrix(), transformation, colorTransform); /*try { - DefineTextTag originalTag = (DefineTextTag) getOriginalTag(); - if (isModified()) { - originalTag.toImage(frame, time, ratio, stateUnderCursor, mouseButton, image, transformation, new ConstantColorColorTransform(0xFFC0C0C0)); - } - staticTextToImage(swf, textRecords, 1, image, getTextMatrix(), transformation, new ConstantColorColorTransform(0xFF000000)); - } catch (InterruptedException | IOException ex) { - Logger.getLogger(DefineTextTag.class.getName()).log(Level.SEVERE, null, ex); - }*/ + DefineTextTag originalTag = (DefineTextTag) getOriginalTag(); + if (isModified()) { + originalTag.toImage(frame, time, ratio, stateUnderCursor, mouseButton, image, transformation, new ConstantColorColorTransform(0xFFC0C0C0)); + } + staticTextToImage(swf, textRecords, 1, image, getTextMatrix(), transformation, new ConstantColorColorTransform(0xFF000000)); + } catch (InterruptedException | IOException ex) { + Logger.getLogger(DefineTextTag.class.getName()).log(Level.SEVERE, null, ex); + }*/ } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java index f538b828a..a5c5df6c5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -62,9 +63,13 @@ public class DefineVideoStreamTag extends CharacterTag implements BoundedTag { public int codecID; public static final int CODEC_SORENSON_H263 = 2; + public static final int CODEC_SCREEN_VIDEO = 3; + public static final int CODEC_VP6 = 4; + public static final int CODEC_VP6_ALPHA = 5; + public static final int ID = 60; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCDefineTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCDefineTag.java index 65866817a..08a1015b2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCDefineTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCDefineTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -58,6 +58,7 @@ public class DoABCDefineTag extends Tag implements ABCContainerTag { * The name assigned to the bytecode. */ public String name; + public static final int ID = 82; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCTag.java index b07e637a8..c7e2ba464 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoABCTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -42,6 +42,7 @@ public class DoABCTag extends Tag implements ABCContainerTag { @HideInRawEdit @SWFField private final ABC abc; + public static final int ID = 72; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoActionTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoActionTag.java index ed6f2716b..bcbdd654c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoActionTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoActionTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -46,6 +46,7 @@ public class DoActionTag extends Tag implements ASMSource { //public List actions = new ArrayList(); @HideInRawEdit public ByteArrayRange actionBytes; + public static final int ID = 12; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoInitActionTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoInitActionTag.java index 87463bddc..a9f733525 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoInitActionTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DoInitActionTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -46,12 +46,14 @@ public class DoInitActionTag extends CharacterIdTag implements ASMSource { */ @SWFType(BasicType.UI16) public int spriteId = 0; + /** * List of actions to perform */ //public List actions = new ArrayList(); @HideInRawEdit public ByteArrayRange actionBytes; + public static final int ID = 59; /** @@ -171,6 +173,7 @@ public class DoInitActionTag extends CharacterIdTag implements ASMSource { public int getCharacterId() { return spriteId; } + List listeners = new ArrayList<>(); @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebugger2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebugger2Tag.java index fea20b593..f6c35db6c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebugger2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebugger2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -36,10 +37,12 @@ public class EnableDebugger2Tag extends Tag { @Reserved @SWFType(BasicType.UI16) public int reserved; + /** * MD5 hash of password */ public String passwordHash; + public static final int ID = 64; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebuggerTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebuggerTag.java index 606f4159b..9c84544e4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebuggerTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/EnableDebuggerTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -34,6 +35,7 @@ public class EnableDebuggerTag extends Tag { * MD5 hash of password */ public String passwordHash; + public static final int ID = 58; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ExportAssetsTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ExportAssetsTag.java index d58d88a8b..507a41743 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ExportAssetsTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ExportAssetsTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -44,6 +45,7 @@ public class ExportAssetsTag extends Tag { @SWFArray(value = "name", countField = "count") public List names; + public static final int ID = 56; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FileAttributesTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FileAttributesTag.java index 6beff73eb..e80fc2e15 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FileAttributesTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FileAttributesTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -29,19 +30,27 @@ import java.io.OutputStream; public class FileAttributesTag extends Tag { public boolean useDirectBlit; + public boolean useGPU; + public boolean hasMetadata; + public boolean actionScript3; + public boolean useNetwork; + public boolean noCrossDomainCache; + @Reserved public boolean reserved1; + @Reserved public boolean reserved2; @SWFType(value = BasicType.UB, count = 24) @Reserved public int reserved3; + public static final int ID = 69; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FrameLabelTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FrameLabelTag.java index d5c738480..fa0c9e06b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FrameLabelTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/FrameLabelTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -26,7 +27,9 @@ import java.io.OutputStream; public class FrameLabelTag extends Tag { public String name; + public boolean namedAnchor = false; + public static final int ID = 43; public String getLabelName() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssets2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssets2Tag.java index e920dbf08..122699b45 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssets2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssets2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -40,20 +41,25 @@ import java.util.Map; public class ImportAssets2Tag extends Tag implements ImportTag { public String url; + @Reserved @SWFType(BasicType.UI8) public int reserved1 = 1; + @Reserved @SWFType(BasicType.UI8) public int reserved2 = 0; + /** * HashMap with assets */ @SWFType(value = BasicType.UI16) @SWFArray(value = "tag", countField = "count") public List tags; + @SWFArray(value = "name", countField = "count") public List names; + public static final int ID = 71; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssetsTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssetsTag.java index fea53b241..3cc386168 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssetsTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ImportAssetsTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -39,14 +40,17 @@ import java.util.Map; public class ImportAssetsTag extends Tag implements ImportTag { public String url; + /** * HashMap with assets */ @SWFType(value = BasicType.UI16) @SWFArray(value = "tag", countField = "count") public List tags; + @SWFArray(value = "name", countField = "count") public List names; + public static final int ID = 57; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/JPEGTablesTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/JPEGTablesTag.java index fa56a729d..5736d3405 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/JPEGTablesTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/JPEGTablesTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -28,6 +28,7 @@ import java.io.OutputStream; public class JPEGTablesTag extends Tag { public static final int ID = 8; + @HideInRawEdit public byte[] jpegData; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/MetadataTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/MetadataTag.java index 2e71224fc..46aa333df 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/MetadataTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/MetadataTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -28,6 +29,7 @@ public class MetadataTag extends Tag { @Multiline public String xmlMetadata; + public static final int ID = 77; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java index dd1a0c65f..2e87f225f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject2Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -55,77 +55,93 @@ public class PlaceObject2Tag extends CharacterIdTag implements ASMSourceContaine * @since SWF 5 Has clip actions (sprite characters only) */ public boolean placeFlagHasClipActions; + /** * Has clip depth */ public boolean placeFlagHasClipDepth; + /** * Has name */ public boolean placeFlagHasName; + /** * Has ratio */ public boolean placeFlagHasRatio; + /** * Has color transform */ public boolean placeFlagHasColorTransform; + /** * Has matrix */ public boolean placeFlagHasMatrix; + /** * Places a character */ public boolean placeFlagHasCharacter; + /** * Defines a character to be moved */ public boolean placeFlagMove; + /** * Depth of character */ @SWFType(BasicType.UI16) public int depth; + /** * If PlaceFlagHasCharacter, ID of character to place */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasCharacter") public int characterId; + /** * If PlaceFlagHasMatrix, Transform matrix data */ @Conditional("placeFlagHasMatrix") public MATRIX matrix; + /** * If PlaceFlagHasColorTransform, Color transform data */ @Conditional("placeFlagHasColorTransform") public CXFORMWITHALPHA colorTransform; + /** * If PlaceFlagHasRatio, ratio */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasRatio") public int ratio; + /** * If PlaceFlagHasName, Name of character */ @Conditional("placeFlagHasName") public String name; + /** * If PlaceFlagHasClipDepth, Clip depth */ @Conditional("placeFlagHasClipDepth") public int clipDepth; + /** * @since SWF 5 If PlaceFlagHasClipActions, Clip Actions Data */ @Conditional("placeFlagHasClipActions") @HideInRawEdit //TODO: make editable public CLIPACTIONS clipActions; + public static final int ID = 26; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java index 32ee78466..259689980 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject3Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -58,119 +58,144 @@ public class PlaceObject3Tag extends CharacterIdTag implements ASMSourceContaine * @since SWF 5 has clip actions (sprite characters only) */ public boolean placeFlagHasClipActions; + /** * Has clip depth */ public boolean placeFlagHasClipDepth; + /** * Has name */ public boolean placeFlagHasName; + /** * Has ratio */ public boolean placeFlagHasRatio; + /** * Has color transform */ public boolean placeFlagHasColorTransform; + /** * Has matrix */ public boolean placeFlagHasMatrix; + /** * Places a character */ public boolean placeFlagHasCharacter; + /** * Defines a character to be moved */ public boolean placeFlagMove; + /** * Has class name or character ID of bitmap to place. If * PlaceFlagHasClassName, use ClassName. If PlaceFlagHasCharacter, use * CharacterId */ public boolean placeFlagHasImage; + /** * Has class name of object to place */ public boolean placeFlagHasClassName; + /** * Enables bitmap caching */ public boolean placeFlagHasCacheAsBitmap; + /** * Has blend mode */ public boolean placeFlagHasBlendMode; + /** * Has filter list */ public boolean placeFlagHasFilterList; + /** * Has opaque background. SWF 11 and higher. */ public boolean placeFlagOpaqueBackground; + /** * Has visibility flag. SWF 11 and higher. */ public boolean placeFlagHasVisible; + /** * Depth of character */ @SWFType(BasicType.UI16) public int depth; + /** * If PlaceFlagHasClassName or (PlaceFlagHasImage and * PlaceFlagHasCharacter), Name of the class to place */ @Conditional("placeFlagHasClassName") public String className; + /** * If PlaceFlagHasCharacter, ID of character to place */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasCharacter") public int characterId; + /** * If PlaceFlagHasMatrix, Transform matrix data */ @Conditional("placeFlagHasMatrix") public MATRIX matrix; + /** * If PlaceFlagHasColorTransform, Color transform data */ @Conditional("placeFlagHasColorTransform") public CXFORMWITHALPHA colorTransform; + /** * If PlaceFlagHasRatio, Ratio */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasRatio") public int ratio; + /** * If PlaceFlagHasName, Name of character */ @Conditional("placeFlagHasName") public String name; + /** * If PlaceFlagHasClipDepth, Clip depth */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasClipDepth") public int clipDepth; + /** * If PlaceFlagHasFilterList, List of filters on this object */ @Conditional("placeFlagHasFilterList") public List surfaceFilterList; + /** * If PlaceFlagHasBlendMode, Blend mode */ @SWFType(BasicType.UI8) @Conditional("placeFlagHasBlendMode") public int blendMode; + /** * If PlaceFlagHasCacheAsBitmap, 0 = Bitmap cache disabled, 1-255 = Bitmap * cache enabled @@ -178,27 +203,33 @@ public class PlaceObject3Tag extends CharacterIdTag implements ASMSourceContaine @SWFType(BasicType.UI8) @Conditional("placeFlagHasCacheAsBitmap") public int bitmapCache; + /** * @since SWF 5 If PlaceFlagHasClipActions, Clip Actions Data */ @Conditional(value = "placeFlagHasClipActions", minSwfVersion = 5) @HideInRawEdit //TODO: make editable public CLIPACTIONS clipActions; + /** * If PlaceFlagHasVisible, 0 = Place invisible, 1 = Place visible */ @Conditional("placeFlagHasVisible") public int visible; + /** * If PlaceFlagHasVisible, Background color */ @Conditional("placeFlagOpaqueBackground") public RGBA backgroundColor; - // FIXME bug found in ecoDrive.swf, + + // FIXME bug found in ecoDrive.swf, @Internal private boolean bitmapCacheBug; + @Reserved public boolean reserved; + public static final int ID = 70; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java index 5ac6dafdf..28787f0de 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObject4Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -58,119 +58,144 @@ public class PlaceObject4Tag extends CharacterIdTag implements ASMSourceContaine * @since SWF 5 has clip actions (sprite characters only) */ public boolean placeFlagHasClipActions; + /** * Has clip depth */ public boolean placeFlagHasClipDepth; + /** * Has name */ public boolean placeFlagHasName; + /** * Has ratio */ public boolean placeFlagHasRatio; + /** * Has color transform */ public boolean placeFlagHasColorTransform; + /** * Has matrix */ public boolean placeFlagHasMatrix; + /** * Places a character */ public boolean placeFlagHasCharacter; + /** * Defines a character to be moved */ public boolean placeFlagMove; + /** * Has class name or character ID of bitmap to place. If * PlaceFlagHasClassName, use ClassName. If PlaceFlagHasCharacter, use * CharacterId */ public boolean placeFlagHasImage; + /** * Has class name of object to place */ public boolean placeFlagHasClassName; + /** * Enables bitmap caching */ public boolean placeFlagHasCacheAsBitmap; + /** * Has blend mode */ public boolean placeFlagHasBlendMode; + /** * Has filter list */ public boolean placeFlagHasFilterList; + /** * Has opaque background. SWF 11 and higher. */ public boolean placeFlagOpaqueBackground; + /** * Has visibility flag. SWF 11 and higher. */ public boolean placeFlagHasVisible; + /** * Depth of character */ @SWFType(BasicType.UI16) public int depth; + /** * If PlaceFlagHasClassName or (PlaceFlagHasImage and * PlaceFlagHasCharacter), Name of the class to place */ @Conditional("placeFlagHasClassName") public String className; + /** * If PlaceFlagHasCharacter, ID of character to place */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasCharacter") public int characterId; + /** * If PlaceFlagHasMatrix, Transform matrix data */ @Conditional("placeFlagHasMatrix") public MATRIX matrix; + /** * If PlaceFlagHasColorTransform, Color transform data */ @Conditional("placeFlagHasColorTransform") public CXFORMWITHALPHA colorTransform; + /** * If PlaceFlagHasRatio, Ratio */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasRatio") public int ratio; + /** * If PlaceFlagHasName, Name of character */ @Conditional("placeFlagHasName") public String name; + /** * If PlaceFlagHasClipDepth, Clip depth */ @SWFType(BasicType.UI16) @Conditional("placeFlagHasClipDepth") public int clipDepth; + /** * If PlaceFlagHasFilterList, List of filters on this object */ @Conditional("placeFlagHasFilterList") public List surfaceFilterList; + /** * If PlaceFlagHasBlendMode, Blend mode */ @SWFType(BasicType.UI8) @Conditional("placeFlagHasBlendMode") public int blendMode; + /** * If PlaceFlagHasCacheAsBitmap, 0 = Bitmap cache disabled, 1-255 = Bitmap * cache enabled @@ -178,29 +203,35 @@ public class PlaceObject4Tag extends CharacterIdTag implements ASMSourceContaine @SWFType(BasicType.UI8) @Conditional("placeFlagHasCacheAsBitmap") public int bitmapCache; + /** * @since SWF 5 If PlaceFlagHasClipActions, Clip Actions Data */ @Conditional(value = "placeFlagHasClipActions", minSwfVersion = 5) @HideInRawEdit //TODO: make editable public CLIPACTIONS clipActions; + /** * If PlaceFlagHasVisible, 0 = Place invisible, 1 = Place visible */ @Conditional("placeFlagHasVisible") public int visible; + /** * If PlaceFlagHasVisible, Background color */ @Conditional("placeFlagOpaqueBackground") public RGBA backgroundColor; - // FIXME bug found in ecoDrive.swf, + + // FIXME bug found in ecoDrive.swf, @Internal private boolean bitmapCacheBug; + @Reserved public boolean reserved; public static final int ID = 94; + public byte[] amfData; //TODO: Parse AMF data? @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java index da928bbf1..74f5ab76f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/PlaceObjectTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -48,20 +49,24 @@ public class PlaceObjectTag extends CharacterIdTag implements PlaceObjectTypeTag */ @SWFType(BasicType.UI16) public int characterId; + /** * Depth of character */ @SWFType(BasicType.UI16) public int depth; + /** * Transform matrix data */ public MATRIX matrix; + /** * Color transform data */ @Optional public CXFORM colorTransform; + public static final int ID = 4; @Override @@ -228,5 +233,4 @@ public class PlaceObjectTag extends CharacterIdTag implements PlaceObjectTypeTag setModified(mod); matrix = old; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProductInfoTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProductInfoTag.java index d68463022..380f17b64 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProductInfoTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProductInfoTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -29,20 +30,28 @@ public class ProductInfoTag extends Tag { @SWFType(BasicType.UI32) public long productID; + @SWFType(BasicType.UI32) public long edition; + @SWFType(BasicType.UI8) public int majorVersion; + @SWFType(BasicType.UI8) public int minorVersion; + @SWFType(BasicType.UI32) public long buildLow; + @SWFType(BasicType.UI32) public long buildHigh; + @SWFType(BasicType.UI32) public long compilationDateLow; + @SWFType(BasicType.UI32) public long compilationDateHigh; + public static final int ID = 41; /** @@ -101,5 +110,4 @@ public class ProductInfoTag extends Tag { } return baos.toByteArray(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProtectTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProtectTag.java index c54db2097..08c6815d3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProtectTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/ProtectTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -34,6 +35,7 @@ public class ProtectTag extends Tag { * MD5 hash of password */ public String passwordHash; + public static final int ID = 24; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObject2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObject2Tag.java index 34058c666..04fdca5cc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObject2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObject2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -30,6 +31,7 @@ public class RemoveObject2Tag extends Tag implements RemoveTag { @SWFType(BasicType.UI16) public int depth; + public static final int ID = 28; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObjectTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObjectTag.java index f62605e3e..2cbd90319 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObjectTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/RemoveObjectTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -39,11 +40,13 @@ public class RemoveObjectTag extends CharacterIdTag implements RemoveTag { */ @SWFType(BasicType.UI16) public int characterId; + /** * Depth of character */ @SWFType(BasicType.UI16) public int depth; + public static final int ID = 5; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetBackgroundColorTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetBackgroundColorTag.java index 90bab7d6d..2508a81ee 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetBackgroundColorTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetBackgroundColorTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -26,6 +27,7 @@ import java.io.IOException; public class SetBackgroundColorTag extends Tag { public RGB backgroundColor; + public static final int ID = 9; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetTabIndexTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetTabIndexTag.java index 3c748426c..1f4147891 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetTabIndexTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SetTabIndexTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -37,11 +38,13 @@ public class SetTabIndexTag extends Tag { */ @SWFType(BasicType.UI16) public int depth; + /** * Tab order value */ @SWFType(BasicType.UI16) public int tabIndex; + public static final int ID = 66; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHead2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHead2Tag.java index 31887e10f..69bbe6066 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHead2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHead2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -49,6 +50,7 @@ public class SoundStreamHead2Tag extends CharacterIdTag implements SoundStreamHe public int playBackSoundRate; public boolean playBackSoundSize; + public boolean playBackSoundType; @SWFType(value = BasicType.UB, count = 4) @@ -58,6 +60,7 @@ public class SoundStreamHead2Tag extends CharacterIdTag implements SoundStreamHe public int streamSoundRate; public boolean streamSoundSize; + public boolean streamSoundType; @SWFType(BasicType.UI16) @@ -69,6 +72,7 @@ public class SoundStreamHead2Tag extends CharacterIdTag implements SoundStreamHe @Internal private int virtualCharacterId = 0; + public static final int ID = 45; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHeadTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHeadTag.java index dba900bfc..ab86905a6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHeadTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SoundStreamHeadTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -44,22 +45,33 @@ public class SoundStreamHeadTag extends CharacterIdTag implements SoundStreamHea @Reserved @SWFType(value = BasicType.UB, count = 4) public int reserved; + @SWFType(value = BasicType.UB, count = 2) public int playBackSoundRate; + public boolean playBackSoundSize; + public boolean playBackSoundType; + @SWFType(value = BasicType.UB, count = 4) public int streamSoundCompression; + @SWFType(value = BasicType.UB, count = 2) public int streamSoundRate; + public boolean streamSoundSize; + public boolean streamSoundType; + @SWFType(value = BasicType.UI16) public int streamSoundSampleCount; + @Conditional(value = "streamSoundCompression", options = {2}) public int latencySeek; + @Internal private int virtualCharacterId = 0; + public static final int ID = 18; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSound2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSound2Tag.java index 7a3e5151e..032e4d029 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSound2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSound2Tag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -32,7 +33,9 @@ import java.io.OutputStream; public class StartSound2Tag extends Tag { public String soundClassName; + public SOUNDINFO soundInfo; + public static final int ID = 89; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSoundTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSoundTag.java index c3893c43c..5c0276c23 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSoundTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/StartSoundTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -35,7 +36,9 @@ public class StartSoundTag extends Tag { @SWFType(BasicType.UI16) public int soundId; + public SOUNDINFO soundInfo; + public static final int ID = 15; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SymbolClassTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SymbolClassTag.java index 31b75c843..426f772d4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SymbolClassTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/SymbolClassTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -31,8 +32,10 @@ public class SymbolClassTag extends Tag { @SWFType(value = BasicType.UI16) @SWFArray(value = "tag", countField = "numSymbols") public int[] tags; + @SWFArray(value = "name", countField = "numSymbols") public String[] names; + public static final int ID = 76; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java index 66fb54124..69b062b5b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -53,19 +53,25 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { * Identifier of tag type */ protected int id; + /** * If true, then Tag is written to the stream as longer than 0x3f even if it * is not */ @Internal public boolean forceWriteAsLong = false; + protected String tagName; + @Internal protected transient SWF swf; + @Internal protected transient Timelined timelined; + @Internal private boolean modified; + /** * Original tag data */ @@ -129,14 +135,17 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { if (swf == null) { throw new Error("swf parameter cannot be null."); } - if (data == null) { // it is tag build by constructor + if (data == null) { // it is tag build by constructor modified = true; } } private static final Object lockObject = new Object(); + private volatile static List knownTagIds; + private volatile static Map knownTagClasses; + private volatile static List requiredTagIds; public static List getKnownTags() { @@ -431,7 +440,7 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { sos.write(originalRange.getArray(), originalRange.getPos(), originalRange.getLength()); } } - + public Tag cloneTag() throws InterruptedException, IOException { byte[] data = getData(); SWFInputStream tagDataStream = new SWFInputStream(swf, data, getDataPos(), data.length); @@ -513,7 +522,7 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { if (originalRange == null) { return -1; } - + return originalRange.getPos(); } @@ -521,7 +530,7 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { if (originalRange == null) { return -1; } - + return originalRange.getPos() + (isLongOriginal() ? 6 : 2); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/VideoFrameTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/VideoFrameTag.java index 15178ed6c..054c768d4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/VideoFrameTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/VideoFrameTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags; import com.jpexs.decompiler.flash.SWF; @@ -34,9 +35,12 @@ public class VideoFrameTag extends Tag { @SWFType(BasicType.UI16) public int streamID; + @SWFType(BasicType.UI16) public int frameNum; + public ByteArrayRange videoData; + public static final int ID = 61; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java index 5233e9c37..d35d0f488 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.base; import com.jpexs.decompiler.flash.SWF; @@ -38,8 +39,11 @@ import java.util.List; public abstract class ButtonTag extends CharacterTag implements DrawableTag, Timelined { public static int FRAME_UP = 0; + public static int FRAME_OVER = 1; + public static int FRAME_DOWN = 2; + public static int FRAME_HITTEST = 3; public ButtonTag(SWF swf, int id, String name, ByteArrayRange data) { @@ -81,5 +85,4 @@ public abstract class ButtonTag extends CharacterTag implements DrawableTag, Tim public String toHtmlCanvas(double unitDivisor) { return getTimeline().toHtmlCanvas(unitDivisor, Arrays.asList(0)); //TODO: handle states? } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index bb589d1d6..e6b6d7808 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.base; import com.jpexs.decompiler.flash.SWF; @@ -125,6 +126,7 @@ public abstract class FontTag extends CharacterTag implements AloneTag, Drawable } public static Map> installedFontsByFamily; + public static Map installedFontsByName; public static String defaultFontName; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java index b49d02d9c..ce09bdb99 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -53,7 +53,7 @@ public abstract class ShapeTag extends CharacterTag implements DrawableTag, Lazy } public abstract SHAPEWITHSTYLE getShapes(); - + @Override public void load() { getShapes(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java index 9cf7bdca7..a03ad3b0b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -316,7 +316,7 @@ public abstract class TextTag extends CharacterTag implements DrawableTag { // shapeNum: 1 SHAPE shape = glyphs.get(entry.glyphIndex); BitmapExporter.export(swf, shape, textColor2, image, mat, colorTransform); - if (SHAPERECORD.DRAW_BOUNDING_BOX){ + if (SHAPERECORD.DRAW_BOUNDING_BOX) { RGB borderColor = new RGBA(Color.black); RGB fillColor = new RGBA(new Color(255, 255, 255, 0)); RECT bounds = shape.getBounds(); @@ -382,12 +382,12 @@ public abstract class TextTag extends CharacterTag implements DrawableTag { } } } - + return result; } public void updateTextBounds(RECT textBounds) { - TextImportResizeTextBoundsMode resizeMode = Configuration.textImportResizeTextBoundsMode.get(); + TextImportResizeTextBoundsMode resizeMode = Configuration.textImportResizeTextBoundsMode.get(); if (resizeMode.equals(TextImportResizeTextBoundsMode.GROW_ONLY) || resizeMode.equals(TextImportResizeTextBoundsMode.GROW_AND_SHRINK)) { ExportRectangle newBounds = calculateTextBounds(); if (newBounds != null) { @@ -409,7 +409,7 @@ public abstract class TextTag extends CharacterTag implements DrawableTag { } } } - + public static String staticTextToHtmlCanvas(double unitDivisor, SWF swf, List textRecords, int numText, RECT bounds, MATRIX textMatrix, ColorTransform colorTransform) { int textColor = 0; String ret = ""; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/DynamicTextModel.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/DynamicTextModel.java index d499de5db..46e12edb3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/DynamicTextModel.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/DynamicTextModel.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.dynamictext; import com.jpexs.decompiler.flash.types.GLYPHENTRY; @@ -29,7 +30,9 @@ public class DynamicTextModel { public List paragraphs = new ArrayList<>(); private Paragraph paragraph; + public TextStyle style; + public int width; public DynamicTextModel() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Paragraph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Paragraph.java index 868b34d11..62a348216 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Paragraph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Paragraph.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.dynamictext; import com.jpexs.decompiler.flash.types.GLYPHENTRY; @@ -29,7 +30,9 @@ public class Paragraph { public List words = new ArrayList<>(); private Word word; + private final DynamicTextModel model; + public int width; public Paragraph(DynamicTextModel model) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Word.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Word.java index d9a329d11..eaec6fe08 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Word.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/dynamictext/Word.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.dynamictext; import com.jpexs.decompiler.flash.types.GLYPHENTRY; @@ -29,7 +30,9 @@ public class Word { public List records = new ArrayList<>(); private SameStyleTextRecord record; + private final DynamicTextModel model; + public int width; public Word(DynamicTextModel model) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/CharacterRanges.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/CharacterRanges.java index 755f53a25..8884142ff 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/CharacterRanges.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/font/CharacterRanges.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.font; import java.io.BufferedReader; @@ -74,6 +75,7 @@ public class CharacterRanges { private static class Range { public int from; + public int to; public Range(int fromto) { @@ -98,6 +100,7 @@ public class CharacterRanges { private static class Language { String name; + List ranges; public Language(String name) { @@ -110,6 +113,7 @@ public class CharacterRanges { this.ranges = ranges; } } + private static final List languages = new ArrayList<>(); static { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java index a914eddfc..912855c64 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -55,8 +55,11 @@ import java.util.List; public final class DefineCompactedFont extends FontTag implements DrawableTag { public static final int ID = 1005; + public int fontId; + public List fonts; + private List shapeCache; /** @@ -199,7 +202,7 @@ public final class DefineCompactedFont extends FontTag implements DrawableTag { public void setAdvanceValues(Font font) { throw new UnsupportedOperationException("Setting the advance values for DefineCompactedFont is not supported."); } - + @Override public char glyphToChar(int glyphIndex) { return (char) fonts.get(0).glyphInfo.get(glyphIndex).glyphCode; @@ -416,5 +419,4 @@ public final class DefineCompactedFont extends FontTag implements DrawableTag { public boolean hasLayout() { return true; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java index db28ce4f8..502bd0c58 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,12 +32,19 @@ import java.io.OutputStream; public class DefineExternalGradient extends Tag { public static final int ID = 1003; + public static final int BITMAP_FORMAT_DEFAULT = 0; + public static final int BITMAP_FORMAT_TGA = 1; + public static final int BITMAP_FORMAT_DDS = 2; + public int gradientId; + public int bitmapsFormat; + public int gradientSize; + public String fileName; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage.java index eff7c56c0..99acde96c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,13 +32,21 @@ import java.io.OutputStream; public class DefineExternalImage extends Tag { public static final int ID = 1001; + public int characterId; + public int bitmapFormat; + public int targetWidth; + public int targetHeight; + public String fileName; + public static final int BITMAP_FORMAT_DEFAULT = 0; + public static final int BITMAP_FORMAT_TGA = 1; + public static final int BITMAP_FORMAT_DDS = 2; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java index 60aea79ac..896bdeded 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,15 +32,25 @@ import java.io.OutputStream; public class DefineExternalImage2 extends Tag { public static final int ID = 1009; + public long characterId; + public int bitmapFormat; + public int targetWidth; + public int targetHeight; + public String exportName; + public String fileName; + public byte[] extraData; //? + public static final int BITMAP_FORMAT_DEFAULT = 0; + public static final int BITMAP_FORMAT_TGA = 1; + public static final int BITMAP_FORMAT_DDS = 2; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalSound.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalSound.java index 3bbc99889..14d262fa0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalSound.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalSound.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,15 +32,25 @@ import java.io.OutputStream; public class DefineExternalSound extends Tag { public static final int ID = 1006; + public int characterId; + public int soundFormat; + public int bits; + public int channels; + public long sampleRate; + public long sampleCount; + public long seekSample; + public String exportName; + public String fileName; + public static final int SOUND_FORMAT_WAV = 0; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalStreamSound.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalStreamSound.java index 08145f799..f426a3e24 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalStreamSound.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalStreamSound.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,15 +32,25 @@ import java.io.OutputStream; public class DefineExternalStreamSound extends Tag { public static final int ID = 1007; + public int soundFormat; + public int bits; + public int channels; + public long sampleRate; + public long sampleCount; + public long seekSample; + public long startFrame; + public long lastFrame; + public String fileName; + public static final int SOUND_FORMAT_WAV = 0; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineGradientMap.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineGradientMap.java index fab408380..5f8bcb1ef 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineGradientMap.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineGradientMap.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,6 +32,7 @@ import java.io.OutputStream; public class DefineGradientMap extends Tag { public static final int ID = 1004; + public int indices[]; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineSubImage.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineSubImage.java index 744acb044..b12b599de 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineSubImage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineSubImage.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -31,11 +32,17 @@ import java.io.OutputStream; public class DefineSubImage extends Tag { public static final int ID = 1008; + public int characterId; + public int imageCharacterId; + public int x1; + public int y1; + public int x2; + public int y2; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/ExporterInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/ExporterInfo.java index 519dc8744..5bab3b0dc 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/ExporterInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/ExporterInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -33,18 +34,29 @@ import java.util.List; public class ExporterInfo extends Tag { public static final int ID = 1000; + //Version (1.10 will be encoded as 0x10A) public int version; + //Version 1.10 (0x10A) and above - flags public long flags; + public int bitmapFormat; + public byte[] prefix; + public String swfName; + public List codeOffsets; + public static final int BITMAP_FORMAT_TGA = 1; + public static final int BITMAP_FORMAT_DDS = 2; + public static final int FLAG_CONTAINS_GLYPH_TEXTURES = 1; + public static final int FLAG_GLYPHS_STRIPPED_FROM_DEFINEFONT = 2; + public static final int FLAG_GRADIENT_IMAGES_EXPORTED = 4; /** @@ -98,7 +110,7 @@ public class ExporterInfo extends Tag { prefix = sis.readBytesEx(prefixLen, "prefix"); int swfNameLen = sis.readUI8("swfNameLen"); swfName = new String(sis.readBytesEx(swfNameLen, "swfName")); - if (sis.available() > 0) // (version >= 0x401) //? + if (sis.available() > 0) // (version >= 0x401) //? { codeOffsets = new ArrayList<>(); int numCodeOffsets = sis.readUI16("numCodeOffsets"); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java index 8a98f74d6..60982b0d4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.gfx; import com.jpexs.decompiler.flash.SWFInputStream; @@ -36,17 +37,29 @@ import java.io.OutputStream; public class FontTextureInfo extends Tag { public static final int ID = 1002; + public long textureID; + public int textureFormat; + public String fileName; + public int textureWidth; + public int textureHeight; + public int padPixels; + public int nominalGlyphSz; + public TEXGLYPH texGlyphs[]; + public FONTINFO fonts[]; + public static final int TEXTURE_FORMAT_DEFAULT = 0; + public static final int TEXTURE_FORMAT_TGA = 1; + public static final int TEXTURE_FORMAT_DDS = 2; /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/ParsedSymbol.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/ParsedSymbol.java index 2bd05a086..2eb58618a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/ParsedSymbol.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/ParsedSymbol.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.tags.text; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.tags.text; public class ParsedSymbol { public Object[] values; + public SymbolType type; public ParsedSymbol(SymbolType type) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java index 0a894dc36..5084a444e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -39,7 +39,9 @@ public final class TextLexer { * lexical states */ public static final int YYINITIAL = 0; + public static final int PARAMETER = 2; + public static final int VALUE = 4; /** @@ -173,7 +175,9 @@ public final class TextLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -298,7 +302,9 @@ public final class TextLexer { /* user code: */ StringBuffer string = null; + boolean finish = false; + String parameterName = null; /** @@ -845,5 +851,4 @@ public final class TextLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java index 229a2b176..93f4bd6e8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -28,7 +29,9 @@ import java.util.TreeMap; public class AS2Package implements TreeItem { private final SWF swf; + private final String name; + private final AS2Package parent; public Map subPackages = new TreeMap<>(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS3Package.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS3Package.java index 0180d3bd3..b7045e998 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS3Package.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS3Package.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -28,8 +29,11 @@ import java.util.TreeMap; public class AS3Package extends AS3ClassTreeItem { private final SWF swf; + public String packageName; + public Map subPackages = new TreeMap<>(); + public Map scripts = new TreeMap<>(); public AS3Package(String packageName, SWF swf) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Clip.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Clip.java index e94649304..54f2ba58a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Clip.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Clip.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import java.awt.Shape; @@ -24,6 +25,7 @@ import java.awt.Shape; public class Clip { public Shape shape; + public int depth; public Clip(Shape shape, int depth) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/DepthState.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/DepthState.java index 490fbac93..db364ef4c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/DepthState.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/DepthState.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -32,22 +33,39 @@ import java.util.concurrent.atomic.AtomicLong; public class DepthState { public int characterId = -1; + public MATRIX matrix = null; + public String instanceName = null; + public ColorTransform colorTransForm = null; + public boolean cacheAsBitmap = false; + public int blendMode = 0; + public List filters = new ArrayList<>(); + public boolean isVisible = true; + public RGBA backGroundColor = null; + public CLIPACTIONS clipActions = null; + public int ratio = -1; + public boolean key = false; + public int clipDepth = -1; + public int time = 0; + private final SWF swf; + public Frame frame; + public long instanceId; + public boolean motionTween = false; private static AtomicLong lastInstanceId = new AtomicLong(0); @@ -85,5 +103,4 @@ public class DepthState { instanceId = getNewInstanceId(); } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Frame.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Frame.java index 40d05acc8..6a9112776 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Frame.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Frame.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -33,14 +34,23 @@ import java.util.TreeMap; public class Frame implements TreeItem { public final int frame; + public TreeMap layers = new TreeMap<>(); + public RGB backgroundColor = new RGBA(0, 0, 0, 0); + public Timeline timeline; + public List sounds = new ArrayList<>(); + public List soundClasses = new ArrayList<>(); + public List actions = new ArrayList<>(); + public List innerTags = new ArrayList<>(); + public ShowFrameTag showFrameTag = null; // can be null for the last frame + public boolean layersChanged; public Frame(Timeline timeline, int frame) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/FrameScript.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/FrameScript.java index 028a57212..f789e84e3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/FrameScript.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/FrameScript.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -25,6 +26,7 @@ import com.jpexs.decompiler.flash.treeitems.TreeItem; public class FrameScript implements TreeItem { private final SWF swf; + private final Frame frame; public FrameScript(SWF swf, Frame frame) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/SvgClip.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/SvgClip.java index bb30755d5..b21b61b8d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/SvgClip.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/SvgClip.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.timeline; public class SvgClip { public String shape; + public int depth; public SvgClip(String shape, int depth) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TagScript.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TagScript.java index 8df693dab..e6b1249da 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TagScript.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TagScript.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; import com.jpexs.decompiler.flash.SWF; @@ -27,7 +28,9 @@ import java.util.List; public class TagScript implements TreeItem { private final SWF swf; + private final Tag tag; + private final List frames; public TagScript(SWF swf, Tag tag, List frames) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java index 1b481bb01..782b00368 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -55,19 +55,31 @@ import java.util.Stack; public class Timeline { public int id; + public SWF swf; + public RECT displayRect; + public int frameRate; + public Timelined timelined; + public Tag parentTag; + public List tags; private final List frames = new ArrayList<>(); + private final Map depthMaxFrame = new HashMap<>(); + private final List asmSources = new ArrayList<>(); + private final Map actionFrames = new HashMap<>(); + private AS2Package as2RootPackage; + private final List otherTags = new ArrayList<>(); + private boolean initialized = false; private void ensureInitialized() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TweenRange.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TweenRange.java index e6b4763d1..7c81b9540 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TweenRange.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/TweenRange.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.timeline; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.timeline; public class TweenRange { public int startPosition; + public int endPosition; public TweenRange(int startPosition, int endPosition) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/AS3ClassTreeItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/AS3ClassTreeItem.java index eaa5ffa2b..957d88135 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/AS3ClassTreeItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/AS3ClassTreeItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.treeitems; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.treeitems; public abstract class AS3ClassTreeItem implements TreeItem { private final String name; + private final String path; public AS3ClassTreeItem(String name, String path) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/FolderItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/FolderItem.java index 0d97a8bea..29deabddd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/FolderItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/FolderItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.treeitems; import com.jpexs.decompiler.flash.SWF; @@ -25,8 +26,11 @@ import java.util.List; public class FolderItem implements TreeItem { public SWF swf; + private final String str; + private final String name; + public final List subItems; public FolderItem(String str, String name, SWF swf, List subItems) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/HeaderItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/HeaderItem.java index 9f255c849..0c8ce6bd6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/HeaderItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/HeaderItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.treeitems; import com.jpexs.decompiler.flash.SWF; @@ -24,6 +25,7 @@ import com.jpexs.decompiler.flash.SWF; public class HeaderItem implements TreeItem { private final SWF swf; + private final String name; public HeaderItem(SWF swf, String name) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java index 84b48f833..0d00d8e9d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.treeitems; import com.jpexs.decompiler.flash.SWF; @@ -31,9 +32,13 @@ import java.util.ListIterator; public class SWFList implements List, SWFContainerItem { public String name; + public boolean isBundle; + public Class bundleClass; + public SWFSourceInfo sourceInfo; + public List swfs = new ArrayList<>(); @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ALPHACOLORMAPDATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ALPHACOLORMAPDATA.java index 9a316dacb..10924cb91 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ALPHACOLORMAPDATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ALPHACOLORMAPDATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import java.io.Serializable; @@ -25,5 +26,6 @@ import java.io.Serializable; public class ALPHACOLORMAPDATA implements Serializable { public RGBA[] colorTableRGB; + public byte[] colorMapPixelData; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ARGB.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ARGB.java index 8bbc8a33d..c8a46d0ef 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ARGB.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ARGB.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -31,16 +32,19 @@ public class ARGB implements Serializable { */ @SWFType(BasicType.UI8) public int alpha; + /** * Red color value */ @SWFType(BasicType.UI8) public int red; + /** * Green color value */ @SWFType(BasicType.UI8) public int green; + /** * Blue color value */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BITMAPDATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BITMAPDATA.java index ca0a01570..f83cf4c7d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BITMAPDATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BITMAPDATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import java.io.Serializable; @@ -25,5 +26,6 @@ import java.io.Serializable; public class BITMAPDATA implements Serializable { public PIX15[] bitmapPixelDataPix15 = new PIX15[0]; + public PIX24[] bitmapPixelDataPix24 = new PIX24[0]; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONCONDACTION.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONCONDACTION.java index 5c8c696be..5b1be4266 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONCONDACTION.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONCONDACTION.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -47,6 +47,7 @@ import java.util.logging.Logger; public class BUTTONCONDACTION implements ASMSource, Exportable, Serializable { private final SWF swf; + private final Tag tag; @Override @@ -59,7 +60,7 @@ public class BUTTONCONDACTION implements ASMSource, Exportable, Serializable { swf = null; tag = null; } - + public BUTTONCONDACTION(SWF swf, SWFInputStream sis, Tag tag) throws IOException { this.swf = swf; this.tag = tag; @@ -77,53 +78,65 @@ public class BUTTONCONDACTION implements ASMSource, Exportable, Serializable { condOverDownToIdle = sis.readUB(1, "condOverDownToIdle") == 1; actionBytes = sis.readByteRangeEx(condActionSize <= 0 ? sis.available() : condActionSize - 4, "actionBytes"); } + /** * Is this BUTTONCONDACTION last in the list? */ @Internal public boolean isLast; + /** * Idle to OverDown */ public boolean condIdleToOverDown; + /** * OutDown to Idle */ public boolean condOutDownToIdle; + /** * OutDown to OverDown */ public boolean condOutDownToOverDown; + /** * OverDown to OutDown */ public boolean condOverDownToOutDown; + /** * OverDown to OverUp */ public boolean condOverDownToOverUp; + /** * OverUp to OverDown */ public boolean condOverUpToOverDown; + /** * OverUp to Idle */ public boolean condOverUpToIddle; + /** * Idle to OverUp */ public boolean condIdleToOverUp; + /** * @since SWF 4 key code */ @SWFType(value = BasicType.UB, count = 7) @Conditional(minSwfVersion = 4) public int condKeyPress; + /** * OverDown to Idle */ public boolean condOverDownToIdle; + /** * Actions to perform */ @@ -316,5 +329,4 @@ public class BUTTONCONDACTION implements ASMSource, Exportable, Serializable { public Tag getSourceTag() { return tag; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONRECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONRECORD.java index b18ef76cd..e06cb2e79 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONRECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/BUTTONRECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.tags.DefineButton2Tag; @@ -33,53 +34,65 @@ public class BUTTONRECORD implements Serializable { @Reserved @SWFType(value = BasicType.UB, count = 2) public int reserved; + /** * @since SWF 8 Has blend mode? */ public boolean buttonHasBlendMode; + /** * @since SWF 8 Has filter list? */ public boolean buttonHasFilterList; + /** * Present in hit test state */ public boolean buttonStateHitTest; + /** * Present in down state */ public boolean buttonStateDown; + /** * Present in over state */ public boolean buttonStateOver; + /** * Present in up state */ public boolean buttonStateUp; + /** * ID of character to place */ @SWFType(BasicType.UI16) public int characterId; + /** * Depth at which to place character */ @SWFType(BasicType.UI16) public int placeDepth; + /** * Transformation matrix for character placement */ public MATRIX placeMatrix; + /** * If within DefineButton2Tag: Character color transform */ public CXFORMWITHALPHA colorTransform; + /** * If within DefineButton2Tag and buttonHasFilterList: List of filters on * this button */ public List filterList; + /** * If within DefineButton2Tag and buttonHasBlendMode: Blend mode */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONRECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONRECORD.java index 6417e951c..c844d3de1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONRECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONRECORD.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -52,6 +52,7 @@ public class CLIPACTIONRECORD implements ASMSource, Exportable, Serializable { return "" + (char) key; } } + public static final String KEYNAMES[] = { null, "", @@ -90,6 +91,7 @@ public class CLIPACTIONRECORD implements ASMSource, Exportable, Serializable { @Internal private final SWF swf; + @Internal private final Tag tag; @@ -125,11 +127,13 @@ public class CLIPACTIONRECORD implements ASMSource, Exportable, Serializable { * Events to which this handler applies */ public CLIPEVENTFLAGS eventFlags; + /** * If EventFlags contain ClipEventKeyPress: Key code to trap */ @Conditional("eventFlags.clipEventKeyPress") public int keyCode; + /** * Actions to perform */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONS.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONS.java index fa1d36985..fdbefce9b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONS.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPACTIONS.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Reserved; @@ -31,10 +32,12 @@ public class CLIPACTIONS implements Serializable { @Reserved @SWFType(BasicType.UI16) public int reserved; + /** * All events used in these clip actions */ public CLIPEVENTFLAGS allEventFlags; + /** * Individual event handlers */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPEVENTFLAGS.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPEVENTFLAGS.java index b65895c44..6282eab0d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPEVENTFLAGS.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CLIPEVENTFLAGS.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Conditional; @@ -34,87 +35,106 @@ public class CLIPEVENTFLAGS implements Serializable { * Key up event */ public boolean clipEventKeyUp; + /** * Key down event */ public boolean clipEventKeyDown; + /** * Mouse up event */ public boolean clipEventMouseUp; + /** * Mouse down event */ public boolean clipEventMouseDown; + /** * Mouse move event */ public boolean clipEventMouseMove; + /** * Clip unload event */ public boolean clipEventUnload; + /** * Frame event */ public boolean clipEventEnterFrame; + /** * Clip load event */ public boolean clipEventLoad; + /** * @since SWF 6 Mouse drag over event */ @Conditional(minSwfVersion = 6) public boolean clipEventDragOver; + /** * @since SWF 6 Mouse rollout event */ @Conditional(minSwfVersion = 6) public boolean clipEventRollOut; + /** * @since SWF 6 Mouse rollover event */ @Conditional(minSwfVersion = 6) public boolean clipEventRollOver; + /** * @since SWF 6 Mouse release outside event */ @Conditional(minSwfVersion = 6) public boolean clipEventReleaseOutside; + /** * @since SWF 6 Mouse release inside event */ @Conditional(minSwfVersion = 6) public boolean clipEventRelease; + /** * @since SWF 6 Mouse press event */ @Conditional(minSwfVersion = 6) public boolean clipEventPress; + /** * @since SWF 6 Initialize event */ @Conditional(minSwfVersion = 6) public boolean clipEventInitialize; + /** * Data received event */ public boolean clipEventData; + @Reserved @SWFType(value = BasicType.UB, count = 5) @Conditional(minSwfVersion = 6) public int reserved; + /** * @since SWF 7 Construct event */ @Conditional(minSwfVersion = 7) //in v 6 always 0 public boolean clipEventConstruct = false; + /** * @since SWF 6 Key press event */ @Conditional(minSwfVersion = 6) public boolean clipEventKeyPress = false; + /** * @since SWF 6 Mouse drag out event */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/COLORMAPDATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/COLORMAPDATA.java index 0049244d3..28d978805 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/COLORMAPDATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/COLORMAPDATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import java.io.Serializable; @@ -23,5 +24,6 @@ import java.io.Serializable; public class COLORMAPDATA implements Serializable { public RGB[] colorTableRGB; + public byte[] colorMapPixelData; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORM.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORM.java index 3d15db4ff..5be519e72 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORM.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORM.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Calculated; @@ -30,38 +31,46 @@ public class CXFORM extends ColorTransform { * Has color addition values */ public boolean hasAddTerms; + /** * Has color multiply values */ public boolean hasMultTerms; + @Calculated @SWFType(value = BasicType.UB, count = 4) public int nbits; + /** * Red multiply value */ @SWFType(value = BasicType.SB, countField = "nbits") public int redMultTerm; + /** * Green multiply value */ @SWFType(value = BasicType.SB, countField = "nbits") public int greenMultTerm; + /** * Blue multiply value */ @SWFType(value = BasicType.SB, countField = "nbits") public int blueMultTerm; + /** * Red addition value */ @SWFType(value = BasicType.SB, countField = "nbits") public int redAddTerm; + /** * Green addition value */ @SWFType(value = BasicType.SB, countField = "nbits") public int greenAddTerm; + /** * Blue addition value */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORMWITHALPHA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORMWITHALPHA.java index db6a67340..83a9c49f9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORMWITHALPHA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/CXFORMWITHALPHA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Calculated; @@ -31,52 +32,61 @@ public class CXFORMWITHALPHA extends ColorTransform { * Has color addition values */ public boolean hasAddTerms; + /** * Has color multiply values */ public boolean hasMultTerms; + /** * Red multiply value */ @Conditional("hasMultTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int redMultTerm; + /** * Green multiply value */ @Conditional("hasMultTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int greenMultTerm; + /** * Blue multiply value */ @Conditional("hasMultTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int blueMultTerm; + /** * Alpha multiply value */ @Conditional("hasMultTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int alphaMultTerm; + /** * Red addition value */ @Conditional("hasAddTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int redAddTerm; + /** * Green addition value */ @Conditional("hasAddTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int greenAddTerm; + /** * Blue addition value */ @Conditional("hasAddTerms") @SWFType(value = BasicType.SB, countField = "nbits") public int blueAddTerm; + /** * Alpha addition value */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ConstantColorColorTransform.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ConstantColorColorTransform.java index 6d53cb28b..fd69c4ae6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ConstantColorColorTransform.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ConstantColorColorTransform.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; /** @@ -22,11 +23,11 @@ package com.jpexs.decompiler.flash.types; public class ConstantColorColorTransform extends ColorTransform { private final int color; - + public ConstantColorColorTransform(int color) { this.color = color; } - + @Override public int apply(int color) { return this.color; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/FILLSTYLE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/FILLSTYLE.java index d27159fa4..873690ff5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/FILLSTYLE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/FILLSTYLE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.tags.DefineShape3Tag; @@ -32,16 +33,26 @@ public class FILLSTYLE implements NeedsCharacters, Serializable { @SWFType(BasicType.UI8) public int fillStyleType; + public static final int SOLID = 0x0; + public static final int LINEAR_GRADIENT = 0x10; + public static final int RADIAL_GRADIENT = 0x12; + public static final int FOCAL_RADIAL_GRADIENT = 0x13; + public static final int REPEATING_BITMAP = 0x40; + public static final int CLIPPED_BITMAP = 0x41; + public static final int NON_SMOOTHED_REPEATING_BITMAP = 0x42; + public static final int NON_SMOOTHED_CLIPPED_BITMAP = 0x43; + @Internal public boolean inShape3; + @ConditionalType(type = RGBA.class, tags = DefineShape3Tag.ID) public RGB color; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GLYPHENTRY.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GLYPHENTRY.java index 954afd17b..0901f37c8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GLYPHENTRY.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GLYPHENTRY.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -26,6 +27,7 @@ public class GLYPHENTRY implements Serializable { @SWFType(value = BasicType.UB, countField = "+glyphBits") public int glyphIndex; + @SWFType(value = BasicType.SB, countField = "advanceBits") public int glyphAdvance; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADIENT.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADIENT.java index 1c062f57a..acc21e86a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADIENT.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADIENT.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -29,18 +30,28 @@ public class GRADIENT implements Serializable { */ @SWFType(value = BasicType.UB, count = 2) public int spreadMode; + public static final int SPREAD_PAD_MODE = 0; + public static final int SPREAD_REFLECT_MODE = 1; + public static final int SPREAD_REPEAT_MODE = 2; + public static final int SPREAD_RESERVED = 3; + /** * Interpolation mode */ @SWFType(value = BasicType.UB, count = 2) public int interpolationMode; + public static final int INTERPOLATION_RGB_MODE = 0; + public static final int INTERPOLATION_LINEAR_RGB_MODE = 1; + public static final int INTERPOLATION_RESERVED1 = 2; + public static final int INTERPOLATION_RESERVED2 = 3; + public GRADRECORD[] gradientRecords = new GRADRECORD[0]; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADRECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADRECORD.java index 000c90a67..5d207e1b9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADRECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/GRADRECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Internal; @@ -29,6 +30,7 @@ public class GRADRECORD { @Internal public boolean inShape3; + public RGB color; public float getRatioFloat() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/KERNINGRECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/KERNINGRECORD.java index 9ec098115..66e237402 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/KERNINGRECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/KERNINGRECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.helpers.FontHelper; @@ -55,5 +56,4 @@ public class KERNINGRECORD implements Serializable { fontKerningCode2 = char2; fontKerningAdjustment = FontHelper.getFontCharsKerning(font, char1, char2); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LANGCODE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LANGCODE.java index b46bbfe06..042650bdb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LANGCODE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LANGCODE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -38,5 +39,4 @@ public class LANGCODE implements Serializable { public String toString() { return "[LANGCODE:" + languageCode + "]"; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LINESTYLE2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LINESTYLE2.java index 6d2b00092..95c0b2177 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LINESTYLE2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/LINESTYLE2.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Conditional; @@ -29,28 +30,43 @@ public class LINESTYLE2 extends LINESTYLE implements Serializable { @SWFType(value = BasicType.UB, count = 2) public int startCapStyle; + @SWFType(value = BasicType.UB, count = 2) public int joinStyle; + public static final int ROUND_JOIN = 0; + public static final int BEVEL_JOIN = 1; + public static final int MITER_JOIN = 2; + public boolean hasFillFlag; + public boolean noHScaleFlag; + public boolean noVScaleFlag; + public boolean pixelHintingFlag; + @Reserved @SWFType(value = BasicType.UB, count = 5) public int reserved; + public boolean noClose; + @SWFType(value = BasicType.UB, count = 2) public int endCapStyle; + public static final int ROUND_CAP = 0; + public static final int NO_CAP = 1; + public static final int SQUARE_CAP = 2; @SWFType(BasicType.UI16) @Conditional(value = "joinStyle", options = MITER_JOIN) public int miterLimitFactor; + public FILLSTYLE fillType; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MATRIX.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MATRIX.java index 7336376dd..00d11b9e6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MATRIX.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MATRIX.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Calculated; @@ -33,39 +34,46 @@ public class MATRIX implements Serializable { * Has scale values */ public boolean hasScale; + /** * X scale value */ @Conditional("hasScale") @SWFType(value = BasicType.FB, countField = "nScaleBits") public int scaleX; + /** * Y scale value */ @Conditional("hasScale") @SWFType(value = BasicType.FB, countField = "nScaleBits") public int scaleY; + /** * Has rotate and skew values */ public boolean hasRotate; + /** * First rotate and skew value */ @Conditional("hasRotate") @SWFType(value = BasicType.FB, countField = "nRotateBits") public int rotateSkew0; + /** * Second rotate and skew value */ @Conditional("hasRotate") @SWFType(value = BasicType.FB, countField = "nRotateBits") public int rotateSkew1; + /** * X translate value in twips */ @SWFType(value = BasicType.SB, countField = "nTranslateBits") public int translateX; + /** * Y translate value in twips */ @@ -205,5 +213,4 @@ public class MATRIX implements Serializable { } return true; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHFILLSTYLE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHFILLSTYLE.java index 110953c23..4a1183eb4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHFILLSTYLE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHFILLSTYLE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.tags.base.NeedsCharacters; @@ -31,12 +32,19 @@ public class MORPHFILLSTYLE implements NeedsCharacters, Serializable { public int fillStyleType; public static final int SOLID = 0x0; + public static final int LINEAR_GRADIENT = 0x10; + public static final int RADIAL_GRADIENT = 0x12; + public static final int FOCAL_RADIAL_GRADIENT = 0x13; + public static final int REPEATING_BITMAP = 0x40; + public static final int CLIPPED_BITMAP = 0x41; + public static final int NON_SMOOTHED_REPEATING_BITMAP = 0x42; + public static final int NON_SMOOTHED_CLIPPED_BITMAP = 0x43; @Conditional(value = "fillStyleType", options = {SOLID}) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHGRADIENT.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHGRADIENT.java index 353dd2cc4..ed819aa94 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHGRADIENT.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHGRADIENT.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -30,6 +30,7 @@ public class MORPHGRADIENT implements Serializable { */ @SWFType(value = BasicType.UB, count = 2) public int spreadMode; + /** * Interpolation mode. See GRADIENT.INTERPOLATION_* constants */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE.java index 79e84ea43..eb38b0c1e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -26,9 +27,12 @@ public class MORPHLINESTYLE implements Serializable { @SWFType(BasicType.UI16) public int startWidth; + @SWFType(BasicType.UI16) public int endWidth; + public RGBA startColor; + public RGBA endColor; public LINESTYLE getStartLineStyle() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE2.java index 3632b6830..5892e403f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLE2.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Conditional; @@ -28,29 +29,43 @@ public class MORPHLINESTYLE2 implements Serializable { @SWFType(BasicType.UI16) public int startWidth; + @SWFType(BasicType.UI16) public int endWidth; + @SWFType(value = BasicType.UB, count = 2) public int startCapStyle; + @SWFType(value = BasicType.UB, count = 2) public int joinStyle; + public static final int ROUND_JOIN = 0; + public static final int BEVEL_JOIN = 1; + public static final int MITER_JOIN = 2; + public boolean hasFillFlag; + public boolean noHScaleFlag; + public boolean noVScaleFlag; + public boolean pixelHintingFlag; + @Reserved @SWFType(value = BasicType.UB, count = 5) public int reserved; + public boolean noClose; @SWFType(value = BasicType.UB, count = 2) public int endCapStyle; public static final int ROUND_CAP = 0; + public static final int NO_CAP = 1; + public static final int SQUARE_CAP = 2; @SWFType(value = BasicType.UI16) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLEARRAY.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLEARRAY.java index fb95f2f59..f75769a1e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLEARRAY.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/MORPHLINESTYLEARRAY.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import java.io.Serializable; @@ -24,6 +25,7 @@ import java.io.Serializable; public class MORPHLINESTYLEARRAY implements Serializable { public MORPHLINESTYLE[] lineStyles; + public MORPHLINESTYLE2[] lineStyles2; public LINESTYLEARRAY getLineStylesAt(int shapeNum, int ratio) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX15.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX15.java index 89e7ab3a8..249f5effa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX15.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX15.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -30,11 +31,13 @@ public class PIX15 implements Serializable { */ @SWFType(value = BasicType.UB, count = 5) public int red; + /** * Green color value */ @SWFType(value = BasicType.UB, count = 5) public int green; + /** * Blue color value */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX24.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX24.java index 5f53d4f23..386f247fa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX24.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/PIX24.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Reserved; @@ -29,16 +30,19 @@ public class PIX24 implements Serializable { @SWFType(BasicType.UI8) @Reserved public int reserved; + /** * Red color value */ @SWFType(BasicType.UI8) public int red; + /** * Green color value */ @SWFType(BasicType.UI8) public int green; + /** * Blue color value */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGB.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGB.java index fbbf03540..a935713a0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGB.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGB.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -32,11 +33,13 @@ public class RGB implements Serializable { */ @SWFType(BasicType.UI8) public int red; + /** * Green color value */ @SWFType(BasicType.UI8) public int green; + /** * Blue color value */ @@ -77,10 +80,10 @@ public class RGB implements Serializable { } public static int toInt(int red, int green, int blue) { - return (0xFF << 24) | - ((red & 0xFF) << 16) | - ((green & 0xFF) << 8) | - (blue & 0xFF); + return (0xFF << 24) + | ((red & 0xFF) << 16) + | ((green & 0xFF) << 8) + | (blue & 0xFF); } public RGB(Color color) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGBA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGBA.java index da3fbadac..a01e6e357 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGBA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/RGBA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.configuration.Configuration; @@ -86,10 +87,10 @@ public class RGBA extends RGB implements Serializable { } public static int toInt(int red, int green, int blue, int alpha) { - return ((alpha & 0xFF) << 24) | - ((red & 0xFF) << 16) | - ((green & 0xFF) << 8) | - (blue & 0xFF); + return ((alpha & 0xFF) << 24) + | ((red & 0xFF) << 16) + | ((green & 0xFF) << 8) + | (blue & 0xFF); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPE.java index 7ec3e60e1..899c89e8d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.exporters.shape.PathExporter; @@ -36,8 +37,10 @@ public class SHAPE implements NeedsCharacters, Serializable { @SWFType(value = BasicType.UB, count = 4) public int numFillBits; + @SWFType(value = BasicType.UB, count = 4) public int numLineBits; + public List shapeRecords; private Shape cachedOutline; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPEWITHSTYLE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPEWITHSTYLE.java index 750496cbd..0952c0733 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPEWITHSTYLE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SHAPEWITHSTYLE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.tags.base.NeedsCharacters; @@ -29,6 +30,7 @@ import java.util.Set; public class SHAPEWITHSTYLE extends SHAPE implements NeedsCharacters, Serializable { public FILLSTYLEARRAY fillStyles; + public LINESTYLEARRAY lineStyles; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDENVELOPE.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDENVELOPE.java index da8cf45b1..ed1c6b66b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDENVELOPE.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDENVELOPE.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -26,8 +27,10 @@ public class SOUNDENVELOPE implements Serializable { @SWFType(BasicType.UI32) public long pos44; + @SWFType(BasicType.UI16) public int leftLevel; + @SWFType(BasicType.UI16) public int rightLevel; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDINFO.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDINFO.java index beba950d6..4d279a1ee 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDINFO.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/SOUNDINFO.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.Conditional; @@ -29,11 +30,17 @@ public class SOUNDINFO implements Serializable { @Reserved @SWFType(value = BasicType.UB, count = 2) public int reserved; + public boolean syncStop; + public boolean syncNoMultiple; + public boolean hasEnvelope; + public boolean hasLoops; + public boolean hasOutPoint; + public boolean hasInPoint; @Conditional("hasInPoint") diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/TEXTRECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/TEXTRECORD.java index 941156672..887f29d6d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/TEXTRECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/TEXTRECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.tags.DefineText2Tag; @@ -30,8 +31,11 @@ import java.io.Serializable; public class TEXTRECORD implements Serializable { public boolean styleFlagsHasFont; + public boolean styleFlagsHasColor; + public boolean styleFlagsHasYOffset; + public boolean styleFlagsHasXOffset; @Conditional("styleFlagsHasFont") diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONEDATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONEDATA.java index eea884d7e..8ec3d26b9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONEDATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONEDATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFType; @@ -27,6 +28,7 @@ public class ZONEDATA implements Serializable { @SWFType(BasicType.FLOAT16) public int alignmentCoordinate; + @SWFType(BasicType.FLOAT16) public int range; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONERECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONERECORD.java index e96d12739..d1bd0cbf7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONERECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ZONERECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types; import com.jpexs.decompiler.flash.types.annotations.SWFArray; @@ -27,7 +28,9 @@ public class ZONERECORD implements Serializable { @SWFArray(value = "zone", countField = "numZoneData") public ZONEDATA[] zonedata = new ZONEDATA[0]; + public boolean zoneMaskX; + public boolean zoneMaskY; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Calculated.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Calculated.java index eecdc70f0..2499ae259 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Calculated.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Calculated.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.annotations; import java.lang.annotation.ElementType; @@ -28,5 +29,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Calculated { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/HideInRawEdit.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/HideInRawEdit.java index 32be335ef..de451a07d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/HideInRawEdit.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/HideInRawEdit.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -28,5 +28,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface HideInRawEdit { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Internal.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Internal.java index 113a0c970..164b5230a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Internal.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Internal.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.annotations; import java.lang.annotation.ElementType; @@ -28,5 +29,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Internal { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Multiline.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Multiline.java index 5619a2590..c817ff5e7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Multiline.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Multiline.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.annotations; /** @@ -21,5 +22,4 @@ package com.jpexs.decompiler.flash.types.annotations; * @author JPEXS */ public @interface Multiline { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Optional.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Optional.java index 9b4ba20f4..38e3ab2a7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Optional.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/Optional.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.annotations; import java.lang.annotation.ElementType; @@ -28,5 +29,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Optional { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/SWFField.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/SWFField.java index 8fbc9e921..70f705ea9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/SWFField.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/SWFField.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -28,5 +28,4 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface SWFField { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java index 5e10c6abc..e87cfe188 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java @@ -2,17 +2,17 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -162,7 +162,9 @@ public final class ConditionLexer { /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ @@ -744,5 +746,4 @@ public final class ConditionLexer { } } } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionToken.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionToken.java index 85f7c27ca..943a37299 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionToken.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionToken.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.annotations.parser; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.flash.types.annotations.parser; public class ConditionToken { public String value; + public ConditionTokenType type; public ConditionToken(ConditionTokenType type, String value) { @@ -33,5 +35,4 @@ public class ConditionToken { public String toString() { return type.toString() + (value != null ? "[" + value + "]" : ""); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BEVELFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BEVELFILTER.java index 43f16bbe3..570af36b8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BEVELFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BEVELFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -31,10 +32,12 @@ public class BEVELFILTER extends FILTER { * Color of the shadow */ public RGBA shadowColor; + /** * Color of the highlight */ public RGBA highlightColor; + /** * Horizontal blur amount */ @@ -46,37 +49,45 @@ public class BEVELFILTER extends FILTER { */ @SWFType(BasicType.FIXED) public double blurY; + /** * Radian angle of the drop shadow */ @SWFType(BasicType.FIXED) public double angle; + /** * Distance of the drop shadow */ @SWFType(BasicType.FIXED) public double distance; + /** * Strength of the drop shadow */ @SWFType(BasicType.FIXED8) public float strength; + /** * Inner shadow mode */ public boolean innerShadow; + /** * Knockout mode */ public boolean knockout; + /** * Composite source */ public boolean compositeSource; + /** * OnTop mode */ public boolean onTop; + /** * Number of blur passes */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BLURFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BLURFILTER.java index ab748fed7..ee9f0558a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BLURFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BLURFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -32,16 +33,19 @@ public class BLURFILTER extends FILTER { */ @SWFType(BasicType.FIXED) public double blurX; + /** * Vertical blur amount */ @SWFType(BasicType.FIXED) public double blurY; + /** * Number of blur passes */ @SWFType(value = BasicType.UB, count = 5) public int passes; + @Reserved @SWFType(value = BasicType.UB, count = 3) public int reserved; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BlendComposite.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BlendComposite.java index bd0dcd926..1c41969b5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BlendComposite.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/BlendComposite.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import java.awt.Composite; @@ -47,19 +48,33 @@ public final class BlendComposite implements Composite { ALPHA, ERASE } + public static final BlendComposite Alpha = new BlendComposite(BlendingMode.ALPHA); + public static final BlendComposite Erase = new BlendComposite(BlendingMode.ERASE); + public static final BlendComposite Invert = new BlendComposite(BlendingMode.INVERT); + public static final BlendComposite Multiply = new BlendComposite(BlendingMode.MULTIPLY); + public static final BlendComposite Screen = new BlendComposite(BlendingMode.SCREEN); + public static final BlendComposite Darken = new BlendComposite(BlendingMode.DARKEN); + public static final BlendComposite Lighten = new BlendComposite(BlendingMode.LIGHTEN); + public static final BlendComposite Overlay = new BlendComposite(BlendingMode.OVERLAY); + public static final BlendComposite HardLight = new BlendComposite(BlendingMode.HARD_LIGHT); + public static final BlendComposite Difference = new BlendComposite(BlendingMode.DIFFERENCE); + public static final BlendComposite Add = new BlendComposite(BlendingMode.ADD); + public static final BlendComposite Subtract = new BlendComposite(BlendingMode.SUBTRACT); + private final float alpha; + private final BlendingMode mode; private BlendComposite(BlendingMode mode) { @@ -140,6 +155,7 @@ public final class BlendComposite implements Composite { private static final class BlendingContext implements CompositeContext { private final Blender blender; + private final BlendComposite composite; private BlendingContext(BlendComposite composite) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/CONVOLUTIONFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/CONVOLUTIONFILTER.java index 87d99da62..31faa0724 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/CONVOLUTIONFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/CONVOLUTIONFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -33,37 +34,45 @@ public class CONVOLUTIONFILTER extends FILTER { */ @SWFType(BasicType.UI8) public int matrixX; + /** * Vertical matrix size */ @SWFType(BasicType.UI8) public int matrixY; + /** * Divisor applied to the matrix values */ @SWFType(BasicType.FLOAT) public float divisor; + /** * Bias applied to the matrix values */ @SWFType(BasicType.FLOAT) public float bias; + /** * Matrix values */ @SWFType(BasicType.FLOAT) public float[][] matrix = new float[0][0]; + /** * Default color for pixels outside the image */ public RGBA defaultColor; + @Reserved @SWFType(value = BasicType.UB, count = 6) public int reserved; + /** * Clamp mode */ public boolean clamp; + /** * Preserve the alpha */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/DROPSHADOWFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/DROPSHADOWFILTER.java index 508c6bc95..10d0310f4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/DROPSHADOWFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/DROPSHADOWFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -31,43 +32,52 @@ public class DROPSHADOWFILTER extends FILTER { * Color of the shadow */ public RGBA dropShadowColor; + /** * Horizontal blur amount */ @SWFType(BasicType.FIXED) public double blurX; + /** * Vertical blur amount */ @SWFType(BasicType.FIXED) public double blurY; + /** * Radian angle of the drop shadow */ @SWFType(BasicType.FIXED) public double angle; + /** * Distance of the drop shadow */ @SWFType(BasicType.FIXED) public double distance; + /** * Strength of the drop shadow */ @SWFType(BasicType.FIXED8) public float strength; + /** * Inner shadow mode */ public boolean innerShadow; + /** * Knockout mode */ public boolean knockout; + /** * Composite source */ public boolean compositeSource; + /** * Number of blur passes */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/Filtering.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/Filtering.java index 14bfb2b78..ffac1febb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/Filtering.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/Filtering.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.helpers.SerializableImage; @@ -37,7 +38,9 @@ import java.awt.image.Kernel; public class Filtering { public static final int INNER = 1; + public static final int OUTER = 2; + public static final int FULL = 3; private static void boxBlurHorizontal(int[] pixels, int[] mask, int w, int h, int radius) { @@ -271,7 +274,7 @@ public class Filtering { BufferedImage hilightInner = null; if (type != OUTER) { BufferedImage hilightIm = dropShadow(src, 0, 0, angle, distance, Color.red, true, iterations, strength, true);//new DropShadowFilter(blurX, blurY, strength, inner ? highlightColor : shadowColor, angle, distance, inner, true, iterations).filter(src - BufferedImage shadowIm = dropShadow(src, 0, 0, angle + 180, distance, Color.blue, true, iterations, strength, true); //new DropShadowFilter(blurX, blurY, strength, inner ? shadowColor : highlightColor, angle + 180, distance, inner, true, iterations).filter(src); + BufferedImage shadowIm = dropShadow(src, 0, 0, angle + 180, distance, Color.blue, true, iterations, strength, true); //new DropShadowFilter(blurX, blurY, strength, inner ? shadowColor : highlightColor, angle + 180, distance, inner, true, iterations).filter(src); BufferedImage h2 = new BufferedImage(width, height, src.getType()); BufferedImage s2 = new BufferedImage(width, height, src.getType()); Graphics2D hc = h2.createGraphics(); @@ -286,12 +289,12 @@ public class Filtering { shadowInner = s2; hilightInner = h2; } - + BufferedImage shadowOuter = null; BufferedImage hilightOuter = null; if (type != INNER) { BufferedImage hilightIm = dropShadow(src, 0, 0, angle + 180, distance, Color.red, false, iterations, strength, true);//new DropShadowFilter(blurX, blurY, strength, inner ? highlightColor : shadowColor, angle, distance, inner, true, iterations).filter(src - BufferedImage shadowIm = dropShadow(src, 0, 0, angle, distance, Color.blue, false, iterations, strength, true); //new DropShadowFilter(blurX, blurY, strength, inner ? shadowColor : highlightColor, angle + 180, distance, inner, true, iterations).filter(src); + BufferedImage shadowIm = dropShadow(src, 0, 0, angle, distance, Color.blue, false, iterations, strength, true); //new DropShadowFilter(blurX, blurY, strength, inner ? shadowColor : highlightColor, angle + 180, distance, inner, true, iterations).filter(src); BufferedImage h2 = new BufferedImage(width, height, src.getType()); BufferedImage s2 = new BufferedImage(width, height, src.getType()); Graphics2D hc = h2.createGraphics(); @@ -354,7 +357,7 @@ public class Filtering { int ra = cut(ah - as, -255, 255); ret[i] = gradientPixels[255 + ra]; } - + setRGB(retImg, width, height, ret); if (!knockout) { @@ -395,7 +398,7 @@ public class Filtering { } shadow[i] = new Color(color.getRed(), color.getGreen(), color.getBlue(), cut(color.getAlpha() * alpha / 255 * strength)).getRGB(); } - + Color colorFirst = Color.BLACK; Color colorAlpha = new Color(0, 0, 0, 0); double angleRad = angle / 180 * Math.PI; @@ -414,7 +417,7 @@ public class Filtering { } shadow[i] = shadow[i] & 0xffffff + ((mask * ((shadow[i] >> 24) & 0xff) / 255) << 24); } - + BufferedImage retCanvas = new BufferedImage(width, height, src.getType()); setRGB(retCanvas, width, height, shadow); @@ -452,12 +455,12 @@ public class Filtering { for (int i = 0; i < srcPixels.length; i++) { revPixels[i] = (srcPixels[i] & 0xffffff) + ((255 - ((srcPixels[i] >> 24) & 0xff)) << 24); } - + int shadow[] = new int[srcPixels.length]; for (int i = 0; i < srcPixels.length; i++) { shadow[i] = 0 + ((cut(strength * ((srcPixels[i] >> 24) & 0xff))) << 24); } - + Color colorAlpha = new Color(0, 0, 0, 0); shadow = moveRGB(width, height, shadow, moveX, moveY, colorAlpha); @@ -500,7 +503,7 @@ public class Filtering { private static int[] getRGB(BufferedImage image) { int type = image.getType(); if (type == BufferedImage.TYPE_INT_ARGB || type == BufferedImage.TYPE_INT_RGB) { - return ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + return ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); } int width = image.getWidth(); return image.getRGB(0, 0, width, image.getHeight(), null, 0, width); @@ -541,10 +544,10 @@ public class Filtering { public static SerializableImage colorMatrix(SerializableImage src, float[][] matrix) { /*BandCombineOp changeColors = new BandCombineOp(matrix, new RenderingHints(null)); - Raster sourceRaster = src.getRaster(); - WritableRaster displayRaster = sourceRaster.createCompatibleWritableRaster(); - changeColors.filter(sourceRaster, displayRaster); - return new SerializableImage(src.getColorModel(), displayRaster, true, null);*/ + Raster sourceRaster = src.getRaster(); + WritableRaster displayRaster = sourceRaster.createCompatibleWritableRaster(); + changeColors.filter(sourceRaster, displayRaster); + return new SerializableImage(src.getColorModel(), displayRaster, true, null);*/ BufferedImage dst = new BufferedImage(src.getWidth(), src.getHeight(), src.getType()); int pixels[] = getRGB(src.getBufferedImage()).clone(); for (int i = 0; i < pixels.length; i++) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GLOWFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GLOWFILTER.java index 66cd41b32..c43fced94 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GLOWFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GLOWFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -31,33 +32,40 @@ public class GLOWFILTER extends FILTER { * Color of the shadow */ public RGBA glowColor; + /** * Horizontal blur amount */ @SWFType(BasicType.FIXED) public double blurX; + /** * Vertical blur amount */ @SWFType(BasicType.FIXED) public double blurY; + /** * Strength of the glow */ @SWFType(BasicType.FIXED8) public float strength; + /** * Inner glow mode */ public boolean innerGlow; + /** * Knockout mode */ public boolean knockout; + /** * Composite source */ public boolean compositeSource; + /** * Number of blur passes */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTBEVELFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTBEVELFILTER.java index c3b097c06..af23ea9c1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTBEVELFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTBEVELFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -35,52 +36,63 @@ public class GRADIENTBEVELFILTER extends FILTER { */ @SWFType(countField = "numColors") public RGBA[] gradientColors = new RGBA[0]; + /** * Gradient ratios */ @SWFType(value = BasicType.UI8, countField = "numColors") public int[] gradientRatio = new int[0]; + /** * Horizontal blur amount */ @SWFType(BasicType.FIXED) public double blurX; + /** * Vertical blur amount */ @SWFType(BasicType.FIXED) public double blurY; + /** * Radian angle of the gradient bevel */ @SWFType(BasicType.FIXED) public double angle; + /** * Distance of the gradient bevel */ @SWFType(BasicType.FIXED) public double distance; + /** * Strength of the gradient bevel */ @SWFType(BasicType.FIXED8) public float strength; + /** * Inner bevel mode */ public boolean innerShadow; + /** * Knockout mode */ public boolean knockout; + /** * Composite source */ public boolean compositeSource; + /** * OnTop mode */ public boolean onTop; + /** * Number of blur passes */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTGLOWFILTER.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTGLOWFILTER.java index 2214ec0f2..b71d2c7a7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTGLOWFILTER.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/filters/GRADIENTGLOWFILTER.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.filters; import com.jpexs.decompiler.flash.types.BasicType; @@ -35,52 +36,63 @@ public class GRADIENTGLOWFILTER extends FILTER { */ @SWFType(countField = "numColors") public RGBA[] gradientColors = new RGBA[0]; + /** * Gradient ratios */ @SWFType(value = BasicType.UI8, countField = "numColors") public int[] gradientRatio; + /** * Horizontal blur amount */ @SWFType(BasicType.FIXED) public double blurX; + /** * Vertical blur amount */ @SWFType(BasicType.FIXED) public double blurY; + /** * Radian angle of the gradient glow */ @SWFType(BasicType.FIXED) public double angle; + /** * Distance of the gradient glow */ @SWFType(BasicType.FIXED) public double distance; + /** * Strength of the gradient glow */ @SWFType(BasicType.FIXED8) public float strength; + /** * Inner glow mode */ public boolean innerShadow; + /** * Knockout mode */ public boolean knockout; + /** * Composite source */ public boolean compositeSource; + /** * OnTop mode */ public boolean onTop; + /** * Number of blur passes */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/ContourType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/ContourType.java index 88bb1b6f7..a7d4a14e0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/ContourType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/ContourType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import com.jpexs.decompiler.flash.types.shaperecords.CurvedEdgeRecord; @@ -31,9 +32,13 @@ import java.util.List; public class ContourType implements Serializable { public int moveToX; + public int moveToY; + public EdgeType[] edges; + public boolean isReference; + public long reference; public ContourType(List records) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/EdgeType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/EdgeType.java index 7abbde146..017315c69 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/EdgeType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/EdgeType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import com.jpexs.decompiler.flash.types.shaperecords.CurvedEdgeRecord; @@ -28,26 +29,47 @@ import java.io.Serializable; public class EdgeType implements Serializable { private static final int sizes[] = new int[]{1, 2, 1, 2, 1, 2, 3, 4, 2, 3, 4, 5, 6, 7, 8, 9}; + private static final int Edge_H12 = 0; // 2 bytes + private static final int Edge_H20 = 1; // 3 bytes + private static final int Edge_V12 = 2; // 2 bytes + private static final int Edge_V20 = 3; // 3 bytes + private static final int Edge_L6 = 4; // 2 bytes + private static final int Edge_L10 = 5; // 3 bytes + private static final int Edge_L14 = 6; // 4 bytes + private static final int Edge_L18 = 7; // 5 bytes + private static final int Edge_C5 = 8; // 3 bytes + private static final int Edge_C7 = 9; // 4 bytes + private static final int Edge_C9 = 10; // 5 bytes + private static final int Edge_C11 = 11; // 6 bytes + private static final int Edge_C13 = 12; // 7 bytes + private static final int Edge_C15 = 13; // 8 bytes + private static final int Edge_C17 = 14; // 9 bytes + private static final int Edge_C19 = 15; // 10 bytes + private static final int Edge_HLine = 0; + private static final int Edge_VLine = 1; + private static final int Edge_Line = 2; + private static final int Edge_Quad = 3; + public int data[]; public EdgeType(boolean vertical, int v) { @@ -81,7 +103,7 @@ public class EdgeType implements Serializable { data[1] = 0; } if((raw[0]&0xf) == Edge_C17){ - //System.out.println("========== 17 : "+toString()) ; + //System.out.println("========== 17 : "+toString()) ; data[1] = 0; data[2] = 0; data[3] = 0; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FONTINFO.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FONTINFO.java index 5478df87b..9546e333b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FONTINFO.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FONTINFO.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,6 +26,7 @@ import java.io.Serializable; public class FONTINFO implements Serializable { public int fontId; + public GLYPHIDX glyphIndices[]; public FONTINFO(int fontId, int numGlyphs, GLYPHIDX[] glyphIndices) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FontType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FontType.java index a1559a3ce..4c6545e7c 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FontType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/FontType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import com.jpexs.decompiler.flash.types.SHAPE; @@ -29,15 +30,25 @@ import java.util.List; public class FontType implements Serializable { public static final int FF_Italic = 0x0001; + public static final int FF_Bold = 0x0002; + public String fontName; + public int flags; + public int nominalSize; + public int ascent; + public int descent; + public int leading; + public List glyphs; + public List glyphInfo; + public List kerning; public FontType() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxInputStream.java index 53c2c8243..f7b874b94 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import com.jpexs.decompiler.flash.dumpview.DumpInfo; @@ -28,7 +29,9 @@ import java.io.IOException; public class GFxInputStream { private final MemoryInputStream is; + private static final int MaxUInt7 = (1 << 7) - 1; + public DumpInfo dumpInfo; public GFxInputStream(MemoryInputStream is) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxOutputStream.java index 00a1e99be..aef5f8648 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxOutputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GFxOutputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,43 +26,81 @@ import java.io.OutputStream; public class GFxOutputStream extends OutputStream { public static final int MaxUInt6 = (1 << 6) - 1; + public static final int MaxUInt7 = (1 << 7) - 1; + public static final int MaxUInt14 = (1 << 14) - 1; + public static final int MaxUInt22 = (1 << 22) - 1; + public static final int MaxUInt30 = (1 << 30) - 1; + public static final int MinSInt5 = -(1 << 4); + public static final int MaxSInt5 = (1 << 4) - 1; + public static final int MinSInt6 = -(1 << 5); + public static final int MaxSInt6 = (1 << 5) - 1; + public static final int MinSInt7 = -(1 << 6); + public static final int MaxSInt7 = (1 << 6) - 1; + public static final int MinSInt8 = -(1 << 7); + public static final int MaxSInt8 = (1 << 7) - 1; + public static final int MinSInt9 = -(1 << 8); + public static final int MaxSInt9 = (1 << 8) - 1; + public static final int MinSInt10 = -(1 << 9); + public static final int MaxSInt10 = (1 << 9) - 1; + public static final int MinSInt11 = -(1 << 10); + public static final int MaxSInt11 = (1 << 10) - 1; + public static final int MinSInt12 = -(1 << 11); + public static final int MaxSInt12 = (1 << 11) - 1; + public static final int MinSInt13 = -(1 << 12); + public static final int MaxSInt13 = (1 << 12) - 1; + public static final int MinSInt14 = -(1 << 13); + public static final int MaxSInt14 = (1 << 13) - 1; + public static final int MinSInt15 = -(1 << 14); + public static final int MaxSInt15 = (1 << 14) - 1; + public static final int MinSInt17 = -(1 << 16); + public static final int MaxSInt17 = (1 << 16) - 1; + public static final int MinSInt18 = -(1 << 17); + public static final int MaxSInt18 = (1 << 17) - 1; + public static final int MinSInt19 = -(1 << 18); + public static final int MaxSInt19 = (1 << 18) - 1; + public static final int MinSInt20 = -(1 << 19); + public static final int MaxSInt20 = (1 << 19) - 1; + public static final int MinSInt22 = -(1 << 21); + public static final int MaxSInt22 = (1 << 21) - 1; + private final OutputStream os; + private long pos = 0; public GFxOutputStream(OutputStream os) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GLYPHIDX.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GLYPHIDX.java index 7a4374a00..1904b9e5a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GLYPHIDX.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GLYPHIDX.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,6 +26,7 @@ import java.io.Serializable; public class GLYPHIDX implements Serializable { public int indexInFont; + public int indexInTexture; public GLYPHIDX(int indexInFont, int indexInTexture) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphInfoType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphInfoType.java index bcc07ee81..43eec6200 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphInfoType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphInfoType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,7 +26,9 @@ import java.io.Serializable; public class GlyphInfoType implements Serializable { public int glyphCode; + public int advanceX; + public long globalOffset; public GlyphInfoType(int glyphCode, int advance, int glyphPos) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphType.java index 3614533f8..4f62bee6a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/GlyphType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import com.jpexs.decompiler.flash.types.RECT; @@ -32,6 +33,7 @@ import java.util.List; public class GlyphType implements Serializable { public int[] boundingBox; + public ContourType[] contours; public GlyphType(List records) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/KerningPairType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/KerningPairType.java index f44ae3779..998153314 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/KerningPairType.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/KerningPairType.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,7 +26,9 @@ import java.io.Serializable; public class KerningPairType implements Serializable { public int char1; + public int char2; + public int advance; public KerningPairType(int char1, int char2, int advance) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/TEXGLYPH.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/TEXGLYPH.java index ceb120f8b..e02cd8fec 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/TEXGLYPH.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/gfx/TEXGLYPH.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.gfx; import java.io.IOException; @@ -25,10 +26,15 @@ import java.io.Serializable; public class TEXGLYPH implements Serializable { public float uvBoundsLeft; + public float uvBoundsTop; + public float uvBoundsRight; + public float uvBoundsBottom; + public float uvOriginX; + public float uvOriginY; public TEXGLYPH(float uvBoundsLeft, float uvBoundsTop, float uvBoundsRight, float uvBoundsBottom, float uvOriginX, float uvOriginY) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/CurvedEdgeRecord.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/CurvedEdgeRecord.java index ae193bb67..2144720d0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/CurvedEdgeRecord.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/CurvedEdgeRecord.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -28,6 +28,7 @@ import com.jpexs.decompiler.flash.types.annotations.SWFType; public class CurvedEdgeRecord extends SHAPERECORD { public static final boolean typeFlag = true; + public static final boolean straightFlag = false; @Calculated diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/SHAPERECORD.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/SHAPERECORD.java index 5cf4a9cac..116437533 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/SHAPERECORD.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/SHAPERECORD.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.shaperecords; import com.jpexs.decompiler.flash.SWF; @@ -49,6 +50,7 @@ import java.util.Set; public abstract class SHAPERECORD implements Cloneable, NeedsCharacters, Serializable { public static final int MAX_CHARACTERS_IN_FONT_PREVIEW = 400; + public static final boolean DRAW_BOUNDING_BOX = false; public abstract void calculateBits(); @@ -96,7 +98,7 @@ public abstract class SHAPERECORD implements Cloneable, NeedsCharacters, Seriali } } } - + x = r.changeX(x); y = r.changeY(y); if (x > max_x) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StraightEdgeRecord.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StraightEdgeRecord.java index ef507e933..96ee84d51 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StraightEdgeRecord.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StraightEdgeRecord.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -40,11 +40,13 @@ public class StraightEdgeRecord extends SHAPERECORD { } */ public static final boolean typeFlag = true; + public static final boolean straightFlag = true; @Calculated @SWFType(value = BasicType.UB, count = 4) public int numBits; + public boolean generalLineFlag; @Conditional(value = "generalLineFlag", revert = true) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StyleChangeRecord.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StyleChangeRecord.java index b86a6b0f9..1c9be0e2f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StyleChangeRecord.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/shaperecords/StyleChangeRecord.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -32,10 +32,15 @@ import java.util.Set; public final class StyleChangeRecord extends SHAPERECORD implements Cloneable { public static final boolean typeFlag = false; + public boolean stateNewStyles; + public boolean stateLineStyle; + public boolean stateFillStyle1; + public boolean stateFillStyle0; + public boolean stateMoveTo; @Calculated diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/AdpcmDecoder.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/AdpcmDecoder.java index 9f6d88ac6..fe7afadac 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/AdpcmDecoder.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/AdpcmDecoder.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import com.jpexs.decompiler.flash.EndOfStreamException; @@ -31,15 +32,19 @@ public class AdpcmDecoder extends SoundDecoder { private static final int[] indexAdjustTable2bit = { -1, 2, -1, 2}; + private static final int[] indexAdjustTable3bit = { -1, -1, 2, 4, -1, -1, 2, 4}; + private static final int[] indexAdjustTable4bit = { -1, -1, -1, -1, 2, 4, 6, 8, -1, -1, -1, -1, 2, 4, 6, 8}; + private static final int[] indexAdjustTable5bit = { -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 4, 6, 8, 10, 13, 16, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, 4, 6, 8, 10, 13, 16}; + private static final int[] stepSizeTable = { 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, @@ -58,6 +63,7 @@ public class AdpcmDecoder extends SoundDecoder { private static class AdpcmState { public int index; + public int sample; }; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3FRAME.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3FRAME.java index 33997ff32..9c93e6e59 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3FRAME.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3FRAME.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import java.io.IOException; @@ -32,6 +33,7 @@ import javazoom.jl.decoder.SampleBuffer; public class MP3FRAME { private Header h; + private SampleBuffer samples; private MP3FRAME() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3SOUNDDATA.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3SOUNDDATA.java index 21624d430..37f736df9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3SOUNDDATA.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/MP3SOUNDDATA.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import com.jpexs.decompiler.flash.SWFInputStream; @@ -30,6 +31,7 @@ import javazoom.jl.decoder.Decoder; public class MP3SOUNDDATA { public int seekSamples; + public List frames; public MP3SOUNDDATA(SWFInputStream sis, boolean raw) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NellyMoserDecoder.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NellyMoserDecoder.java index 3a5837e2e..d409b1c7a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NellyMoserDecoder.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NellyMoserDecoder.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import com.jpexs.decompiler.flash.SWFInputStream; @@ -27,7 +28,9 @@ import lt.dkd.nellymoser.CodecImpl; public class NellyMoserDecoder extends SoundDecoder { public static final int NELLY_BLOCK_LEN = 64; + public static final int NELLY_BUF_LEN = 128; + public static final int NELLY_SAMPLES = 2 * NELLY_BUF_LEN; public NellyMoserDecoder(SoundFormat soundFormat) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NoDecoder.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NoDecoder.java index 9f14ff7c1..27347d2a6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NoDecoder.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/NoDecoder.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import com.jpexs.decompiler.flash.SWFInputStream; @@ -33,5 +34,4 @@ public class NoDecoder extends SoundDecoder { public void decode(SWFInputStream sis, OutputStream os) throws IOException { os.write(sis.readBytesEx(sis.available(), "soundStream")); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/SoundFormat.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/SoundFormat.java index 195657480..6f1d5357e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/SoundFormat.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/sound/SoundFormat.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.types.sound; import com.jpexs.decompiler.flash.SWFInputStream; @@ -34,21 +35,32 @@ import javax.sound.sampled.SourceDataLine; public class SoundFormat { public int formatId; + public int samplingRate; + public boolean stereo; //int[] rateMap = {5512, 11025, 22050, 44100}; public static final int FORMAT_UNCOMPRESSED_NATIVE_ENDIAN = 0; + public static final int FORMAT_ADPCM = 1; + public static final int FORMAT_MP3 = 2; + public static final int FORMAT_UNCOMPRESSED_LITTLE_ENDIAN = 3; + public static final int FORMAT_NELLYMOSER16KHZ = 4; + public static final int FORMAT_NELLYMOSER8KHZ = 5; + public static final int FORMAT_NELLYMOSER = 6; + public static final int FORMAT_SPEEX = 11; public static final int EXPORT_WAV = 0; + public static final int EXPORT_MP3 = 1; + public static final int EXPORT_FLV = 2; public SoundFormat() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/FLAVersion.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/FLAVersion.java index 2b23aa3d4..d54c684d0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/FLAVersion.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/FLAVersion.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.xfl; import java.util.HashMap; @@ -28,17 +29,18 @@ public enum FLAVersion { CS5_5("CS5.5", "Flash CS 5.5", "2.1", 11), CS6("CS6", "Flash CS 6", "2.2", 17), CC("CC", "Flash CC", "2.4", Integer.MAX_VALUE) { - @Override public int minASVersion() { return 3; //AS 1/2 not supported anymore } - }; private final String xflVersion; + private final String shortName; + private final String applicationName; + private final int maxSwfVersion; private static final Map versionToPlayerMap = new HashMap<>(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 710e04e5f..8eb880f51 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -149,9 +149,13 @@ import org.xml.sax.helpers.XMLReaderFactory; public class XFLConverter { public static final int KEY_MODE_NORMAL = 9728; + public static final int KEY_MODE_CLASSIC_TWEEN = 22017; + public static final int KEY_MODE_SHAPE_TWEEN = 17922; + public static final int KEY_MODE_MOTION_TWEEN = 8195; + public static final int KEY_MODE_SHAPE_LAYERS = 8192; private static final Random random = new Random(123); // predictable random @@ -865,6 +869,7 @@ public class XFLConverter { } return ret; } + private static final String[] BLENDMODES = { null, null, @@ -3217,21 +3222,37 @@ public class XFLConverter { private static class HTMLTextParser extends DefaultHandler { public String result = ""; + private String fontFace = ""; + private String color = ""; + private int size = -1; + private int indent = -1; + private int leftMargin = -1; + private int rightMargin = -1; + private int lineSpacing = -1; + private double letterSpacing = -1; + private String alignment = null; + private final List tags; + private boolean bold = false; + private boolean italic = false; + private boolean underline = false; + private boolean li = false; + private String url = null; + private String target = null; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/CompilationException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/CompilationException.java index 35ddf8c30..4a711d051 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/CompilationException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/CompilationException.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; /** @@ -22,6 +23,7 @@ package com.jpexs.decompiler.graph; public class CompilationException extends Exception { public int line; + public String text; public CompilationException(String message, int line) { @@ -29,5 +31,4 @@ public class CompilationException extends Exception { this.line = line; this.text = message; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java index 23552eb7d..d91c7b18e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import com.jpexs.decompiler.flash.BaseLocalData; @@ -54,10 +55,15 @@ import java.util.logging.Logger; public class Graph { public List heads; + protected GraphSource code; + private final List alternateEntries; + public static final int SOP_USE_STATIC = 0; + public static final int SOP_SKIP_STATIC = 1; + public static final int SOP_REMOVE_STATIC = 2; public Graph(GraphSource code, List alternateEntries) { @@ -1964,10 +1970,12 @@ public class Graph { } return ret; } + /** * String used to indent line when converting to string */ public static final String INDENTOPEN = "INDENTOPEN"; + /** * String used to unindent line when converting to string */ diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java index 25673a009..dccc36d8a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import com.jpexs.decompiler.flash.BaseLocalData; @@ -27,19 +28,33 @@ import java.util.List; public class GraphPart implements Serializable { public int start = 0; + public int end = 0; + public int instanceCount = 0; + public List nextParts = new ArrayList<>(); + public int posX = -1; + public int posY = -1; + public GraphPath path = new GraphPath(); + public List refs = new ArrayList<>(); + public boolean ignored = false; + public List forContinues = new ArrayList<>(); + public int level; + public int discoveredTime; + public int finishedTime; + public int order; + public List throwParts = new ArrayList<>(); public int setTime(int time, List ordered, List visited) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPath.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPath.java index 8288dacac..8906aef49 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPath.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPath.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import java.io.Serializable; @@ -26,7 +27,9 @@ import java.util.List; public class GraphPath implements Serializable { private final List keys = new ArrayList<>(); + private final List vals = new ArrayList<>(); + public String rootName = ""; public GraphPath(String rootName, List keys, List vals) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphSourceItemPos.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphSourceItemPos.java index 594241fb7..5b4601147 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphSourceItemPos.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphSourceItemPos.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import java.io.Serializable; @@ -24,6 +25,7 @@ import java.io.Serializable; public class GraphSourceItemPos implements Serializable { public GraphSourceItem item; + public int pos; public GraphSourceItemPos(GraphSourceItem item, int pos) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphTargetItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphTargetItem.java index 4ad72f4e6..5adcfbd01 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphTargetItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphTargetItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -35,28 +36,51 @@ import java.util.Set; public abstract class GraphTargetItem implements Serializable { public static final int PRECEDENCE_PRIMARY = 0; + public static final int PRECEDENCE_POSTFIX = 1; + public static final int PRECEDENCE_UNARY = 2; + public static final int PRECEDENCE_MULTIPLICATIVE = 3; + public static final int PRECEDENCE_ADDITIVE = 4; + public static final int PRECEDENCE_BITWISESHIFT = 5; + public static final int PRECEDENCE_RELATIONAL = 6; + public static final int PRECEDENCE_EQUALITY = 7; + public static final int PRECEDENCE_BITWISEAND = 8; + public static final int PRECEDENCE_BITWISEXOR = 9; + public static final int PRECEDENCE_BITWISEOR = 10; + public static final int PRECEDENCE_LOGICALAND = 11; + public static final int PRECEDENCE_LOGICALOR = 12; + public static final int PRECEDENCE_CONDITIONAL = 13; + public static final int PRECEDENCE_ASSIGMENT = 14; + public static final int PRECEDENCE_COMMA = 15; + public static final int NOPRECEDENCE = 16; + public GraphSourceItem src; + public int pos = -1; + protected int precedence; + public List moreSrc = new ArrayList<>(); + public GraphPart firstPart; + public GraphTargetItem value; + protected HighlightData srcData = new HighlightData(); public GraphPart getFirstPart() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Loop.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Loop.java index 7ed40e81e..19062f7eb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Loop.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Loop.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import java.io.Serializable; @@ -26,14 +27,23 @@ import java.util.List; public class Loop implements Serializable { public GraphPart loopContinue; + public GraphPart loopBreak; + public GraphPart loopPreContinue; + public List breakCandidates = new ArrayList<>(); + public List breakCandidatesLevels = new ArrayList<>(); + public long id; + public int leadsToMark; + public int reachableMark; + public int phase; + public int breakCandidatesLocked = 0; public Loop(long id, GraphPart loopContinue, GraphPart loopBreak) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/ScopeStack.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/ScopeStack.java index 3c13e9f45..af1152907 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/ScopeStack.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/ScopeStack.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import java.util.Stack; @@ -22,5 +23,4 @@ import java.util.Stack; * @author JPEXS */ public class ScopeStack extends Stack { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TranslateStack.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TranslateStack.java index a9d98cb12..647519182 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TranslateStack.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TranslateStack.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import java.util.Stack; @@ -22,5 +23,4 @@ import java.util.Stack; * @author JPEXS */ public class TranslateStack extends Stack { - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeFunctionItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeFunctionItem.java index 055baa218..ea47eab73 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeFunctionItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeFunctionItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -27,8 +28,11 @@ import java.util.Objects; public class TypeFunctionItem extends GraphTargetItem { public static TypeFunctionItem BOOLEAN = new TypeFunctionItem("Boolean"); + public static TypeFunctionItem STRING = new TypeFunctionItem("String"); + public static TypeFunctionItem ARRAY = new TypeFunctionItem("Array"); + public static UnboundedTypeItem UNBOUNDED = new UnboundedTypeItem(); public String fullTypeName; @@ -80,5 +84,4 @@ public class TypeFunctionItem extends GraphTargetItem { public String toString() { return "Function[" + fullTypeName + "]"; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java index 7092626b6..ad27e56ea 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph; import com.jpexs.decompiler.flash.IdentifiersDeobfuscation; @@ -32,8 +33,11 @@ import java.util.Objects; public class TypeItem extends GraphTargetItem { public static TypeItem BOOLEAN = new TypeItem("Boolean"); + public static TypeItem STRING = new TypeItem("String"); + public static TypeItem ARRAY = new TypeItem("Array"); + public static UnboundedTypeItem UNBOUNDED = new UnboundedTypeItem(); public String fullTypeName; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java index 9d00fbfc8..b32deafb0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BinaryOpItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -27,7 +28,9 @@ import java.util.Set; public abstract class BinaryOpItem extends GraphTargetItem implements BinaryOp { public GraphTargetItem leftSide; + public GraphTargetItem rightSide; + protected String operator = ""; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BreakItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BreakItem.java index 5def5553a..fa0a13748 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BreakItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/BreakItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,6 +33,7 @@ import java.util.List; public class BreakItem extends GraphTargetItem { public long loopId; + private boolean labelRequired; public BreakItem(GraphSourceItem src, long loopId) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ContinueItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ContinueItem.java index f56ab65cc..8c4df05e6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ContinueItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ContinueItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,6 +33,7 @@ import java.util.List; public class ContinueItem extends GraphTargetItem { public long loopId; + private boolean labelRequired; public ContinueItem(GraphSourceItem src, long loopId) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/DoWhileItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/DoWhileItem.java index e4338ac43..a172349c5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/DoWhileItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/DoWhileItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,7 +33,9 @@ import java.util.List; public class DoWhileItem extends LoopItem implements Block { public List commands; + public List expression; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ForItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ForItem.java index f791ca377..44ab7b1f7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ForItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/ForItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,9 +33,13 @@ import java.util.List; public class ForItem extends LoopItem implements Block { public List firstCommands; + public GraphTargetItem expression; + public List finalCommands; + public List commands; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/IfItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/IfItem.java index ea015f785..c3bd312ca 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/IfItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/IfItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -30,7 +31,9 @@ import java.util.Set; public class IfItem extends GraphTargetItem implements Block { public GraphTargetItem expression; + public List onTrue; + public List onFalse; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/LocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/LocalData.java index f993e5488..f71c926c2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/LocalData.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/LocalData.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool; @@ -27,9 +28,13 @@ import java.util.List; public class LocalData { public static LocalData empty = new LocalData(); + public ConstantPool constants; + public AVM2ConstantPool constantsAvm2; + public HashMap localRegNames; + public List fullyQualifiedNames; public static LocalData create(ConstantPool constants) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/SwitchItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/SwitchItem.java index 5edac01b8..0a90ab698 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/SwitchItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/SwitchItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,10 +33,15 @@ import java.util.List; public class SwitchItem extends LoopItem implements Block { public GraphTargetItem switchedObject; + public List caseValues; + public List> caseCommands; + public List defaultCommands; + public List valuesMapping; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/TernarOpItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/TernarOpItem.java index c381c44c2..2b3504733 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/TernarOpItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/TernarOpItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -26,7 +27,9 @@ import java.util.List; public class TernarOpItem extends GraphTargetItem { public GraphTargetItem expression; + public GraphTargetItem onTrue; + public GraphTargetItem onFalse; public TernarOpItem(GraphSourceItem src, GraphTargetItem expression, GraphTargetItem onTrue, GraphTargetItem onFalse) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UnaryOpItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UnaryOpItem.java index b139b61eb..9c4d3f434 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UnaryOpItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UnaryOpItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -25,6 +26,7 @@ import java.util.Set; public abstract class UnaryOpItem extends GraphTargetItem implements UnaryOp { public GraphTargetItem value; + public String operator; public UnaryOpItem(GraphSourceItem instruction, int precedence, GraphTargetItem value, String operator) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java index 1deb22d4a..e33789b06 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/UniversalLoopItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; @@ -33,6 +34,7 @@ import java.util.List; public class UniversalLoopItem extends LoopItem implements Block { public List commands; + private boolean labelUsed; public UniversalLoopItem(GraphSourceItem src, Loop loop) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/WhileItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/WhileItem.java index a72f4aedc..cdccf9b4e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/WhileItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/model/WhileItem.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.graph.model; import com.jpexs.decompiler.flash.SourceGeneratorLocalData; @@ -32,7 +33,9 @@ import java.util.List; public class WhileItem extends LoopItem implements Block { public List expression; + public List commands; + private boolean labelUsed; @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/ByteArrayRange.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/ByteArrayRange.java index 7694d6504..7ef4ed965 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/ByteArrayRange.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/ByteArrayRange.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -25,7 +25,9 @@ public class ByteArrayRange { public static final ByteArrayRange EMPTY = new ByteArrayRange(new byte[0]); private final byte[] array; + private final int pos; + private final int length; public ByteArrayRange(byte[] array) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/Cache.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/Cache.java index 7c45d8b51..c15a4f537 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/Cache.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/Cache.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.decompiler.flash.helpers.Freed; @@ -33,10 +34,15 @@ import java.util.WeakHashMap; public class Cache implements Freed { private Map cache; + private static final List instances = new ArrayList<>(); + public static final int STORAGE_FILES = 1; + public static final int STORAGE_MEMORY = 2; + private final boolean weak; + private final String name; static { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/CancellableWorker.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/CancellableWorker.java index 359bcbda5..f8477b778 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/CancellableWorker.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/CancellableWorker.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.util.ArrayList; @@ -35,7 +36,9 @@ import java.util.concurrent.TimeoutException; public abstract class CancellableWorker implements RunnableFuture { private static final ExecutorService THREAD_POOL = Executors.newCachedThreadPool(); + private static List workers = Collections.synchronizedList(new ArrayList()); + private final FutureTask future; public CancellableWorker() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/FileHashMap.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/FileHashMap.java index 3a70fa4a2..c25c8924f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/FileHashMap.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/FileHashMap.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.decompiler.flash.helpers.Freed; @@ -42,17 +43,25 @@ import java.util.logging.Logger; public class FileHashMap extends AbstractMap implements Freed { private final Map lengths = new HashMap<>(); + private final Map offsets = new HashMap<>(); + private long fileLen = 0; + private final RandomAccessFile file; + private final File fileName; + private final Set gaps = new TreeSet<>(); + private int maxGapLen = 0; + private boolean deleted = false; private static class Gap implements Comparable { public long offset; + public int length; public Gap(long offset, int length) { @@ -86,12 +95,12 @@ public class FileHashMap extends AbstractMap implements Freed { } return true; } - } public static class FileEntry implements Map.Entry { private final FileHashMap parent; + private final K key; public FileEntry(FileHashMap parent, K key) { @@ -113,7 +122,6 @@ public class FileHashMap extends AbstractMap implements Freed { public V setValue(V value) { return parent.put(key, value); } - } public FileHashMap(File file) throws IOException { @@ -322,5 +330,4 @@ public class FileHashMap extends AbstractMap implements Freed { public int size() { return offsets.size(); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java index 3755b979c..d45f6535e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/Helper.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -60,6 +60,7 @@ import javax.xml.bind.DatatypeConverter; public class Helper { public static String newLine = System.getProperty("line.separator"); + public static String decompilationErrorAdd = null; /** @@ -217,8 +218,8 @@ public class Helper { } public static String getValidHtmlId(String text) { - // ID and NAME tokens must begin with a letter ([A-Za-z]) and - // may be followed by any number of letters, digits ([0-9]), + // ID and NAME tokens must begin with a letter ([A-Za-z]) and + // may be followed by any number of letters, digits ([0-9]), // hyphens ("-"), underscores ("_"), colons (":"), and periods ("."). StringBuilder sb = new StringBuilder(); for (int i = 0; i < text.length(); i++) { @@ -236,6 +237,7 @@ public class Helper { } private final static String SPACES12 = " "; + private final static String ZEROS8 = "00000000"; public static String formatHex(int value, int width) { @@ -547,7 +549,9 @@ public class Helper { } return f; } + private static final BitSet fileNameInvalidChars; + private static final List invalidFilenamesParts; static { @@ -877,10 +881,10 @@ public class Helper { sb.append(ch); } } - + return sb.toString(); } - + public static Shape imageToShape(BufferedImage image) { Area area = new Area(); Rectangle rectangle = new Rectangle(); @@ -939,5 +943,4 @@ public class Helper { String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i"); return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/LimitedInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/LimitedInputStream.java index 30335c657..59b172ebb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/LimitedInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/LimitedInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.io.IOException; @@ -25,7 +26,9 @@ import java.io.InputStream; public class LimitedInputStream extends InputStream { private final InputStream is; + private long pos = 0; + private final long limit; public LimitedInputStream(InputStream is, long limit) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/MemoryInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/MemoryInputStream.java index cf7c94ac0..fa4421f7b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/MemoryInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/MemoryInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.helpers.streams.SeekableInputStream; @@ -25,8 +26,11 @@ import java.io.IOException; public class MemoryInputStream extends SeekableInputStream { private final byte[] buffer; + private long pos; + private int startPos; + private int maxLength; public MemoryInputStream(byte[] buffer) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/NulStream.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/NulStream.java index 673a7e3df..13b589238 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/NulStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/NulStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.io.OutputStream; @@ -26,5 +27,4 @@ public class NulStream extends OutputStream { @Override public void write(int i) { } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/PosMarkedInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/PosMarkedInputStream.java index 7f37ce35d..d4c2833bb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/PosMarkedInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/PosMarkedInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.io.IOException; @@ -25,6 +26,7 @@ import java.io.InputStream; public class PosMarkedInputStream extends InputStream { private long pos = 0; + private final InputStream is; public PosMarkedInputStream(InputStream is) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/ReReadableInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/ReReadableInputStream.java index 679b774ee..8f6cf2ce0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/ReReadableInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/ReReadableInputStream.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.helpers.streams.SeekableInputStream; @@ -27,9 +28,13 @@ import java.io.InputStream; public class ReReadableInputStream extends SeekableInputStream { InputStream is; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] converted; + long pos = 0; + int count = 0; public int getCount() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/ReflectionTools.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/ReflectionTools.java index 503e4f823..9a59526d3 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/ReflectionTools.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/ReflectionTools.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -103,7 +103,7 @@ public class ReflectionTools { if (!canInstantiate(cls)) { return false; } - + try { cls.getConstructor(); } catch (NoSuchMethodException | SecurityException ex) { @@ -317,7 +317,7 @@ public class ReflectionTools { } return true; } - + public static List getSwfFields(Class cls) { List result = new ArrayList<>(); Field[] fields = cls.getFields(); @@ -333,7 +333,7 @@ public class ReflectionTools { result.add(f); } - + fields = cls.getDeclaredFields(); // Add private fields marked with SWFField annotation for (Field f : fields) { @@ -344,7 +344,7 @@ public class ReflectionTools { if (!Modifier.isPrivate(f.getModifiers())) { continue; } - + SWFField swfField = f.getAnnotation(SWFField.class); if (swfField != null) { result.add(f); diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/SerializableImage.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/SerializableImage.java index cf74ce218..f0b2566cf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/SerializableImage.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/SerializableImage.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import com.jpexs.decompiler.flash.helpers.ImageHelper; @@ -38,11 +39,15 @@ import java.util.Hashtable; public class SerializableImage implements Serializable { public static int TYPE_INT_ARGB = BufferedImage.TYPE_INT_ARGB; + public static int TYPE_INT_RGB = BufferedImage.TYPE_INT_RGB; + public static int TYPE_INT_ARGB_PRE = BufferedImage.TYPE_INT_ARGB_PRE; + public static int TYPE_4BYTE_ABGR = BufferedImage.TYPE_4BYTE_ABGR; private BufferedImage image; + private transient Graphics graphics; private SerializableImage() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/Stopwatch.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/Stopwatch.java index d672cce94..0ce5809fb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/Stopwatch.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/Stopwatch.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.util.Date; @@ -24,7 +25,9 @@ import java.util.Date; public class Stopwatch { private long startTime, elapsedTime; + private boolean running; + public Date startDate, endDate; public static Stopwatch startNew() { diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/StreamSearch.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/StreamSearch.java index bf7780c4f..8a6baff54 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/StreamSearch.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/StreamSearch.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.io.IOException; @@ -97,5 +98,4 @@ public class StreamSearch implements Searchable { } return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/SwfHeaderStreamSearch.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/SwfHeaderStreamSearch.java index 0e552a2de..74acb8b1e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/SwfHeaderStreamSearch.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/SwfHeaderStreamSearch.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers; import java.io.IOException; @@ -74,5 +75,4 @@ public class SwfHeaderStreamSearch implements Searchable { } return ret; } - } diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/sound/SoundPlayer.java b/libsrc/ffdec_lib/src/com/jpexs/helpers/sound/SoundPlayer.java index 2a9a49af1..6ded964a4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/helpers/sound/SoundPlayer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/helpers/sound/SoundPlayer.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.helpers.sound; import java.io.InputStream; @@ -42,5 +43,4 @@ public abstract class SoundPlayer { public abstract boolean isPlaying(); public abstract long getFrameRate(); - } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2DeobfuscatorTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2DeobfuscatorTest.java index fb98a1c46..e2803516c 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2DeobfuscatorTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2DeobfuscatorTest.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.action.Action; @@ -52,171 +53,167 @@ public class ActionScript2DeobfuscatorTest extends ActionStript2TestBase { swf = new SWF(new BufferedInputStream(new FileInputStream("testdata/as2/as2.swf")), false); } - - private String recompile(String str) throws ActionParseException, IOException, CompilationException, InterruptedException, TimeoutException{ + private String recompile(String str) throws ActionParseException, IOException, CompilationException, InterruptedException, TimeoutException { ActionScriptParser par = new ActionScriptParser(SWF.DEFAULT_VERSION); HighlightedTextWriter writer = new HighlightedTextWriter(new CodeFormatting(), false); - List actions = par.actionsFromString(str); + List actions = par.actionsFromString(str); byte[] hex = Action.actionsToBytes(actions, true, SWF.DEFAULT_VERSION); - ActionList list = ActionListReader.readActionListTimeout(new ArrayList(), new SWFInputStream(swf,hex), SWF.DEFAULT_VERSION, 0, hex.length, ""); + ActionList list = ActionListReader.readActionListTimeout(new ArrayList(), new SWFInputStream(swf, hex), SWF.DEFAULT_VERSION, 0, hex.length, ""); Action.actionsToSource(null, list, "", writer); - return writer.toString(); + return writer.toString(); } - - - + @DataProvider(name = "provideBasicTrueExpressions") public Object[][] provideBasicTrueExpressions() { return new Object[][]{ - {"1!=5"},{"5==5"},{"1<4"},{"5>4"},{"5*6==30"} + {"1!=5"}, {"5==5"}, {"1<4"}, {"5>4"}, {"5*6==30"} }; } - + @DataProvider(name = "provideBasicFalseExpressions") public Object[][] provideBasicFalseExpressions() { return new Object[][]{ - {"1==5"},{"5!=5"},{"1>4"},{"5<4"},{"5*7==12"} + {"1==5"}, {"5!=5"}, {"1>4"}, {"5<4"}, {"5*7==12"} }; } - + @Test(dataProvider = "provideBasicTrueExpressions") - public void testRemoveBasicTrueExpressions(String expression) throws ActionParseException, IOException, CompilationException, InterruptedException, TimeoutException{ - String res = recompile("if("+expression+"){"+ - "trace(\"OK\");"+ - "} else {"+ - "trace(\"FAIL\");"+ - "}"); - if(res.contains("\"FAIL\"")){ + public void testRemoveBasicTrueExpressions(String expression) throws ActionParseException, IOException, CompilationException, InterruptedException, TimeoutException { + String res = recompile("if(" + expression + "){" + + "trace(\"OK\");" + + "} else {" + + "trace(\"FAIL\");" + + "}"); + if (res.contains("\"FAIL\"")) { fail("OnFalse clause was not removed: " + res); } - if(!res.contains("\"OK\"")){ + if (!res.contains("\"OK\"")) { fail("OnTrue clause was removed: " + res); } } - + @Test(dataProvider = "provideBasicFalseExpressions") public void testRemoveBasicFalseExpressions(String expression) throws Exception { - String res = recompile("if("+expression+"){"+ - "trace(\"FAIL\");"+ - "} else {"+ - "trace(\"OK\");"+ - "}"); - if(res.contains("\"FAIL\"")){ - fail("OnTrue clause was not removed:"+res); + String res = recompile("if(" + expression + "){" + + "trace(\"FAIL\");" + + "} else {" + + "trace(\"OK\");" + + "}"); + if (res.contains("\"FAIL\"")) { + fail("OnTrue clause was not removed:" + res); } - if(!res.contains("\"OK\"")){ - fail("OnFalse clause was removed:"+res); + if (!res.contains("\"OK\"")) { + fail("OnFalse clause was removed:" + res); } } - - + // todo: honfika @Test - public void testRemoveKnownVariables() throws Exception{ + public void testRemoveKnownVariables() throws Exception { String res = recompile("var a = true; var b = false;" + "if(a){" - + "trace(\"OK1\");" + + "trace(\"OK1\");" + "}else{" - + "trace(\"FAIL1\");" + + "trace(\"FAIL1\");" + "}" + "if(b){" - + "trace(\"FAIL2\");" + + "trace(\"FAIL2\");" + "}else{" - + "trace(\"OK2\");" + + "trace(\"OK2\");" + "}"); - if(!res.contains("\"OK1\"")){ + if (!res.contains("\"OK1\"")) { fail("if true OnTrue removed"); } - if(!res.contains("\"OK2\"")){ + if (!res.contains("\"OK2\"")) { fail("if false OnFalse removed"); } - if(res.contains("\"FAIL1\"")){ + if (res.contains("\"FAIL1\"")) { fail("if true OnFalse not removed"); } - if(res.contains("\"FAIL2\"")){ + if (res.contains("\"FAIL2\"")) { fail("if false OnTrue not removed"); } - if(res.contains("var ")){ + if (res.contains("var ")) { fail("variables for obsucation not removed"); } - if(res.contains("if")){ + if (res.contains("if")) { fail("if clauses not removed"); } } - + // todo: honfika @Test public void testNotRemoveParams() throws Exception { String res = recompile("function tst(p1,p2){" + "var a = 2;" + "var b = 3 * a;" + "if(b>1){" - + "trace(\"OK1\");" + + "trace(\"OK1\");" + "}else{" - + "trace(\"FAIL1\");" + + "trace(\"FAIL1\");" + "}" + "var c = p1*5;" + "if(c){" - + "trace(\"OK2\");" + + "trace(\"OK2\");" + "}else{" - + "trace(\"OK3\");" + + "trace(\"OK3\");" + "}" + "}"); - if(!res.contains("\"OK1\"")){ + if (!res.contains("\"OK1\"")) { fail("basic if true onTrue removed"); } - if(res.contains("\"FAIL1\"")){ + if (res.contains("\"FAIL1\"")) { fail("basic if true onFalse not removed"); } - if(!res.contains("\"OK2\"")){ + if (!res.contains("\"OK2\"")) { fail("if parameter onTrue removed"); } - if(!res.contains("\"OK3\"")){ + if (!res.contains("\"OK3\"")) { fail("if parameter onFalse removed"); } } - + @Test public void testEvailExpressionAfterWhile() throws Exception { String res = recompile("var a = 5;" + "while(true){" - + "if(a==73){" - + "a = 15;" - + "}" - + "if(a==1){" - + "trace(\"FAIL1\");" - + "}" - + "if(a==5){" - + "a=50;" - + "}" - + "if(a == 201){" - + "break;" - + "}" - + "a++;" - + "if(a == 53){" - + "a = a + 20;" - + "}" - + "if(a>500){" - + "trace(\"FAIL2\");" - + "}" - + "if(a==16){" - + "a = 200;" - + "}" + + "if(a==73){" + + "a = 15;" + + "}" + + "if(a==1){" + + "trace(\"FAIL1\");" + + "}" + + "if(a==5){" + + "a=50;" + + "}" + + "if(a == 201){" + + "break;" + + "}" + + "a++;" + + "if(a == 53){" + + "a = a + 20;" + + "}" + + "if(a>500){" + + "trace(\"FAIL2\");" + + "}" + + "if(a==16){" + + "a = 200;" + + "}" + "}" + "" + "if(a == 201){" - + "trace(\"OK\");" + + "trace(\"OK\");" + "}else{" - + "trace(\"FAIL3\");" + + "trace(\"FAIL3\");" + "}"); - if(res.contains("\"FAIL1\"")){ + if (res.contains("\"FAIL1\"")) { fail("unreachable if onTrue not removed"); } - if(res.contains("\"FAIL2\"")){ + if (res.contains("\"FAIL2\"")) { fail("unreachable if onTrue 2 not removed"); } - if(res.contains("\"FAIL3\"")){ + if (res.contains("\"FAIL3\"")) { fail("unreachable if onTrue 3 not removed"); - } - if(!res.contains("\"OK\"")){ + } + if (!res.contains("\"OK\"")) { fail("reachable of onTrue removed"); } } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java index 1dd8e3916..9a5053c37 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.decompiler.flash.action.Action; @@ -802,5 +803,4 @@ public class ActionScript2Test extends ActionStript2TestBase { + "var e = - c;\r\n" ); } - } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java index 9293b762f..ee32ec70d 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -43,7 +43,9 @@ import org.testng.annotations.Test; public class ActionScript3Test extends ActionScriptTestBase { private SWF swf; + private int clsIndex; + private ABC abc; @BeforeClass diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/FileHashMapTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/FileHashMapTest.java index 0afa86a61..b294a7a8a 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/FileHashMapTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/FileHashMapTest.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash; import com.jpexs.helpers.FileHashMap; @@ -24,40 +25,40 @@ import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; import org.testng.annotations.Test; - /** * * @author JPEXS */ public class FileHashMapTest { + @Test public void testFileHashMap() throws Exception { - File tfile = new File("fmtest.bin"); - FileHashMap map = new FileHashMap<>(tfile); - assertTrue(map.isEmpty()); + File tfile = new File("fmtest.bin"); + FileHashMap map = new FileHashMap<>(tfile); + assertTrue(map.isEmpty()); assertEquals(map.size(), 0); map.put("A", "cat"); - assertEquals(map.get("A"),"cat"); - assertNull(map.get("B")); + assertEquals(map.get("A"), "cat"); + assertNull(map.get("B")); map.put("B", "dog"); - assertEquals(map.get("B"),"dog"); - assertEquals(map.get("A"),"cat"); + assertEquals(map.get("B"), "dog"); + assertEquals(map.get("A"), "cat"); map.put("C", "parrot"); assertTrue(map.containsKey("A")); assertTrue(map.containsKey("B")); assertTrue(map.containsKey("C")); - assertFalse(map.containsKey("D")); - assertEquals(map.size(), 3); + assertFalse(map.containsKey("D")); + assertEquals(map.size(), 3); map.remove("A"); - assertFalse(map.containsKey("A")); + assertFalse(map.containsKey("A")); map.put("X", "tac"); map.delete(); - try{ + try { map.get("A"); fail(); - }catch(NullPointerException nfe){ + } catch (NullPointerException nfe) { //okay } - + } } diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/RecompileTest.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/RecompileTest.java index eb01afe65..9bade913b 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/RecompileTest.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/RecompileTest.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS, 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 3.0 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. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library. */ @@ -88,7 +88,7 @@ public class RecompileTest { for (ABCContainerTag ct : swf.getAbcList()) { allAbcs.add(ct.getABC()); } - for (ABC abc : allAbcs) { + for (ABC abc : allAbcs) { for (int s = 0; s < abc.script_info.size(); s++) { String startAfter = null; HighlightedTextWriter htw = new HighlightedTextWriter(new CodeFormatting(), false); @@ -106,7 +106,7 @@ public class RecompileTest { String original = htw.toString(); com.jpexs.decompiler.flash.abc.avm2.parser.script.ActionScriptParser.compile(original, abc, allAbcs, false, en.getKey().className + ".as", abc.instance_info.size()); //remove last compiled script: - abc.script_info.remove(abc.script_info.size()-1); + abc.script_info.remove(abc.script_info.size() - 1); } } } else { @@ -166,7 +166,7 @@ public class RecompileTest { // ignore } } - + @DataProvider(name = "provideFiles") public Object[][] provideFiles() { File dir = new File(TESTDATADIR); diff --git a/src/com/jpexs/browsers/cache/CacheReader.java b/src/com/jpexs/browsers/cache/CacheReader.java index 98716ac14..6dd76cc2e 100644 --- a/src/com/jpexs/browsers/cache/CacheReader.java +++ b/src/com/jpexs/browsers/cache/CacheReader.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,6 +26,7 @@ import com.jpexs.browsers.cache.firefox.FirefoxCache; public class CacheReader { public static final String BROWSER_FIREFOX = "firefox"; + public static final String BROWSER_CHROME = "chrome"; public static String[] availableBrowsers() { diff --git a/src/com/jpexs/browsers/cache/ChunkedInputStream.java b/src/com/jpexs/browsers/cache/ChunkedInputStream.java index 2545ac104..41c59dd9f 100644 --- a/src/com/jpexs/browsers/cache/ChunkedInputStream.java +++ b/src/com/jpexs/browsers/cache/ChunkedInputStream.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,9 +26,13 @@ import java.io.InputStream; public class ChunkedInputStream extends InputStream { private final InputStream is; + private int chunkPos = 0; + private int chunkLen = 0; + private boolean end = false; + private boolean first = true; public ChunkedInputStream(InputStream is) { diff --git a/src/com/jpexs/browsers/cache/RafInputStream.java b/src/com/jpexs/browsers/cache/RafInputStream.java index 8dccb2ce5..cd84c42ca 100644 --- a/src/com/jpexs/browsers/cache/RafInputStream.java +++ b/src/com/jpexs/browsers/cache/RafInputStream.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,6 +29,7 @@ import java.util.logging.Logger; public class RafInputStream extends InputStream { private final RandomAccessFile raf; + private long pos = 0; public RafInputStream(RandomAccessFile raf) { diff --git a/src/com/jpexs/browsers/cache/chrome/BlockFileHeader.java b/src/com/jpexs/browsers/cache/chrome/BlockFileHeader.java index c523d71b4..42088d3b6 100644 --- a/src/com/jpexs/browsers/cache/chrome/BlockFileHeader.java +++ b/src/com/jpexs/browsers/cache/chrome/BlockFileHeader.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,18 +26,31 @@ import java.io.InputStream; public class BlockFileHeader { protected static final int kBlockHeaderSize = 8192; // Two pages: almost 64k entries + private static final int kMaxBlocks = (kBlockHeaderSize - 80) * 8; - private final long magic; // c3 ca 04 c1 + + private final long magic; // c3 ca 04 c1 + private final long version; // 00 00 02 00 + private final int this_file; + private final int next_file; + private final int entry_size; + private final int num_entries; + private final int max_entries; + private int empty[] = new int[4]; + private int hints[] = new int[4]; + private final int updating; + private int user[] = new int[5]; + private final long allocation_map[]; public BlockFileHeader(InputStream is) throws IOException { diff --git a/src/com/jpexs/browsers/cache/chrome/CacheAddr.java b/src/com/jpexs/browsers/cache/chrome/CacheAddr.java index 4df9fd95b..c931abb18 100644 --- a/src/com/jpexs/browsers/cache/chrome/CacheAddr.java +++ b/src/com/jpexs/browsers/cache/chrome/CacheAddr.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -30,34 +30,63 @@ import java.util.Map; public class CacheAddr { private static final int EXTERNAL = 0; + private static final int RANKINGS = 1; + private static final int BLOCK_256 = 2; + private static final int BLOCK_1K = 3; + private static final int BLOCK_4K = 4; + private static final int BLOCK_FILES = 5; + private static final int BLOCK_ENTRIES = 6; + private static final int BLOCK_EVICTED = 7; + private static final String blockNames[] = new String[]{"EXTERNAL", "RANKINGS", "BLOCK_256", "BLOCK_1K", "BLOCK_4K", "BLOCK_FILES", "BLOCK_ENTRIES", "BLOCK_EVICTED"}; + private static final int blockSizes[] = new int[]{0, 36, 256, 1024, 4096, 8, 104, 48}; + private static final long kInitializedMask = 0x80000000L; + private static final long kFileTypeMask = 0x70000000L; + private static final int kFileTypeOffset = 28; + private static final long kReservedBitsMask = 0x0c000000L; + private static final long kNumBlocksMask = 0x03000000L; + private static final int kNumBlocksOffset = 24; + private static final long kFileSelectorMask = 0x00ff0000L; + private static final int FileSelectorOffset = 16; + private static final long kStartBlockMask = 0x0000FFFFL; + private static final long kFileNameMask = 0x0FFFFFFFL; + private final boolean initialized; + private final int fileType; + private int numBlocks; + private int fileSelector; + private int startBlock; + private int fileName; + private final long val; + private final File rootPath; + private final Map dataFiles; + private final File externalFilesDir; public CacheAddr(InputStream is, File rootPath, Map dataFiles, File externalFilesDir) throws IOException { diff --git a/src/com/jpexs/browsers/cache/chrome/ChromeCache.java b/src/com/jpexs/browsers/cache/chrome/ChromeCache.java index 9add6cc91..0ed9efb1c 100644 --- a/src/com/jpexs/browsers/cache/chrome/ChromeCache.java +++ b/src/com/jpexs/browsers/cache/chrome/ChromeCache.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,8 +36,11 @@ import java.util.logging.Logger; public class ChromeCache implements CacheImplementation { private static ChromeCache instance; + private File tempDir; + private List dataFiles; + private File indexFile; private ChromeCache() { @@ -55,7 +58,9 @@ public class ChromeCache implements CacheImplementation { } return instance; } + private boolean loaded = false; + private Index index; @Override diff --git a/src/com/jpexs/browsers/cache/chrome/EntryFlags.java b/src/com/jpexs/browsers/cache/chrome/EntryFlags.java index ff82c58fd..5b448b589 100644 --- a/src/com/jpexs/browsers/cache/chrome/EntryFlags.java +++ b/src/com/jpexs/browsers/cache/chrome/EntryFlags.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,5 +23,6 @@ package com.jpexs.browsers.cache.chrome; public class EntryFlags { public static final int PARENT_ENTRY = 1; + public static final int CHILD_ENTRY = 1 << 1; } diff --git a/src/com/jpexs/browsers/cache/chrome/EntryState.java b/src/com/jpexs/browsers/cache/chrome/EntryState.java index 71ab3645b..7b26f0657 100644 --- a/src/com/jpexs/browsers/cache/chrome/EntryState.java +++ b/src/com/jpexs/browsers/cache/chrome/EntryState.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,6 +23,8 @@ package com.jpexs.browsers.cache.chrome; public class EntryState { public static final int ENTRY_NORMAL = 0; + public static final int ENTRY_EVICTED = 1; + public static final int ENTRY_DOOMED = 2; } diff --git a/src/com/jpexs/browsers/cache/chrome/EntryStore.java b/src/com/jpexs/browsers/cache/chrome/EntryStore.java index 387d0f8eb..d9e940c31 100644 --- a/src/com/jpexs/browsers/cache/chrome/EntryStore.java +++ b/src/com/jpexs/browsers/cache/chrome/EntryStore.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -34,24 +34,43 @@ import java.util.logging.Logger; public class EntryStore extends CacheEntry { public static final int ENTRY_NORMAL = 0; + public static final int ENTRY_EVICTED = 1; // The entry was recently evicted from the cache. + public static final int ENTRY_DOOMED = 2; // The entry was doomed + public static final int PARENT_ENTRY = 1; // This entry has children (sparse) entries. + public static final int CHILD_ENTRY = 1 << 1; + public long hash; // Full hash of the key. + public CacheAddr next; // Next entry with the same hash or bucket. + public CacheAddr rankings_node; // Rankings node for this entry. + public int reuse_count; // How often is this entry used. + public int refetch_count; // How often is this fetched from the net. + public int state; // Current state. + public long creation_time; + public int key_len; + public CacheAddr long_key; // Optional address of a long key. + public int data_size[] = new int[4]; // We can store up to 4 data streams for each + public CacheAddr data_addr[] = new CacheAddr[4]; // entry. + public long flags; // Any combination of EntryFlags. + public int pad[] = new int[4]; + public long self_hash; // The hash of EntryStore up to this point. + public byte key[] = new byte[256 - 24 * 4]; // null terminated public EntryStore(InputStream is, File rootDir, Map dataFiles, File externalFilesDir) throws IOException { diff --git a/src/com/jpexs/browsers/cache/chrome/HttpResponseInfo.java b/src/com/jpexs/browsers/cache/chrome/HttpResponseInfo.java index ba269b80a..8dba292f7 100644 --- a/src/com/jpexs/browsers/cache/chrome/HttpResponseInfo.java +++ b/src/com/jpexs/browsers/cache/chrome/HttpResponseInfo.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -28,44 +28,64 @@ import java.util.List; public class HttpResponseInfo { public long flags; + public int version; + public long request_time; + public long response_time; + public long payload_size; + public List headers; + // The version of the response info used when persisting response info. public static final int RESPONSE_INFO_VERSION = 3; + // The minimum version supported for deserializing response info. public static final int RESPONSE_INFO_MINIMUM_VERSION = 1; + // We reserve up to 8 bits for the version number. public static final int RESPONSE_INFO_VERSION_MASK = 0xFF; + // This bit is set if the response info has a cert at the end. // Version 1 serialized only the end-entity certificate, while subsequent // versions include the available certificate chain. public static final int RESPONSE_INFO_HAS_CERT = 1 << 8; + // This bit is set if the response info has a security-bits field (security // strength, in bits, of the SSL connection) at the end. public static final int RESPONSE_INFO_HAS_SECURITY_BITS = 1 << 9; + // This bit is set if the response info has a cert status at the end. public static final int RESPONSE_INFO_HAS_CERT_STATUS = 1 << 10; + // This bit is set if the response info has vary header data. public static final int RESPONSE_INFO_HAS_VARY_DATA = 1 << 11; + // This bit is set if the request was cancelled before completion. public static final int RESPONSE_INFO_TRUNCATED = 1 << 12; + // This bit is set if the response was received via SPDY. public static final int RESPONSE_INFO_WAS_SPDY = 1 << 13; + // This bit is set if the request has NPN negotiated. public static final int RESPONSE_INFO_WAS_NPN = 1 << 14; + // This bit is set if the request was fetched via an explicit proxy. public static final int RESPONSE_INFO_WAS_PROXY = 1 << 15; + // This bit is set if the response info has an SSL connection status field. // This contains the ciphersuite used to fetch the resource as well as the // protocol version, compression method and whether SSLv3 fallback was used. public static final int RESPONSE_INFO_HAS_SSL_CONNECTION_STATUS = 1 << 16; + // This bit is set if the response info has protocol version. public static final int RESPONSE_INFO_HAS_NPN_NEGOTIATED_PROTOCOL = 1 << 17; + // This bit is set if the response info has connection info. public static final int RESPONSE_INFO_HAS_CONNECTION_INFO = 1 << 18; + // This bit is set if the request has http authentication. public static final int RESPONSE_INFO_USE_HTTP_AUTHENTICATION = 1 << 19; diff --git a/src/com/jpexs/browsers/cache/chrome/Index.java b/src/com/jpexs/browsers/cache/chrome/Index.java index 1a8d555a9..3ecce2988 100644 --- a/src/com/jpexs/browsers/cache/chrome/Index.java +++ b/src/com/jpexs/browsers/cache/chrome/Index.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -33,10 +33,15 @@ import java.util.Map; public class Index { IndexHeader header; + CacheAddr table[]; + public static final int kIndexTablesize = 0x10000; + public File rootDir; + private final Map dataFiles; + private final File externalFilesDir; public void free() { diff --git a/src/com/jpexs/browsers/cache/chrome/IndexHeader.java b/src/com/jpexs/browsers/cache/chrome/IndexHeader.java index 9398126ac..18571ad5c 100644 --- a/src/com/jpexs/browsers/cache/chrome/IndexHeader.java +++ b/src/com/jpexs/browsers/cache/chrome/IndexHeader.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,17 +29,29 @@ import java.util.Map; public class IndexHeader { long magic; //c3 ca 03 c1 + long version; //01 00 02 00 + int num_entries; + int num_bytes; + int last_file; + int this_id; + CacheAddr stats; + int table_len; + int crash; + int experiment; + long create_time; + int pad[] = new int[52]; + LruData lru; public IndexHeader(InputStream is, File rootDir, Map dataFiles, File externalFilesDir) throws IOException { diff --git a/src/com/jpexs/browsers/cache/chrome/IndexInputStream.java b/src/com/jpexs/browsers/cache/chrome/IndexInputStream.java index 73d0a0876..a29e6b08f 100644 --- a/src/com/jpexs/browsers/cache/chrome/IndexInputStream.java +++ b/src/com/jpexs/browsers/cache/chrome/IndexInputStream.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,6 +26,7 @@ import java.io.InputStream; public class IndexInputStream extends InputStream { private final InputStream is; + public long pos = 0; public long getPos() { diff --git a/src/com/jpexs/browsers/cache/chrome/LruData.java b/src/com/jpexs/browsers/cache/chrome/LruData.java index 2558b6855..214ec6fea 100644 --- a/src/com/jpexs/browsers/cache/chrome/LruData.java +++ b/src/com/jpexs/browsers/cache/chrome/LruData.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,13 +29,21 @@ import java.util.Map; public class LruData { int pad1[] = new int[2]; + int filled; + int sizes[] = new int[5]; + CacheAddr heads[] = new CacheAddr[5]; + CacheAddr tails[] = new CacheAddr[5]; + CacheAddr transaction; + int operation; + int operation_list; + int pad2[] = new int[7]; public LruData(InputStream is, File rootDir, Map dataFiles, File externalFilesDir) throws IOException { diff --git a/src/com/jpexs/browsers/cache/chrome/RankingsNode.java b/src/com/jpexs/browsers/cache/chrome/RankingsNode.java index cdd860009..bf5ba1e82 100644 --- a/src/com/jpexs/browsers/cache/chrome/RankingsNode.java +++ b/src/com/jpexs/browsers/cache/chrome/RankingsNode.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,10 +23,16 @@ package com.jpexs.browsers.cache.chrome; public class RankingsNode { public long last_used; + public long last_modified; + CacheAddr next; + CacheAddr prev; + CacheAddr contents; + int dirty; + long self_hash; } diff --git a/src/com/jpexs/browsers/cache/firefox/CacheMap.java b/src/com/jpexs/browsers/cache/firefox/CacheMap.java index 89c3ec37d..5add16301 100644 --- a/src/com/jpexs/browsers/cache/firefox/CacheMap.java +++ b/src/com/jpexs/browsers/cache/firefox/CacheMap.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -32,12 +32,19 @@ import java.util.Map; public class CacheMap { public long version; + public long datasize; + public long entryCount; + public long dirtyFlag; + public long recordCount; + public long evictionRank[]; + public long bucketUsage[]; + public List mapBuckets; public CacheMap(File file) throws IOException { diff --git a/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java b/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java index 2e21f9e9e..a68fb6b9f 100644 --- a/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java +++ b/src/com/jpexs/browsers/cache/firefox/FirefoxCache.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,7 +44,9 @@ public class FirefoxCache implements CacheImplementation { } return instance; } + private boolean loaded = false; + private CacheMap map; @Override diff --git a/src/com/jpexs/browsers/cache/firefox/Location.java b/src/com/jpexs/browsers/cache/firefox/Location.java index e6dfdd5bd..f89e85c47 100644 --- a/src/com/jpexs/browsers/cache/firefox/Location.java +++ b/src/com/jpexs/browsers/cache/firefox/Location.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -31,22 +31,39 @@ import java.util.Map; public class Location { public int locationSelector; + public int extraBlocks; + public long blockNumber; + public int fileGeneration; + public int fileSize; + public boolean isMetadata; + public long hash; + private final File rootDir; + public static final long eReservedMask = 0x4C000000L; + public static final long eLocationSelectorMask = 0x30000000L; + public static final int eLocationSelectorOffset = 28; + public static final long eExtraBlocksMask = 0x03000000L; + public static final int eExtraBlocksOffset = 24; + public static final long eBlockNumberMask = 0x00FFFFFFL; + public static final long eFileGenerationMask = 0x000000FFL; + public static final long eFileSizeMask = 0x00FFFF00L; + public static final int eFileSizeOffset = 8; + public static final long eFileReservedMask = 0x4F000000L; public static int size_shift(int idx) { @@ -64,6 +81,7 @@ public class Location { #define BLOCK_SIZE_FOR_INDEX(idx) ((idx) ? (256 << SIZE_SHIFT(idx)) : 0) #define BITMAP_SIZE_FOR_INDEX(idx) ((idx) ? (131072 >> SIZE_SHIFT(idx)) : 0) */ + private final Map dataFiles; public InputStream getInputStream() throws IOException { diff --git a/src/com/jpexs/browsers/cache/firefox/MapBucket.java b/src/com/jpexs/browsers/cache/firefox/MapBucket.java index 1ae43dfdb..a50b7d4f7 100644 --- a/src/com/jpexs/browsers/cache/firefox/MapBucket.java +++ b/src/com/jpexs/browsers/cache/firefox/MapBucket.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -33,9 +33,13 @@ import java.util.logging.Logger; public class MapBucket extends CacheEntry { public long hash; + public long enviction; + public Location dataLocation; + public Location metadataLocation; + private MetaData metadata; public MapBucket(InputStream is, File rootDir, Map dataFiles) throws IOException { diff --git a/src/com/jpexs/browsers/cache/firefox/MetaData.java b/src/com/jpexs/browsers/cache/firefox/MetaData.java index 2e3618bd3..59427d107 100644 --- a/src/com/jpexs/browsers/cache/firefox/MetaData.java +++ b/src/com/jpexs/browsers/cache/firefox/MetaData.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -28,16 +28,27 @@ import java.util.Map; public class MetaData { public int majorVersion; + public int minorVersion; + public long location; + public long fetchCount; + public long firstFetchTime; + public long lastFetchTime; + public long expireTime; + public long dataSize; + public long requestSize; + public long infoSize; + public String request; + public Map response; public MetaData(InputStream is) throws IOException, IncompatibleVersionException { diff --git a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java index 5e7302fbd..bf52f1755 100644 --- a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java +++ b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -506,6 +506,7 @@ public class CommandLineArgumentParser { private static class Range { public Integer min; + public Integer max; public Range(Integer min, Integer max) { @@ -519,7 +520,6 @@ public class CommandLineArgumentParser { return index >= minimum && index <= maximum; } - } private static class Selection { @@ -543,7 +543,6 @@ public class CommandLineArgumentParser { } return false; } - } private static Selection parseSelect(Queue args) { @@ -1003,7 +1002,7 @@ public class CommandLineArgumentParser { System.out.println("Exporting XFL..."); FLAVersion xflVersion = FLAVersion.fromString(formats.get("xfl")); if (xflVersion == null) { - xflVersion = FLAVersion.CS6; //Defaults to CS6 + xflVersion = FLAVersion.CS6; //Defaults to CS6 } exfile.exportXfl(handler, outDir.getAbsolutePath() + (exportFormats.length > 1 ? File.separator + "xfl" : ""), inFile.getName(), ApplicationInfo.APPLICATION_NAME, ApplicationInfo.applicationVerName, ApplicationInfo.version, Configuration.parallelSpeedUp.get(), xflVersion); } diff --git a/src/com/jpexs/decompiler/flash/console/ConsoleAbortRetryIgnoreHandler.java b/src/com/jpexs/decompiler/flash/console/ConsoleAbortRetryIgnoreHandler.java index 53b4276bd..ecb997790 100644 --- a/src/com/jpexs/decompiler/flash/console/ConsoleAbortRetryIgnoreHandler.java +++ b/src/com/jpexs/decompiler/flash/console/ConsoleAbortRetryIgnoreHandler.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,7 +26,9 @@ import java.util.Scanner; public class ConsoleAbortRetryIgnoreHandler implements AbortRetryIgnoreHandler { int errorCount = 0; + int errorMode; + int retryCount; public ConsoleAbortRetryIgnoreHandler(int errorMode, int retryCount) { diff --git a/src/com/jpexs/decompiler/flash/gui/AboutDialog.java b/src/com/jpexs/decompiler/flash/gui/AboutDialog.java index 5c1c3d898..3e638f897 100644 --- a/src/com/jpexs/decompiler/flash/gui/AboutDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/AboutDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -47,6 +47,7 @@ public class AboutDialog extends AppDialog { "honfika", "+ others from GitHub and Google code" }; + private static final String AUTHOR = "JPEXS"; public AboutDialog() { diff --git a/src/com/jpexs/decompiler/flash/gui/ActionRedirector.java b/src/com/jpexs/decompiler/flash/gui/ActionRedirector.java index d0c8f2eb6..86a9e7f8a 100644 --- a/src/com/jpexs/decompiler/flash/gui/ActionRedirector.java +++ b/src/com/jpexs/decompiler/flash/gui/ActionRedirector.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,6 +26,7 @@ import java.awt.event.ActionListener; public class ActionRedirector implements ActionListener { ActionListener target; + String actionCommand; public ActionRedirector(ActionListener target, String actionCommand) { diff --git a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java index 586790985..6145be35e 100644 --- a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -83,6 +83,7 @@ public class AdvancedSettingsDialog extends AppDialog implements ActionListener Class[] types = new Class[]{ String.class, Object.class, String.class }; + boolean[] canEdit = new boolean[]{ false, true, false }; @@ -277,7 +278,9 @@ public class AdvancedSettingsDialog extends AppDialog implements ActionListener } private JButton cancelButton; + private JButton okButton; + private JButton resetButton; //private EachRowRendererEditor configurationTable; diff --git a/src/com/jpexs/decompiler/flash/gui/AppStrings.java b/src/com/jpexs/decompiler/flash/gui/AppStrings.java index 6135ba489..09446991a 100644 --- a/src/com/jpexs/decompiler/flash/gui/AppStrings.java +++ b/src/com/jpexs/decompiler/flash/gui/AppStrings.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -25,6 +25,7 @@ import java.util.ResourceBundle; public class AppStrings { private static Class resourceClass; + private static ResourceBundle resourceBundle; public static void setResourceClass(Class cls) { diff --git a/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java b/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java index 67f515f36..d7389d9f1 100644 --- a/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/BinaryPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -39,9 +39,13 @@ import javax.swing.border.BevelBorder; public final class BinaryPanel extends JPanel implements ComponentListener { public HexView hexEditor = new HexView(); + private byte[] data; + private JPanel swfInsidePanel; + private DefineBinaryDataTag binaryDataTag = null; + private final MainPanel mainPanel; public BinaryPanel(final MainPanel mainPanel) { diff --git a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java index 8202a961c..b577dba9f 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -39,8 +39,11 @@ import javax.swing.text.Document; public class DebugLogDialog extends AppDialog implements ActionListener { private final JTextArea logTextArea = new JTextArea(); + private final String ACTION_CLOSE = "CLOSE"; + private final String ACTION_CLEAR = "CLEAR"; + private final Debugger debug; public DebugLogDialog(Debugger debug) { @@ -104,5 +107,4 @@ public class DebugLogDialog extends AppDialog implements ActionListener { break; } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/EachRowRendererEditor.java b/src/com/jpexs/decompiler/flash/gui/EachRowRendererEditor.java index 07ea3082f..23f575300 100644 --- a/src/com/jpexs/decompiler/flash/gui/EachRowRendererEditor.java +++ b/src/com/jpexs/decompiler/flash/gui/EachRowRendererEditor.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -27,6 +27,7 @@ import javax.swing.table.TableCellRenderer; public class EachRowRendererEditor extends JTable { private static final long serialVersionUID = 1L; + private Class editingClass; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java index 913b26ec6..3138794ec 100644 --- a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -59,12 +59,19 @@ public class ErrorLogFrame extends AppFrame { private static ErrorLogFrame instance; private final JPanel logView = new JPanel(); + private final JPanel logViewInner = new JPanel(); + private final Handler handler; + private final ImageIcon expandIcon; + private final ImageIcon collapseIcon; + private ErrorState errorState = ErrorState.NO_ERROR; + private static final int MAX_LOG_ITEM_COUNT = 100; + private final AtomicInteger logItemCount = new AtomicInteger(); public Handler getHandler() { diff --git a/src/com/jpexs/decompiler/flash/gui/ExportDialog.java b/src/com/jpexs/decompiler/flash/gui/ExportDialog.java index 35f7f7491..2db0d00a6 100644 --- a/src/com/jpexs/decompiler/flash/gui/ExportDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/ExportDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -114,6 +114,7 @@ public class ExportDialog extends AppDialog { }; private final JComboBox[] combos; + private JTextField zoomTextField = new JTextField(); public E getValue(Class option) { diff --git a/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java index c2ae0a1f1..d56f5be68 100644 --- a/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -58,20 +58,31 @@ import javax.swing.JPanel; public class FolderPreviewPanel extends JPanel { private static ExecutorService executor; + private List items; + private int selectedIndex = -1; + private boolean repaintQueued; + private int lastWidth; + private int lastHeight; public Map selectedItems = new HashMap<>(); private Cache cachedPreviews; + private static final int PREVIEW_SIZE = 150; + private static final int BORDER_SIZE = 5; + private static final int LABEL_HEIGHT = 20; + private static final int CELL_HEIGHT = 2 * BORDER_SIZE + PREVIEW_SIZE + LABEL_HEIGHT; + private static final int CELL_WIDTH = 2 * BORDER_SIZE + PREVIEW_SIZE; + private static final SerializableImage noImage = new SerializableImage(PREVIEW_SIZE, PREVIEW_SIZE, BufferedImage.TYPE_INT_ARGB); static { diff --git a/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java b/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java index deb3d324e..af2d4d8cf 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/FontEmbedDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -59,21 +59,33 @@ import javax.swing.filechooser.FileFilter; public class FontEmbedDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; + private static final String ACTION_LOAD_FROM_DISK = "LOAD_FROM_DISK"; private static final int SAMPLE_MAX_LENGTH = 50; private final JComboBox familyNamesSelection; + private final JComboBox faceSelection; + private final JCheckBox[] rangeCheckboxes; + private final String rangeNames[]; + private final JLabel[] rangeSamples; + private final JTextField individualCharsField; + private boolean result = false; + private JLabel individialSample; + private Font customFont; + private final JCheckBox allCheckbox; + private final JCheckBox updateTextsCheckbox; public Font getSelectedFont() { @@ -121,6 +133,7 @@ public class FontEmbedDialog extends AppDialog implements ActionListener { } private JRadioButton ttfFileRadio; + private JRadioButton installedRadio; private void updateFaceSelection() { diff --git a/src/com/jpexs/decompiler/flash/gui/FontFace.java b/src/com/jpexs/decompiler/flash/gui/FontFace.java index c398c337e..37bf4ba60 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontFace.java +++ b/src/com/jpexs/decompiler/flash/gui/FontFace.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -70,5 +70,4 @@ public class FontFace implements Comparable { public int compareTo(FontFace o) { return font.getFontName().compareTo(o.font.getFontName()); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/FontFamily.java b/src/com/jpexs/decompiler/flash/gui/FontFamily.java index c51c108fe..f5a3c3418 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontFamily.java +++ b/src/com/jpexs/decompiler/flash/gui/FontFamily.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -27,6 +27,7 @@ import java.util.Objects; public class FontFamily implements Comparable { public String familyEn; + public String family; public FontFamily(Font font) { diff --git a/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/src/com/jpexs/decompiler/flash/gui/FontPanel.java index a3fd0ffd1..1b3e9130c 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FontPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -56,6 +56,7 @@ import layout.TableLayout; public class FontPanel extends javax.swing.JPanel { private final MainPanel mainPanel; + private FontTag fontTag; /** @@ -152,7 +153,7 @@ public class FontPanel extends javax.swing.JPanel { } } if (yestoall) { - opt = 0; //yes + opt = 0; //yes } else if (notoall) { opt = 1; //no } else { @@ -296,7 +297,7 @@ public class FontPanel extends javax.swing.JPanel { fontParamsPanel.add(fontNameIntagLabel, "1,0"); JLabel fontNameNameLabLabel = new JLabel(); - fontNameNameLabLabel.setText(AppStrings.translate("font.name")); // NOI18N + fontNameNameLabLabel.setText(AppStrings.translate("font.name")); // NOI18N fontParamsPanel.add(fontNameNameLabLabel, "0,1,R"); fontDisplayNameScrollPane.setBorder(null); @@ -334,7 +335,7 @@ public class FontPanel extends javax.swing.JPanel { fontParamsPanel.add(fontCopyrightScrollPane, "1,2"); - jLabel4.setText(AppStrings.translate("font.isbold")); // NOI18N + jLabel4.setText(AppStrings.translate("font.isbold")); // NOI18N fontParamsPanel.add(jLabel4, "0,3,R"); fontIsBoldCheckBox.setEnabled(false); @@ -354,7 +355,7 @@ public class FontPanel extends javax.swing.JPanel { fontAscentLabel.setText(AppStrings.translate("value.unknown")); // NOI18N fontParamsPanel.add(fontAscentLabel, "1,5"); - jLabel7.setText(AppStrings.translate("font.descent")); // NOI18N + jLabel7.setText(AppStrings.translate("font.descent")); // NOI18N fontParamsPanel.add(jLabel7, "0,6,R"); fontDescentLabel.setText(AppStrings.translate("value.unknown")); // NOI18N @@ -363,10 +364,10 @@ public class FontPanel extends javax.swing.JPanel { jLabel8.setText(AppStrings.translate("font.leading")); // NOI18N fontParamsPanel.add(jLabel8, "0,7,R"); - fontLeadingLabel.setText(AppStrings.translate("value.unknown")); // NOI18N + fontLeadingLabel.setText(AppStrings.translate("value.unknown")); // NOI18N fontParamsPanel.add(fontLeadingLabel, "1,7"); - jLabel9.setText(AppStrings.translate("font.characters")); // NOI18N + jLabel9.setText(AppStrings.translate("font.characters")); // NOI18N fontParamsPanel.add(jLabel9, "0,8,R"); fontCharactersScrollPane.setBorder(null); @@ -662,29 +663,52 @@ public class FontPanel extends javax.swing.JPanel { } private javax.swing.JButton buttonCancel; - private javax.swing.JButton buttonEdit; - private javax.swing.JButton buttonPreviewFont; - private javax.swing.JButton buttonSetAdvanceValues; - private javax.swing.JButton buttonSave; - private javax.swing.JTextField fontAddCharactersField; - private javax.swing.JButton fontAddCharsButton; - private javax.swing.JLabel fontAscentLabel; - private javax.swing.JScrollPane fontCharactersScrollPane; - private javax.swing.JTextArea fontCharactersTextArea; - private javax.swing.JTextArea fontCopyrightTextArea; - private javax.swing.JLabel fontDescentLabel; - private javax.swing.JTextArea fontNameTextArea; - private javax.swing.JButton fontEmbedButton; - private javax.swing.JCheckBox fontIsBoldCheckBox; - private javax.swing.JCheckBox fontIsItalicCheckBox; - private javax.swing.JLabel fontLeadingLabel; - private javax.swing.JLabel fontNameIntagLabel; - private javax.swing.JComboBox fontFamilyNameSelection; - private javax.swing.JComboBox fontFaceSelection; - private javax.swing.JLabel fontSourceLabel; - private javax.swing.JPanel fontParamsPanel; - private javax.swing.JPanel addCharsPanel; - private javax.swing.JScrollPane jScrollPane1; - private javax.swing.JCheckBox updateTextsCheckBox; + private javax.swing.JButton buttonEdit; + + private javax.swing.JButton buttonPreviewFont; + + private javax.swing.JButton buttonSetAdvanceValues; + + private javax.swing.JButton buttonSave; + + private javax.swing.JTextField fontAddCharactersField; + + private javax.swing.JButton fontAddCharsButton; + + private javax.swing.JLabel fontAscentLabel; + + private javax.swing.JScrollPane fontCharactersScrollPane; + + private javax.swing.JTextArea fontCharactersTextArea; + + private javax.swing.JTextArea fontCopyrightTextArea; + + private javax.swing.JLabel fontDescentLabel; + + private javax.swing.JTextArea fontNameTextArea; + + private javax.swing.JButton fontEmbedButton; + + private javax.swing.JCheckBox fontIsBoldCheckBox; + + private javax.swing.JCheckBox fontIsItalicCheckBox; + + private javax.swing.JLabel fontLeadingLabel; + + private javax.swing.JLabel fontNameIntagLabel; + + private javax.swing.JComboBox fontFamilyNameSelection; + + private javax.swing.JComboBox fontFaceSelection; + + private javax.swing.JLabel fontSourceLabel; + + private javax.swing.JPanel fontParamsPanel; + + private javax.swing.JPanel addCharsPanel; + + private javax.swing.JScrollPane jScrollPane1; + + private javax.swing.JCheckBox updateTextsCheckBox; } diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java index 0c833480b..16814dc64 100644 --- a/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/GenericTagPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -69,21 +69,35 @@ import javax.swing.SpringLayout; public class GenericTagPanel extends JPanel implements ChangeListener { private final JEditorPane genericTagPropertiesEditorPane; + private final JPanel genericTagPropertiesEditPanel; + private final JScrollPane genericTagPropertiesEditorPaneScrollPanel; + private final JScrollPane genericTagPropertiesEditPanelScrollPanel; + private Tag tag; + private Tag editedTag; private List keys = new ArrayList<>(); + private Map editors = new HashMap<>(); + private Map labels = new HashMap<>(); + private Map types = new HashMap<>(); + private Map> fieldPaths = new HashMap<>(); + private Map> fieldIndices = new HashMap<>(); + private HeaderLabel hdr; + private Set addKeys = new HashSet<>(); + private Map addButtons = new HashMap<>(); + private Map removeButtons = new HashMap<>(); public GenericTagPanel() { @@ -174,7 +188,7 @@ public class GenericTagPanel extends JPanel implements ChangeListener { SpringUtilities.makeCompactGrid(genericTagPropertiesEditPanel, propCount, 3, //rows, cols 6, 6, //initX, initY - 6, 6); //xPad, yPad + 6, 6); //xPad, yPad revalidate(); repaint(); } diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java index b76f33f11..f0cba06bb 100644 --- a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -83,6 +83,7 @@ import javax.swing.tree.TreePath; public class GenericTagTreePanel extends GenericTagPanel { private JTree tree; + private Tag editedTag; private class MyTree extends JTree { @@ -108,7 +109,9 @@ public class GenericTagTreePanel extends GenericTagPanel { private class MyTreeCellEditor extends AbstractCellEditor implements TreeCellEditor { private GenericTagEditor editor = null; + private final JTree tree; + private FieldNode fnode; public MyTreeCellEditor(JTree tree) { @@ -205,14 +208,13 @@ public class GenericTagTreePanel extends GenericTagPanel { /*List depends = ((MyTreeModel) tree.getModel()).getDependentFields(fnode); boolean dep = false; if (!depends.isEmpty()) { - dep = true; + dep = true; } */ editor.save(); ((MyTreeModel) tree.getModel()).vchanged(tree.getSelectionPath()); refreshTree(); return true; } - } public GenericTagTreePanel() { @@ -350,7 +352,6 @@ public class GenericTagTreePanel extends GenericTagPanel { setBackgroundNonSelectionColor(Color.white); return this; } - } @Override @@ -361,7 +362,9 @@ public class GenericTagTreePanel extends GenericTagPanel { private static class FieldNode extends DefaultMutableTreeNode { private Object obj; + private Field field; + private int index; public FieldNode(Object obj, Field field, int index) { @@ -486,8 +489,11 @@ public class GenericTagTreePanel extends GenericTagPanel { private static class MyTreeModel extends DefaultTreeModel { private final Object mtroot; + private final List listeners = new ArrayList<>(); + private final Map nodeCache = new HashMap<>(); + // it is much faster to store the reverse mappings, too private final Map nodeCacheReverse = new HashMap<>(); diff --git a/src/com/jpexs/decompiler/flash/gui/GraphDialog.java b/src/com/jpexs/decompiler/flash/gui/GraphDialog.java index 1cd781732..94267ae06 100644 --- a/src/com/jpexs/decompiler/flash/gui/GraphDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/GraphDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,14 +44,23 @@ public class GraphDialog extends AppDialog { private class GraphPanel extends JPanel { private static final int SPACE_VERTICAL = 16; + private static final int SPACE_HORIZONTAL = 10; + private static final int SPACE_BACKLINKS = 5; + private static final int BLOCK_WIDTH = 200; + private static final int BLOCK_HEIGHT = 20; + private final HashMap partPos = new HashMap<>(); + private final Point size; + private int backLinksLeft = 0; + private int backLinksRight = 0; + private final GraphPart head; public GraphPanel(Graph graph) throws InterruptedException { @@ -241,10 +250,15 @@ public class GraphDialog extends AppDialog { return w; } } + GraphPanel gp; + int scrollBarWidth; + int scrollBarHeight; + int frameWidthDiff; + int frameHeightDiff; public GraphDialog(Window owner, Graph graph, String name) throws InterruptedException { @@ -277,7 +291,7 @@ public class GraphDialog extends AppDialog { Dimension screen = getToolkit().getScreenSize(); Dimension dim = new Dimension(0, 0); Dimension panDim = gp.getPreferredSize(); - // add some magic constants + // add some magic constants panDim = new Dimension(panDim.width + 3, panDim.height + 2); boolean tooHigh = false; diff --git a/src/com/jpexs/decompiler/flash/gui/GuiAbortRetryIgnoreHandler.java b/src/com/jpexs/decompiler/flash/gui/GuiAbortRetryIgnoreHandler.java index 6f6b1ad62..de0714c1f 100644 --- a/src/com/jpexs/decompiler/flash/gui/GuiAbortRetryIgnoreHandler.java +++ b/src/com/jpexs/decompiler/flash/gui/GuiAbortRetryIgnoreHandler.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -38,5 +38,4 @@ public class GuiAbortRetryIgnoreHandler implements AbortRetryIgnoreHandler { // there are no non-static field in this class, so return the original instance return this; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/HeaderInfoPanel.java b/src/com/jpexs/decompiler/flash/gui/HeaderInfoPanel.java index b83667cc6..6134f24d7 100644 --- a/src/com/jpexs/decompiler/flash/gui/HeaderInfoPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/HeaderInfoPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,13 +29,21 @@ import javax.swing.SpringLayout; public class HeaderInfoPanel extends JPanel { private final JLabel signatureLabel = new JLabel(); + private final JLabel compressionLabel = new JLabel(); + private final JLabel gfxLabel = new JLabel(); + private final JLabel versionLabel = new JLabel(); + private final JLabel fileSizeLabel = new JLabel(); + private final JLabel frameRateLabel = new JLabel(); + private final JLabel frameCountLabel = new JLabel(); + private final JLabel displayRectTwipsLabel = new JLabel(); + private final JLabel displayRectPixelsLabel = new JLabel(); public HeaderInfoPanel() { @@ -103,5 +111,4 @@ public class HeaderInfoPanel extends JPanel { } return r; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index 9db7b4e47..7560745f9 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -73,27 +73,49 @@ import javax.swing.JPanel; public final class ImagePanel extends JPanel implements ActionListener, MediaDisplay { private Timelined timelined; + private boolean stillFrame = false; + private Timer timer; + private int frame = -1; + private boolean zoomAvailable = false; + private int counter = 0; + private AtomicBoolean shouldDraw = new AtomicBoolean(); + private SWF swf; + private boolean loaded; + private int mouseButton; + private final JLabel debugLabel = new JLabel("-"); + private DepthState stateUnderCursor = null; + private MouseEvent lastMouseEvent = null; + private final List soundPlayers = new ArrayList<>(); + private final IconPanel iconPanel; + private int time = 0; + private int selectedDepth = -1; + private Zoom zoom = new Zoom(); + private final Object delayObject = new Object(); + private boolean drawReady; + private final int drawWaitLimit = 50; // ms + private TextTag textTag; + private TextTag newTextTag; public synchronized void selectDepth(int depth) { @@ -108,7 +130,9 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis private SerializableImage img; private Rectangle rect = null; + private List dss; + private List outlines; public BufferedImage getLastImage() { @@ -837,6 +861,7 @@ public final class ImagePanel extends JPanel implements ActionListener, MediaDis shouldDraw.set(true); TimerTask task = new TimerTask() { public int counter = cnt; + private final AtomicBoolean first = shouldDraw; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/Language.java b/src/com/jpexs/decompiler/flash/gui/Language.java index 610bb0c02..7a258b187 100644 --- a/src/com/jpexs/decompiler/flash/gui/Language.java +++ b/src/com/jpexs/decompiler/flash/gui/Language.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,6 +23,7 @@ package com.jpexs.decompiler.flash.gui; public class Language { public String code; + public String name; public Language(String code, String name) { diff --git a/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java b/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java index e158e1090..2b97af9e0 100644 --- a/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/LoadFromCacheFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -58,16 +58,25 @@ import javax.swing.filechooser.FileFilter; public class LoadFromCacheFrame extends AppFrame implements ActionListener { private static final String ACTION_OPEN = "OPEN"; + private static final String ACTION_SAVE = "SAVE"; + private static final String ACTION_REFRESH = "REFRESH"; private final JList list; + private final JTextField searchField; + private List caches; + private List entries; + private final JProgressBar progressBar; + private final JButton saveButton; + private final JButton refreshButton; + private final JButton openButton; public LoadFromCacheFrame() { diff --git a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java index 816126831..4a8a4bc3f 100644 --- a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -78,20 +78,33 @@ import javax.swing.table.TableRowSorter; public class LoadFromMemoryFrame extends AppFrame implements ActionListener { private static final String ACTION_SELECT_PROCESS = "SELECTPROCESS"; + private static final String ACTION_REFRESH_PROCESS_LIST = "REFRESHPROCESSLIST"; + private static final String ACTION_OPEN_SWF = "OPENSWF"; + private static final String ACTION_SAVE = "SAVE"; private MainFrame mainFrame; + private List processlist; + private List foundIs; + private List selProcesses; + private JList list; + private DefaultListModel model; + private DefaultTableModel resTableModel; + private final JTable tableRes; + private final JLabel stateLabel; + private boolean processing = false; + private final JProgressBar progress; private class SelectProcessWorker extends SwingWorker, Object> { diff --git a/src/com/jpexs/decompiler/flash/gui/LoadingDialog.java b/src/com/jpexs/decompiler/flash/gui/LoadingDialog.java index 36cafe55b..0dad15c23 100644 --- a/src/com/jpexs/decompiler/flash/gui/LoadingDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/LoadingDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -38,7 +38,9 @@ import javax.swing.SwingConstants; public class LoadingDialog extends AppDialog implements ImageObserver { private final JLabel detailLabel; + private LoadingPanel loadingPanel; + JProgressBar progressBar = new JProgressBar(0, 100); public void setDetail(String d) { @@ -98,7 +100,7 @@ public class LoadingDialog extends AppDialog implements ImageObserver { cnt.add(pan, BorderLayout.CENTER); //progressBar.setVisible(false); progressBar.setStringPainted(true); - //progressBar.setVisible(false); + //progressBar.setVisible(false); View.setWindowIcon(this); detailLabel.setHorizontalAlignment(SwingConstants.LEFT); addWindowListener(new WindowAdapter() { diff --git a/src/com/jpexs/decompiler/flash/gui/LoadingPanel.java b/src/com/jpexs/decompiler/flash/gui/LoadingPanel.java index c6ef75725..b2fd89948 100644 --- a/src/com/jpexs/decompiler/flash/gui/LoadingPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/LoadingPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -37,9 +37,13 @@ import javax.swing.JPanel; public class LoadingPanel extends JPanel { BufferedImage lastImage; + int lastSize = 0; + Color col; + double rotation = 0; + Timer drawTimer; public LoadingPanel(int width, int height) { @@ -135,5 +139,4 @@ public class LoadingPanel extends JPanel { g2.setTransform(t); g2.drawImage(lastImage, 0, 0, this); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/LogFormatter.java b/src/com/jpexs/decompiler/flash/gui/LogFormatter.java index 71ddcb3e3..847c1d3d2 100644 --- a/src/com/jpexs/decompiler/flash/gui/LogFormatter.java +++ b/src/com/jpexs/decompiler/flash/gui/LogFormatter.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -32,6 +32,7 @@ import java.util.logging.LogRecord; public class LogFormatter extends Formatter { private static final String lineSep = System.getProperty("line.separator"); + private DateFormat dateFormat; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java index 768e13f15..fcfbce222 100644 --- a/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/src/com/jpexs/decompiler/flash/gui/Main.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -108,20 +108,35 @@ import javax.swing.filechooser.FileFilter; public class Main { public static ProxyFrame proxyFrame; + private static List sourceInfos = new ArrayList<>(); + public static LoadingDialog loadingDialog; + public static ModeFrame modeFrame; + private static boolean working = false; + private static TrayIcon trayIcon; + private static MenuItem stopMenuItem; + private static MainFrame mainFrame; + public static final int UPDATE_SYSTEM_MAJOR = 1; + public static final int UPDATE_SYSTEM_MINOR = 2; + public static LoadFromMemoryFrame loadFromMemoryFrame; + public static LoadFromCacheFrame loadFromCacheFrame; + private static final Logger logger = Logger.getLogger(Main.class.getName()); + private static Debugger debugger; + public static DebugLogDialog debugDialog; + public static final String DEBUGGER_PACKAGE = "com.jpexs.decompiler.flash.debugger"; private static ABCContainerTag getDebuggerABCTag(SWF swf) { @@ -1447,6 +1462,7 @@ public class Main { Configuration.lastUpdatesCheckDate.set(Calendar.getInstance()); return false; } + private static FileHandler fileTxt; public static void clearLogFile() { diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameClassic.java b/src/com/jpexs/decompiler/flash/gui/MainFrameClassic.java index 88e9e2e87..d0b8cc33d 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameClassic.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameClassic.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,6 +36,7 @@ import javax.swing.JFrame; public final class MainFrameClassic extends AppFrame implements MainFrame { private final MainPanel panel; + private final MainFrameMenu mainMenu; public MainFrameClassic() { @@ -125,5 +126,4 @@ public final class MainFrameClassic extends AppFrame implements MainFrame { public Window getWindow() { return this; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameClassicMenu.java b/src/com/jpexs/decompiler/flash/gui/MainFrameClassicMenu.java index 0c1f4f88b..45f66c664 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameClassicMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameClassicMenu.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -40,66 +40,119 @@ import javax.swing.JOptionPane; public class MainFrameClassicMenu extends MainFrameMenu implements ActionListener { private static final String ACTION_RELOAD = "RELOAD"; + private static final String ACTION_ADVANCED_SETTINGS = "ADVANCEDSETTINGS"; + private static final String ACTION_LOAD_MEMORY = "LOADMEMORY"; + private static final String ACTION_LOAD_CACHE = "LOADCACHE"; + private static final String ACTION_GOTO_DOCUMENT_CLASS_ON_STARTUP = "GOTODOCUMENTCLASSONSTARTUP"; + private static final String ACTION_AUTO_RENAME_IDENTIFIERS = "AUTORENAMEIDENTIFIERS"; + private static final String ACTION_CACHE_ON_DISK = "CACHEONDISK"; + private static final String ACTION_SET_LANGUAGE = "SETLANGUAGE"; + private static final String ACTION_DISABLE_DECOMPILATION = "DISABLEDECOMPILATION"; + private static final String ACTION_ASSOCIATE = "ASSOCIATE"; + private static final String ACTION_GOTO_DOCUMENT_CLASS = "GOTODOCUMENTCLASS"; + private static final String ACTION_PARALLEL_SPEED_UP = "PARALLELSPEEDUP"; + private static final String ACTION_INTERNAL_VIEWER_SWITCH = "INTERNALVIEWERSWITCH"; + private static final String ACTION_SEARCH = "SEARCH"; + private static final String ACTION_AUTO_DEOBFUSCATE = "AUTODEOBFUSCATE"; + private static final String ACTION_EXIT = "EXIT"; private static final String ACTION_RENAME_ONE_IDENTIFIER = "RENAMEONEIDENTIFIER"; + private static final String ACTION_ABOUT = "ABOUT"; + private static final String ACTION_SHOW_PROXY = "SHOWPROXY"; + private static final String ACTION_SUB_LIMITER = "SUBLIMITER"; + private static final String ACTION_SAVE = "SAVE"; + private static final String ACTION_SAVE_AS = "SAVEAS"; + private static final String ACTION_SAVE_AS_EXE = "SAVEASEXE"; + private static final String ACTION_OPEN = "OPEN"; + private static final String ACTION_EXPORT_FLA = "EXPORTFLA"; + private static final String ACTION_EXPORT_SEL = "EXPORTSEL"; + private static final String ACTION_EXPORT = "EXPORT"; + private static final String ACTION_CHECK_UPDATES = "CHECKUPDATES"; + private static final String ACTION_HELP_US = "HELPUS"; + private static final String ACTION_HOMEPAGE = "HOMEPAGE"; + private static final String ACTION_RESTORE_CONTROL_FLOW = "RESTORECONTROLFLOW"; + private static final String ACTION_RESTORE_CONTROL_FLOW_ALL = "RESTORECONTROLFLOWALL"; + private static final String ACTION_RENAME_IDENTIFIERS = "RENAMEIDENTIFIERS"; + private static final String ACTION_DEOBFUSCATE = "DEOBFUSCATE"; + private static final String ACTION_DEOBFUSCATE_ALL = "DEOBFUSCATEALL"; + private static final String ACTION_REMOVE_NON_SCRIPTS = "REMOVENONSCRIPTS"; + private static final String ACTION_REFRESH_DECOMPILED = "REFRESHDECOMPILED"; private final MainFrameClassic mainFrame; private JCheckBoxMenuItem miAutoDeobfuscation; + private JCheckBoxMenuItem miInternalViewer; + private JCheckBoxMenuItem miParallelSpeedUp; + private JCheckBoxMenuItem miAssociate; + private JCheckBoxMenuItem miDecompile; + private JCheckBoxMenuItem miCacheDisk; + private JCheckBoxMenuItem miGotoMainClassOnStartup; + private JCheckBoxMenuItem miAutoRenameIdentifiers; + private JMenuItem saveCommandButton; + private JMenuItem saveasCommandButton; + private JMenuItem saveasexeCommandButton; + private JMenuItem exportAllCommandButton; + private JMenuItem exportFlaCommandButton; + private JMenuItem exportSelectionCommandButton; private JMenuItem reloadCommandButton; + private JMenuItem renameInvalidCommandButton; + private JMenuItem globalRenameCommandButton; + private JMenuItem deobfuscationCommandButton; + private JMenuItem searchCommandButton; + private JMenuItem gotoDocumentClassCommandButton; public MainFrameClassicMenu(MainFrameClassic mainFrame, boolean externalFlashPlayerUnavailable) { @@ -501,5 +554,4 @@ public class MainFrameClassicMenu extends MainFrameMenu implements ActionListene break; } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java index fedddcfd7..f29ab0a5c 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameMenu.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -46,6 +46,7 @@ import javax.swing.JOptionPane; public abstract class MainFrameMenu { private final MainFrame mainFrame; + private SWF swf; public abstract boolean isInternalFlashViewerSelected(); diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java index 4b3bc755f..fb80c7e34 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbon.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -41,6 +41,7 @@ import org.pushingpixels.flamingo.internal.ui.ribbon.appmenu.JRibbonApplicationM public final class MainFrameRibbon extends AppRibbonFrame implements MainFrame { private final MainPanel panel; + private final MainFrameMenu mainMenu; public MainFrameRibbon() { @@ -147,5 +148,4 @@ public final class MainFrameRibbon extends AppRibbonFrame implements MainFrame { public Window getWindow() { return this; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbonMenu.java b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbonMenu.java index 56a5b8205..0a4284ea9 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameRibbonMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameRibbonMenu.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -61,106 +61,195 @@ import org.pushingpixels.flamingo.internal.ui.ribbon.AbstractBandControlPanel; public class MainFrameRibbonMenu extends MainFrameMenu implements ActionListener { private static final String ACTION_RELOAD = "RELOAD"; + private static final String ACTION_ADVANCED_SETTINGS = "ADVANCEDSETTINGS"; + private static final String ACTION_LOAD_MEMORY = "LOADMEMORY"; + private static final String ACTION_LOAD_CACHE = "LOADCACHE"; + private static final String ACTION_GOTO_DOCUMENT_CLASS_ON_STARTUP = "GOTODOCUMENTCLASSONSTARTUP"; + private static final String ACTION_AUTO_RENAME_IDENTIFIERS = "AUTORENAMEIDENTIFIERS"; + private static final String ACTION_CACHE_ON_DISK = "CACHEONDISK"; + private static final String ACTION_SET_LANGUAGE = "SETLANGUAGE"; + private static final String ACTION_DISABLE_DECOMPILATION = "DISABLEDECOMPILATION"; + private static final String ACTION_ASSOCIATE = "ASSOCIATE"; + private static final String ACTION_GOTO_DOCUMENT_CLASS = "GOTODOCUMENTCLASS"; + private static final String ACTION_PARALLEL_SPEED_UP = "PARALLELSPEEDUP"; + private static final String ACTION_INTERNAL_VIEWER_SWITCH = "INTERNALVIEWERSWITCH"; + private static final String ACTION_SEARCH = "SEARCH"; + private static final String ACTION_REPLACE = "REPLACE"; + private static final String ACTION_TIMELINE = "TIMELINE"; + private static final String ACTION_AUTO_DEOBFUSCATE = "AUTODEOBFUSCATE"; + private static final String ACTION_EXIT = "EXIT"; + private static final String ACTION_DEBUGGER_SWITCH = "DEBUGGER_SWITCH"; + private static final String ACTION_DEBUGGER_REPLACE_TRACE = "DEBUGGER_REPLACE_TRACE"; + private static final String ACTION_DEBUGGER_LOG = "DEBUGGER_LOG"; private static final String ACTION_RENAME_ONE_IDENTIFIER = "RENAMEONEIDENTIFIER"; + private static final String ACTION_ABOUT = "ABOUT"; + private static final String ACTION_SHOW_PROXY = "SHOWPROXY"; + private static final String ACTION_SUB_LIMITER = "SUBLIMITER"; + private static final String ACTION_SAVE = "SAVE"; + private static final String ACTION_SAVE_AS = "SAVEAS"; + private static final String ACTION_SAVE_AS_EXE = "SAVEASEXE"; + private static final String ACTION_OPEN = "OPEN"; + private static final String ACTION_CLOSE = "CLOSE"; + private static final String ACTION_CLOSE_ALL = "CLOSEALL"; + private static final String ACTION_EXPORT_FLA = "EXPORTFLA"; + public static final String ACTION_EXPORT_SEL = "EXPORTSEL"; + public static final String ACTION_EXPORT_JAVA_SOURCE = "EXPORTJAVASOURCE"; + public static final String ACTION_EXPORT_SWF_XML = "EXPORTSWFXML"; + public static final String ACTION_IMPORT_SWF_XML = "IMPORTSWFXML"; + private static final String ACTION_EXPORT = "EXPORT"; + private static final String ACTION_IMPORT_TEXT = "IMPORTTEXT"; + private static final String ACTION_CHECK_UPDATES = "CHECKUPDATES"; + private static final String ACTION_HELP_US = "HELPUS"; + private static final String ACTION_HOMEPAGE = "HOMEPAGE"; + private static final String ACTION_RESTORE_CONTROL_FLOW = "RESTORECONTROLFLOW"; + private static final String ACTION_RESTORE_CONTROL_FLOW_ALL = "RESTORECONTROLFLOWALL"; + private static final String ACTION_RENAME_IDENTIFIERS = "RENAMEIDENTIFIERS"; + private static final String ACTION_DEOBFUSCATE = "DEOBFUSCATE"; + private static final String ACTION_DEOBFUSCATE_ALL = "DEOBFUSCATEALL"; + private static final String ACTION_REMOVE_NON_SCRIPTS = "REMOVENONSCRIPTS"; + private static final String ACTION_REFRESH_DECOMPILED = "REFRESHDECOMPILED"; + private static final String ACTION_CLEAR_RECENT_FILES = "CLEARRECENTFILES"; + private static final String ACTION_CHECK_RESOURCES = "CHECKRESOURCES"; + private static final String ACTION_VIEWMODE_RESOURCES = "VIEWMODERESOURCES"; + private static final String ACTION_VIEWMODE_HEX_DUMP = "VIEWMODEHEXDUMP"; + private static final String ACTION_DEOBFUSCATION_MODE_OLD = "DEOBFUSCATIONMODEOLD"; + private static final String ACTION_DEOBFUSCATION_MODE_NEW = "DEOBFUSCATIONMODENEW"; private final MainFrameRibbon mainFrame; private JCheckBox miAutoDeobfuscation; + private JCheckBox miInternalViewer; + private JCheckBox miParallelSpeedUp; + private JCheckBox miAssociate; + private JCheckBox miDecompile; + private JCheckBox miCacheDisk; + private JCheckBox miGotoMainClassOnStartup; + private JCheckBox miAutoRenameIdentifiers; + private JCommandButton saveCommandButton; + private JCommandButton saveasCommandButton; + private JCommandButton saveasexeCommandButton; + private JCommandButton exportAllCommandButton; + private JCommandButton exportFlaCommandButton; + private JCommandButton exportSelectionCommandButton; + private JCommandButton importTextCommandButton; + private JCommandToggleButton viewModeResourcesToggleButton; + private JCommandToggleButton viewModeHexToggleButton; + private JCommandToggleButton deobfuscationModeOldToggleButton; + private JCommandToggleButton deobfuscationModeNewToggleButton; private JCommandButton reloadCommandButton; + private JCommandButton renameInvalidCommandButton; + private JCommandButton globalRenameCommandButton; + private JCommandButton deobfuscationCommandButton; + private JCommandButton searchCommandButton; + private JCommandButton replaceCommandButton; + private JCommandToggleButton timeLineToggleButton; + private CommandToggleButtonGroup timeLineToggleGroup; + private JCommandButton gotoDocumentClassCommandButton; + private JCommandButton clearRecentFilesCommandButton; + private JCommandToggleButton debuggerSwitchCommandButton; + private CommandToggleButtonGroup debuggerSwitchGroup; + private JCommandButton debuggerReplaceTraceCommandButton; + private JCommandButton debuggerLogCommandButton; private CommandToggleButtonGroup viewModeToggleGroup; RibbonApplicationMenuEntryPrimary exportFlaMenu; + RibbonApplicationMenuEntryPrimary exportAllMenu; + RibbonApplicationMenuEntryPrimary exportSelMenu; + RibbonApplicationMenuEntryPrimary saveFileMenu; + RibbonApplicationMenuEntryPrimary saveAsFileMenu; + RibbonApplicationMenuEntryPrimary closeFileMenu; + RibbonApplicationMenuEntryPrimary closeAllFilesMenu; public MainFrameRibbonMenu(MainFrameRibbon mainFrame, JRibbon ribbon, boolean externalFlashPlayerUnavailable) { @@ -887,5 +976,4 @@ public class MainFrameRibbonMenu extends MainFrameMenu implements ActionListener break; } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MainFrameStatusPanel.java b/src/com/jpexs/decompiler/flash/gui/MainFrameStatusPanel.java index d077ce560..b248d0bfd 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainFrameStatusPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainFrameStatusPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -43,12 +43,17 @@ public class MainFrameStatusPanel extends JPanel implements ActionListener { private final MainPanel mainPanel; private final LoadingPanel loadingPanel = new LoadingPanel(20, 20); + private final JLabel statusLabel = new JLabel(""); + private final JButton cancelButton = new JButton(); + private JButton errorNotificationButton; private Icon currentIcon; + private Timer blinkTimer; + private int blinkPos; private CancellableWorker currentWorker; @@ -184,5 +189,4 @@ public class MainFrameStatusPanel extends JPanel implements ActionListener { }, 500, 500); } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 90d38e994..62d6e7dc0 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -194,52 +194,97 @@ import javax.swing.tree.TreePath; public final class MainPanel extends JPanel implements ActionListener, TreeSelectionListener, SearchListener, Freed { private final MainFrame mainFrame; + private final List swfs; + private ABCPanel abcPanel; + private ActionPanel actionPanel; + private final JPanel welcomePanel; + private final TimelineViewPanel timelineViewPanel; + private final MainFrameStatusPanel statusPanel; + private final MainFrameMenu mainMenu; + private final JProgressBar progressBar = new JProgressBar(0, 100); + private DeobfuscationDialog deobfuscationDialog; + public TagTree tagTree; + public DumpTree dumpTree; + private final FlashPlayerPanel flashPanel; + private final JPanel contentPanel; + private final JPanel displayPanel; + public FolderPreviewPanel folderPreviewPanel; + private boolean isWelcomeScreen = true; + private static final String CARDPREVIEWPANEL = "Preview card"; + private static final String CARDFOLDERPREVIEWPANEL = "Folder preview card"; + private static final String CARDEMPTYPANEL = "Empty card"; + private static final String CARDDUMPVIEW = "Dump view"; + private static final String CARDACTIONSCRIPTPANEL = "ActionScript card"; + private static final String CARDACTIONSCRIPT3PANEL = "ActionScript3 card"; + private static final String CARDHEADER = "Header card"; + private static final String DETAILCARDAS3NAVIGATOR = "Traits list"; + private static final String DETAILCARDEMPTYPANEL = "Empty card"; + private static final String SPLIT_PANE1 = "SPLITPANE1"; + private static final String WELCOME_PANEL = "WELCOMEPANEL"; + private static final String TIMELINE_PANEL = "TIMELINEPANEL"; + private final JSplitPane splitPane1; + private final JSplitPane splitPane2; + private boolean splitsInited = false; + private JPanel detailPanel; + private JTextField filterField = new MyTextField(""); + private JPanel searchPanel; + private final PreviewPanel previewPanel; + private final HeaderInfoPanel headerPanel; + private DumpViewPanel dumpViewPanel; + private final JPanel treePanel; + private TreePanelMode treePanelMode; + private AbortRetryIgnoreHandler errorHandler = new GuiAbortRetryIgnoreHandler(); + private CancellableWorker setSourceWorker; + public TreeItem oldItem; + private SearchDialog searchDialog; + private SearchDialog replaceDialog; public static final String ACTION_SELECT_BKCOLOR = "SELECTCOLOR"; + public static final String ACTION_REPLACE = "REPLACE"; // play morph shape in 2 second(s) @@ -1487,6 +1532,7 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec // "configuration items" for the current replace only private final ConfigurationItem showAgainImportError = new ConfigurationItem<>("showAgainImportError", true, true); + private final ConfigurationItem showAgainInvalidText = new ConfigurationItem<>("showAgainInvalidText", true, true); private String getTextTagInfo(TextTag textTag) { @@ -1883,6 +1929,7 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec // "configuration items" for the current replace only private final ConfigurationItem showAgainIgnoreMissingCharacters = new ConfigurationItem<>("showAgainIgnoreMissingCharacters", true, true); + private boolean ignoreMissingCharacters = false; @Override @@ -2169,7 +2216,9 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec } public static final int VIEW_RESOURCES = 0; + public static final int VIEW_DUMP = 1; + public static final int VIEW_TIMELINE = 2; private int getCurrentView() { diff --git a/src/com/jpexs/decompiler/flash/gui/ModeFrame.java b/src/com/jpexs/decompiler/flash/gui/ModeFrame.java index 2449290f9..5479aad23 100644 --- a/src/com/jpexs/decompiler/flash/gui/ModeFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/ModeFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -34,11 +34,15 @@ import javax.swing.JLabel; public class ModeFrame extends AppFrame implements ActionListener { private static final String ACTION_OPEN = "OPEN"; + private static final String ACTION_PROXY = "PROXY"; + private static final String ACTION_EXIT = "EXIT"; private final JButton openButton = new JButton(translate("button.open")); + private final JButton proxyButton = new JButton(translate("button.proxy")); + private final JButton exitButton = new JButton(translate("button.exit")); /** diff --git a/src/com/jpexs/decompiler/flash/gui/MyCommandButtonUI.java b/src/com/jpexs/decompiler/flash/gui/MyCommandButtonUI.java index ff06feeac..21254664d 100644 --- a/src/com/jpexs/decompiler/flash/gui/MyCommandButtonUI.java +++ b/src/com/jpexs/decompiler/flash/gui/MyCommandButtonUI.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -90,5 +90,4 @@ public class MyCommandButtonUI extends SubstanceCommandButtonUI { }; this.commandButton.addActionListener(disposePopupsActionListener); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MyResizableIcon.java b/src/com/jpexs/decompiler/flash/gui/MyResizableIcon.java index 4f54fe546..773ea78b3 100644 --- a/src/com/jpexs/decompiler/flash/gui/MyResizableIcon.java +++ b/src/com/jpexs/decompiler/flash/gui/MyResizableIcon.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -32,6 +32,7 @@ import org.pushingpixels.flamingo.internal.utils.FlamingoUtilities; public class MyResizableIcon implements Icon { protected BufferedImage originalImage; + protected Map cachedImages = new HashMap<>(); public MyResizableIcon(BufferedImage originalImage) { @@ -41,7 +42,9 @@ public class MyResizableIcon implements Icon { } protected int width; + protected int height; + protected BufferedImage image; public void setDimension(Dimension dim) { @@ -91,5 +94,4 @@ public class MyResizableIcon implements Icon { public int getIconHeight() { return height; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/MyRibbonApplicationMenuButtonUI.java b/src/com/jpexs/decompiler/flash/gui/MyRibbonApplicationMenuButtonUI.java index eabc96a9a..b27d093be 100644 --- a/src/com/jpexs/decompiler/flash/gui/MyRibbonApplicationMenuButtonUI.java +++ b/src/com/jpexs/decompiler/flash/gui/MyRibbonApplicationMenuButtonUI.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -45,8 +45,11 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB ActionPopupTransitionAwareUI { private MyResizableIcon hoverIcon = null; + private MyResizableIcon clickIcon = null; + private MyResizableIcon normalIcon = null; + private final boolean buttonResized = false; public MyResizableIcon getClickIcon() { @@ -64,6 +67,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB * Model change listener for ghost image effects. */ private GhostingListener substanceModelChangeListener; + /** * Tracker for visual state transitions. */ @@ -75,7 +79,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see org.jvnet.flamingo.common.ui.BasicCommandButtonUI#installListeners() */ @Override @@ -92,7 +96,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see * org.jvnet.flamingo.common.ui.BasicCommandButtonUI#uninstallListeners() */ @@ -118,7 +122,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see javax.swing.plaf.basic.BasicButtonUI#paint(java.awt.Graphics, * javax.swing.JComponent) */ @@ -163,7 +167,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see * org.jvnet.flamingo.common.ui.BasicCommandButtonUI#paintButtonIcon(java * .awt.Graphics, java.awt.Rectangle) @@ -182,7 +186,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see * org.jvnet.flamingo.ribbon.ui.appmenu.BasicRibbonApplicationMenuButtonUI * #update(java.awt.Graphics, javax.swing.JComponent) @@ -194,7 +198,7 @@ public class MyRibbonApplicationMenuButtonUI extends BasicRibbonApplicationMenuB /* * (non-Javadoc) - * + * * @see * org.jvnet.substance.SubstanceButtonUI#contains(javax.swing.JComponent, * int, int) diff --git a/src/com/jpexs/decompiler/flash/gui/NewVersionDialog.java b/src/com/jpexs/decompiler/flash/gui/NewVersionDialog.java index d983ecb3c..390b079f7 100644 --- a/src/com/jpexs/decompiler/flash/gui/NewVersionDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/NewVersionDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -47,6 +47,7 @@ import javax.swing.UIManager; public class NewVersionDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; private Version latestVersion; diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index cf26a5429..03d47c21c 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -102,38 +102,52 @@ import javax.swing.SwingConstants; public class PreviewPanel extends JSplitPane implements ActionListener { private static final String FLASH_VIEWER_CARD = "FLASHVIEWER"; + private static final String DRAW_PREVIEW_CARD = "DRAWPREVIEW"; + private static final String GENERIC_TAG_CARD = "GENERICTAG"; + private static final String BINARY_TAG_CARD = "BINARYTAG"; private static final String CARDTEXTPANEL = "Text card"; + private static final String CARDFONTPANEL = "Font card"; private static final String ACTION_EDIT_GENERIC_TAG = "EDITGENERICTAG"; + private static final String ACTION_SAVE_GENERIC_TAG = "SAVEGENERICTAG"; + private static final String ACTION_CANCEL_GENERIC_TAG = "CANCELGENERICTAG"; private static final String ACTION_PREV_FONTS = "PREVFONTS"; + private static final String ACTION_NEXT_FONTS = "NEXTFONTS"; private final MainPanel mainPanel; + private final JPanel viewerCards; private final FlashPlayerPanel flashPanel; + private File tempFile; private ImagePanel imagePanel; + private PlayerControls imagePlayControls; + private MediaDisplay media; private BinaryPanel binaryPanel; + private GenericTagPanel genericTagPanel; private JPanel displayWithPreview; // Image tag buttons private JButton replaceImageButton; + private JButton prevFontsButton; + private JButton nextFontsButton; // Binary tag buttons @@ -141,12 +155,17 @@ public class PreviewPanel extends JSplitPane implements ActionListener { // Generic tag buttons private JButton editButton; + private JButton saveButton; + private JButton cancelButton; private JPanel parametersPanel; + private FontPanel fontPanel; + private int fontPageNum; + private TextPanel textPanel; private boolean splitsInited; diff --git a/src/com/jpexs/decompiler/flash/gui/QuickFindPanel.java b/src/com/jpexs/decompiler/flash/gui/QuickFindPanel.java index cfdefd992..3dfbb25ea 100644 --- a/src/com/jpexs/decompiler/flash/gui/QuickFindPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/QuickFindPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -48,13 +48,19 @@ import jsyntaxpane.components.Markers; public class QuickFindPanel extends JPanel implements ActionListener { public JTextField findTextField; + public JButton prevButton, nextButton; + public JCheckBox ignoreCaseCheckbox, regExpCheckbox, wrapCheckbox; + public JLabel statusLabel; private final Markers.SimpleMarker marker = new Markers.SimpleMarker(Color.pink); + private WeakReference target; + private WeakReference dsd; + private int oldCaretPosition; public QuickFindPanel() { @@ -235,7 +241,7 @@ public class QuickFindPanel extends JPanel implements ActionListener { /* @Override public void focusGained(FocusEvent e) { - + } @Override @@ -245,5 +251,4 @@ public class QuickFindPanel extends JPanel implements ActionListener { getParent().revalidate(); getParent().repaint(); }*/ - } diff --git a/src/com/jpexs/decompiler/flash/gui/RecentFilesButton.java b/src/com/jpexs/decompiler/flash/gui/RecentFilesButton.java index 93e06ecb5..6b83ec459 100644 --- a/src/com/jpexs/decompiler/flash/gui/RecentFilesButton.java +++ b/src/com/jpexs/decompiler/flash/gui/RecentFilesButton.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -30,5 +30,4 @@ public class RecentFilesButton extends JCommandButton { public RecentFilesButton(String title, ResizableIcon icon) { super(title, icon); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/RenameDialog.java b/src/com/jpexs/decompiler/flash/gui/RenameDialog.java index 24fc37578..3c1d4ba1e 100644 --- a/src/com/jpexs/decompiler/flash/gui/RenameDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/RenameDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -37,12 +37,17 @@ import javax.swing.JRadioButton; public class RenameDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; private final JRadioButton typeNumberRadioButton = new JRadioButton(translate("rename.type.typenumber")); + private final JRadioButton randomWordRadioButton = new JRadioButton(translate("rename.type.randomword")); + private final JButton okButton = new JButton(translate("button.ok")); + private final JButton cancelButton = new JButton(translate("button.cancel")); + private boolean confirmed = false; public RenameType getRenameType() { diff --git a/src/com/jpexs/decompiler/flash/gui/ReplaceTraceDialog.java b/src/com/jpexs/decompiler/flash/gui/ReplaceTraceDialog.java index d729fab42..e52e98f01 100644 --- a/src/com/jpexs/decompiler/flash/gui/ReplaceTraceDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/ReplaceTraceDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -34,7 +34,9 @@ import javax.swing.JRadioButton; public class ReplaceTraceDialog extends AppDialog { private JRadioButton debugAlertRadio; + private JRadioButton debugConsoleRadio; + private JRadioButton debugSocketRadio; private String value = null; @@ -120,5 +122,4 @@ public class ReplaceTraceDialog extends AppDialog { View.centerScreen(this); setValue(defaultVal); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/SearchDialog.java b/src/com/jpexs/decompiler/flash/gui/SearchDialog.java index 30db638ab..f5f58349c 100644 --- a/src/com/jpexs/decompiler/flash/gui/SearchDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/SearchDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -45,15 +45,23 @@ import javax.swing.JTextField; public class SearchDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; public JTextField searchField = new MyTextField(); + public JTextField replaceField = new MyTextField(); + public JCheckBox ignoreCaseCheckBox = new JCheckBox(translate("checkbox.ignorecase")); + public JCheckBox regexpCheckBox = new JCheckBox(translate("checkbox.regexp")); + public JCheckBox replaceInParametersCheckBox = new JCheckBox(translate("checkbox.replaceInParameters")); + public JRadioButton searchInASRadioButton = new JRadioButton(translate("checkbox.searchAS")); + public JRadioButton searchInTextsRadioButton = new JRadioButton(translate("checkbox.searchText")); + public boolean result = false; public SearchDialog(Window owner, boolean replace) { diff --git a/src/com/jpexs/decompiler/flash/gui/SearchPanel.java b/src/com/jpexs/decompiler/flash/gui/SearchPanel.java index 04671907f..cd11f180c 100644 --- a/src/com/jpexs/decompiler/flash/gui/SearchPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/SearchPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,17 +36,25 @@ import jsyntaxpane.actions.DocumentSearchData; public class SearchPanel extends JPanel implements ActionListener { private static final String ACTION_SEARCH_PREV = "SEARCHPREV"; + private static final String ACTION_SEARCH_NEXT = "SEARCHNEXT"; + private static final String ACTION_SEARCH_CANCEL = "SEARCHCANCEL"; private final SearchListener listener; private final JLabel searchPos; + private int foundPos = 0; + private final JLabel searchForLabel; + private String searchFor; + private boolean searchIgnoreCase; + private boolean searchRegexp; + private List found = new ArrayList<>(); public SearchPanel(LayoutManager lm, SearchListener listener) { diff --git a/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java b/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java index ccc0bc5ce..3fdc22ee7 100644 --- a/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/SearchResultsDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -40,13 +40,17 @@ import javax.swing.JScrollPane; public class SearchResultsDialog extends AppDialog implements ActionListener { private final JList resultsList; + private final DefaultListModel model; + private final SearchListener listener; private static final String ACTION_GOTO = "GOTO"; + private static final String ACTION_CANCEL = "CLOSE"; private final JButton gotoButton = new JButton(translate("button.goto")); + private final JButton closeButton = new JButton(translate("button.close")); public SearchResultsDialog(Window owner, String text, SearchListener listener) { @@ -118,5 +122,4 @@ public class SearchResultsDialog extends AppDialog implements ActionListener }); } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/SelectLanguageDialog.java b/src/com/jpexs/decompiler/flash/gui/SelectLanguageDialog.java index 1a81eb865..fd92b9f04 100644 --- a/src/com/jpexs/decompiler/flash/gui/SelectLanguageDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/SelectLanguageDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -39,10 +39,13 @@ import jsyntaxpane.DefaultSyntaxKit; public class SelectLanguageDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; JComboBox languageCombobox = new JComboBox<>(); + public String languageCode = null; + public static final String[] languages = new String[]{"en", "ca", "cs", "zh", "de", "es", "fr", "hu", "nl", "pl", "pt", "pt-BR", "ru", "sv", "uk"}; public SelectLanguageDialog() { diff --git a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java index 41e275eed..66ab30ccf 100644 --- a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java +++ b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -48,9 +48,13 @@ public class SoundTagPlayer implements MediaDisplay { private final Clip clip; private int loopCount; + private boolean paused = false; + private final Object playLock = new Object(); + private final SoundTag tag; + private final List listeners = new ArrayList<>(); public void addListener(PlayerListener l) { diff --git a/src/com/jpexs/decompiler/flash/gui/SwfInMemory.java b/src/com/jpexs/decompiler/flash/gui/SwfInMemory.java index 450f1b7da..cd3c9bbf4 100644 --- a/src/com/jpexs/decompiler/flash/gui/SwfInMemory.java +++ b/src/com/jpexs/decompiler/flash/gui/SwfInMemory.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,8 +26,11 @@ import java.util.ResourceBundle; public class SwfInMemory { public ReReadableInputStream is; + public int version; + public long fileSize; + public com.jpexs.process.Process process; public SwfInMemory(ReReadableInputStream is, int version, long fileSize, com.jpexs.process.Process process) { diff --git a/src/com/jpexs/decompiler/flash/gui/TextPanel.java b/src/com/jpexs/decompiler/flash/gui/TextPanel.java index bf34d1990..f36f2aae1 100644 --- a/src/com/jpexs/decompiler/flash/gui/TextPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/TextPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,14 +44,21 @@ import jsyntaxpane.DefaultSyntaxKit; public class TextPanel extends JPanel implements ActionListener { private static final String ACTION_EDIT_TEXT = "EDITTEXT"; + private static final String ACTION_CANCEL_TEXT = "CANCELTEXT"; + private static final String ACTION_SAVE_TEXT = "SAVETEXT"; private final MainPanel mainPanel; + private final SearchPanel textSearchPanel; + private final LineMarkedEditorPane textValue; + private final JButton textSaveButton; + private final JButton textEditButton; + private final JButton textCancelButton; public TextPanel(final MainPanel mainPanel) { diff --git a/src/com/jpexs/decompiler/flash/gui/View.java b/src/com/jpexs/decompiler/flash/gui/View.java index 59620ad11..3b1f6ae30 100644 --- a/src/com/jpexs/decompiler/flash/gui/View.java +++ b/src/com/jpexs/decompiler/flash/gui/View.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -99,12 +99,15 @@ import org.pushingpixels.substance.internal.utils.SubstanceColorSchemeUtilities; public class View { public static final Color DEFAULT_BACKGROUND_COLOR = new Color(217, 231, 250); + public static Color swfBackgroundColor = DEFAULT_BACKGROUND_COLOR; private static final BufferedImage transparentTexture; + public static final TexturePaint transparentPaint; private static final Color transparentColor1 = new Color(0x99, 0x99, 0x99); + private static final Color transparentColor2 = new Color(0x66, 0x66, 0x66); static { @@ -160,10 +163,15 @@ public class View { private final FontSet fontSet = new FontSet() { private FontUIResource controlFont; + private FontUIResource menuFont; + private FontUIResource titleFont; + private FontUIResource windowTitleFont; + private FontUIResource smallFont; + private FontUIResource messageFont; @Override @@ -305,7 +313,9 @@ public class View { public static ImageIcon getIcon(String name) { return new ImageIcon(View.class.getClassLoader().getResource("com/jpexs/decompiler/flash/gui/graphics/" + name + ".png")); } + private static final KeyStroke escapeStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); + private static final String dispatchWindowClosingActionMapKey = "com.jpexs.dispatch:WINDOW_CLOSING"; public static void installEscapeCloseOperation(final JDialog dialog) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCComboBoxModel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCComboBoxModel.java index 5c441037c..cdd1fea2a 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCComboBoxModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCComboBoxModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -25,7 +25,9 @@ import javax.swing.event.ListDataListener; public class ABCComboBoxModel implements ComboBoxModel { public List list; + public int itemIndex = 0; + public static final ABCContainerTag ROOT = new RootABCContainerTag(); public ABCComboBoxModel(List list) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index 94e1eb30e..cd81e4eeb 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -114,32 +114,53 @@ import jsyntaxpane.TokenType; public class ABCPanel extends JPanel implements ItemListener, ActionListener, SearchListener, Freed { private MainPanel mainPanel; + public TraitsList navigator; + public ABC abc; + public JComboBox abcComboBox; + public DecompiledEditorPane decompiledTextArea; + public JScrollPane decompiledScrollPane; + public JSplitPane splitPane; + //public JSplitPane splitPaneTreeVSNavigator; //public JSplitPane splitPaneTreeNavVSDecompiledDetail; private JTable constantTable; + public JComboBox constantTypeList; + public JLabel asmLabel = new HeaderLabel(AppStrings.translate("panel.disassembled")); + public JLabel decLabel = new HeaderLabel(AppStrings.translate("panel.decompiled")); + public DetailPanel detailPanel; + public JPanel navPanel; + public JTabbedPane tabbedPane; + public SearchPanel searchPanel; + private NewTraitDialog newTraitDialog; + public JLabel scriptNameLabel; private static final String ACTION_SAVE_DECOMPILED = "SAVEDECOMPILED"; + private static final String ACTION_EDIT_DECOMPILED = "EDITDECOMPILED"; + private static final String ACTION_CANCEL_DECOMPILED = "CANCELDECOMPILED"; public JLabel experimentalLabel = new JLabel(AppStrings.translate("action.edit.experimental")); + public JButton editDecompiledButton = new JButton(AppStrings.translate("button.edit"), View.getIcon("edit16")); + public JButton saveDecompiledButton = new JButton(AppStrings.translate("button.save"), View.getIcon("save16")); + public JButton cancelDecompiledButton = new JButton(AppStrings.translate("button.cancel"), View.getIcon("cancel16")); private static final String ACTION_ADD_TRAIT = "ADDTRAIT"; @@ -634,7 +655,6 @@ public class ABCPanel extends JPanel implements ItemListener, ActionListener, Se decompiledTextArea.setCursor(Cursor.getDefaultCursor()); } } - } public void reload() { @@ -709,8 +729,11 @@ public class ABCPanel extends JPanel implements ItemListener, ActionListener, Se } public String lastDecompiled = null; + public boolean directEditing = false; + private int detWidth = 0; + private int detsp = 0; public void setDecompiledEditMode(boolean val) { @@ -807,7 +830,7 @@ public class ABCPanel extends JPanel implements ItemListener, ActionListener, Se decompiledTextArea.markError(); View.showMessageDialog(this, AppStrings.translate("error.action.save").replace("%error%", ex.text).replace("%line%", Long.toString(ex.line)), AppStrings.translate("error"), JOptionPane.ERROR_MESSAGE); } catch (IOException | InterruptedException ex) { - //ignore + //ignore } break; case ACTION_ADD_TRAIT: @@ -913,5 +936,4 @@ public class ABCPanel extends JPanel implements ItemListener, ActionListener, Se break; } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanelSearchResult.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanelSearchResult.java index b39f7a91b..4ddc79c3b 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanelSearchResult.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanelSearchResult.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,11 +26,11 @@ import com.jpexs.decompiler.flash.abc.ScriptPack; public class ABCPanelSearchResult { public ScriptPack scriptPack; + public ClassPath classPath; @Override public String toString() { return classPath.toString(); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ASMSourceEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/ASMSourceEditorPane.java index ff3b248d5..e65b60ebb 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ASMSourceEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ASMSourceEditorPane.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -49,16 +49,27 @@ import javax.swing.event.CaretListener; public class ASMSourceEditorPane extends LineMarkedEditorPane implements CaretListener { public ABC abc; + public int bodyIndex = -1; + private List disassembledHilights = new ArrayList<>(); + private List specialHilights = new ArrayList<>(); + private final DecompiledEditorPane decompiledEditor; + private boolean ignoreCarret = false; + private String name; + private HighlightedText textWithHex; + private HighlightedText textNoHex; + private HighlightedText textHexOnly; + private ScriptExportMode exportMode = ScriptExportMode.PCODE; + private Trait trait; public ABCPanel getAbcPanel() { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ClassesListTreeModel.java b/src/com/jpexs/decompiler/flash/gui/abc/ClassesListTreeModel.java index e55f536ed..594ea55ff 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ClassesListTreeModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ClassesListTreeModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,8 +36,11 @@ import javax.swing.tree.TreePath; public class ClassesListTreeModel extends AS3ClassTreeItem implements TreeModel { private SWF swf; + private List> list; + private AS3Package root; + private final List listeners = new ArrayList<>(); public List> getList() { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ConstantsListModel.java b/src/com/jpexs/decompiler/flash/gui/abc/ConstantsListModel.java index 32414a693..7e4f46d8b 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ConstantsListModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ConstantsListModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -25,14 +25,23 @@ import javax.swing.event.ListDataListener; public class ConstantsListModel implements ListModel { private final AVM2ConstantPool constants; + public static final int TYPE_UINT = 0; + public static final int TYPE_INT = 1; + public static final int TYPE_DOUBLE = 2; + public static final int TYPE_DECIMAL = 3; + public static final int TYPE_STRING = 4; + public static final int TYPE_NAMESPACE = 5; + public static final int TYPE_NAMESPACESET = 6; + public static final int TYPE_MULTINAME = 7; + private int type = TYPE_INT; public ConstantsListModel(AVM2ConstantPool constants, int type) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java index bd56f2e4d..e240d47b2 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -55,18 +55,31 @@ import jsyntaxpane.TokenType; public class DecompiledEditorPane extends LineMarkedEditorPane implements CaretListener { private List highlights = new ArrayList<>(); + private List specialHighlights = new ArrayList<>(); + private List traitHighlights = new ArrayList<>(); + private List methodHighlights = new ArrayList<>(); + private List classHighlights = new ArrayList<>(); + private Highlighting currentMethodHighlight; + private Highlighting currentTraitHighlight; + private ScriptPack script; + public int lastTraitIndex = 0; + public boolean ignoreCarret = false; + private boolean reset = false; + private final ABCPanel abcPanel; + private int classIndex = -1; + private boolean isStatic = false; private final List scriptListeners = new ArrayList<>(); diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DeobfuscationDialog.java b/src/com/jpexs/decompiler/flash/gui/abc/DeobfuscationDialog.java index cf655b2a8..2bd53f225 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DeobfuscationDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DeobfuscationDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -39,13 +39,19 @@ import javax.swing.JSlider; public class DeobfuscationDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; public JCheckBox processAllCheckbox = new JCheckBox(translate("processallclasses")); + public JSlider codeProcessingLevel; + public boolean ok = false; + public static final int LEVEL_REMOVE_DEAD_CODE = 1; + public static final int LEVEL_REMOVE_TRAPS = 2; + public static final int LEVEL_RESTORE_CONTROL_FLOW = 3; @SuppressWarnings("unchecked") diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java index c698c693f..e097abc8d 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,25 +44,43 @@ import javax.swing.border.BevelBorder; public class DetailPanel extends JPanel implements ActionListener { private static final String ACTION_SAVE_DETAIL = "SAVEDETAIL"; + private static final String ACTION_EDIT_DETAIL = "EDITDETAIL"; + private static final String ACTION_CANCEL_DETAIL = "CANCELDETAIL"; public MethodTraitDetailPanel methodTraitPanel; + public JPanel unsupportedTraitPanel; + public SlotConstTraitDetailPanel slotConstTraitPanel; + public static final String METHOD_TRAIT_CARD = AppStrings.translate("abc.detail.methodtrait"); + public static final String UNSUPPORTED_TRAIT_CARD = AppStrings.translate("abc.detail.unsupported"); + public static final String SLOT_CONST_TRAIT_CARD = AppStrings.translate("abc.detail.slotconsttrait"); + private final JPanel innerPanel; + public JButton saveButton = new JButton(AppStrings.translate("button.save"), View.getIcon("save16")); + public JButton editButton = new JButton(AppStrings.translate("button.edit"), View.getIcon("edit16")); + public JButton cancelButton = new JButton(AppStrings.translate("button.cancel"), View.getIcon("cancel16")); + private final HashMap cardMap = new HashMap<>(); + private String selectedCard; + private final JLabel selectedLabel; + private boolean editMode = false; + private final JPanel buttonsPanel; + private final ABCPanel abcPanel; + private final JLabel traitNameLabel; public DetailPanel(ABCPanel abcPanel) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/IconListRenderer.java b/src/com/jpexs/decompiler/flash/gui/abc/IconListRenderer.java index 1558931a0..9bd740357 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/IconListRenderer.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/IconListRenderer.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -28,7 +28,9 @@ import javax.swing.JList; public class IconListRenderer extends DefaultListCellRenderer { private final Icon constIcon; + private final Icon functionIcon; + private final Icon variableIcon; private Icon loadIcon(String path) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/LineMarkedEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/LineMarkedEditorPane.java index 6602d06e4..808f755c4 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/LineMarkedEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/LineMarkedEditorPane.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -54,7 +54,9 @@ import jsyntaxpane.actions.ActionUtils; public class LineMarkedEditorPane extends UndoFixedEditorPane implements LinkHandler { private static final int truncateLimit = 2 * 1024 * 1024; + private int lastLine = -1; + private boolean error = false; public int getLine() { @@ -141,13 +143,17 @@ public class LineMarkedEditorPane extends UndoFixedEditorPane implements LinkHan } }); } + private Token lastUnderlined = null; + private static final HighlightPainter underLinePainter = new UnderLinePainter(new Color(0, 0, 255)); + private LinkHandler linkHandler = this; private class LinkAdapter extends MouseAdapter implements KeyListener { private Point lastPos = new Point(0, 0); + private boolean ctrlDown = false; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/MethodCodePanel.java b/src/com/jpexs/decompiler/flash/gui/abc/MethodCodePanel.java index 123ac2f39..bc41cea72 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/MethodCodePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/MethodCodePanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -41,12 +41,17 @@ import javax.swing.JToggleButton; public class MethodCodePanel extends JPanel implements ActionListener { private static final String ACTION_GRAPH = "GRAPH"; + private static final String ACTION_HEX = "HEX"; + private static final String ACTION_HEX_ONLY = "HEXONLY"; private final ASMSourceEditorPane sourceTextArea; + public JPanel buttonsPanel; + private final JToggleButton hexButton; + private final JToggleButton hexOnlyButton; public void focusEditor() { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/MethodTraitDetailPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/MethodTraitDetailPanel.java index 85695b149..2d78094ca 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/MethodTraitDetailPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/MethodTraitDetailPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -26,6 +26,7 @@ import javax.swing.JPanel; public class MethodTraitDetailPanel extends JPanel implements TraitDetail { public MethodCodePanel methodCodePanel; + public ABCPanel abcPanel; public MethodTraitDetailPanel(ABCPanel abcPanel) { @@ -48,6 +49,7 @@ public class MethodTraitDetailPanel extends JPanel implements TraitDetail { public void setEditMode(boolean val) { methodCodePanel.setEditMode(val); } + private boolean active = false; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/MyMarkers.java b/src/com/jpexs/decompiler/flash/gui/abc/MyMarkers.java index 091126252..8ff42a390 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/MyMarkers.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/MyMarkers.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -124,5 +124,4 @@ public class MyMarkers { markText(pane, matcher.start(), matcher.end(), marker); } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/NewTraitDialog.java b/src/com/jpexs/decompiler/flash/gui/abc/NewTraitDialog.java index 6f90d8ecf..adb3895e0 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/NewTraitDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/NewTraitDialog.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,6 +44,7 @@ import javax.swing.event.AncestorListener; public class NewTraitDialog extends AppDialog implements ActionListener { private static final String ACTION_OK = "OK"; + private static final String ACTION_CANCEL = "CANCEL"; private static final int modifiers[] = new int[]{ @@ -55,6 +56,7 @@ public class NewTraitDialog extends AppDialog implements ActionListener { Namespace.KIND_EXPLICIT, Namespace.KIND_STATIC_PROTECTED }; + private static final int types[] = new int[]{ Trait.TRAIT_METHOD, Trait.TRAIT_GETTER, @@ -62,9 +64,13 @@ public class NewTraitDialog extends AppDialog implements ActionListener { Trait.TRAIT_CONST, Trait.TRAIT_SLOT }; + private final JComboBox accessComboBox; + private final JComboBox typeComboBox; + private final JCheckBox staticCheckbox; + private final JTextField nameField; public boolean getStatic() { @@ -156,6 +162,7 @@ public class NewTraitDialog extends AppDialog implements ActionListener { setVisible(true); return result; } + private boolean result = false; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/RootABCContainerTag.java b/src/com/jpexs/decompiler/flash/gui/abc/RootABCContainerTag.java index 6819ce1e1..4c96d00e0 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/RootABCContainerTag.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/RootABCContainerTag.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -48,5 +48,4 @@ public class RootABCContainerTag implements ABCContainerTag { public String toString() { return " - all - "; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/SlotConstTraitDetailPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/SlotConstTraitDetailPanel.java index a1d902840..7d28bfe83 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/SlotConstTraitDetailPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/SlotConstTraitDetailPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -47,10 +47,15 @@ import javax.swing.event.CaretListener; public class SlotConstTraitDetailPanel extends JPanel implements TraitDetail { public JEditorPane slotConstEditor; + private ABC abc; + private TraitSlotConst trait; + private boolean showWarning = false; + private List specialHilights; + private boolean ignoreCaret = false; public SlotConstTraitDetailPanel(final DecompiledEditorPane editor) { @@ -134,6 +139,7 @@ public class SlotConstTraitDetailPanel extends JPanel implements TraitDetail { } slotConstEditor.setEditable(val); } + private boolean active = false; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java index 826af309a..a297d8dbf 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -31,8 +31,11 @@ import javax.swing.event.ListSelectionListener; public class TraitsList extends JList implements ListSelectionListener { private ABC abc; + private int classIndex = -1; + private final ABCPanel abcPanel; + private boolean sorted = false; public void setSorted(boolean sorted) { @@ -82,6 +85,7 @@ public class TraitsList extends JList implements ListSelectionListener { } } } + private int lastSelected = -1; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java index ff63c0601..b437760e0 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,12 +36,19 @@ import java.util.logging.Logger; public class TraitsListItem { private final Type type; + private final boolean isStatic; + private final ABC abc; + private final int classIndex; + private final int index; + private final int scriptIndex; + public String STR_INSTANCE_INITIALIZER = AppStrings.translate("abc.traitslist.instanceinitializer"); + public String STR_CLASS_INITIALIZER = AppStrings.translate("abc.traitslist.classinitializer"); public TraitsListItem(Type type, int index, boolean isStatic, ABC abc, int classIndex, int scriptIndex) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java index 37d09441e..7002f05ea 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -27,8 +27,11 @@ import javax.swing.event.ListDataListener; public final class TraitsListModel implements ListModel { private List items; + private final ABC abc; + private final int classIndex; + private final int scriptIndex; public void setSorted(boolean sorted) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/UndoFixedEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/UndoFixedEditorPane.java index bc271e201..3a1254fe2 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/UndoFixedEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/UndoFixedEditorPane.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -37,6 +37,7 @@ import jsyntaxpane.SyntaxDocument; public class UndoFixedEditorPane extends JEditorPane { private static final Object setTextLock = new Object(); + private String originalContentType; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java index ac12ac8fb..812158662 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -47,12 +47,17 @@ import javax.swing.JScrollPane; public class UsageFrame extends AppDialog implements ActionListener, MouseListener { private static final String ACTION_GOTO = "GOTO"; + private static final String ACTION_CANCEL = "CANCEL"; private final JButton gotoButton = new JButton(translate("button.goto")); + private final JButton cancelButton = new JButton(translate("button.cancel")); + private final JList usageList; + private final UsageListModel usageListModel; + private final ABCPanel abcPanel; public UsageFrame(ABC abc, int multinameIndex, ABCPanel abcPanel, boolean definitions) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DecimalTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DecimalTableModel.java index a500f9441..b0768c96f 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DecimalTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DecimalTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class DecimalTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Value"}; + private static final Class[] classes = new Class[]{Long.class, String.class}; public DecimalTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DoubleTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DoubleTableModel.java index 92941dda7..20981088c 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DoubleTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/DoubleTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class DoubleTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Value"}; + private static final Class[] classes = new Class[]{Long.class, String.class}; public DoubleTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/IntTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/IntTableModel.java index 9f1f587f8..67131a2c6 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/IntTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/IntTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class IntTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Value"}; + private static final Class[] classes = new Class[]{Long.class, Long.class}; public IntTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java index e4b7e3e57..c8112cbf2 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -24,7 +24,9 @@ import javax.swing.table.TableModel; public class MultinameTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Kind", "Name", "Namespace", "NamespaceSet"}; + private static final Class[] classes = new Class[]{Long.class, String.class, String.class, String.class, String.class}; public MultinameTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceSetTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceSetTableModel.java index 76f276d69..d3ff1c5a0 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceSetTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceSetTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class NamespaceSetTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "NameSpaces"}; + private static final Class[] classes = new Class[]{Long.class, String.class, String.class}; public NamespaceSetTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceTableModel.java index fb468165c..ac0d16d04 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/NamespaceTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class NamespaceTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Kind", "Name"}; + private static final Class[] classes = new Class[]{Long.class, String.class, String.class}; public NamespaceTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/StringTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/StringTableModel.java index 385f5bd8d..8096332cd 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/StringTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/StringTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class StringTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Value"}; + private static final Class[] classes = new Class[]{Long.class, String.class}; public StringTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/UIntTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/UIntTableModel.java index a5da5437a..5a2866420 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/UIntTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/UIntTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -23,7 +23,9 @@ import javax.swing.table.TableModel; public class UIntTableModel implements TableModel { private final ABC abc; + private static final String[] columnNames = new String[]{"Index", "Value"}; + private static final Class[] classes = new Class[]{Long.class, Long.class}; public UIntTableModel(ABC abc) { diff --git a/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java b/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java index c53b2aabe..92234c2f8 100644 --- a/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/action/ActionPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -91,44 +91,81 @@ import jsyntaxpane.actions.ActionUtils; public class ActionPanel extends JPanel implements ActionListener, SearchListener { private static final String ACTION_GRAPH = "GRAPH"; + private static final String ACTION_HEX = "HEX"; + private static final String ACTION_HEX_ONLY = "HEXONLY"; + private static final String ACTION_SAVE_ACTION = "SAVEACTION"; + private static final String ACTION_EDIT_ACTION = "EDITACTION"; + private static final String ACTION_CANCEL_ACTION = "CANCELACTION"; + private static final String ACTION_SAVE_DECOMPILED = "SAVEDECOMPILED"; + private static final String ACTION_EDIT_DECOMPILED = "EDITDECOMPILED"; + private static final String ACTION_CANCEL_DECOMPILED = "CANCELDECOMPILED"; private MainPanel mainPanel; + public LineMarkedEditorPane editor; + public LineMarkedEditorPane decompiledEditor; + public JSplitPane splitPane; + public JButton saveButton = new JButton(AppStrings.translate("button.save"), View.getIcon("save16")); + public JButton editButton = new JButton(AppStrings.translate("button.edit"), View.getIcon("edit16")); + public JButton cancelButton = new JButton(AppStrings.translate("button.cancel"), View.getIcon("cancel16")); + public JLabel experimentalLabel = new JLabel(AppStrings.translate("action.edit.experimental")); + public JButton editDecompiledButton = new JButton(AppStrings.translate("button.edit"), View.getIcon("edit16")); + public JButton saveDecompiledButton = new JButton(AppStrings.translate("button.save"), View.getIcon("save16")); + public JButton cancelDecompiledButton = new JButton(AppStrings.translate("button.cancel"), View.getIcon("cancel16")); + public JToggleButton hexButton; + public JToggleButton hexOnlyButton; + public JLabel asmLabel = new HeaderLabel(AppStrings.translate("panel.disassembled")); + public JLabel decLabel = new HeaderLabel(AppStrings.translate("panel.decompiled")); + public List decompiledHilights = new ArrayList<>(); + public List disassembledHilights = new ArrayList<>(); + private boolean ignoreCarret = false; + private boolean editMode = false; + private boolean editDecompiledMode = false; + private ActionList lastCode; + private ASMSource src; + public JPanel topButtonsPan; + private HighlightedText srcWithHex; + private HighlightedText srcNoHex; + private HighlightedText srcHexOnly; + private String lastDecompiled = ""; + private ASMSource lastASM; + public SearchPanel searchPanel; + private CancellableWorker setSourceWorker; public void clearSource() { @@ -348,6 +385,7 @@ public class ActionPanel extends JPanel implements ActionListener, SearchListene private DisassemblyListener getDisassemblyListener() { DisassemblyListener listener = new DisassemblyListener() { int percent = 0; + String phase = ""; private void progress(String phase, long pos, long total) { diff --git a/src/com/jpexs/decompiler/flash/gui/action/ActionSearchResult.java b/src/com/jpexs/decompiler/flash/gui/action/ActionSearchResult.java index 49a34e46d..41a53132a 100644 --- a/src/com/jpexs/decompiler/flash/gui/action/ActionSearchResult.java +++ b/src/com/jpexs/decompiler/flash/gui/action/ActionSearchResult.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -25,6 +25,7 @@ import com.jpexs.decompiler.flash.tags.base.ASMSource; public class ActionSearchResult { public ASMSource src; + public String path; public ActionSearchResult(ASMSource src, String path) { @@ -36,5 +37,4 @@ public class ActionSearchResult { public String toString() { return path; } - } diff --git a/src/com/jpexs/decompiler/flash/gui/debugger/Debugger.java b/src/com/jpexs/decompiler/flash/gui/debugger/Debugger.java index dcb48af4e..c25dcf063 100644 --- a/src/com/jpexs/decompiler/flash/gui/debugger/Debugger.java +++ b/src/com/jpexs/decompiler/flash/gui/debugger/Debugger.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -48,9 +48,13 @@ public class Debugger { private static class DebugHandler extends Thread { private final Socket s; + private final int serverPort; + private static int maxid = 0; + private final int id; + public boolean finished = false; public DebugHandler(int serverPort, Socket s) { @@ -135,13 +139,14 @@ public class Debugger { l.onFinish(clientName); } } - } private static class DebugServerThread extends Thread { private final int port; + private ServerSocket ss; + private final Map handlers = new WeakHashMap<>(); public DebugServerThread(int port) { @@ -165,7 +170,6 @@ public class Debugger { //ignore } } - } private final int port; @@ -205,5 +209,4 @@ public class Debugger { server = null; } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java index 227a94fda..6cbb56dad 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -64,10 +64,15 @@ import javax.swing.tree.TreePath; public class DumpTree extends JTree implements ActionListener { private static final String ACTION_CLOSE_SWF = "CLOSESWF"; + private static final String ACTION_EXPAND_RECURSIVE = "EXPANDRECURSIVE"; + private static final String ACTION_SAVE_TO_FILE = "SAVETOFILE"; + private static final String ACTION_PARSE_ACTIONS = "PARSEACTIONS"; + private static final String ACTION_PARSE_ABC = "PARSEABC"; + private static final String ACTION_PARSE_INSTRUCTIONS = "PARSEINSTRUCTIONS"; private final MainPanel mainPanel; diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTreeModel.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTreeModel.java index edf84496f..9e984d6ec 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTreeModel.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTreeModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -132,5 +132,4 @@ public class DumpTreeModel implements TreeModel { @Override public void removeTreeModelListener(TreeModelListener tl) { } - } diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java index 8f49508a2..7820f67a1 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -38,11 +38,17 @@ import javax.swing.tree.TreePath; public class DumpViewPanel extends JPanel { private final JLabel selectedByteInfo; + private final JLabel dumpViewLabel; + private final HexView dumpViewHexTable; + private final DumpTree dumpTree; + private DumpInfo selectedDumpInfo; + private boolean skipNextScroll; + private boolean skipValueChange; public DumpViewPanel(final DumpTree dumpTree) { diff --git a/src/com/jpexs/decompiler/flash/gui/generictageditors/BooleanEditor.java b/src/com/jpexs/decompiler/flash/gui/generictageditors/BooleanEditor.java index d00cbd9e0..cf1a95d6c 100644 --- a/src/com/jpexs/decompiler/flash/gui/generictageditors/BooleanEditor.java +++ b/src/com/jpexs/decompiler/flash/gui/generictageditors/BooleanEditor.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,9 +29,13 @@ import javax.swing.JCheckBox; public class BooleanEditor extends JCheckBox implements GenericTagEditor { private final Object obj; + private final Field field; + private final int index; + private final Class type; + private final String fieldName; public BooleanEditor(String fieldName, Object obj, Field field, int index, Class type) { @@ -88,5 +92,4 @@ public class BooleanEditor extends JCheckBox implements GenericTagEditor { public String getReadOnlyValue() { return getChangedValue().toString(); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/generictageditors/ColorEditor.java b/src/com/jpexs/decompiler/flash/gui/generictageditors/ColorEditor.java index d50138677..519e1bb29 100644 --- a/src/com/jpexs/decompiler/flash/gui/generictageditors/ColorEditor.java +++ b/src/com/jpexs/decompiler/flash/gui/generictageditors/ColorEditor.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -50,15 +50,25 @@ import javax.swing.colorchooser.AbstractColorChooserPanel; public class ColorEditor extends JPanel implements GenericTagEditor, ActionListener { private final Object obj; + private final Field field; + private final int index; + private final Class type; + private final String fieldName; + private Color color; + public static final int COLOR_TYPE_RGB = 0; + public static final int COLOR_TYPE_RGBA = 1; + public static final int COLOR_TYPE_ARGB = 2; + private int colorType; + private JButton buttonChange; public int getColorType() { @@ -236,5 +246,4 @@ public class ColorEditor extends JPanel implements GenericTagEditor, ActionListe int h = System.identityHashCode(this); return "     " + getChangedValue().toString(); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/generictageditors/NumberEditor.java b/src/com/jpexs/decompiler/flash/gui/generictageditors/NumberEditor.java index 32f852b87..b2066a586 100644 --- a/src/com/jpexs/decompiler/flash/gui/generictageditors/NumberEditor.java +++ b/src/com/jpexs/decompiler/flash/gui/generictageditors/NumberEditor.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -36,10 +36,15 @@ import javax.swing.text.DefaultFormatter; public class NumberEditor extends JSpinner implements GenericTagEditor { private final Object obj; + private final Field field; + private final int index; + private final Class type; + private final SWFType swfType; + private String fieldName; @Override diff --git a/src/com/jpexs/decompiler/flash/gui/generictageditors/StringEditor.java b/src/com/jpexs/decompiler/flash/gui/generictageditors/StringEditor.java index 4e4c42ff4..6d5921cca 100644 --- a/src/com/jpexs/decompiler/flash/gui/generictageditors/StringEditor.java +++ b/src/com/jpexs/decompiler/flash/gui/generictageditors/StringEditor.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -32,10 +32,15 @@ import javax.swing.JTextArea; public class StringEditor extends JTextArea implements GenericTagEditor { private final Object obj; + private final Field field; + private final int index; + private final Class type; + private String fieldName; + private boolean multiline; @Override @@ -121,5 +126,4 @@ public class StringEditor extends JTextArea implements GenericTagEditor { public String getReadOnlyValue() { return Helper.escapeHTML(getChangedValue().toString()); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/hexview/HexView.java b/src/com/jpexs/decompiler/flash/gui/hexview/HexView.java index cae350288..92d78c95d 100644 --- a/src/com/jpexs/decompiler/flash/gui/hexview/HexView.java +++ b/src/com/jpexs/decompiler/flash/gui/hexview/HexView.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -42,13 +42,21 @@ import javax.swing.table.TableModel; public class HexView extends JTable { private static final int bytesInRow = 16; + private long[] highlightStarts; + private long[] highlightEnds; + private final String[] highlightColorsStr = new String[]{/*"EEEEEE", */"29AEC2", "9AC88C", "DF5F80", "EEA32E", "FFD200", "5E9B4C", "D3E976", "A3AEC2"}; + private final Color[] highlightColors; + private final Color bgColor = Color.decode("#F7F7F7"); + private final Color bgColorAlternate = Color.decode("#EDEDED"); + private int mouseOverIdx = -1; + private HexViewListener listener; private class HighlightCellRenderer extends DefaultTableCellRenderer { diff --git a/src/com/jpexs/decompiler/flash/gui/hexview/HexViewTableModel.java b/src/com/jpexs/decompiler/flash/gui/hexview/HexViewTableModel.java index b895acdc6..de4cec5a4 100644 --- a/src/com/jpexs/decompiler/flash/gui/hexview/HexViewTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/hexview/HexViewTableModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -25,6 +25,7 @@ import javax.swing.table.AbstractTableModel; public class HexViewTableModel extends AbstractTableModel { private byte[] data; + private final int bytesInRow; public HexViewTableModel(int bytesInRow) { diff --git a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java index d25fcc8db..69c0f2947 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -46,6 +46,7 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { private ShockwaveFlash flash; private boolean stopped = true; + private int frameRate; @Override @@ -260,5 +261,4 @@ public class FlashPlayerPanel extends Panel implements Closeable, MediaDisplay { public boolean isLoaded() { return !isStopped(); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java b/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java index 9b1330c5d..26c019281 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java +++ b/src/com/jpexs/decompiler/flash/gui/player/PlayerControls.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -66,40 +66,67 @@ import javax.swing.event.AncestorListener; public class PlayerControls extends JPanel implements ActionListener { private static final String ACTION_PAUSE = "PAUSE"; + private static final String ACTION_STOP = "STOP"; + private static final String ACTION_SELECT_BKCOLOR = "SELECTCOLOR"; + private static final String ACTION_ZOOMIN = "ZOOMIN"; + private static final String ACTION_ZOOMOUT = "ZOOMOUT"; + private static final String ACTION_ZOOMFIT = "ZOOMFIT"; + private static final String ACTION_ZOOMNONE = "ZOOMNONE"; + private static final String ACTION_SNAPSHOT = "SNAPSHOT"; + private static final String ACTION_NEXTFRAME = "NEXTFRAME"; + private static final String ACTION_PREVFRAME = "PREVFRAME"; + private static final String ACTION_GOTOFRAME = "SELECTFRAME"; private final JButton pauseButton; + private boolean paused = false; + private MediaDisplay display; + private JProgressBar progress; + private final Timer timer; + private final JLabel timeLabel; + private final JLabel frameLabel; + private final JLabel totalTimeLabel; + private final JLabel totalFrameLabel; + private static final Icon pauseIcon = View.getIcon("pause16"); + private static final Icon playIcon = View.getIcon("play16"); private final JLabel percentLabel = new JLabel("100%"); + private final JPanel zoomPanel; + private final JPanel graphicControls; + private final JPanel playbackControls; + private final JPanel frameControls; + private boolean zoomToFit = false; + private double realZoom = 1.0; private final JButton zoomFitButton; public static final int ZOOM_DECADE_STEPS = 10; + public static final double ZOOM_MULTIPLIER = Math.pow(10, 1.0 / ZOOM_DECADE_STEPS); private static String underline(String s) { @@ -107,6 +134,7 @@ public class PlayerControls extends JPanel implements ActionListener { } private static Font underlinedFont = null; + private static Font notUnderlinedFont = null; static { diff --git a/src/com/jpexs/decompiler/flash/gui/player/Zoom.java b/src/com/jpexs/decompiler/flash/gui/player/Zoom.java index 2801c65b0..37e07a361 100644 --- a/src/com/jpexs/decompiler/flash/gui/player/Zoom.java +++ b/src/com/jpexs/decompiler/flash/gui/player/Zoom.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -28,5 +28,4 @@ public class Zoom { public Zoom() { } - } diff --git a/src/com/jpexs/decompiler/flash/gui/proxy/ProxyFrame.java b/src/com/jpexs/decompiler/flash/gui/proxy/ProxyFrame.java index b27b37e1d..61ddfe8e0 100644 --- a/src/com/jpexs/decompiler/flash/gui/proxy/ProxyFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/proxy/ProxyFrame.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -92,21 +92,35 @@ public class ProxyFrame extends AppFrame implements ActionListener, CatchedListe private static final String REPLACEMENTS_NAME = "replacements.cfg"; private static final String ACTION_SWITCH_STATE = "SWITCHSTATE"; + private static final String ACTION_OPEN = "OPEN"; + private static final String ACTION_CLEAR = "CLEAR"; + private static final String ACTION_RENAME = "RENAME"; + private static final String ACTION_REMOVE = "REMOVE"; + private static final String ACTION_COPYURL = "COPYURL"; + private static final String ACTION_SAVEAS = "SAVEAS"; + private static final String ACTION_REPLACE = "REPLACE"; private JTable replacementsTable; + private JButton switchButton = new JButton(translate("proxy.start")); + private boolean started = false; + private JTextField portField = new JTextField("55555"); + private JCheckBox sniffSWFCheckBox = new JCheckBox("SWF", false); + private JCheckBox sniffOSCheckBox = new JCheckBox("OctetStream", false); + private JCheckBox sniffJSCheckBox = new JCheckBox("JS", false); + private JCheckBox sniffXMLCheckBox = new JCheckBox("XML", false); /** @@ -144,10 +158,10 @@ public class ProxyFrame extends AppFrame implements ActionListener, CatchedListe public int compareTo(SizeItem o) { return (int) (new File(file).length() - new File(o.file).length()); } - } DefaultTableModel tableModel; + private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); /** diff --git a/src/com/jpexs/decompiler/flash/gui/proxy/SWFListModel.java b/src/com/jpexs/decompiler/flash/gui/proxy/SWFListModel.java index be68c9bc4..504ba71ac 100644 --- a/src/com/jpexs/decompiler/flash/gui/proxy/SWFListModel.java +++ b/src/com/jpexs/decompiler/flash/gui/proxy/SWFListModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -31,6 +31,7 @@ import javax.swing.event.ListDataListener; public class SWFListModel implements ListModel { private final List listeners = new ArrayList<>(); + private final List replacements; /** diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java index 7e67b7dba..6ee8a0502 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -134,6 +134,7 @@ import javax.swing.tree.TreeSelectionModel; public class TagTree extends JTree { public TagTreeContextMenu contextPopupMenu; + private final MainPanel mainPanel; public class TagTreeCellRenderer extends DefaultTreeCellRenderer { diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java index 5dda5a2e1..e662479c5 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeContextMenu.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -59,30 +59,51 @@ import javax.swing.tree.TreePath; public class TagTreeContextMenu extends JPopupMenu implements ActionListener { private static final String ACTION_RAW_EDIT = "RAWEDIT"; + private static final String ACTION_JUMP_TO_CHARACTER = "JUMPTOCHARACTER"; + private static final String ACTION_REMOVE_ITEM = "REMOVEITEM"; + private static final String ACTION_REMOVE_ITEM_WITH_DEPENDENCIES = "REMOVEITEMWITHDEPENDENCIES"; + private static final String ACTION_CLOSE_SWF = "CLOSESWF"; + private static final String ACTION_EXPAND_RECURSIVE = "EXPANDRECURSIVE"; + private static final String ACTION_OPEN_SWFINSIDE = "OPENSWFINSIDE"; private final MainPanel mainPanel; + private final TagTree tagTree; private JMenuItem expandRecursiveMenuItem; + private JMenuItem removeMenuItem; + private JMenuItem removeWithDependenciesMenuItem; + private JMenuItem exportSelectionMenuItem; + private JMenuItem replaceMenuItem; + private JMenuItem rawEditMenuItem; + private JMenuItem jumpToCharacterMenuItem; + private JMenuItem exportJavaSourceMenuItem; + private JMenuItem exportSwfXmlMenuItem; + private JMenuItem importSwfXmlMenuItem; + private JMenuItem closeMenuItem; + private JMenu addTagMenu; + private JMenu moveTagMenu; + private JMenu copyTagMenu; + private JMenuItem openSWFInsideTagMenuItem; public TagTreeContextMenu(final TagTree tagTree, MainPanel mainPanel) { diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java index 8bafe6a4a..1ee542419 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -53,21 +53,37 @@ import javax.swing.tree.TreePath; public class TagTreeModel implements TreeModel { public static final String FOLDER_SHAPES = "shapes"; + public static final String FOLDER_MORPHSHAPES = "morphshapes"; + public static final String FOLDER_SPRITES = "sprites"; + public static final String FOLDER_TEXTS = "texts"; + public static final String FOLDER_IMAGES = "images"; + public static final String FOLDER_MOVIES = "movies"; + public static final String FOLDER_SOUNDS = "sounds"; + public static final String FOLDER_BUTTONS = "buttons"; + public static final String FOLDER_FONTS = "fonts"; + public static final String FOLDER_BINARY_DATA = "binaryData"; + public static final String FOLDER_FRAMES = "frames"; + public static final String FOLDER_OTHERS = "others"; + public static final String FOLDER_SCRIPTS = "scripts"; + private final TagTreeRoot root = new TagTreeRoot(); + private final List swfs; + private final Map> swfFolders; + private final boolean addAllFolders; public TagTreeModel(List swfs, boolean addAllFolders) { diff --git a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineBodyPanel.java b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineBodyPanel.java index e063414c5..9fc3d98b8 100644 --- a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineBodyPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineBodyPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -44,20 +44,33 @@ public class TimelineBodyPanel extends JPanel implements MouseListener, KeyListe private final Timeline timeLine; public static Color motionTweenColor = new Color(0x59, 0xfe, 0x7c); + public static Color shapeTweenColor = new Color(0xd1, 0xac, 0xf1); + public static Color frameColor = new Color(0xbd, 0xd8, 0xfc); + public static Color emptyFrameColor = Color.white; + public static Color emptyFrameSecondColor = new Color(0xea, 0xf2, 0xfc); + public static Color borderColor = Color.black; + public static Color emptyBorderColor = new Color(0xbd, 0xd8, 0xfc); + public static Color keyColor = Color.black; + public static Color aColor = Color.black; + public static Color stopColor = Color.white; + public static Color stopBorderColor = Color.black; + public static Color borderLinesColor = new Color(0xde, 0xde, 0xde); public static Color selectedColor = new Color(113, 174, 235); + public static final int borderLinesLength = 2; + public static final float fontSize = 10.0f; private final List listeners = new ArrayList<>(); @@ -409,5 +422,4 @@ public class TimelineBodyPanel extends JPanel implements MouseListener, KeyListe @Override public void keyReleased(KeyEvent e) { } - } diff --git a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineDepthPanel.java b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineDepthPanel.java index adc07ae16..f24e196d2 100644 --- a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineDepthPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineDepthPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -30,10 +30,15 @@ import javax.swing.JPanel; public class TimelineDepthPanel extends JPanel { private final int maxDepth; + public static final int padding = 5; + public static final float fontSize = 10.0f; + private int scrollOffset = 0; + public static final Color borderColor = Color.lightGray; + public static final Color fontColor = Color.black; public TimelineDepthPanel(Timeline timeline) { @@ -68,5 +73,4 @@ public class TimelineDepthPanel extends JPanel { g.drawString(start_d + d == 0 ? "a" : Integer.toString(curr_d), padding, yofs + d * TimelinePanel.FRAME_HEIGHT - padding); } } - } diff --git a/src/com/jpexs/decompiler/flash/gui/timeline/TimelinePanel.java b/src/com/jpexs/decompiler/flash/gui/timeline/TimelinePanel.java index 6ecca9159..854bee3b9 100644 --- a/src/com/jpexs/decompiler/flash/gui/timeline/TimelinePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/timeline/TimelinePanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -33,15 +33,21 @@ import javax.swing.JScrollPane; public class TimelinePanel extends JPanel { private TimelineBodyPanel timelineBodyPanel; + private TimelineTimePanel timePanel; + private TimelineDepthPanel depthPanel; + private Timeline timeline; public static final int FRAME_WIDTH = 8; + public static final int FRAME_HEIGHT = 18; public static Color selectedColor = new Color(0xff, 0x99, 0x99); + public static Color selectedBorderColor = new Color(0xcc, 0, 0); + public static Color backgroundColor = new Color(0xd9, 0xe7, 0xfa); public Timeline getTimeline() { @@ -120,5 +126,4 @@ public class TimelinePanel extends JPanel { }); this.revalidate(); } - } diff --git a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineTimePanel.java b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineTimePanel.java index e3ef7d455..9582b7ad2 100644 --- a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineTimePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineTimePanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -33,12 +33,19 @@ import javax.swing.JPanel; public class TimelineTimePanel extends JPanel implements MouseListener { public static final Color borderColor = Color.black; + public static final int lineLength = 3; + public static final int lineTextSpace = 3; + public static final Color fontColor = Color.black; + public float fontSize = 10.0f; + private int scrollOffset = 0; + private int selectedFrame = -1; + private final List listeners = new ArrayList<>(); public TimelineTimePanel() { @@ -122,5 +129,4 @@ public class TimelineTimePanel extends JPanel implements MouseListener { @Override public void mouseExited(MouseEvent e) { } - } diff --git a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineViewPanel.java b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineViewPanel.java index 3eedf5ed0..d00958583 100644 --- a/src/com/jpexs/decompiler/flash/gui/timeline/TimelineViewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/timeline/TimelineViewPanel.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,6 +29,7 @@ import javax.swing.JSplitPane; public class TimelineViewPanel extends JPanel { public TimelinePanel timeline; + public ImagePanel previewPanel; public TimelineViewPanel() { diff --git a/src/com/jpexs/process/win32/Win32Process.java b/src/com/jpexs/process/win32/Win32Process.java index 041a5493c..9c166165f 100644 --- a/src/com/jpexs/process/win32/Win32Process.java +++ b/src/com/jpexs/process/win32/Win32Process.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -31,8 +31,11 @@ import java.util.Map; public class Win32Process implements Process { public String filePath; + public String fileName; + public BufferedImage icon; + public DWORD th32ProcessID; @Override diff --git a/src/com/jpexs/process/win32/Win32ProcessTools.java b/src/com/jpexs/process/win32/Win32ProcessTools.java index 55909ae9f..3ef5bdb02 100644 --- a/src/com/jpexs/process/win32/Win32ProcessTools.java +++ b/src/com/jpexs/process/win32/Win32ProcessTools.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -166,6 +166,7 @@ public class Win32ProcessTools extends ProcessTools { } return path; } + private static final Map driveMappings = getDriveMappings(); public static boolean drawIcon(BufferedImage ret, WinDef.HICON hIcon, int diFlags) { @@ -494,6 +495,7 @@ public class Win32ProcessTools extends ProcessTools { } return false; } + private static boolean privAdjusted = false; public static boolean adjustPrivileges() { @@ -528,11 +530,17 @@ public class Win32ProcessTools extends ProcessTools { private static class ProcessMemoryInputStream extends InputStream { private final List pages; + private int currentPage = 0; + private long pagePos = 0; + private static final int BUFFER_SIZE = 1024 * 512; + private byte[] buf; + private int bufPos; + private final HANDLE hOtherProcess; public ProcessMemoryInputStream(List pages, HANDLE hOtherProcess, int currentPage, long pagePos) { diff --git a/src/com/sun/jna/platform/win32/Advapi32Util.java b/src/com/sun/jna/platform/win32/Advapi32Util.java index 8c5f89aa4..f6c24efdc 100644 --- a/src/com/sun/jna/platform/win32/Advapi32Util.java +++ b/src/com/sun/jna/platform/win32/Advapi32Util.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -48,22 +48,27 @@ public abstract class Advapi32Util { * Account name. */ public String name; + /** * Account domain. */ public String domain; + /** * Account SID. */ public byte[] sid; + /** * String representation of the account SID. */ public String sidString; + /** * Account type, one of SID_NAME_USE. */ public int accountType; + /** * Fully qualified account name. */ @@ -854,8 +859,11 @@ public abstract class Advapi32Util { public static class EventLogRecord { private EVENTLOGRECORD _record = null; + private final String _source; + private byte[] _data; + private String[] _strings; /** diff --git a/src/com/sun/jna/platform/win32/BITMAP.java b/src/com/sun/jna/platform/win32/BITMAP.java index 82f216e86..efd8e52db 100644 --- a/src/com/sun/jna/platform/win32/BITMAP.java +++ b/src/com/sun/jna/platform/win32/BITMAP.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -30,11 +30,17 @@ import java.util.List; public class BITMAP extends Structure { public LONG bmType; + public LONG bmWidth; + public LONG bmHeight; + public LONG bmWidthBytes; + public WORD bmPlanes; + public WORD bmBitsPixel; + public LPVOID bmBits; @Override diff --git a/src/com/sun/jna/platform/win32/ICONINFO.java b/src/com/sun/jna/platform/win32/ICONINFO.java index 02a51dd96..35b813b13 100644 --- a/src/com/sun/jna/platform/win32/ICONINFO.java +++ b/src/com/sun/jna/platform/win32/ICONINFO.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,9 +29,13 @@ import java.util.List; public class ICONINFO extends Structure { public boolean fIcon; + public DWORD xHotspot; + public DWORD yHotspot; + public HBITMAP hbmMask; + public HBITMAP hbmColor; @Override diff --git a/src/com/sun/jna/platform/win32/Kernel32.java b/src/com/sun/jna/platform/win32/Kernel32.java index cc4540fd5..21a01004b 100644 --- a/src/com/sun/jna/platform/win32/Kernel32.java +++ b/src/com/sun/jna/platform/win32/Kernel32.java @@ -1,5 +1,5 @@ /* 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 @@ -81,6 +81,7 @@ public interface Kernel32 extends WinNT { WinBase.OVERLAPPED lpOverlapped); boolean ReadFile(HANDLE hFile, byte[] lpBuffer, int nNumberOfBytesToRead, IntByReference lpNumberOfBytesRead, WinBase.OVERLAPPED lpOverlapped); + // // Define the NamedPipe definitions // @@ -88,38 +89,59 @@ public interface Kernel32 extends WinNT { // Define the dwOpenMode values for CreateNamedPipe // public static final int PIPE_ACCESS_INBOUND = 0x00000001; + public static final int PIPE_ACCESS_OUTBOUND = 0x00000002; + public static final int PIPE_ACCESS_DUPLEX = 0x00000003; + // // Define the Named Pipe End flags for GetNamedPipeInfo // public static final int PIPE_CLIENT_END = 0x00000000; + public static final int PIPE_SERVER_END = 0x00000001; + // // Define the dwPipeMode values for CreateNamedPipe // public static final int PIPE_WAIT = 0x00000000; + public static final int PIPE_NOWAIT = 0x00000001; + public static final int PIPE_READMODE_BYTE = 0x00000000; + public static final int PIPE_READMODE_MESSAGE = 0x00000002; + public static final int PIPE_TYPE_BYTE = 0x00000000; + public static final int PIPE_TYPE_MESSAGE = 0x00000004; + public static final int PIPE_ACCEPT_REMOTE_CLIENTS = 0x00000000; + public static final int PIPE_REJECT_REMOTE_CLIENTS = 0x00000008; + // // Define the well known values for CreateNamedPipe nMaxInstances // public static final int PIPE_UNLIMITED_INSTANCES = 255; + // // Define the values for process priority // public static final int ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000; + public static final int BELOW_NORMAL_PRIORITY_CLASS = 0x00004000; + public static final int HIGH_PRIORITY_CLASS = 0x00000080; + public static final int IDLE_PRIORITY_CLASS = 0x00000040; + public static final int NORMAL_PRIORITY_CLASS = 0x00000020; + public static final int PROCESS_MODE_BACKGROUND_BEGIN = 0x00100000; + public static final int PROCESS_MODE_BACKGROUND_END = 0x00200000; + public static final int REALTIME_PRIORITY_CLASS = 0x00000100; // __out @@ -206,9 +228,13 @@ public interface Kernel32 extends WinNT { * information. */ void GetSystemInfo(SYSTEM_INFO lpSystemInfo); + public static final int PROCESS_VM_READ = 0x0010; + public static final int PROCESS_VM_WRITE = 0x0020; + public static final int PROCESS_QUERY_INFORMATION = 0x0400; + public static final int PROCESS_VM_OPERATION = 0x0008; SIZE_T VirtualQueryEx(HANDLE hProcess, Pointer lpAddress, MEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength); @@ -221,11 +247,17 @@ public interface Kernel32 extends WinNT { * @return The return value is the calling thread's last-error code value. */ int GetLastError(); + public static int MEM_COMMIT = 0x1000; + public static int MEM_FREE = 0x10000; + public static int MEM_RESERVE = 0x2000; + public static int MEM_IMAGE = 0x1000000; + public static int MEM_MAPPED = 0x40000; + public static int MEM_PRIVATE = 0x20000; boolean ReadProcessMemory(HANDLE hProcess, Pointer inBaseAddress, Pointer outputBuffer, NativeLong nSize, NativeLongByReference outNumberOfBytesRead); @@ -290,6 +322,7 @@ public interface Kernel32 extends WinNT { * the snapshot does not contain process information. */ boolean Process32Next(HANDLE hSnapshot, PROCESSENTRY32 lppe); + public static int TH32CS_SNAPPROCESS = 0x00000002; //Needed for some Windows 7 Versions @@ -301,6 +334,7 @@ public interface Kernel32 extends WinNT { boolean VirtualProtectEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, int flNewProtect, IntByReference lpflOldProtect); public static final int LOCALE_SISO3166CTRYNAME = 90; + public static final int LOCALE_SISO639LANGNAME = 89; int GetLocaleInfo(int Locale, int LCType, char[] lpLCData, int cchData); diff --git a/src/com/sun/jna/platform/win32/MEMORY_BASIC_INFORMATION.java b/src/com/sun/jna/platform/win32/MEMORY_BASIC_INFORMATION.java index e3a19e3d7..7d11ffa08 100644 --- a/src/com/sun/jna/platform/win32/MEMORY_BASIC_INFORMATION.java +++ b/src/com/sun/jna/platform/win32/MEMORY_BASIC_INFORMATION.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -30,11 +30,17 @@ import java.util.List; public class MEMORY_BASIC_INFORMATION extends Structure { public Pointer baseAddress; + public Pointer allocationBase; + public NativeLong allocationProtect; + public SIZE_T regionSize; + public NativeLong state; + public NativeLong protect; + public NativeLong type; @Override diff --git a/src/com/sun/jna/platform/win32/PROCESSENTRY32.java b/src/com/sun/jna/platform/win32/PROCESSENTRY32.java index eaa2069fe..501093005 100644 --- a/src/com/sun/jna/platform/win32/PROCESSENTRY32.java +++ b/src/com/sun/jna/platform/win32/PROCESSENTRY32.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -41,45 +41,55 @@ public class PROCESSENTRY32 extends Structure { super(memory); read(); } + /** * The size of the structure, in bytes. Before calling the Process32First * function, set this member to sizeof(PROCESSENTRY32). If you do not * initialize dwSize, Process32First fails. */ public WinDef.DWORD dwSize; + /** * This member is no longer used and is always set to zero. */ public WinDef.DWORD cntUsage; + /** * The process identifier. */ public WinNT.DWORD th32ProcessID; + /** * This member is no longer used and is always set to zero. */ public BaseTSD.ULONG_PTR th32DefaultHeapID; + /** * This member is no longer used and is always set to zero. */ public WinDef.DWORD th32ModuleID; + /** * The number of execution threads started by the process. */ public WinDef.DWORD cntThreads; + /** * The identifier of the process that created this process (its parent * process). */ public WinDef.DWORD th32ParentProcessID; + /** * The base priority of any threads created by this process. */ public WinDef.LONG pcPriClassBase; + /** * This member is no longer used, and is always set to zero. */ public WinDef.DWORD dwFlags; + /** * The name of the executable file for the process. To retrieve the full * path to the executable file, call the Module32First function and check diff --git a/src/com/sun/jna/platform/win32/SHELLEXECUTEINFO.java b/src/com/sun/jna/platform/win32/SHELLEXECUTEINFO.java index 715e4a004..84b49b546 100644 --- a/src/com/sun/jna/platform/win32/SHELLEXECUTEINFO.java +++ b/src/com/sun/jna/platform/win32/SHELLEXECUTEINFO.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,19 +29,33 @@ import java.util.List; public class SHELLEXECUTEINFO extends Structure { public int cbSize = size(); + public int fMask; + public HWND hwnd; + public WString lpVerb; + public WString lpFile; + public WString lpParameters; + public WString lpDirectory; + public int nShow; + public HINSTANCE hInstApp; + public Pointer lpIDList; + public WString lpClass; + public HKEY hKeyClass; + public int dwHotKey; + public HANDLE hMonitor; + public HANDLE hProcess; @Override diff --git a/src/com/sun/jna/platform/win32/SHFILEINFO.java b/src/com/sun/jna/platform/win32/SHFILEINFO.java index 38a17aaa6..aa76e1b8f 100644 --- a/src/com/sun/jna/platform/win32/SHFILEINFO.java +++ b/src/com/sun/jna/platform/win32/SHFILEINFO.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -29,9 +29,13 @@ import java.util.List; public class SHFILEINFO extends Structure { public HICON hIcon; + public int iIcon; + public DWORD dwAttributes; + public char[] szDisplayName = new char[260]; + public char[] szTypeName = new char[80]; @Override diff --git a/src/com/sun/jna/platform/win32/Shell32.java b/src/com/sun/jna/platform/win32/Shell32.java index 0305df93e..227449f7b 100644 --- a/src/com/sun/jna/platform/win32/Shell32.java +++ b/src/com/sun/jna/platform/win32/Shell32.java @@ -1,5 +1,5 @@ /* 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 @@ -8,7 +8,7 @@ * 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. + * Lesser General Public License for more details. */ package com.sun.jna.platform.win32; @@ -36,6 +36,8 @@ public interface Shell32 extends StdCallLibrary { UINT ExtractIconEx(String lpszFile, int nIconIndex, PointerByReference phiconLarge, PointerByReference phiconSmall, UINT nIcons); DWORD_PTR SHGetFileInfo(String pszPath, int dwFileAttributes, SHFILEINFO psfi, int cbFileInfo, int uFlags); + public static final int SHGFI_ICON = 0x000000100; + public static final int SHGFI_SMALLICON = 0x000000001; } diff --git a/src/com/sun/jna/platform/win32/User32.java b/src/com/sun/jna/platform/win32/User32.java index db74fba8b..0efe231d4 100644 --- a/src/com/sun/jna/platform/win32/User32.java +++ b/src/com/sun/jna/platform/win32/User32.java @@ -1,5 +1,5 @@ /* Copyright (c) 2007, 2013 Timothy Wall, Markus Karg, 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 @@ -39,30 +39,37 @@ public interface User32 extends StdCallLibrary, WinUser { */ User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class, W32APIOptions.DEFAULT_OPTIONS); + /** * Handle for message-only window. */ public static final HWND HWND_MESSAGE = new HWND(Pointer.createConstant(-3)); + /** * 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. */ @@ -1508,10 +1515,15 @@ public interface User32 extends StdCallLibrary, WinUser { boolean DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, int diFlags); HWND GetDesktopWindow(); + public static final int DI_MASK = 1; + public static final int DI_IMAGE = 2; + public static final int DI_NORMAL = 3; + public static final int DI_COMPAT = 4; + public static final int DI_DEFAULTSIZE = 8; int FillRect(HDC hDC, RECT lprc, HANDLE hbr); diff --git a/src/com/sun/jna/platform/win32/Win32Exception.java b/src/com/sun/jna/platform/win32/Win32Exception.java index 03a5eba0e..98e0c48bf 100644 --- a/src/com/sun/jna/platform/win32/Win32Exception.java +++ b/src/com/sun/jna/platform/win32/Win32Exception.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -21,16 +21,16 @@ package com.sun.jna.platform.win32; * @author JPEXS */ /* 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. + * Lesser General Public License for more details. */ import com.sun.jna.platform.win32.WinNT.HRESULT; @@ -42,6 +42,7 @@ import com.sun.jna.platform.win32.WinNT.HRESULT; public class Win32Exception extends RuntimeException { private static final long serialVersionUID = 1L; + private HRESULT _hr; /** diff --git a/src/com/sun/jna/platform/win32/WinBase.java b/src/com/sun/jna/platform/win32/WinBase.java index 7d0c05900..fe6d49784 100644 --- a/src/com/sun/jna/platform/win32/WinBase.java +++ b/src/com/sun/jna/platform/win32/WinBase.java @@ -1,14 +1,14 @@ /* 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. + * Lesser General Public License for more details. */ package com.sun.jna.platform.win32; @@ -37,11 +37,13 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { HANDLE INVALID_HANDLE_VALUE = new HANDLE(Pointer.createConstant(Pointer.SIZE == 8 ? -1 : 0xFFFFFFFFL)); + /** * Maximum computer name length. The value is 15 on Mac, 31 on everything * else. */ int MAX_COMPUTERNAME_LENGTH = Platform.isMac() ? 15 : 31; + /** * This logon type is intended for users who will be interactively using the * computer, such as a user being logged on by a terminal server, remote @@ -50,12 +52,14 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * inappropriate for some client/server applications, such as a mail server. */ int LOGON32_LOGON_INTERACTIVE = 2; + /** * This logon type is intended for high performance servers to authenticate * plaintext passwords. The LogonUser function does not cache credentials * for this logon type. */ int LOGON32_LOGON_NETWORK = 3; + /** * This logon type is intended for batch servers, where processes may be * executing on behalf of a user without their direct intervention. This @@ -64,17 +68,20 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * LogonUser function does not cache credentials for this logon type. */ int LOGON32_LOGON_BATCH = 4; + /** * Indicates a service-type logon. The account provided must have the * service privilege enabled. */ int LOGON32_LOGON_SERVICE = 5; + /** * This logon type is for GINA DLLs that log on users who will be * interactively using the computer. This logon type can generate a unique * audit record that shows when the workstation was unlocked. */ int LOGON32_LOGON_UNLOCK = 7; + /** * This logon type preserves the name and password in the authentication * package, which allows the server to make connections to other network @@ -84,6 +91,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * servers. */ int LOGON32_LOGON_NETWORK_CLEARTEXT = 8; + /** * This logon type allows the caller to clone its current token and specify * new credentials for outbound connections. The new logon session has the @@ -92,6 +100,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * LOGON32_PROVIDER_WINNT50 logon provider. */ int LOGON32_LOGON_NEW_CREDENTIALS = 9; + /** * Use the standard logon provider for the system. The default security * provider is negotiate, unless you pass NULL for the domain name and the @@ -99,61 +108,95 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * NTLM. */ int LOGON32_PROVIDER_DEFAULT = 0; + /** * Use the Windows NT 3.5 logon provider. */ int LOGON32_PROVIDER_WINNT35 = 1; + /** * Use the NTLM logon provider. */ int LOGON32_PROVIDER_WINNT40 = 2; + /** * Use the negotiate logon provider. */ int LOGON32_PROVIDER_WINNT50 = 3; + /** * If this flag is set, a child process created with the bInheritHandles * parameter of CreateProcess set to TRUE will inherit the object handle. */ int HANDLE_FLAG_INHERIT = 1; + /** * If this flag is set, calling the {@link Kernel32#CloseHandle} function * will not close the object handle. */ int HANDLE_FLAG_PROTECT_FROM_CLOSE = 2; + // STARTUPINFO flags int STARTF_USESHOWWINDOW = 0x001; + int STARTF_USESIZE = 0x002; + int STARTF_USEPOSITION = 0x004; + int STARTF_USECOUNTCHARS = 0x008; + int STARTF_USEFILLATTRIBUTE = 0x010; + int STARTF_RUNFULLSCREEN = 0x020; + int STARTF_FORCEONFEEDBACK = 0x040; + int STARTF_FORCEOFFFEEDBACK = 0x080; + int STARTF_USESTDHANDLES = 0x100; + // Process Creation flags int DEBUG_PROCESS = 0x00000001; + int DEBUG_ONLY_THIS_PROCESS = 0x00000002; + int CREATE_SUSPENDED = 0x00000004; + int DETACHED_PROCESS = 0x00000008; + int CREATE_NEW_CONSOLE = 0x00000010; + int CREATE_NEW_PROCESS_GROUP = 0x00000200; + int CREATE_UNICODE_ENVIRONMENT = 0x00000400; + int CREATE_SEPARATE_WOW_VDM = 0x00000800; + int CREATE_SHARED_WOW_VDM = 0x00001000; + int CREATE_FORCEDOS = 0x00002000; + int INHERIT_PARENT_AFFINITY = 0x00010000; + int CREATE_PROTECTED_PROCESS = 0x00040000; + int EXTENDED_STARTUPINFO_PRESENT = 0x00080000; + int CREATE_BREAKAWAY_FROM_JOB = 0x01000000; + int CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000; + int CREATE_DEFAULT_ERROR_MODE = 0x04000000; + int CREATE_NO_WINDOW = 0x08000000; /* Invalid return values */ int INVALID_FILE_SIZE = 0xFFFFFFFF; + int INVALID_SET_FILE_POINTER = 0xFFFFFFFF; + int INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF; + /** * Return code for a process still active. */ @@ -170,6 +213,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { public static class FILETIME extends Structure { public int dwLowDateTime; + public int dwHighDateTime; @Override @@ -200,6 +244,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { super(memory); read(); } + /** *

* The difference between the Windows epoch (1601-01-01 00:00:00) and @@ -259,20 +304,32 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { } } /* Local Memory Flags */ + int LMEM_FIXED = 0x0000; + int LMEM_MOVEABLE = 0x0002; + int LMEM_NOCOMPACT = 0x0010; + int LMEM_NODISCARD = 0x0020; + int LMEM_ZEROINIT = 0x0040; + int LMEM_MODIFY = 0x0080; + int LMEM_DISCARDABLE = 0x0F00; + int LMEM_VALID_FLAGS = 0x0F72; + int LMEM_INVALID_HANDLE = 0x8000; + int LHND = (LMEM_MOVEABLE | LMEM_ZEROINIT); + int LPTR = (LMEM_FIXED | LMEM_ZEROINIT); /* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */ int LMEM_DISCARDED = 0x4000; + int LMEM_LOCKCOUNT = 0x00FF; /** @@ -286,18 +343,25 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { // The year. The valid values for this member are 1601 through 30827. public short wYear; + // The month. The valid values for this member are 1 through 12. public short wMonth; + // The day of the week. The valid values for this member are 0 through 6. public short wDayOfWeek; + // The day of the month. The valid values for this member are 1 through 31. public short wDay; + // The hour. The valid values for this member are 0 through 23. public short wHour; + // The minute. The valid values for this member are 0 through 59. public short wMinute; + // The second. The valid values for this member are 0 through 59. public short wSecond; + // The millisecond. The valid values for this member are 0 through 999. public short wMilliseconds; @@ -306,6 +370,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { return Arrays.asList(new String[]{"wYear", "wMonth", "wDayOfWeek", "wDay", "wHour", "wMinute", "wSecond", "wMilliseconds"}); } } + /** * The lpBuffer parameter is a pointer to a PVOID pointer, and that the * nSize parameter specifies the minimum number of TCHARs to allocate for an @@ -315,6 +380,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * function to free the buffer when it is no longer needed. */ int FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100; + /** * Insert sequences in the message definition are to be ignored and passed * through to the output buffer unchanged. This flag is useful for fetching @@ -322,6 +388,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * parameter is ignored. */ int FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200; + /** * The lpSource parameter is a pointer to a null-terminated message * definition. The message definition may contain insert sequences, just as @@ -329,6 +396,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * FORMAT_MESSAGE_FROM_HMODULE or FORMAT_MESSAGE_FROM_SYSTEM. */ int FORMAT_MESSAGE_FROM_STRING = 0x00000400; + /** * The lpSource parameter is a module handle containing the message-table * resource(s) to search. If this lpSource handle is NULL, the current @@ -336,6 +404,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * FORMAT_MESSAGE_FROM_STRING. */ int FORMAT_MESSAGE_FROM_HMODULE = 0x00000800; + /** * The function should search the system message-table resource(s) for the * requested message. If this flag is specified with @@ -346,6 +415,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * function to retrieve the message text for a system-defined error. */ int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000; + /** * The Arguments parameter is not a va_list structure, but is a pointer to * an array of values that represent the arguments. This flag cannot be used @@ -353,32 +423,39 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * the va_list structure. */ int FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000; + /** * The drive type cannot be determined. */ int DRIVE_UNKNOWN = 0; + /** * The root path is invalid, for example, no volume is mounted at the path. */ int DRIVE_NO_ROOT_DIR = 1; + /** * The drive is a type that has removable media, for example, a floppy drive * or removable hard disk. */ int DRIVE_REMOVABLE = 2; + /** * The drive is a type that cannot be removed, for example, a fixed hard * drive. */ int DRIVE_FIXED = 3; + /** * The drive is a remote (network) drive. */ int DRIVE_REMOTE = 4; + /** * The drive is a CD-ROM drive. */ int DRIVE_CDROM = 5; + /** * The drive is a RAM disk. */ @@ -391,9 +468,13 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { public static class OVERLAPPED extends Structure { public ULONG_PTR Internal; + public ULONG_PTR InternalHigh; + public int Offset; + public int OffsetHigh; + public HANDLE hEvent; @Override @@ -401,6 +482,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { return Arrays.asList(new String[]{"Internal", "InternalHigh", "Offset", "OffsetHigh", "hEvent"}); } } + int INFINITE = 0xFFFFFFFF; /** @@ -417,6 +499,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { public static class ByReference extends PI implements Structure.ByReference { } + /** * System's processor architecture. This value can be one of the * following values: @@ -425,6 +508,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * PROCESSOR_ARCHITECTURE_IA64 PROCESSOR_ARCHITECTURE_AMD64 */ public WORD wProcessorArchitecture; + /** * Reserved for future use. */ @@ -443,6 +527,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { public static class ByReference extends UNION implements Structure.ByReference { } + /** * An obsolete member that is retained for compatibility with * Windows NT 3.5 and earlier. New applications should use the @@ -451,38 +536,46 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * PROCESSOR_ARCHITECTURE_INTEL. */ public DWORD dwOemID; + /** * Processor architecture (unnamed struct). */ public PI pi; } + /** * Processor architecture (unnamed union). */ public UNION processorArchitecture; + /** * Page size and the granularity of page protection and commitment. */ public DWORD dwPageSize; + /** * Pointer to the lowest memory address accessible to applications and * dynamic-link libraries (DLLs). */ public Pointer lpMinimumApplicationAddress; + /** * Pointer to the highest memory address accessible to applications and * DLLs. */ public Pointer lpMaximumApplicationAddress; + /** * Mask representing the set of processors configured into the system. * Bit 0 is processor 0; bit 31 is processor 31. */ public DWORD_PTR dwActiveProcessorMask; + /** * Number of processors in the system. */ public DWORD dwNumberOfProcessors; + /** * An obsolete member that is retained for compatibility with Windows NT * 3.5 and Windows Me/98/95. Use the wProcessorArchitecture, @@ -491,11 +584,13 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * PROCESSOR_INTEL_PENTIUM */ public DWORD dwProcessorType; + /** * Granularity for the starting address at which virtual memory can be * allocated. */ public DWORD dwAllocationGranularity; + /** * System's architecture-dependent processor level. It should be used * only for display purposes. To determine the feature set of a @@ -506,6 +601,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * wProcessorLevel is set to 1. */ public WORD wProcessorLevel; + /** * Architecture-dependent processor revision. */ @@ -528,16 +624,19 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * The size of the structure, in bytes. */ public DWORD dwLength; + /** * A number between 0 and 100 that specifies the approximate percentage * of physical memory that is in use (0 indicates no memory use and 100 * indicates full memory use). */ public DWORD dwMemoryLoad; + /** * The amount of actual physical memory, in bytes. */ public DWORDLONG ullTotalPhys; + /** * The amount of physical memory currently available, in bytes. This is * the amount of physical memory that can be immediately reused without @@ -545,28 +644,33 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * of the standby, free, and zero lists. */ public DWORDLONG ullAvailPhys; + /** * The current committed memory limit for the system or the current * process, whichever is smaller, in bytes. */ public DWORDLONG ullTotalPageFile; + /** * The maximum amount of memory the current process can commit, in * bytes. This value is equal to or smaller than the system-wide * available commit value. */ public DWORDLONG ullAvailPageFile; + /** * The size of the user-mode portion of the virtual address space of the * calling process, in bytes. */ public DWORDLONG ullTotalVirtual; + /** * The amount of unreserved and uncommitted memory currently in the * user-mode portion of the virtual address space of the calling * process, in bytes. */ public DWORDLONG ullAvailVirtual; + /** * Reserved. This value is always 0. */ @@ -595,11 +699,13 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * The size of the structure, in bytes. */ public DWORD dwLength; + /** * A pointer to a SECURITY_DESCRIPTOR structure that controls access to * the object. */ public Pointer lpSecurityDescriptor; + /** * A Boolean value that specifies whether the returned handle is * inherited when a new process is created @@ -626,10 +732,12 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * The size of the structure, in bytes. */ public DWORD cb; + /** * Reserved; must be NULL. */ public String lpReserved; + /** * The name of the desktop, or the name of both the desktop and window * station for this process. A backslash in the string indicates that @@ -637,6 +745,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * more information, see Thread Connection to a Desktop. */ public String lpDesktop; + /** * For console processes, this is the title displayed in the title bar * if a new console window is created. If NULL, the name of the @@ -645,6 +754,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * console window. */ public String lpTitle; + /** * If dwFlags specifies STARTF_USEPOSITION, this member is the x offset * of the upper left corner of a window if a new window is created, in @@ -656,6 +766,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * parameter of CreateWindow is CW_USEDEFAULT. */ public DWORD dwX; + /** * If dwFlags specifies STARTF_USEPOSITION, this member is the y offset * of the upper left corner of a window if a new window is created, in @@ -667,6 +778,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * parameter of CreateWindow is CW_USEDEFAULT. */ public DWORD dwY; + /** * If dwFlags specifies STARTF_USESIZE, this member is the width of the * window if a new window is created, in pixels. Otherwise, this member @@ -677,6 +789,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * parameter of CreateWindow is CW_USEDEFAULT. */ public DWORD dwXSize; + /** * If dwFlags specifies STARTF_USESIZE, this member is the height of the * window if a new window is created, in pixels. Otherwise, this member @@ -687,18 +800,21 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * parameter of CreateWindow is CW_USEDEFAULT. */ public DWORD dwYSize; + /** * If dwFlags specifies STARTF_USECOUNTCHARS, if a new console window is * created in a console process, this member specifies the screen buffer * width, in character columns. Otherwise, this member is ignored. */ public DWORD dwXCountChars; + /** * If dwFlags specifies STARTF_USECOUNTCHARS, if a new console window is * created in a console process, this member specifies the screen buffer * height, in character rows. Otherwise, this member is ignored. */ public DWORD dwYCountChars; + /** * If dwFlags specifies STARTF_USEFILLATTRIBUTE, this member is the * initial text and background colors if a new console window is created @@ -713,11 +829,13 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * FOREGROUND_RED| BACKGROUND_RED| BACKGROUND_GREEN| BACKGROUND_BLUE */ public DWORD dwFillAttribute; + /** * A bit field that determines whether certain STARTUPINFO members are * used when the process creates a window. */ public int dwFlags; + /** * If dwFlags specifies STARTF_USESHOWWINDOW, this member can be any of * the values that can be specified in the nCmdShow parameter for the @@ -730,14 +848,17 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * nCmdShow parameter of ShowWindow is set to SW_SHOWDEFAULT. */ public WORD wShowWindow; + /** * Reserved for use by the C Run-time; must be zero. */ public WORD cbReserved2; + /** * Reserved for use by the C Run-time; must be NULL. */ public ByteByReference lpReserved2; + /** * If dwFlags specifies STARTF_USESTDHANDLES, this member is the * standard input handle for the process. If STARTF_USESTDHANDLES is not @@ -753,6 +874,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * Otherwise, this member is ignored. */ public HANDLE hStdInput; + /** * If dwFlags specifies STARTF_USESTDHANDLES, this member is the * standard output handle for the process. Otherwise, this member is @@ -760,6 +882,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * buffer. */ public HANDLE hStdOutput; + /** * If dwFlags specifies STARTF_USESTDHANDLES, this member is the * standard error handle for the process. Otherwise, this member is @@ -791,12 +914,14 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * object. */ public HANDLE hProcess; + /** * A handle to the primary thread of the newly created process. The * handle is used to specify the thread in all functions that perform * operations on the thread object. */ public HANDLE hThread; + /** * A value that can be used to identify a process. The value is valid * from the time the process is created until all handles to the process @@ -804,6 +929,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * identifier may be reused. */ public DWORD dwProcessId; + /** * A value that can be used to identify a thread. The value is valid * from the time the thread is created until all handles to the thread @@ -835,6 +961,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { read(); } } + /** * If the file is to be moved to a different volume, the function simulates * the move by using the CopyFile and DeleteFile functions. @@ -842,10 +969,12 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * This value cannot be used with MOVEFILE_DELAY_UNTIL_REBOOT. */ int MOVEFILE_COPY_ALLOWED = 0x2; + /** * Reserved for future use. */ int MOVEFILE_CREATE_HARDLINK = 0x10; + /** * The system does not move the file until the operating system is * restarted. The system moves the file immediately after AUTOCHK is @@ -869,12 +998,14 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * lpExistingFileName with "\\?". */ int MOVEFILE_DELAY_UNTIL_REBOOT = 0x4; + /** * The function fails if the source file is a link source, but the file * cannot be tracked after the move. This situation can occur if the * destination is a volume formatted with the FAT file system. */ int MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20; + /** * If a file named lpNewFileName exists, the function replaces its contents * with the contents of the lpExistingFileName file, provided that security @@ -885,6 +1016,7 @@ public interface WinBase extends StdCallLibrary, WinDef, BaseTSD { * directory. */ int MOVEFILE_REPLACE_EXISTING = 0x1; + /** * The function does not return until the file is actually moved on the * disk. diff --git a/src/com/sun/jna/platform/win32/WinDef.java b/src/com/sun/jna/platform/win32/WinDef.java index e3895e2df..65ecc399b 100644 --- a/src/com/sun/jna/platform/win32/WinDef.java +++ b/src/com/sun/jna/platform/win32/WinDef.java @@ -1,10 +1,10 @@ /* 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 @@ -590,14 +590,17 @@ public interface WinDef extends StdCallLibrary { * The left. */ public int left; + /** * The top. */ public int top; + /** * The right. */ public int right; + /** * The bottom. */ @@ -848,6 +851,7 @@ public interface WinDef extends StdCallLibrary { super(memory); read(); } + /** * The y. */ diff --git a/src/com/sun/jna/platform/win32/WinError.java b/src/com/sun/jna/platform/win32/WinError.java index ead581699..7fda387b8 100644 --- a/src/com/sun/jna/platform/win32/WinError.java +++ b/src/com/sun/jna/platform/win32/WinError.java @@ -1,14 +1,14 @@ /* Copyright (c) 2011 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. + * Lesser General Public License for more details. */ package com.sun.jna.platform.win32; @@ -51,50 +51,95 @@ public interface WinError { // Define the facility codes // short FACILITY_WINRM = 51; + short FACILITY_WINDOWSUPDATE = 36; + short FACILITY_WINDOWS_DEFENDER = 80; + short FACILITY_WINDOWS_CE = 24; + short FACILITY_WINDOWS = 8; + short FACILITY_URT = 19; + short FACILITY_UMI = 22; + short FACILITY_TPM_SOFTWARE = 41; + short FACILITY_TPM_SERVICES = 40; + short FACILITY_SXS = 23; + short FACILITY_STORAGE = 3; + short FACILITY_STATE_MANAGEMENT = 34; + short FACILITY_SSPI = 9; + short FACILITY_SCARD = 16; + short FACILITY_SHELL = 39; + short FACILITY_SETUPAPI = 15; + short FACILITY_SECURITY = 9; + short FACILITY_RPC = 1; + short FACILITY_PLA = 48; + short FACILITY_WIN32 = 7; + short FACILITY_CONTROL = 10; + short FACILITY_NULL = 0; + short FACILITY_NDIS = 52; + short FACILITY_METADIRECTORY = 35; + short FACILITY_MSMQ = 14; + short FACILITY_MEDIASERVER = 13; + short FACILITY_INTERNET = 12; + short FACILITY_ITF = 4; + short FACILITY_USERMODE_HYPERVISOR = 53; + short FACILITY_HTTP = 25; + short FACILITY_GRAPHICS = 38; + short FACILITY_FWP = 50; + short FACILITY_FVE = 49; + short FACILITY_USERMODE_FILTER_MANAGER = 31; + short FACILITY_DPLAY = 21; + short FACILITY_DISPATCH = 2; + short FACILITY_DIRECTORYSERVICE = 37; + short FACILITY_CONFIGURATION = 33; + short FACILITY_COMPLUS = 17; + short FACILITY_USERMODE_COMMONLOG = 26; + short FACILITY_CMI = 54; + short FACILITY_CERT = 11; + short FACILITY_BACKGROUNDCOPY = 32; + short FACILITY_ACS = 20; + short FACILITY_AAF = 18; + // // Define the severity codes // @@ -106,8 +151,11 @@ public interface WinError { // The operation completed successfully. // int ERROR_SUCCESS = 0; + int NO_ERROR = 0; // dderror + int SEC_E_OK = 0; + // // MessageId: ERROR_INVALID_FUNCTION // @@ -123,7 +171,9 @@ public interface WinError { // // The system cannot find the file specified. // + int ERROR_FILE_NOT_FOUND = 2; + // // MessageId: ERROR_PATH_NOT_FOUND // @@ -132,6 +182,7 @@ public interface WinError { // The system cannot find the path specified. // int ERROR_PATH_NOT_FOUND = 3; + // // MessageId: ERROR_TOO_MANY_OPEN_FILES // @@ -140,6 +191,7 @@ public interface WinError { // The system cannot open the file. // int ERROR_TOO_MANY_OPEN_FILES = 4; + // // MessageId: ERROR_ACCESS_DENIED // @@ -148,6 +200,7 @@ public interface WinError { // Access is denied. // int ERROR_ACCESS_DENIED = 5; + // // MessageId: ERROR_INVALID_HANDLE // @@ -156,6 +209,7 @@ public interface WinError { // The handle is invalid. // int ERROR_INVALID_HANDLE = 6; + // // MessageId: ERROR_ARENA_TRASHED // @@ -164,6 +218,7 @@ public interface WinError { // The storage control blocks were destroyed. // int ERROR_ARENA_TRASHED = 7; + // // MessageId: ERROR_NOT_ENOUGH_MEMORY // @@ -179,7 +234,9 @@ public interface WinError { // // The storage control block address is invalid. // + int ERROR_INVALID_BLOCK = 9; + // // MessageId: ERROR_BAD_ENVIRONMENT // @@ -188,6 +245,7 @@ public interface WinError { // The environment is incorrect. // int ERROR_BAD_ENVIRONMENT = 10; + // // MessageId: ERROR_BAD_FORMAT // @@ -196,6 +254,7 @@ public interface WinError { // An attempt was made to load a program with an incorrect format. // int ERROR_BAD_FORMAT = 11; + // // MessageId: ERROR_INVALID_ACCESS // @@ -204,6 +263,7 @@ public interface WinError { // The access code is invalid. // int ERROR_INVALID_ACCESS = 12; + // // MessageId: ERROR_INVALID_DATA // @@ -212,6 +272,7 @@ public interface WinError { // The data is invalid. // int ERROR_INVALID_DATA = 13; + // // MessageId: ERROR_OUTOFMEMORY // @@ -220,6 +281,7 @@ public interface WinError { // Not enough storage is available to complete this operation. // int ERROR_OUTOFMEMORY = 14; + // // MessageId: ERROR_INVALID_DRIVE // @@ -228,6 +290,7 @@ public interface WinError { // The system cannot find the drive specified. // int ERROR_INVALID_DRIVE = 15; + // // MessageId: ERROR_CURRENT_DIRECTORY // @@ -236,6 +299,7 @@ public interface WinError { // The directory cannot be removed. // int ERROR_CURRENT_DIRECTORY = 16; + // // MessageId: ERROR_NOT_SAME_DEVICE // @@ -244,6 +308,7 @@ public interface WinError { // The system cannot move the file to a different disk drive. // int ERROR_NOT_SAME_DEVICE = 17; + // // MessageId: ERROR_NO_MORE_FILES // @@ -252,6 +317,7 @@ public interface WinError { // There are no more files. // int ERROR_NO_MORE_FILES = 18; + // // MessageId: ERROR_WRITE_PROTECT // @@ -260,6 +326,7 @@ public interface WinError { // The media is write protected. // int ERROR_WRITE_PROTECT = 19; + // // MessageId: ERROR_BAD_UNIT // @@ -268,6 +335,7 @@ public interface WinError { // The system cannot find the device specified. // int ERROR_BAD_UNIT = 20; + // // MessageId: ERROR_NOT_READY // @@ -276,6 +344,7 @@ public interface WinError { // The device is not ready. // int ERROR_NOT_READY = 21; + // // MessageId: ERROR_BAD_COMMAND // @@ -284,6 +353,7 @@ public interface WinError { // The device does not recognize the command. // int ERROR_BAD_COMMAND = 22; + // // MessageId: ERROR_CRC // @@ -292,6 +362,7 @@ public interface WinError { // Data error (cyclic redundancy check). // int ERROR_CRC = 23; + // // MessageId: ERROR_BAD_LENGTH // @@ -300,6 +371,7 @@ public interface WinError { // The program issued a command but the command length is incorrect. // int ERROR_BAD_LENGTH = 24; + // // MessageId: ERROR_SEEK // @@ -308,6 +380,7 @@ public interface WinError { // The drive cannot locate a specific area or track on the disk. // int ERROR_SEEK = 25; + // // MessageId: ERROR_NOT_DOS_DISK // @@ -316,6 +389,7 @@ public interface WinError { // The specified disk or diskette cannot be accessed. // int ERROR_NOT_DOS_DISK = 26; + // // MessageId: ERROR_SECTOR_NOT_FOUND // @@ -324,6 +398,7 @@ public interface WinError { // The drive cannot find the sector requested. // int ERROR_SECTOR_NOT_FOUND = 27; + // // MessageId: ERROR_OUT_OF_PAPER // @@ -332,6 +407,7 @@ public interface WinError { // The printer is out of paper. // int ERROR_OUT_OF_PAPER = 28; + // // MessageId: ERROR_WRITE_FAULT // @@ -340,6 +416,7 @@ public interface WinError { // The system cannot write to the specified device. // int ERROR_WRITE_FAULT = 29; + // // MessageId: ERROR_READ_FAULT // @@ -348,6 +425,7 @@ public interface WinError { // The system cannot read from the specified device. // int ERROR_READ_FAULT = 30; + // // MessageId: ERROR_GEN_FAILURE // @@ -356,6 +434,7 @@ public interface WinError { // A device attached to the system is not functioning. // int ERROR_GEN_FAILURE = 31; + // // MessageId: ERROR_SHARING_VIOLATION // @@ -365,6 +444,7 @@ public interface WinError { // process. // int ERROR_SHARING_VIOLATION = 32; + // // MessageId: ERROR_LOCK_VIOLATION // @@ -374,6 +454,7 @@ public interface WinError { // portion of the file. // int ERROR_LOCK_VIOLATION = 33; + // // MessageId: ERROR_WRONG_DISK // @@ -383,6 +464,7 @@ public interface WinError { // Insert %2 (Volume Serial Number: %3) into drive %1. // int ERROR_WRONG_DISK = 34; + // // MessageId: ERROR_SHARING_BUFFER_EXCEEDED // @@ -391,6 +473,7 @@ public interface WinError { // Too many files opened for sharing. // int ERROR_SHARING_BUFFER_EXCEEDED = 36; + // // MessageId: ERROR_HANDLE_EOF // @@ -399,6 +482,7 @@ public interface WinError { // Reached the end of the file. // int ERROR_HANDLE_EOF = 38; + // // MessageId: ERROR_HANDLE_DISK_FULL // @@ -407,6 +491,7 @@ public interface WinError { // The disk is full. // int ERROR_HANDLE_DISK_FULL = 39; + // // MessageId: ERROR_NOT_SUPPORTED // @@ -415,6 +500,7 @@ public interface WinError { // The request is not supported. // int ERROR_NOT_SUPPORTED = 50; + // // MessageId: ERROR_REM_NOT_LIST // @@ -426,6 +512,7 @@ public interface WinError { // administrator. // int ERROR_REM_NOT_LIST = 51; + // // MessageId: ERROR_DUP_NAME // @@ -437,6 +524,7 @@ public interface WinError { // name. // int ERROR_DUP_NAME = 52; + // // MessageId: ERROR_BAD_NETPATH // @@ -445,6 +533,7 @@ public interface WinError { // The network path was not found. // int ERROR_BAD_NETPATH = 53; + // // MessageId: ERROR_NETWORK_BUSY // @@ -453,6 +542,7 @@ public interface WinError { // The network is busy. // int ERROR_NETWORK_BUSY = 54; + // // MessageId: ERROR_DEV_NOT_EXIST // @@ -468,7 +558,9 @@ public interface WinError { // // The network BIOS command limit has been reached. // + int ERROR_TOO_MANY_CMDS = 56; + // // MessageId: ERROR_ADAP_HDW_ERR // @@ -477,6 +569,7 @@ public interface WinError { // A network adapter hardware error occurred. // int ERROR_ADAP_HDW_ERR = 57; + // // MessageId: ERROR_BAD_NET_RESP // @@ -485,6 +578,7 @@ public interface WinError { // The specified server cannot perform the requested operation. // int ERROR_BAD_NET_RESP = 58; + // // MessageId: ERROR_UNEXP_NET_ERR // @@ -493,6 +587,7 @@ public interface WinError { // An unexpected network error occurred. // int ERROR_UNEXP_NET_ERR = 59; + // // MessageId: ERROR_BAD_REM_ADAP // @@ -501,6 +596,7 @@ public interface WinError { // The remote adapter is not compatible. // int ERROR_BAD_REM_ADAP = 60; + // // MessageId: ERROR_PRINTQ_FULL // @@ -509,6 +605,7 @@ public interface WinError { // The printer queue is full. // int ERROR_PRINTQ_FULL = 61; + // // MessageId: ERROR_NO_SPOOL_SPACE // @@ -518,6 +615,7 @@ public interface WinError { // server. // int ERROR_NO_SPOOL_SPACE = 62; + // // MessageId: ERROR_PRINT_CANCELLED // @@ -526,6 +624,7 @@ public interface WinError { // Your file waiting to be printed was deleted. // int ERROR_PRINT_CANCELLED = 63; + // // MessageId: ERROR_NETNAME_DELETED // @@ -534,6 +633,7 @@ public interface WinError { // The specified network name is no longer available. // int ERROR_NETNAME_DELETED = 64; + // // MessageId: ERROR_NETWORK_ACCESS_DENIED // @@ -542,6 +642,7 @@ public interface WinError { // Network access is denied. // int ERROR_NETWORK_ACCESS_DENIED = 65; + // // MessageId: ERROR_BAD_DEV_TYPE // @@ -550,6 +651,7 @@ public interface WinError { // The network resource type is not correct. // int ERROR_BAD_DEV_TYPE = 66; + // // MessageId: ERROR_BAD_NET_NAME // @@ -558,6 +660,7 @@ public interface WinError { // The network name cannot be found. // int ERROR_BAD_NET_NAME = 67; + // // MessageId: ERROR_TOO_MANY_NAMES // @@ -566,6 +669,7 @@ public interface WinError { // The name limit for the local computer network adapter card was exceeded. // int ERROR_TOO_MANY_NAMES = 68; + // // MessageId: ERROR_TOO_MANY_SESS // @@ -574,6 +678,7 @@ public interface WinError { // The network BIOS session limit was exceeded. // int ERROR_TOO_MANY_SESS = 69; + // // MessageId: ERROR_SHARING_PAUSED // @@ -582,6 +687,7 @@ public interface WinError { // The remote server has been paused or is in the process of being started. // int ERROR_SHARING_PAUSED = 70; + // // MessageId: ERROR_REQ_NOT_ACCEP // @@ -591,6 +697,7 @@ public interface WinError { // because there are already as many connections as the computer can accept. // int ERROR_REQ_NOT_ACCEP = 71; + // // MessageId: ERROR_REDIR_PAUSED // @@ -599,6 +706,7 @@ public interface WinError { // The specified printer or disk device has been paused. // int ERROR_REDIR_PAUSED = 72; + // // MessageId: ERROR_FILE_EXISTS // @@ -607,6 +715,7 @@ public interface WinError { // The file exists. // int ERROR_FILE_EXISTS = 80; + // // MessageId: ERROR_CANNOT_MAKE // @@ -615,6 +724,7 @@ public interface WinError { // The directory or file cannot be created. // int ERROR_CANNOT_MAKE = 82; + // // MessageId: ERROR_FAIL_I24 // @@ -623,6 +733,7 @@ public interface WinError { // Fail on INT=24. // int ERROR_FAIL_I24 = 83; + // // MessageId: ERROR_OUT_OF_STRUCTURES // @@ -631,6 +742,7 @@ public interface WinError { // Storage to process this request is not available. // int ERROR_OUT_OF_STRUCTURES = 84; + // // MessageId: ERROR_ALREADY_ASSIGNED // @@ -639,6 +751,7 @@ public interface WinError { // The local device name is already in use. // int ERROR_ALREADY_ASSIGNED = 85; + // // MessageId: ERROR_INVALID_PASSWORD // @@ -647,6 +760,7 @@ public interface WinError { // The specified network password is not correct. // int ERROR_INVALID_PASSWORD = 86; + // // MessageId: ERROR_INVALID_PARAMETER // @@ -662,7 +776,9 @@ public interface WinError { // // A write fault occurred on the network. // + int ERROR_NET_WRITE_FAULT = 88; + // // MessageId: ERROR_NO_PROC_SLOTS // @@ -671,6 +787,7 @@ public interface WinError { // The system cannot start another process at this time. // int ERROR_NO_PROC_SLOTS = 89; + // // MessageId: ERROR_TOO_MANY_SEMAPHORES // @@ -679,6 +796,7 @@ public interface WinError { // Cannot create another system semaphore. // int ERROR_TOO_MANY_SEMAPHORES = 100; + // // MessageId: ERROR_EXCL_SEM_ALREADY_OWNED // @@ -687,6 +805,7 @@ public interface WinError { // The exclusive semaphore is owned by another process. // int ERROR_EXCL_SEM_ALREADY_OWNED = 101; + // // MessageId: ERROR_SEM_IS_SET // @@ -695,6 +814,7 @@ public interface WinError { // The semaphore is set and cannot be closed. // int ERROR_SEM_IS_SET = 102; + // // MessageId: ERROR_TOO_MANY_SEM_REQUESTS // @@ -703,6 +823,7 @@ public interface WinError { // The semaphore cannot be set again. // int ERROR_TOO_MANY_SEM_REQUESTS = 103; + // // MessageId: ERROR_INVALID_AT_INTERRUPT_TIME // @@ -711,6 +832,7 @@ public interface WinError { // Cannot request exclusive semaphores at interrupt time. // int ERROR_INVALID_AT_INTERRUPT_TIME = 104; + // // MessageId: ERROR_SEM_OWNER_DIED // @@ -719,6 +841,7 @@ public interface WinError { // The previous ownership of this semaphore has ended. // int ERROR_SEM_OWNER_DIED = 105; + // // MessageId: ERROR_SEM_USER_LIMIT // @@ -727,6 +850,7 @@ public interface WinError { // Insert the diskette for drive %1. // int ERROR_SEM_USER_LIMIT = 106; + // // MessageId: ERROR_DISK_CHANGE // @@ -735,6 +859,7 @@ public interface WinError { // The program stopped because an alternate diskette was not inserted. // int ERROR_DISK_CHANGE = 107; + // // MessageId: ERROR_DRIVE_LOCKED // @@ -743,6 +868,7 @@ public interface WinError { // The disk is in use or locked by another process. // int ERROR_DRIVE_LOCKED = 108; + // // MessageId: ERROR_BROKEN_PIPE // @@ -751,6 +877,7 @@ public interface WinError { // The pipe has been ended. // int ERROR_BROKEN_PIPE = 109; + // // MessageId: ERROR_OPEN_FAILED // @@ -759,6 +886,7 @@ public interface WinError { // The system cannot open the device or file specified. // int ERROR_OPEN_FAILED = 110; + // // MessageId: ERROR_BUFFER_OVERFLOW // @@ -767,6 +895,7 @@ public interface WinError { // The file name is too long. // int ERROR_BUFFER_OVERFLOW = 111; + // // MessageId: ERROR_DISK_FULL // @@ -775,6 +904,7 @@ public interface WinError { // There is not enough space on the disk. // int ERROR_DISK_FULL = 112; + // // MessageId: ERROR_NO_MORE_SEARCH_HANDLES // @@ -783,6 +913,7 @@ public interface WinError { // No more internal file identifiers available. // int ERROR_NO_MORE_SEARCH_HANDLES = 113; + // // MessageId: ERROR_INVALID_TARGET_HANDLE // @@ -791,6 +922,7 @@ public interface WinError { // The target internal file identifier is incorrect. // int ERROR_INVALID_TARGET_HANDLE = 114; + // // MessageId: ERROR_INVALID_CATEGORY // @@ -799,6 +931,7 @@ public interface WinError { // The IOCTL call made by the application program is not correct. // int ERROR_INVALID_CATEGORY = 117; + // // MessageId: ERROR_INVALID_VERIFY_SWITCH // @@ -807,6 +940,7 @@ public interface WinError { // The verify-on-write switch parameter value is not correct. // int ERROR_INVALID_VERIFY_SWITCH = 118; + // // MessageId: ERROR_BAD_DRIVER_LEVEL // @@ -815,6 +949,7 @@ public interface WinError { // The system does not support the command requested. // int ERROR_BAD_DRIVER_LEVEL = 119; + // // MessageId: ERROR_CALL_NOT_IMPLEMENTED // @@ -823,6 +958,7 @@ public interface WinError { // This function is not supported on this system. // int ERROR_CALL_NOT_IMPLEMENTED = 120; + // // MessageId: ERROR_SEM_TIMEOUT // @@ -831,6 +967,7 @@ public interface WinError { // The semaphore timeout period has expired. // int ERROR_SEM_TIMEOUT = 121; + // // MessageId: ERROR_INSUFFICIENT_BUFFER // @@ -846,6 +983,7 @@ public interface WinError { // // The filename, directory name, or volume label syntax is incorrect. // + int ERROR_INVALID_NAME = 123; // dderror // // MessageId: ERROR_INVALID_LEVEL @@ -854,7 +992,9 @@ public interface WinError { // // The system call level is not correct. // + int ERROR_INVALID_LEVEL = 124; + // // MessageId: ERROR_NO_VOLUME_LABEL // @@ -863,6 +1003,7 @@ public interface WinError { // The disk has no volume label. // int ERROR_NO_VOLUME_LABEL = 125; + // // MessageId: ERROR_MOD_NOT_FOUND // @@ -871,6 +1012,7 @@ public interface WinError { // The specified module could not be found. // int ERROR_MOD_NOT_FOUND = 126; + // // MessageId: ERROR_PROC_NOT_FOUND // @@ -879,6 +1021,7 @@ public interface WinError { // The specified procedure could not be found. // int ERROR_PROC_NOT_FOUND = 127; + // // MessageId: ERROR_WAIT_NO_CHILDREN // @@ -887,6 +1030,7 @@ public interface WinError { // There are no child processes to wait for. // int ERROR_WAIT_NO_CHILDREN = 128; + // // MessageId: ERROR_CHILD_NOT_COMPLETE // @@ -895,6 +1039,7 @@ public interface WinError { // The %1 application cannot be run in Win32 mode. // int ERROR_CHILD_NOT_COMPLETE = 129; + // // MessageId: ERROR_DIRECT_ACCESS_HANDLE // @@ -904,6 +1049,7 @@ public interface WinError { // other than raw disk I/O. // int ERROR_DIRECT_ACCESS_HANDLE = 130; + // // MessageId: ERROR_NEGATIVE_SEEK // @@ -913,6 +1059,7 @@ public interface WinError { // file. // int ERROR_NEGATIVE_SEEK = 131; + // // MessageId: ERROR_SEEK_ON_DEVICE // @@ -921,6 +1068,7 @@ public interface WinError { // The file pointer cannot be set on the specified device or file. // int ERROR_SEEK_ON_DEVICE = 132; + // // MessageId: ERROR_IS_JOIN_TARGET // @@ -930,6 +1078,7 @@ public interface WinError { // previously joined drives. // int ERROR_IS_JOIN_TARGET = 133; + // // MessageId: ERROR_IS_JOINED // @@ -939,6 +1088,7 @@ public interface WinError { // already been joined. // int ERROR_IS_JOINED = 134; + // // MessageId: ERROR_IS_SUBSTED // @@ -948,6 +1098,7 @@ public interface WinError { // already been substituted. // int ERROR_IS_SUBSTED = 135; + // // MessageId: ERROR_NOT_JOINED // @@ -956,6 +1107,7 @@ public interface WinError { // The system tried to delete the JOIN of a drive that is not joined. // int ERROR_NOT_JOINED = 136; + // // MessageId: ERROR_NOT_SUBSTED // @@ -965,6 +1117,7 @@ public interface WinError { // substituted. // int ERROR_NOT_SUBSTED = 137; + // // MessageId: ERROR_JOIN_TO_JOIN // @@ -973,6 +1126,7 @@ public interface WinError { // The system tried to join a drive to a directory on a joined drive. // int ERROR_JOIN_TO_JOIN = 138; + // // MessageId: ERROR_SUBST_TO_SUBST // @@ -982,6 +1136,7 @@ public interface WinError { // drive. // int ERROR_SUBST_TO_SUBST = 139; + // // MessageId: ERROR_JOIN_TO_SUBST // @@ -990,6 +1145,7 @@ public interface WinError { // The system tried to join a drive to a directory on a substituted drive. // int ERROR_JOIN_TO_SUBST = 140; + // // MessageId: ERROR_SUBST_TO_JOIN // @@ -998,6 +1154,7 @@ public interface WinError { // The system tried to SUBST a drive to a directory on a joined drive. // int ERROR_SUBST_TO_JOIN = 141; + // // MessageId: ERROR_BUSY_DRIVE // @@ -1006,6 +1163,7 @@ public interface WinError { // The system cannot perform a JOIN or SUBST at this time. // int ERROR_BUSY_DRIVE = 142; + // // MessageId: ERROR_SAME_DRIVE // @@ -1015,6 +1173,7 @@ public interface WinError { // same drive. // int ERROR_SAME_DRIVE = 143; + // // MessageId: ERROR_DIR_NOT_ROOT // @@ -1023,6 +1182,7 @@ public interface WinError { // The directory is not a subdirectory of the root directory. // int ERROR_DIR_NOT_ROOT = 144; + // // MessageId: ERROR_DIR_NOT_EMPTY // @@ -1031,6 +1191,7 @@ public interface WinError { // The directory is not empty. // int ERROR_DIR_NOT_EMPTY = 145; + // // MessageId: ERROR_IS_SUBST_PATH // @@ -1039,6 +1200,7 @@ public interface WinError { // The path specified is being used in a substitute. // int ERROR_IS_SUBST_PATH = 146; + // // MessageId: ERROR_IS_JOIN_PATH // @@ -1047,6 +1209,7 @@ public interface WinError { // Not enough resources are available to process this command. // int ERROR_IS_JOIN_PATH = 147; + // // MessageId: ERROR_PATH_BUSY // @@ -1055,6 +1218,7 @@ public interface WinError { // The path specified cannot be used at this time. // int ERROR_PATH_BUSY = 148; + // // MessageId: ERROR_IS_SUBST_TARGET // @@ -1064,6 +1228,7 @@ public interface WinError { // on the drive is the target of a previous substitute. // int ERROR_IS_SUBST_TARGET = 149; + // // MessageId: ERROR_SYSTEM_TRACE // @@ -1073,6 +1238,7 @@ public interface WinError { // tracing is disallowed. // int ERROR_SYSTEM_TRACE = 150; + // // MessageId: ERROR_INVALID_EVENT_COUNT // @@ -1082,6 +1248,7 @@ public interface WinError { // correct. // int ERROR_INVALID_EVENT_COUNT = 151; + // // MessageId: ERROR_TOO_MANY_MUXWAITERS // @@ -1090,6 +1257,7 @@ public interface WinError { // DosMuxSemWait did not execute; too many semaphores are already set. // int ERROR_TOO_MANY_MUXWAITERS = 152; + // // MessageId: ERROR_INVALID_LIST_FORMAT // @@ -1098,6 +1266,7 @@ public interface WinError { // The DosMuxSemWait list is not correct. // int ERROR_INVALID_LIST_FORMAT = 153; + // // MessageId: ERROR_LABEL_TOO_LONG // @@ -1107,6 +1276,7 @@ public interface WinError { // target file system. // int ERROR_LABEL_TOO_LONG = 154; + // // MessageId: ERROR_TOO_MANY_TCBS // @@ -1115,6 +1285,7 @@ public interface WinError { // Cannot create another thread. // int ERROR_TOO_MANY_TCBS = 155; + // // MessageId: ERROR_SIGNAL_REFUSED // @@ -1123,6 +1294,7 @@ public interface WinError { // The recipient process has refused the signal. // int ERROR_SIGNAL_REFUSED = 156; + // // MessageId: ERROR_DISCARDED // @@ -1131,6 +1303,7 @@ public interface WinError { // The segment is already discarded and cannot be locked. // int ERROR_DISCARDED = 157; + // // MessageId: ERROR_NOT_LOCKED // @@ -1139,6 +1312,7 @@ public interface WinError { // The segment is already unlocked. // int ERROR_NOT_LOCKED = 158; + // // MessageId: ERROR_BAD_THREADID_ADDR // @@ -1147,6 +1321,7 @@ public interface WinError { // The address for the thread ID is not correct. // int ERROR_BAD_THREADID_ADDR = 159; + // // MessageId: ERROR_BAD_ARGUMENTS // @@ -1155,6 +1330,7 @@ public interface WinError { // One or more arguments are not correct. // int ERROR_BAD_ARGUMENTS = 160; + // // MessageId: ERROR_BAD_PATHNAME // @@ -1163,6 +1339,7 @@ public interface WinError { // The specified path is invalid. // int ERROR_BAD_PATHNAME = 161; + // // MessageId: ERROR_SIGNAL_PENDING // @@ -1171,6 +1348,7 @@ public interface WinError { // A signal is already pending. // int ERROR_SIGNAL_PENDING = 162; + // // MessageId: ERROR_MAX_THRDS_REACHED // @@ -1179,6 +1357,7 @@ public interface WinError { // No more threads can be created in the system. // int ERROR_MAX_THRDS_REACHED = 164; + // // MessageId: ERROR_LOCK_FAILED // @@ -1187,6 +1366,7 @@ public interface WinError { // Unable to lock a region of a file. // int ERROR_LOCK_FAILED = 167; + // // MessageId: ERROR_BUSY // @@ -1202,7 +1382,9 @@ public interface WinError { // // A lock request was not outstanding for the supplied cancel region. // + int ERROR_CANCEL_VIOLATION = 173; + // // MessageId: ERROR_ATOMIC_LOCKS_NOT_SUPPORTED // @@ -1211,6 +1393,7 @@ public interface WinError { // The file system does not support atomic changes to the lock type. // int ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174; + // // MessageId: ERROR_INVALID_SEGMENT_NUMBER // @@ -1219,6 +1402,7 @@ public interface WinError { // The system detected a segment number that was not correct. // int ERROR_INVALID_SEGMENT_NUMBER = 180; + // // MessageId: ERROR_INVALID_ORDINAL // @@ -1227,6 +1411,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_ORDINAL = 182; + // // MessageId: ERROR_ALREADY_EXISTS // @@ -1235,6 +1420,7 @@ public interface WinError { // Cannot create a file when that file already exists. // int ERROR_ALREADY_EXISTS = 183; + // // MessageId: ERROR_INVALID_FLAG_NUMBER // @@ -1243,6 +1429,7 @@ public interface WinError { // The flag passed is not correct. // int ERROR_INVALID_FLAG_NUMBER = 186; + // // MessageId: ERROR_SEM_NOT_FOUND // @@ -1251,6 +1438,7 @@ public interface WinError { // The specified system semaphore name was not found. // int ERROR_SEM_NOT_FOUND = 187; + // // MessageId: ERROR_INVALID_STARTING_CODESEG // @@ -1259,6 +1447,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_STARTING_CODESEG = 188; + // // MessageId: ERROR_INVALID_STACKSEG // @@ -1267,6 +1456,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_STACKSEG = 189; + // // MessageId: ERROR_INVALID_MODULETYPE // @@ -1275,6 +1465,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_MODULETYPE = 190; + // // MessageId: ERROR_INVALID_EXE_SIGNATURE // @@ -1283,6 +1474,7 @@ public interface WinError { // Cannot run %1 in Win32 mode. // int ERROR_INVALID_EXE_SIGNATURE = 191; + // // MessageId: ERROR_EXE_MARKED_INVALID // @@ -1291,6 +1483,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_EXE_MARKED_INVALID = 192; + // // MessageId: ERROR_BAD_EXE_FORMAT // @@ -1299,6 +1492,7 @@ public interface WinError { // %1 is not a valid Win32 application. // int ERROR_BAD_EXE_FORMAT = 193; + // // MessageId: ERROR_ITERATED_DATA_EXCEEDS_64k // @@ -1307,6 +1501,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_ITERATED_DATA_EXCEEDS_64k = 194; + // // MessageId: ERROR_INVALID_MINALLOCSIZE // @@ -1315,6 +1510,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_MINALLOCSIZE = 195; + // // MessageId: ERROR_DYNLINK_FROM_INVALID_RING // @@ -1323,6 +1519,7 @@ public interface WinError { // The operating system cannot run this application program. // int ERROR_DYNLINK_FROM_INVALID_RING = 196; + // // MessageId: ERROR_IOPL_NOT_ENABLED // @@ -1331,6 +1528,7 @@ public interface WinError { // The operating system is not presently configured to run this application. // int ERROR_IOPL_NOT_ENABLED = 197; + // // MessageId: ERROR_INVALID_SEGDPL // @@ -1339,6 +1537,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INVALID_SEGDPL = 198; + // // MessageId: ERROR_AUTODATASEG_EXCEEDS_64k // @@ -1347,6 +1546,7 @@ public interface WinError { // The operating system cannot run this application program. // int ERROR_AUTODATASEG_EXCEEDS_64k = 199; + // // MessageId: ERROR_RING2SEG_MUST_BE_MOVABLE // @@ -1355,6 +1555,7 @@ public interface WinError { // The code segment cannot be greater than or equal to=64K. // int ERROR_RING2SEG_MUST_BE_MOVABLE = 200; + // // MessageId: ERROR_RELOC_CHAIN_XEEDS_SEGLIM // @@ -1363,6 +1564,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201; + // // MessageId: ERROR_INFLOOP_IN_RELOC_CHAIN // @@ -1371,6 +1573,7 @@ public interface WinError { // The operating system cannot run %1. // int ERROR_INFLOOP_IN_RELOC_CHAIN = 202; + // // MessageId: ERROR_ENVVAR_NOT_FOUND // @@ -1379,6 +1582,7 @@ public interface WinError { // The system could not find the environment option that was entered. // int ERROR_ENVVAR_NOT_FOUND = 203; + // // MessageId: ERROR_NO_SIGNAL_SENT // @@ -1387,6 +1591,7 @@ public interface WinError { // No process in the command subtree has a signal handler. // int ERROR_NO_SIGNAL_SENT = 205; + // // MessageId: ERROR_FILENAME_EXCED_RANGE // @@ -1395,6 +1600,7 @@ public interface WinError { // The filename or extension is too long. // int ERROR_FILENAME_EXCED_RANGE = 206; + // // MessageId: ERROR_RING2_STACK_IN_USE // @@ -1403,6 +1609,7 @@ public interface WinError { // The ring=2 stack is in use. // int ERROR_RING2_STACK_IN_USE = 207; + // // MessageId: ERROR_META_EXPANSION_TOO_LONG // @@ -1412,6 +1619,7 @@ public interface WinError { // many global filename characters are specified. // int ERROR_META_EXPANSION_TOO_LONG = 208; + // // MessageId: ERROR_INVALID_SIGNAL_NUMBER // @@ -1420,6 +1628,7 @@ public interface WinError { // The signal being posted is not correct. // int ERROR_INVALID_SIGNAL_NUMBER = 209; + // // MessageId: ERROR_THREAD_1_INACTIVE // @@ -1428,6 +1637,7 @@ public interface WinError { // The signal handler cannot be set. // int ERROR_THREAD_1_INACTIVE = 210; + // // MessageId: ERROR_LOCKED // @@ -1436,6 +1646,7 @@ public interface WinError { // The segment is locked and cannot be reallocated. // int ERROR_LOCKED = 212; + // // MessageId: ERROR_TOO_MANY_MODULES // @@ -1445,6 +1656,7 @@ public interface WinError { // dynamic-link module. // int ERROR_TOO_MANY_MODULES = 214; + // // MessageId: ERROR_NESTING_NOT_ALLOWED // @@ -1453,6 +1665,7 @@ public interface WinError { // Cannot nest calls to LoadModule. // int ERROR_NESTING_NOT_ALLOWED = 215; + // // MessageId: ERROR_EXE_MACHINE_TYPE_MISMATCH // @@ -1464,6 +1677,7 @@ public interface WinError { // the software publisher. // int ERROR_EXE_MACHINE_TYPE_MISMATCH = 216; + // // MessageId: ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY // @@ -1472,6 +1686,7 @@ public interface WinError { // The image file %1 is signed, unable to modify. // int ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY = 217; + // // MessageId: ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY // @@ -1480,6 +1695,7 @@ public interface WinError { // The image file %1 is strong signed, unable to modify. // int ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY = 218; + // // MessageId: ERROR_FILE_CHECKED_OUT // @@ -1488,6 +1704,7 @@ public interface WinError { // This file is checked out or locked for editing by another user. // int ERROR_FILE_CHECKED_OUT = 220; + // // MessageId: ERROR_CHECKOUT_REQUIRED // @@ -1496,6 +1713,7 @@ public interface WinError { // The file must be checked out before saving changes. // int ERROR_CHECKOUT_REQUIRED = 221; + // // MessageId: ERROR_BAD_FILE_TYPE // @@ -1504,6 +1722,7 @@ public interface WinError { // The file type being saved or retrieved has been blocked. // int ERROR_BAD_FILE_TYPE = 222; + // // MessageId: ERROR_FILE_TOO_LARGE // @@ -1512,6 +1731,7 @@ public interface WinError { // The file size exceeds the limit allowed and cannot be saved. // int ERROR_FILE_TOO_LARGE = 223; + // // MessageId: ERROR_FORMS_AUTH_REQUIRED // @@ -1521,6 +1741,7 @@ public interface WinError { // browse to the web site and select the option to login automatically. // int ERROR_FORMS_AUTH_REQUIRED = 224; + // // MessageId: ERROR_VIRUS_INFECTED // @@ -1530,6 +1751,7 @@ public interface WinError { // virus. // int ERROR_VIRUS_INFECTED = 225; + // // MessageId: ERROR_VIRUS_DELETED // @@ -1539,6 +1761,7 @@ public interface WinError { // this virus, the file has been removed from this location. // int ERROR_VIRUS_DELETED = 226; + // // MessageId: ERROR_PIPE_LOCAL // @@ -1547,6 +1770,7 @@ public interface WinError { // The pipe is local. // int ERROR_PIPE_LOCAL = 229; + // // MessageId: ERROR_BAD_PIPE // @@ -1555,6 +1779,7 @@ public interface WinError { // The pipe state is invalid. // int ERROR_BAD_PIPE = 230; + // // MessageId: ERROR_PIPE_BUSY // @@ -1563,6 +1788,7 @@ public interface WinError { // All pipe instances are busy. // int ERROR_PIPE_BUSY = 231; + // // MessageId: ERROR_NO_DATA // @@ -1571,6 +1797,7 @@ public interface WinError { // The pipe is being closed. // int ERROR_NO_DATA = 232; + // // MessageId: ERROR_PIPE_NOT_CONNECTED // @@ -1579,6 +1806,7 @@ public interface WinError { // No process is on the other end of the pipe. // int ERROR_PIPE_NOT_CONNECTED = 233; + // // MessageId: ERROR_MORE_DATA // @@ -1594,7 +1822,9 @@ public interface WinError { // // The session was canceled. // + int ERROR_VC_DISCONNECTED = 240; + // // MessageId: ERROR_INVALID_EA_NAME // @@ -1603,6 +1833,7 @@ public interface WinError { // The specified extended attribute name was invalid. // int ERROR_INVALID_EA_NAME = 254; + // // MessageId: ERROR_EA_LIST_INCONSISTENT // @@ -1611,6 +1842,7 @@ public interface WinError { // The extended attributes are inconsistent. // int ERROR_EA_LIST_INCONSISTENT = 255; + // // MessageId: WAIT_TIMEOUT // @@ -1626,7 +1858,9 @@ public interface WinError { // // No more data is available. // + int ERROR_NO_MORE_ITEMS = 259; + // // MessageId: ERROR_CANNOT_COPY // @@ -1635,6 +1869,7 @@ public interface WinError { // The copy functions cannot be used. // int ERROR_CANNOT_COPY = 266; + // // MessageId: ERROR_DIRECTORY // @@ -1643,6 +1878,7 @@ public interface WinError { // The directory name is invalid. // int ERROR_DIRECTORY = 267; + // // MessageId: ERROR_EAS_DIDNT_FIT // @@ -1651,6 +1887,7 @@ public interface WinError { // The extended attributes did not fit in the buffer. // int ERROR_EAS_DIDNT_FIT = 275; + // // MessageId: ERROR_EA_FILE_CORRUPT // @@ -1659,6 +1896,7 @@ public interface WinError { // The extended attribute file on the mounted file system is corrupt. // int ERROR_EA_FILE_CORRUPT = 276; + // // MessageId: ERROR_EA_TABLE_FULL // @@ -1667,6 +1905,7 @@ public interface WinError { // The extended attribute table file is full. // int ERROR_EA_TABLE_FULL = 277; + // // MessageId: ERROR_INVALID_EA_HANDLE // @@ -1675,6 +1914,7 @@ public interface WinError { // The specified extended attribute handle is invalid. // int ERROR_INVALID_EA_HANDLE = 278; + // // MessageId: ERROR_EAS_NOT_SUPPORTED // @@ -1683,6 +1923,7 @@ public interface WinError { // The mounted file system does not support extended attributes. // int ERROR_EAS_NOT_SUPPORTED = 282; + // // MessageId: ERROR_NOT_OWNER // @@ -1691,6 +1932,7 @@ public interface WinError { // Attempt to release mutex not owned by caller. // int ERROR_NOT_OWNER = 288; + // // MessageId: ERROR_TOO_MANY_POSTS // @@ -1699,6 +1941,7 @@ public interface WinError { // Too many posts were made to a semaphore. // int ERROR_TOO_MANY_POSTS = 298; + // // MessageId: ERROR_PARTIAL_COPY // @@ -1708,6 +1951,7 @@ public interface WinError { // completed. // int ERROR_PARTIAL_COPY = 299; + // // MessageId: ERROR_OPLOCK_NOT_GRANTED // @@ -1716,6 +1960,7 @@ public interface WinError { // The oplock request is denied. // int ERROR_OPLOCK_NOT_GRANTED = 300; + // // MessageId: ERROR_INVALID_OPLOCK_PROTOCOL // @@ -1724,6 +1969,7 @@ public interface WinError { // An invalid oplock acknowledgment was received by the system. // int ERROR_INVALID_OPLOCK_PROTOCOL = 301; + // // MessageId: ERROR_DISK_TOO_FRAGMENTED // @@ -1732,6 +1978,7 @@ public interface WinError { // The volume is too fragmented to complete this operation. // int ERROR_DISK_TOO_FRAGMENTED = 302; + // // MessageId: ERROR_DELETE_PENDING // @@ -1740,6 +1987,7 @@ public interface WinError { // The file cannot be opened because it is in the process of being deleted. // int ERROR_DELETE_PENDING = 303; + // // MessageId: ERROR_MR_MID_NOT_FOUND // @@ -1749,6 +1997,7 @@ public interface WinError { // message file for %2. // int ERROR_MR_MID_NOT_FOUND = 317; + // // MessageId: ERROR_SCOPE_NOT_FOUND // @@ -1757,6 +2006,7 @@ public interface WinError { // The scope specified was not found. // int ERROR_SCOPE_NOT_FOUND = 318; + // // MessageId: ERROR_FAIL_NOACTION_REBOOT // @@ -1765,6 +2015,7 @@ public interface WinError { // No action was taken as a system reboot is required. // int ERROR_FAIL_NOACTION_REBOOT = 350; + // // MessageId: ERROR_FAIL_SHUTDOWN // @@ -1773,6 +2024,7 @@ public interface WinError { // The shutdown operation failed. // int ERROR_FAIL_SHUTDOWN = 351; + // // MessageId: ERROR_FAIL_RESTART // @@ -1781,6 +2033,7 @@ public interface WinError { // The restart operation failed. // int ERROR_FAIL_RESTART = 352; + // // MessageId: ERROR_MAX_SESSIONS_REACHED // @@ -1789,6 +2042,7 @@ public interface WinError { // The maximum number of sessions has been reached. // int ERROR_MAX_SESSIONS_REACHED = 353; + // // MessageId: ERROR_THREAD_MODE_ALREADY_BACKGROUND // @@ -1797,6 +2051,7 @@ public interface WinError { // The thread is already in background processing mode. // int ERROR_THREAD_MODE_ALREADY_BACKGROUND = 400; + // // MessageId: ERROR_THREAD_MODE_NOT_BACKGROUND // @@ -1805,6 +2060,7 @@ public interface WinError { // The thread is not in background processing mode. // int ERROR_THREAD_MODE_NOT_BACKGROUND = 401; + // // MessageId: ERROR_PROCESS_MODE_ALREADY_BACKGROUND // @@ -1813,6 +2069,7 @@ public interface WinError { // The process is already in background processing mode. // int ERROR_PROCESS_MODE_ALREADY_BACKGROUND = 402; + // // MessageId: ERROR_PROCESS_MODE_NOT_BACKGROUND // @@ -1821,6 +2078,7 @@ public interface WinError { // The process is not in background processing mode. // int ERROR_PROCESS_MODE_NOT_BACKGROUND = 403; + // // MessageId: ERROR_INVALID_ADDRESS // @@ -1829,6 +2087,7 @@ public interface WinError { // Attempt to access invalid address. // int ERROR_INVALID_ADDRESS = 487; + // // MessageId: ERROR_USER_PROFILE_LOAD // @@ -1837,6 +2096,7 @@ public interface WinError { // User profile cannot be loaded. // int ERROR_USER_PROFILE_LOAD = 500; + // // MessageId: ERROR_ARITHMETIC_OVERFLOW // @@ -1845,6 +2105,7 @@ public interface WinError { // Arithmetic result exceeded=32 bits. // int ERROR_ARITHMETIC_OVERFLOW = 534; + // // MessageId: ERROR_PIPE_CONNECTED // @@ -1853,6 +2114,7 @@ public interface WinError { // There is a process on other end of the pipe. // int ERROR_PIPE_CONNECTED = 535; + // // MessageId: ERROR_PIPE_LISTENING // @@ -1861,6 +2123,7 @@ public interface WinError { // Waiting for a process to open the other end of the pipe. // int ERROR_PIPE_LISTENING = 536; + // // MessageId: ERROR_VERIFIER_STOP // @@ -1869,6 +2132,7 @@ public interface WinError { // Application verifier has found an error in the current process. // int ERROR_VERIFIER_STOP = 537; + // // MessageId: ERROR_ABIOS_ERROR // @@ -1877,6 +2141,7 @@ public interface WinError { // An error occurred in the ABIOS subsystem. // int ERROR_ABIOS_ERROR = 538; + // // MessageId: ERROR_WX86_WARNING // @@ -1885,6 +2150,7 @@ public interface WinError { // A warning occurred in the WX86 subsystem. // int ERROR_WX86_WARNING = 539; + // // MessageId: ERROR_WX86_ERROR // @@ -1893,6 +2159,7 @@ public interface WinError { // An error occurred in the WX86 subsystem. // int ERROR_WX86_ERROR = 540; + // // MessageId: ERROR_TIMER_NOT_CANCELED // @@ -1903,6 +2170,7 @@ public interface WinError { // with an associated APC routine. // int ERROR_TIMER_NOT_CANCELED = 541; + // // MessageId: ERROR_UNWIND // @@ -1911,6 +2179,7 @@ public interface WinError { // Unwind exception code. // int ERROR_UNWIND = 542; + // // MessageId: ERROR_BAD_STACK // @@ -1919,6 +2188,7 @@ public interface WinError { // An invalid or unaligned stack was encountered during an unwind operation. // int ERROR_BAD_STACK = 543; + // // MessageId: ERROR_INVALID_UNWIND_TARGET // @@ -1927,6 +2197,7 @@ public interface WinError { // An invalid unwind target was encountered during an unwind operation. // int ERROR_INVALID_UNWIND_TARGET = 544; + // // MessageId: ERROR_INVALID_PORT_ATTRIBUTES // @@ -1936,6 +2207,7 @@ public interface WinError { // Attributes specified to NtConnectPort // int ERROR_INVALID_PORT_ATTRIBUTES = 545; + // // MessageId: ERROR_PORT_MESSAGE_TOO_LONG // @@ -1945,6 +2217,7 @@ public interface WinError { // longer than the maximum message allowed by the port. // int ERROR_PORT_MESSAGE_TOO_LONG = 546; + // // MessageId: ERROR_INVALID_QUOTA_LOWER // @@ -1953,6 +2226,7 @@ public interface WinError { // An attempt was made to lower a quota limit below the current usage. // int ERROR_INVALID_QUOTA_LOWER = 547; + // // MessageId: ERROR_DEVICE_ALREADY_ATTACHED // @@ -1962,6 +2236,7 @@ public interface WinError { // another device. // int ERROR_DEVICE_ALREADY_ATTACHED = 548; + // // MessageId: ERROR_INSTRUCTION_MISALIGNMENT // @@ -1971,6 +2246,7 @@ public interface WinError { // the host system does not support unaligned instruction references. // int ERROR_INSTRUCTION_MISALIGNMENT = 549; + // // MessageId: ERROR_PROFILING_NOT_STARTED // @@ -1979,6 +2255,7 @@ public interface WinError { // Profiling not started. // int ERROR_PROFILING_NOT_STARTED = 550; + // // MessageId: ERROR_PROFILING_NOT_STOPPED // @@ -1987,6 +2264,7 @@ public interface WinError { // Profiling not stopped. // int ERROR_PROFILING_NOT_STOPPED = 551; + // // MessageId: ERROR_COULD_NOT_INTERPRET // @@ -1995,6 +2273,7 @@ public interface WinError { // The passed ACL did not contain the minimum required information. // int ERROR_COULD_NOT_INTERPRET = 552; + // // MessageId: ERROR_PROFILING_AT_LIMIT // @@ -2004,6 +2283,7 @@ public interface WinError { // be started. // int ERROR_PROFILING_AT_LIMIT = 553; + // // MessageId: ERROR_CANT_WAIT // @@ -2013,6 +2293,7 @@ public interface WinError { // I/O. // int ERROR_CANT_WAIT = 554; + // // MessageId: ERROR_CANT_TERMINATE_SELF // @@ -2023,6 +2304,7 @@ public interface WinError { // process. // int ERROR_CANT_TERMINATE_SELF = 555; + // // MessageId: ERROR_UNEXPECTED_MM_CREATE_ERR // @@ -2035,6 +2317,7 @@ public interface WinError { // the exception. // int ERROR_UNEXPECTED_MM_CREATE_ERR = 556; + // // MessageId: ERROR_UNEXPECTED_MM_MAP_ERROR // @@ -2047,6 +2330,7 @@ public interface WinError { // the exception. // int ERROR_UNEXPECTED_MM_MAP_ERROR = 557; + // // MessageId: ERROR_UNEXPECTED_MM_EXTEND_ERR // @@ -2059,6 +2343,7 @@ public interface WinError { // the exception. // int ERROR_UNEXPECTED_MM_EXTEND_ERR = 558; + // // MessageId: ERROR_BAD_FUNCTION_TABLE // @@ -2067,6 +2352,7 @@ public interface WinError { // A malformed function table was encountered during an unwind operation. // int ERROR_BAD_FUNCTION_TABLE = 559; + // // MessageId: ERROR_NO_GUID_TRANSLATION // @@ -2079,6 +2365,7 @@ public interface WinError { // creation attempt to fail. // int ERROR_NO_GUID_TRANSLATION = 560; + // // MessageId: ERROR_INVALID_LDT_SIZE // @@ -2088,6 +2375,7 @@ public interface WinError { // that the size was not an even number of selectors. // int ERROR_INVALID_LDT_SIZE = 561; + // // MessageId: ERROR_INVALID_LDT_OFFSET // @@ -2097,6 +2385,7 @@ public interface WinError { // integral multiple of the selector size. // int ERROR_INVALID_LDT_OFFSET = 563; + // // MessageId: ERROR_INVALID_LDT_DESCRIPTOR // @@ -2106,6 +2395,7 @@ public interface WinError { // up Ldt descriptors. // int ERROR_INVALID_LDT_DESCRIPTOR = 564; + // // MessageId: ERROR_TOO_MANY_THREADS // @@ -2116,6 +2406,7 @@ public interface WinError { // process has zero or one threads. // int ERROR_TOO_MANY_THREADS = 565; + // // MessageId: ERROR_THREAD_NOT_IN_PROCESS // @@ -2125,6 +2416,7 @@ public interface WinError { // the thread specified is not in the process specified. // int ERROR_THREAD_NOT_IN_PROCESS = 566; + // // MessageId: ERROR_PAGEFILE_QUOTA_EXCEEDED // @@ -2133,6 +2425,7 @@ public interface WinError { // Page file quota was exceeded. // int ERROR_PAGEFILE_QUOTA_EXCEEDED = 567; + // // MessageId: ERROR_LOGON_SERVER_CONFLICT // @@ -2142,6 +2435,7 @@ public interface WinError { // running in the domain conflicts with the specified role. // int ERROR_LOGON_SERVER_CONFLICT = 568; + // // MessageId: ERROR_SYNCHRONIZATION_REQUIRED // @@ -2152,6 +2446,7 @@ public interface WinError { // synchronization is required. // int ERROR_SYNCHRONIZATION_REQUIRED = 569; + // // MessageId: ERROR_NET_OPEN_FAILED // @@ -2162,6 +2457,7 @@ public interface WinError { // to use in its internal error mapping routines. // int ERROR_NET_OPEN_FAILED = 570; + // // MessageId: ERROR_IO_PRIVILEGE_FAILED // @@ -2171,6 +2467,7 @@ public interface WinError { // The I/O permissions for the process could not be changed. // int ERROR_IO_PRIVILEGE_FAILED = 571; + // // MessageId: ERROR_CONTROL_C_EXIT // @@ -2188,7 +2485,9 @@ public interface WinError { // {Missing System File} // The required system file %hs is bad or missing. // + int ERROR_MISSING_SYSTEMFILE = 573; + // // MessageId: ERROR_UNHANDLED_EXCEPTION // @@ -2199,6 +2498,7 @@ public interface WinError { // 0x%08;x. // int ERROR_UNHANDLED_EXCEPTION = 574; + // // MessageId: ERROR_APP_INIT_FAILURE // @@ -2209,6 +2509,7 @@ public interface WinError { // terminate the application. // int ERROR_APP_INIT_FAILURE = 575; + // // MessageId: ERROR_PAGEFILE_CREATE_FAILED // @@ -2219,6 +2520,7 @@ public interface WinError { // %ld. // int ERROR_PAGEFILE_CREATE_FAILED = 576; + // // MessageId: ERROR_INVALID_IMAGE_HASH // @@ -2230,6 +2532,7 @@ public interface WinError { // unknown source. // int ERROR_INVALID_IMAGE_HASH = 577; + // // MessageId: ERROR_NO_PAGEFILE // @@ -2239,6 +2542,7 @@ public interface WinError { // No paging file was specified in the system configuration. // int ERROR_NO_PAGEFILE = 578; + // // MessageId: ERROR_ILLEGAL_FLOAT_CONTEXT // @@ -2249,6 +2553,7 @@ public interface WinError { // floating-point hardware is not present. // int ERROR_ILLEGAL_FLOAT_CONTEXT = 579; + // // MessageId: ERROR_NO_EVENT_PAIR // @@ -2259,6 +2564,7 @@ public interface WinError { // associated with the thread. // int ERROR_NO_EVENT_PAIR = 580; + // // MessageId: ERROR_DOMAIN_CTRLR_CONFIG_ERROR // @@ -2267,6 +2573,7 @@ public interface WinError { // A Windows Server has an incorrect configuration. // int ERROR_DOMAIN_CTRLR_CONFIG_ERROR = 581; + // // MessageId: ERROR_ILLEGAL_CHARACTER // @@ -2277,6 +2584,7 @@ public interface WinError { // character set this includes the characters 0xFFFF and 0xFFFE. // int ERROR_ILLEGAL_CHARACTER = 582; + // // MessageId: ERROR_UNDEFINED_CHARACTER // @@ -2286,6 +2594,7 @@ public interface WinError { // installed on the system. // int ERROR_UNDEFINED_CHARACTER = 583; + // // MessageId: ERROR_FLOPPY_VOLUME // @@ -2294,6 +2603,7 @@ public interface WinError { // The paging file cannot be created on a floppy diskette. // int ERROR_FLOPPY_VOLUME = 584; + // // MessageId: ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT // @@ -2303,6 +2613,7 @@ public interface WinError { // for which the device is connected. // int ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT = 585; + // // MessageId: ERROR_BACKUP_CONTROLLER // @@ -2312,6 +2623,7 @@ public interface WinError { // domain. // int ERROR_BACKUP_CONTROLLER = 586; + // // MessageId: ERROR_MUTANT_LIMIT_EXCEEDED // @@ -2321,6 +2633,7 @@ public interface WinError { // have been exceeded. // int ERROR_MUTANT_LIMIT_EXCEEDED = 587; + // // MessageId: ERROR_FS_DRIVER_REQUIRED // @@ -2330,6 +2643,7 @@ public interface WinError { // that has not yet been loaded. // int ERROR_FS_DRIVER_REQUIRED = 588; + // // MessageId: ERROR_CANNOT_LOAD_REGISTRY_FILE // @@ -2342,6 +2656,7 @@ public interface WinError { // It is corrupt, absent, or not writable. // int ERROR_CANNOT_LOAD_REGISTRY_FILE = 589; + // // MessageId: ERROR_DEBUG_ATTACH_FAILED // @@ -2353,6 +2668,7 @@ public interface WinError { // the error. // int ERROR_DEBUG_ATTACH_FAILED = 590; + // // MessageId: ERROR_SYSTEM_PROCESS_TERMINATED // @@ -2364,6 +2680,7 @@ public interface WinError { // The system has been shut down. // int ERROR_SYSTEM_PROCESS_TERMINATED = 591; + // // MessageId: ERROR_DATA_NOT_ACCEPTED // @@ -2373,6 +2690,7 @@ public interface WinError { // The TDI client could not handle the data received during an indication. // int ERROR_DATA_NOT_ACCEPTED = 592; + // // MessageId: ERROR_VDM_HARD_ERROR // @@ -2381,6 +2699,7 @@ public interface WinError { // NTVDM encountered a hard error. // int ERROR_VDM_HARD_ERROR = 593; + // // MessageId: ERROR_DRIVER_CANCEL_TIMEOUT // @@ -2391,6 +2710,7 @@ public interface WinError { // time. // int ERROR_DRIVER_CANCEL_TIMEOUT = 594; + // // MessageId: ERROR_REPLY_MESSAGE_MISMATCH // @@ -2401,6 +2721,7 @@ public interface WinError { // by the client ID in the message was not waiting on that message. // int ERROR_REPLY_MESSAGE_MISMATCH = 595; + // // MessageId: ERROR_LOST_WRITEBEHIND_DATA // @@ -2413,6 +2734,7 @@ public interface WinError { // network connection. Please try to save this file elsewhere. // int ERROR_LOST_WRITEBEHIND_DATA = 596; + // // MessageId: ERROR_CLIENT_SERVER_PARAMETERS_INVALID // @@ -2423,6 +2745,7 @@ public interface WinError { // window. // int ERROR_CLIENT_SERVER_PARAMETERS_INVALID = 597; + // // MessageId: ERROR_NOT_TINY_STREAM // @@ -2431,6 +2754,7 @@ public interface WinError { // The stream is not a tiny stream. // int ERROR_NOT_TINY_STREAM = 598; + // // MessageId: ERROR_STACK_OVERFLOW_READ // @@ -2439,6 +2763,7 @@ public interface WinError { // The request must be handled by the stack overflow code. // int ERROR_STACK_OVERFLOW_READ = 599; + // // MessageId: ERROR_CONVERT_TO_LARGE // @@ -2449,6 +2774,7 @@ public interface WinError { // extent stream is converted to a large stream. // int ERROR_CONVERT_TO_LARGE = 600; + // // MessageId: ERROR_FOUND_OUT_OF_SCOPE // @@ -2458,6 +2784,7 @@ public interface WinError { // volume but it is out of the scope of the handle used for the operation. // int ERROR_FOUND_OUT_OF_SCOPE = 601; + // // MessageId: ERROR_ALLOCATE_BUCKET // @@ -2466,6 +2793,7 @@ public interface WinError { // The bucket array must be grown. Retry transaction after doing so. // int ERROR_ALLOCATE_BUCKET = 602; + // // MessageId: ERROR_MARSHALL_OVERFLOW // @@ -2474,6 +2802,7 @@ public interface WinError { // The user/kernel marshalling buffer has overflowed. // int ERROR_MARSHALL_OVERFLOW = 603; + // // MessageId: ERROR_INVALID_VARIANT // @@ -2482,6 +2811,7 @@ public interface WinError { // The supplied variant structure contains invalid data. // int ERROR_INVALID_VARIANT = 604; + // // MessageId: ERROR_BAD_COMPRESSION_BUFFER // @@ -2490,6 +2820,7 @@ public interface WinError { // The specified buffer contains ill-formed data. // int ERROR_BAD_COMPRESSION_BUFFER = 605; + // // MessageId: ERROR_AUDIT_FAILED // @@ -2499,6 +2830,7 @@ public interface WinError { // An attempt to generate a security audit failed. // int ERROR_AUDIT_FAILED = 606; + // // MessageId: ERROR_TIMER_RESOLUTION_NOT_SET // @@ -2507,6 +2839,7 @@ public interface WinError { // The timer resolution was not previously set by the current process. // int ERROR_TIMER_RESOLUTION_NOT_SET = 607; + // // MessageId: ERROR_INSUFFICIENT_LOGON_INFO // @@ -2515,6 +2848,7 @@ public interface WinError { // There is insufficient account information to log you on. // int ERROR_INSUFFICIENT_LOGON_INFO = 608; + // // MessageId: ERROR_BAD_DLL_ENTRYPOINT // @@ -2528,6 +2862,7 @@ public interface WinError { // cause the application to operate incorrectly. // int ERROR_BAD_DLL_ENTRYPOINT = 609; + // // MessageId: ERROR_BAD_SERVICE_ENTRYPOINT // @@ -2541,6 +2876,7 @@ public interface WinError { // service process may operate incorrectly. // int ERROR_BAD_SERVICE_ENTRYPOINT = 610; + // // MessageId: ERROR_IP_ADDRESS_CONFLICT1 // @@ -2549,6 +2885,7 @@ public interface WinError { // There is an IP address conflict with another system on the network // int ERROR_IP_ADDRESS_CONFLICT1 = 611; + // // MessageId: ERROR_IP_ADDRESS_CONFLICT2 // @@ -2557,6 +2894,7 @@ public interface WinError { // There is an IP address conflict with another system on the network // int ERROR_IP_ADDRESS_CONFLICT2 = 612; + // // MessageId: ERROR_REGISTRY_QUOTA_LIMIT // @@ -2567,6 +2905,7 @@ public interface WinError { // the registry. Additional storage requests will be ignored. // int ERROR_REGISTRY_QUOTA_LIMIT = 613; + // // MessageId: ERROR_NO_CALLBACK_ACTIVE // @@ -2576,6 +2915,7 @@ public interface WinError { // active. // int ERROR_NO_CALLBACK_ACTIVE = 614; + // // MessageId: ERROR_PWD_TOO_SHORT // @@ -2586,6 +2926,7 @@ public interface WinError { // Please choose a longer password. // int ERROR_PWD_TOO_SHORT = 615; + // // MessageId: ERROR_PWD_TOO_RECENT // @@ -2599,6 +2940,7 @@ public interface WinError { // administrator immediately to have a new one assigned. // int ERROR_PWD_TOO_RECENT = 616; + // // MessageId: ERROR_PWD_HISTORY_CONFLICT // @@ -2610,6 +2952,7 @@ public interface WinError { // password that you have not previously used. // int ERROR_PWD_HISTORY_CONFLICT = 617; + // // MessageId: ERROR_UNSUPPORTED_COMPRESSION // @@ -2618,6 +2961,7 @@ public interface WinError { // The specified compression format is unsupported. // int ERROR_UNSUPPORTED_COMPRESSION = 618; + // // MessageId: ERROR_INVALID_HW_PROFILE // @@ -2626,6 +2970,7 @@ public interface WinError { // The specified hardware profile configuration is invalid. // int ERROR_INVALID_HW_PROFILE = 619; + // // MessageId: ERROR_INVALID_PLUGPLAY_DEVICE_PATH // @@ -2634,6 +2979,7 @@ public interface WinError { // The specified Plug and Play registry device path is invalid. // int ERROR_INVALID_PLUGPLAY_DEVICE_PATH = 620; + // // MessageId: ERROR_QUOTA_LIST_INCONSISTENT // @@ -2642,6 +2988,7 @@ public interface WinError { // The specified quota list is internally inconsistent with its descriptor. // int ERROR_QUOTA_LIST_INCONSISTENT = 621; + // // MessageId: ERROR_EVALUATION_EXPIRATION // @@ -2654,6 +3001,7 @@ public interface WinError { // of this product. // int ERROR_EVALUATION_EXPIRATION = 622; + // // MessageId: ERROR_ILLEGAL_DLL_RELOCATION // @@ -2667,6 +3015,7 @@ public interface WinError { // contacted for a new DLL. // int ERROR_ILLEGAL_DLL_RELOCATION = 623; + // // MessageId: ERROR_DLL_INIT_FAILED_LOGOFF // @@ -2677,6 +3026,7 @@ public interface WinError { // shutting down. // int ERROR_DLL_INIT_FAILED_LOGOFF = 624; + // // MessageId: ERROR_VALIDATE_CONTINUE // @@ -2685,6 +3035,7 @@ public interface WinError { // The validation process needs to continue on to the next step. // int ERROR_VALIDATE_CONTINUE = 625; + // // MessageId: ERROR_NO_MORE_MATCHES // @@ -2693,6 +3044,7 @@ public interface WinError { // There are no more matches for the current index enumeration. // int ERROR_NO_MORE_MATCHES = 626; + // // MessageId: ERROR_RANGE_LIST_CONFLICT // @@ -2701,6 +3053,7 @@ public interface WinError { // The range could not be added to the range list because of a conflict. // int ERROR_RANGE_LIST_CONFLICT = 627; + // // MessageId: ERROR_SERVER_SID_MISMATCH // @@ -2710,6 +3063,7 @@ public interface WinError { // client. // int ERROR_SERVER_SID_MISMATCH = 628; + // // MessageId: ERROR_CANT_ENABLE_DENY_ONLY // @@ -2718,6 +3072,7 @@ public interface WinError { // A group marked use for deny only cannot be enabled. // int ERROR_CANT_ENABLE_DENY_ONLY = 629; + // // MessageId: ERROR_FLOAT_MULTIPLE_FAULTS // @@ -2735,6 +3090,7 @@ public interface WinError { // {EXCEPTION} // Multiple floating point traps. // + int ERROR_FLOAT_MULTIPLE_TRAPS = 631; // winnt // // MessageId: ERROR_NOINTERFACE @@ -2743,7 +3099,9 @@ public interface WinError { // // The requested interface is not supported. // + int ERROR_NOINTERFACE = 632; + // // MessageId: ERROR_DRIVER_FAILED_SLEEP // @@ -2754,6 +3112,7 @@ public interface WinError { // allow the system to go to standby mode. // int ERROR_DRIVER_FAILED_SLEEP = 633; + // // MessageId: ERROR_CORRUPT_SYSTEM_FILE // @@ -2762,6 +3121,7 @@ public interface WinError { // The system file %1 has become corrupt and has been replaced. // int ERROR_CORRUPT_SYSTEM_FILE = 634; + // // MessageId: ERROR_COMMITMENT_MINIMUM // @@ -2774,6 +3134,7 @@ public interface WinError { // For more information, see Help. // int ERROR_COMMITMENT_MINIMUM = 635; + // // MessageId: ERROR_PNP_RESTART_ENUMERATION // @@ -2782,6 +3143,7 @@ public interface WinError { // A device was removed so enumeration must be restarted. // int ERROR_PNP_RESTART_ENUMERATION = 636; + // // MessageId: ERROR_SYSTEM_IMAGE_BAD_SIGNATURE // @@ -2793,6 +3155,7 @@ public interface WinError { // The system has been shut down. // int ERROR_SYSTEM_IMAGE_BAD_SIGNATURE = 637; + // // MessageId: ERROR_PNP_REBOOT_REQUIRED // @@ -2801,6 +3164,7 @@ public interface WinError { // Device will not start without a reboot. // int ERROR_PNP_REBOOT_REQUIRED = 638; + // // MessageId: ERROR_INSUFFICIENT_POWER // @@ -2809,6 +3173,7 @@ public interface WinError { // There is not enough power to complete the requested operation. // int ERROR_INSUFFICIENT_POWER = 639; + // // MessageId: ERROR_MULTIPLE_FAULT_VIOLATION // @@ -2817,6 +3182,7 @@ public interface WinError { // ERROR_MULTIPLE_FAULT_VIOLATION // int ERROR_MULTIPLE_FAULT_VIOLATION = 640; + // // MessageId: ERROR_SYSTEM_SHUTDOWN // @@ -2825,6 +3191,7 @@ public interface WinError { // The system is in the process of shutting down. // int ERROR_SYSTEM_SHUTDOWN = 641; + // // MessageId: ERROR_PORT_NOT_SET // @@ -2834,6 +3201,7 @@ public interface WinError { // already associated with the process. // int ERROR_PORT_NOT_SET = 642; + // // MessageId: ERROR_DS_VERSION_CHECK_FAILURE // @@ -2843,6 +3211,7 @@ public interface WinError { // directory forest, domain or domain controller. // int ERROR_DS_VERSION_CHECK_FAILURE = 643; + // // MessageId: ERROR_RANGE_NOT_FOUND // @@ -2851,6 +3220,7 @@ public interface WinError { // The specified range could not be found in the range list. // int ERROR_RANGE_NOT_FOUND = 644; + // // MessageId: ERROR_NOT_SAFE_MODE_DRIVER // @@ -2859,6 +3229,7 @@ public interface WinError { // The driver was not loaded because the system is booting into safe mode. // int ERROR_NOT_SAFE_MODE_DRIVER = 646; + // // MessageId: ERROR_FAILED_DRIVER_ENTRY // @@ -2867,6 +3238,7 @@ public interface WinError { // The driver was not loaded because it failed it's initialization call. // int ERROR_FAILED_DRIVER_ENTRY = 647; + // // MessageId: ERROR_DEVICE_ENUMERATION_ERROR // @@ -2877,6 +3249,7 @@ public interface WinError { // This may be caused by a failure of your hardware or by a poor connection. // int ERROR_DEVICE_ENUMERATION_ERROR = 648; + // // MessageId: ERROR_MOUNT_POINT_NOT_RESOLVED // @@ -2887,6 +3260,7 @@ public interface WinError { // not attached. // int ERROR_MOUNT_POINT_NOT_RESOLVED = 649; + // // MessageId: ERROR_INVALID_DEVICE_OBJECT_PARAMETER // @@ -2896,6 +3270,7 @@ public interface WinError { // attached to the volume specified by the file name. // int ERROR_INVALID_DEVICE_OBJECT_PARAMETER = 650; + // // MessageId: ERROR_MCA_OCCURED // @@ -2905,6 +3280,7 @@ public interface WinError { // additional information. // int ERROR_MCA_OCCURED = 651; + // // MessageId: ERROR_DRIVER_DATABASE_ERROR // @@ -2913,6 +3289,7 @@ public interface WinError { // There was error [%2] processing the driver database. // int ERROR_DRIVER_DATABASE_ERROR = 652; + // // MessageId: ERROR_SYSTEM_HIVE_TOO_LARGE // @@ -2921,6 +3298,7 @@ public interface WinError { // System hive size has exceeded its limit. // int ERROR_SYSTEM_HIVE_TOO_LARGE = 653; + // // MessageId: ERROR_DRIVER_FAILED_PRIOR_UNLOAD // @@ -2930,6 +3308,7 @@ public interface WinError { // is still in memory. // int ERROR_DRIVER_FAILED_PRIOR_UNLOAD = 654; + // // MessageId: ERROR_VOLSNAP_PREPARE_HIBERNATE // @@ -2940,6 +3319,7 @@ public interface WinError { // hibernation. // int ERROR_VOLSNAP_PREPARE_HIBERNATE = 655; + // // MessageId: ERROR_HIBERNATION_FAILURE // @@ -2949,6 +3329,7 @@ public interface WinError { // will be disabled until the system is restarted. // int ERROR_HIBERNATION_FAILURE = 656; + // // MessageId: ERROR_FILE_SYSTEM_LIMITATION // @@ -2958,6 +3339,7 @@ public interface WinError { // limitation // int ERROR_FILE_SYSTEM_LIMITATION = 665; + // // MessageId: ERROR_ASSERTION_FAILURE // @@ -2966,6 +3348,7 @@ public interface WinError { // An assertion failure has occurred. // int ERROR_ASSERTION_FAILURE = 668; + // // MessageId: ERROR_ACPI_ERROR // @@ -2974,6 +3357,7 @@ public interface WinError { // An error occurred in the ACPI subsystem. // int ERROR_ACPI_ERROR = 669; + // // MessageId: ERROR_WOW_ASSERTION // @@ -2982,6 +3366,7 @@ public interface WinError { // WOW Assertion Error. // int ERROR_WOW_ASSERTION = 670; + // // MessageId: ERROR_PNP_BAD_MPS_TABLE // @@ -2992,6 +3377,7 @@ public interface WinError { // Please contact your system vendor for system BIOS update. // int ERROR_PNP_BAD_MPS_TABLE = 671; + // // MessageId: ERROR_PNP_TRANSLATION_FAILED // @@ -3000,6 +3386,7 @@ public interface WinError { // A translator failed to translate resources. // int ERROR_PNP_TRANSLATION_FAILED = 672; + // // MessageId: ERROR_PNP_IRQ_TRANSLATION_FAILED // @@ -3008,6 +3395,7 @@ public interface WinError { // A IRQ translator failed to translate resources. // int ERROR_PNP_IRQ_TRANSLATION_FAILED = 673; + // // MessageId: ERROR_PNP_INVALID_ID // @@ -3016,6 +3404,7 @@ public interface WinError { // Driver %2 returned invalid ID for a child device (%3). // int ERROR_PNP_INVALID_ID = 674; + // // MessageId: ERROR_WAKE_SYSTEM_DEBUGGER // @@ -3025,6 +3414,7 @@ public interface WinError { // the system debugger was awakened by an interrupt. // int ERROR_WAKE_SYSTEM_DEBUGGER = 675; + // // MessageId: ERROR_HANDLES_CLOSED // @@ -3035,6 +3425,7 @@ public interface WinError { // requested operation. // int ERROR_HANDLES_CLOSED = 676; + // // MessageId: ERROR_EXTRANEOUS_INFORMATION // @@ -3045,6 +3436,7 @@ public interface WinError { // was expected. // int ERROR_EXTRANEOUS_INFORMATION = 677; + // // MessageId: ERROR_RXACT_COMMIT_NECESSARY // @@ -3057,6 +3449,7 @@ public interface WinError { // (so it may still be committed if desired). // int ERROR_RXACT_COMMIT_NECESSARY = 678; + // // MessageId: ERROR_MEDIA_CHECK // @@ -3066,6 +3459,7 @@ public interface WinError { // The media may have changed. // int ERROR_MEDIA_CHECK = 679; + // // MessageId: ERROR_GUID_SUBSTITUTION_MADE // @@ -3078,6 +3472,7 @@ public interface WinError { // However, this may provide a more restrictive access than intended. // int ERROR_GUID_SUBSTITUTION_MADE = 680; + // // MessageId: ERROR_STOPPED_ON_SYMLINK // @@ -3086,6 +3481,7 @@ public interface WinError { // The create operation stopped after reaching a symbolic link // int ERROR_STOPPED_ON_SYMLINK = 681; + // // MessageId: ERROR_LONGJUMP // @@ -3094,6 +3490,7 @@ public interface WinError { // A long jump has been executed. // int ERROR_LONGJUMP = 682; + // // MessageId: ERROR_PLUGPLAY_QUERY_VETOED // @@ -3102,6 +3499,7 @@ public interface WinError { // The Plug and Play query operation was not successful. // int ERROR_PLUGPLAY_QUERY_VETOED = 683; + // // MessageId: ERROR_UNWIND_CONSOLIDATE // @@ -3110,6 +3508,7 @@ public interface WinError { // A frame consolidation has been executed. // int ERROR_UNWIND_CONSOLIDATE = 684; + // // MessageId: ERROR_REGISTRY_HIVE_RECOVERED // @@ -3121,6 +3520,7 @@ public interface WinError { // was corrupted and it has been recovered. Some data might have been lost. // int ERROR_REGISTRY_HIVE_RECOVERED = 685; + // // MessageId: ERROR_DLL_MIGHT_BE_INSECURE // @@ -3131,6 +3531,7 @@ public interface WinError { // application use the secure module %hs? // int ERROR_DLL_MIGHT_BE_INSECURE = 686; + // // MessageId: ERROR_DLL_MIGHT_BE_INCOMPATIBLE // @@ -3142,6 +3543,7 @@ public interface WinError { // secure module %hs? // int ERROR_DLL_MIGHT_BE_INCOMPATIBLE = 687; + // // MessageId: ERROR_DBG_EXCEPTION_NOT_HANDLED // @@ -3157,7 +3559,9 @@ public interface WinError { // // Debugger will reply later. // + int ERROR_DBG_REPLY_LATER = 689; + // // MessageId: ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE // @@ -3166,6 +3570,7 @@ public interface WinError { // Debugger cannot provide handle. // int ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE = 690; + // // MessageId: ERROR_DBG_TERMINATE_THREAD // @@ -3181,6 +3586,7 @@ public interface WinError { // // Debugger terminated process. // + int ERROR_DBG_TERMINATE_PROCESS = 692; // winnt // // MessageId: ERROR_DBG_CONTROL_C @@ -3189,6 +3595,7 @@ public interface WinError { // // Debugger got control C. // + int ERROR_DBG_CONTROL_C = 693; // winnt // // MessageId: ERROR_DBG_PRINTEXCEPTION_C @@ -3197,7 +3604,9 @@ public interface WinError { // // Debugger printed exception on control C. // + int ERROR_DBG_PRINTEXCEPTION_C = 694; + // // MessageId: ERROR_DBG_RIPEXCEPTION // @@ -3206,6 +3615,7 @@ public interface WinError { // Debugger received RIP exception. // int ERROR_DBG_RIPEXCEPTION = 695; + // // MessageId: ERROR_DBG_CONTROL_BREAK // @@ -3221,6 +3631,7 @@ public interface WinError { // // Debugger command communication exception. // + int ERROR_DBG_COMMAND_EXCEPTION = 697; // winnt // // MessageId: ERROR_OBJECT_NAME_EXISTS @@ -3231,7 +3642,9 @@ public interface WinError { // An attempt was made to create an object and the object name already // existed. // + int ERROR_OBJECT_NAME_EXISTS = 698; + // // MessageId: ERROR_THREAD_WAS_SUSPENDED // @@ -3242,6 +3655,7 @@ public interface WinError { // was resumed, and termination proceeded. // int ERROR_THREAD_WAS_SUSPENDED = 699; + // // MessageId: ERROR_IMAGE_NOT_AT_BASE // @@ -3252,6 +3666,7 @@ public interface WinError { // file. Local fixups must be performed on this image. // int ERROR_IMAGE_NOT_AT_BASE = 700; + // // MessageId: ERROR_RXACT_STATE_CREATED // @@ -3261,6 +3676,7 @@ public interface WinError { // sub-tree transaction state did not yet exist and had to be created. // int ERROR_RXACT_STATE_CREATED = 701; + // // MessageId: ERROR_SEGMENT_NOTIFICATION // @@ -3282,7 +3698,9 @@ public interface WinError { // The process cannot switch to the startup current directory %hs. // Select OK to set current directory to %hs, or select CANCEL to exit. // + int ERROR_BAD_CURRENT_DIRECTORY = 703; + // // MessageId: ERROR_FT_READ_RECOVERY_FROM_BACKUP // @@ -3296,6 +3714,7 @@ public interface WinError { // of the device. // int ERROR_FT_READ_RECOVERY_FROM_BACKUP = 704; + // // MessageId: ERROR_FT_WRITE_RECOVERY // @@ -3309,6 +3728,7 @@ public interface WinError { // area of the device. // int ERROR_FT_WRITE_RECOVERY = 705; + // // MessageId: ERROR_IMAGE_MACHINE_TYPE_MISMATCH // @@ -3319,6 +3739,7 @@ public interface WinError { // current machine. Select OK to continue, or CANCEL to fail the DLL load. // int ERROR_IMAGE_MACHINE_TYPE_MISMATCH = 706; + // // MessageId: ERROR_RECEIVE_PARTIAL // @@ -3329,6 +3750,7 @@ public interface WinError { // data will be sent later. // int ERROR_RECEIVE_PARTIAL = 707; + // // MessageId: ERROR_RECEIVE_EXPEDITED // @@ -3339,6 +3761,7 @@ public interface WinError { // expedited by the remote system. // int ERROR_RECEIVE_EXPEDITED = 708; + // // MessageId: ERROR_RECEIVE_PARTIAL_EXPEDITED // @@ -3350,6 +3773,7 @@ public interface WinError { // sent later. // int ERROR_RECEIVE_PARTIAL_EXPEDITED = 709; + // // MessageId: ERROR_EVENT_DONE // @@ -3359,6 +3783,7 @@ public interface WinError { // The TDI indication has completed successfully. // int ERROR_EVENT_DONE = 710; + // // MessageId: ERROR_EVENT_PENDING // @@ -3368,6 +3793,7 @@ public interface WinError { // The TDI indication has entered the pending state. // int ERROR_EVENT_PENDING = 711; + // // MessageId: ERROR_CHECKING_FILE_SYSTEM // @@ -3376,6 +3802,7 @@ public interface WinError { // Checking file system on %wZ // int ERROR_CHECKING_FILE_SYSTEM = 712; + // // MessageId: ERROR_FATAL_APP_EXIT // @@ -3385,6 +3812,7 @@ public interface WinError { // %hs // int ERROR_FATAL_APP_EXIT = 713; + // // MessageId: ERROR_PREDEFINED_HANDLE // @@ -3393,6 +3821,7 @@ public interface WinError { // The specified registry key is referenced by a predefined handle. // int ERROR_PREDEFINED_HANDLE = 714; + // // MessageId: ERROR_WAS_UNLOCKED // @@ -3403,6 +3832,7 @@ public interface WinError { // page was unlocked from memory and from the process. // int ERROR_WAS_UNLOCKED = 715; + // // MessageId: ERROR_SERVICE_NOTIFICATION // @@ -3411,6 +3841,7 @@ public interface WinError { // %hs // int ERROR_SERVICE_NOTIFICATION = 716; + // // MessageId: ERROR_WAS_LOCKED // @@ -3420,6 +3851,7 @@ public interface WinError { // One of the pages to lock was already locked. // int ERROR_WAS_LOCKED = 717; + // // MessageId: ERROR_LOG_HARD_ERROR // @@ -3428,6 +3860,7 @@ public interface WinError { // Application popup: %1 : %2 // int ERROR_LOG_HARD_ERROR = 718; + // // MessageId: ERROR_ALREADY_WIN32 // @@ -3436,6 +3869,7 @@ public interface WinError { // ERROR_ALREADY_WIN32 // int ERROR_ALREADY_WIN32 = 719; + // // MessageId: ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE // @@ -3446,6 +3880,7 @@ public interface WinError { // current machine. // int ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE = 720; + // // MessageId: ERROR_NO_YIELD_PERFORMED // @@ -3454,6 +3889,7 @@ public interface WinError { // A yield execution was performed and no thread was available to run. // int ERROR_NO_YIELD_PERFORMED = 721; + // // MessageId: ERROR_TIMER_RESUME_IGNORED // @@ -3462,6 +3898,7 @@ public interface WinError { // The resumable flag to a timer API was ignored. // int ERROR_TIMER_RESUME_IGNORED = 722; + // // MessageId: ERROR_ARBITRATION_UNHANDLED // @@ -3470,6 +3907,7 @@ public interface WinError { // The arbiter has deferred arbitration of these resources to its parent // int ERROR_ARBITRATION_UNHANDLED = 723; + // // MessageId: ERROR_CARDBUS_NOT_SUPPORTED // @@ -3479,6 +3917,7 @@ public interface WinError { // error on "%hs". // int ERROR_CARDBUS_NOT_SUPPORTED = 724; + // // MessageId: ERROR_MP_PROCESSOR_MISMATCH // @@ -3491,6 +3930,7 @@ public interface WinError { // of processors is supported. // int ERROR_MP_PROCESSOR_MISMATCH = 725; + // // MessageId: ERROR_HIBERNATED // @@ -3499,6 +3939,7 @@ public interface WinError { // The system was put into hibernation. // int ERROR_HIBERNATED = 726; + // // MessageId: ERROR_RESUME_HIBERNATION // @@ -3507,6 +3948,7 @@ public interface WinError { // The system was resumed from hibernation. // int ERROR_RESUME_HIBERNATION = 727; + // // MessageId: ERROR_FIRMWARE_UPDATED // @@ -3516,6 +3958,7 @@ public interface WinError { // [previous firmware date =%2, current firmware date %3]. // int ERROR_FIRMWARE_UPDATED = 728; + // // MessageId: ERROR_DRIVERS_LEAKING_LOCKED_PAGES // @@ -3526,6 +3969,7 @@ public interface WinError { // catch the culprit. // int ERROR_DRIVERS_LEAKING_LOCKED_PAGES = 729; + // // MessageId: ERROR_WAKE_SYSTEM // @@ -3534,6 +3978,7 @@ public interface WinError { // The system has awoken // int ERROR_WAKE_SYSTEM = 730; + // // MessageId: ERROR_WAIT_1 // @@ -3542,6 +3987,7 @@ public interface WinError { // ERROR_WAIT_1 // int ERROR_WAIT_1 = 731; + // // MessageId: ERROR_WAIT_2 // @@ -3550,6 +3996,7 @@ public interface WinError { // ERROR_WAIT_2 // int ERROR_WAIT_2 = 732; + // // MessageId: ERROR_WAIT_3 // @@ -3558,6 +4005,7 @@ public interface WinError { // ERROR_WAIT_3 // int ERROR_WAIT_3 = 733; + // // MessageId: ERROR_WAIT_63 // @@ -3566,6 +4014,7 @@ public interface WinError { // ERROR_WAIT_63 // int ERROR_WAIT_63 = 734; + // // MessageId: ERROR_ABANDONED_WAIT_0 // @@ -3581,7 +4030,9 @@ public interface WinError { // // ERROR_ABANDONED_WAIT_63 // + int ERROR_ABANDONED_WAIT_63 = 736; + // // MessageId: ERROR_USER_APC // @@ -3597,7 +4048,9 @@ public interface WinError { // // ERROR_KERNEL_APC // + int ERROR_KERNEL_APC = 738; + // // MessageId: ERROR_ALERTED // @@ -3606,6 +4059,7 @@ public interface WinError { // ERROR_ALERTED // int ERROR_ALERTED = 739; + // // MessageId: ERROR_ELEVATION_REQUIRED // @@ -3614,6 +4068,7 @@ public interface WinError { // The requested operation requires elevation. // int ERROR_ELEVATION_REQUIRED = 740; + // // MessageId: ERROR_REPARSE // @@ -3623,6 +4078,7 @@ public interface WinError { // file resulted in a symbolic link. // int ERROR_REPARSE = 741; + // // MessageId: ERROR_OPLOCK_BREAK_IN_PROGRESS // @@ -3631,6 +4087,7 @@ public interface WinError { // An open/create operation completed while an oplock break is underway. // int ERROR_OPLOCK_BREAK_IN_PROGRESS = 742; + // // MessageId: ERROR_VOLUME_MOUNTED // @@ -3639,6 +4096,7 @@ public interface WinError { // A new volume has been mounted by a file system. // int ERROR_VOLUME_MOUNTED = 743; + // // MessageId: ERROR_RXACT_COMMITTED // @@ -3650,6 +4108,7 @@ public interface WinError { // The commit has now been completed. // int ERROR_RXACT_COMMITTED = 744; + // // MessageId: ERROR_NOTIFY_CLEANUP // @@ -3659,6 +4118,7 @@ public interface WinError { // closing the handle which made the notify change request. // int ERROR_NOTIFY_CLEANUP = 745; + // // MessageId: ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED // @@ -3670,6 +4130,7 @@ public interface WinError { // The computer WAS able to connect on a secondary transport. // int ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED = 746; + // // MessageId: ERROR_PAGE_FAULT_TRANSITION // @@ -3678,6 +4139,7 @@ public interface WinError { // Page fault was a transition fault. // int ERROR_PAGE_FAULT_TRANSITION = 747; + // // MessageId: ERROR_PAGE_FAULT_DEMAND_ZERO // @@ -3686,6 +4148,7 @@ public interface WinError { // Page fault was a demand zero fault. // int ERROR_PAGE_FAULT_DEMAND_ZERO = 748; + // // MessageId: ERROR_PAGE_FAULT_COPY_ON_WRITE // @@ -3694,6 +4157,7 @@ public interface WinError { // Page fault was a demand zero fault. // int ERROR_PAGE_FAULT_COPY_ON_WRITE = 749; + // // MessageId: ERROR_PAGE_FAULT_GUARD_PAGE // @@ -3702,6 +4166,7 @@ public interface WinError { // Page fault was a demand zero fault. // int ERROR_PAGE_FAULT_GUARD_PAGE = 750; + // // MessageId: ERROR_PAGE_FAULT_PAGING_FILE // @@ -3710,6 +4175,7 @@ public interface WinError { // Page fault was satisfied by reading from a secondary storage device. // int ERROR_PAGE_FAULT_PAGING_FILE = 751; + // // MessageId: ERROR_CACHE_PAGE_LOCKED // @@ -3718,6 +4184,7 @@ public interface WinError { // Cached page was locked during operation. // int ERROR_CACHE_PAGE_LOCKED = 752; + // // MessageId: ERROR_CRASH_DUMP // @@ -3726,6 +4193,7 @@ public interface WinError { // Crash dump exists in paging file. // int ERROR_CRASH_DUMP = 753; + // // MessageId: ERROR_BUFFER_ALL_ZEROS // @@ -3734,6 +4202,7 @@ public interface WinError { // Specified buffer contains all zeros. // int ERROR_BUFFER_ALL_ZEROS = 754; + // // MessageId: ERROR_REPARSE_OBJECT // @@ -3743,6 +4212,7 @@ public interface WinError { // file resulted in a symbolic link. // int ERROR_REPARSE_OBJECT = 755; + // // MessageId: ERROR_RESOURCE_REQUIREMENTS_CHANGED // @@ -3752,6 +4222,7 @@ public interface WinError { // changed. // int ERROR_RESOURCE_REQUIREMENTS_CHANGED = 756; + // // MessageId: ERROR_TRANSLATION_COMPLETE // @@ -3761,6 +4232,7 @@ public interface WinError { // no further translations should be performed. // int ERROR_TRANSLATION_COMPLETE = 757; + // // MessageId: ERROR_NOTHING_TO_TERMINATE // @@ -3769,6 +4241,7 @@ public interface WinError { // A process being terminated has no threads to terminate. // int ERROR_NOTHING_TO_TERMINATE = 758; + // // MessageId: ERROR_PROCESS_NOT_IN_JOB // @@ -3777,6 +4250,7 @@ public interface WinError { // The specified process is not part of a job. // int ERROR_PROCESS_NOT_IN_JOB = 759; + // // MessageId: ERROR_PROCESS_IN_JOB // @@ -3785,6 +4259,7 @@ public interface WinError { // The specified process is part of a job. // int ERROR_PROCESS_IN_JOB = 760; + // // MessageId: ERROR_VOLSNAP_HIBERNATE_READY // @@ -3794,6 +4269,7 @@ public interface WinError { // The system is now ready for hibernation. // int ERROR_VOLSNAP_HIBERNATE_READY = 761; + // // MessageId: ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY // @@ -3803,6 +4279,7 @@ public interface WinError { // FsFilter operation. // int ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY = 762; + // // MessageId: ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED // @@ -3811,6 +4288,7 @@ public interface WinError { // The specified interrupt vector was already connected. // int ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED = 763; + // // MessageId: ERROR_INTERRUPT_STILL_CONNECTED // @@ -3819,6 +4297,7 @@ public interface WinError { // The specified interrupt vector is still connected. // int ERROR_INTERRUPT_STILL_CONNECTED = 764; + // // MessageId: ERROR_WAIT_FOR_OPLOCK // @@ -3827,6 +4306,7 @@ public interface WinError { // An operation is blocked waiting for an oplock. // int ERROR_WAIT_FOR_OPLOCK = 765; + // // MessageId: ERROR_DBG_EXCEPTION_HANDLED // @@ -3842,6 +4322,7 @@ public interface WinError { // // Debugger continued // + int ERROR_DBG_CONTINUE = 767; // winnt // // MessageId: ERROR_CALLBACK_POP_STACK @@ -3851,7 +4332,9 @@ public interface WinError { // An exception occurred in a user mode callback and the kernel callback // frame should be removed. // + int ERROR_CALLBACK_POP_STACK = 768; + // // MessageId: ERROR_COMPRESSION_DISABLED // @@ -3860,6 +4343,7 @@ public interface WinError { // Compression is disabled for this volume. // int ERROR_COMPRESSION_DISABLED = 769; + // // MessageId: ERROR_CANTFETCHBACKWARDS // @@ -3868,6 +4352,7 @@ public interface WinError { // The data provider cannot fetch backwards through a result set. // int ERROR_CANTFETCHBACKWARDS = 770; + // // MessageId: ERROR_CANTSCROLLBACKWARDS // @@ -3876,6 +4361,7 @@ public interface WinError { // The data provider cannot scroll backwards through a result set. // int ERROR_CANTSCROLLBACKWARDS = 771; + // // MessageId: ERROR_ROWSNOTRELEASED // @@ -3885,6 +4371,7 @@ public interface WinError { // before asking for more data. // int ERROR_ROWSNOTRELEASED = 772; + // // MessageId: ERROR_BAD_ACCESSOR_FLAGS // @@ -3894,6 +4381,7 @@ public interface WinError { // binding in an accessor. // int ERROR_BAD_ACCESSOR_FLAGS = 773; + // // MessageId: ERROR_ERRORS_ENCOUNTERED // @@ -3902,6 +4390,7 @@ public interface WinError { // One or more errors occurred while processing the request. // int ERROR_ERRORS_ENCOUNTERED = 774; + // // MessageId: ERROR_NOT_CAPABLE // @@ -3910,6 +4399,7 @@ public interface WinError { // The implementation is not capable of performing the request. // int ERROR_NOT_CAPABLE = 775; + // // MessageId: ERROR_REQUEST_OUT_OF_SEQUENCE // @@ -3919,6 +4409,7 @@ public interface WinError { // the state of the component instance. // int ERROR_REQUEST_OUT_OF_SEQUENCE = 776; + // // MessageId: ERROR_VERSION_PARSE_ERROR // @@ -3927,6 +4418,7 @@ public interface WinError { // A version number could not be parsed. // int ERROR_VERSION_PARSE_ERROR = 777; + // // MessageId: ERROR_BADSTARTPOSITION // @@ -3935,6 +4427,7 @@ public interface WinError { // The iterator's start position is invalid. // int ERROR_BADSTARTPOSITION = 778; + // // MessageId: ERROR_MEMORY_HARDWARE // @@ -3943,6 +4436,7 @@ public interface WinError { // The hardware has reported an uncorrectable memory error. // int ERROR_MEMORY_HARDWARE = 779; + // // MessageId: ERROR_DISK_REPAIR_DISABLED // @@ -3951,6 +4445,7 @@ public interface WinError { // The attempted operation required self healing to be enabled. // int ERROR_DISK_REPAIR_DISABLED = 780; + // // MessageId: ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE // @@ -3960,6 +4455,7 @@ public interface WinError { // There is more information in the system event log. // int ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE = 781; + // // MessageId: ERROR_SYSTEM_POWERSTATE_TRANSITION // @@ -3968,6 +4464,7 @@ public interface WinError { // The system powerstate is transitioning from %2 to %3. // int ERROR_SYSTEM_POWERSTATE_TRANSITION = 782; + // // MessageId: ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION // @@ -3976,6 +4473,7 @@ public interface WinError { // The system powerstate is transitioning from %2 to %3 but could enter %4. // int ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION = 783; + // // MessageId: ERROR_MCA_EXCEPTION // @@ -3984,6 +4482,7 @@ public interface WinError { // A thread is getting dispatched with MCA EXCEPTION because of MCA. // int ERROR_MCA_EXCEPTION = 784; + // // MessageId: ERROR_ACCESS_AUDIT_BY_POLICY // @@ -3992,6 +4491,7 @@ public interface WinError { // Access to %1 is monitored by policy rule %2. // int ERROR_ACCESS_AUDIT_BY_POLICY = 785; + // // MessageId: ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY // @@ -4000,6 +4500,7 @@ public interface WinError { // Access to %1 has been restricted by your Administrator by policy rule %2. // int ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY = 786; + // // MessageId: ERROR_ABANDON_HIBERFILE // @@ -4008,6 +4509,7 @@ public interface WinError { // A valid hibernation file has been invalidated and should be abandoned. // int ERROR_ABANDON_HIBERFILE = 787; + // // MessageId: ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED // @@ -4020,6 +4522,7 @@ public interface WinError { // save this file elsewhere. // int ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = 788; + // // MessageId: ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR // @@ -4032,6 +4535,7 @@ public interface WinError { // try to save this file elsewhere. // int ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = 789; + // // MessageId: ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR // @@ -4044,6 +4548,7 @@ public interface WinError { // write-protected. // int ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = 790; + // // MessageId: ERROR_BAD_MCFG_TABLE // @@ -4052,6 +4557,7 @@ public interface WinError { // The resources required for this device conflict with the MCFG table. // int ERROR_BAD_MCFG_TABLE = 791; + // // MessageId: ERROR_EA_ACCESS_DENIED // @@ -4060,6 +4566,7 @@ public interface WinError { // Access to the extended attribute was denied. // int ERROR_EA_ACCESS_DENIED = 994; + // // MessageId: ERROR_OPERATION_ABORTED // @@ -4069,6 +4576,7 @@ public interface WinError { // application request. // int ERROR_OPERATION_ABORTED = 995; + // // MessageId: ERROR_IO_INCOMPLETE // @@ -4077,6 +4585,7 @@ public interface WinError { // Overlapped I/O event is not in a signaled state. // int ERROR_IO_INCOMPLETE = 996; + // // MessageId: ERROR_IO_PENDING // @@ -4092,7 +4601,9 @@ public interface WinError { // // Invalid access to memory location. // + int ERROR_NOACCESS = 998; + // // MessageId: ERROR_SWAPERROR // @@ -4101,6 +4612,7 @@ public interface WinError { // Error performing inpage operation. // int ERROR_SWAPERROR = 999; + // // MessageId: ERROR_STACK_OVERFLOW // @@ -4109,6 +4621,7 @@ public interface WinError { // Recursion too deep; the stack overflowed. // int ERROR_STACK_OVERFLOW = 1001; + // // MessageId: ERROR_INVALID_MESSAGE // @@ -4117,6 +4630,7 @@ public interface WinError { // The window cannot act on the sent message. // int ERROR_INVALID_MESSAGE = 1002; + // // MessageId: ERROR_CAN_NOT_COMPLETE // @@ -4125,6 +4639,7 @@ public interface WinError { // Cannot complete this function. // int ERROR_CAN_NOT_COMPLETE = 1003; + // // MessageId: ERROR_INVALID_FLAGS // @@ -4133,6 +4648,7 @@ public interface WinError { // Invalid flags. // int ERROR_INVALID_FLAGS = 1004; + // // MessageId: ERROR_UNRECOGNIZED_VOLUME // @@ -4143,6 +4659,7 @@ public interface WinError { // that the volume is not corrupted. // int ERROR_UNRECOGNIZED_VOLUME = 1005; + // // MessageId: ERROR_FILE_INVALID // @@ -4152,6 +4669,7 @@ public interface WinError { // is no longer valid. // int ERROR_FILE_INVALID = 1006; + // // MessageId: ERROR_FULLSCREEN_MODE // @@ -4160,6 +4678,7 @@ public interface WinError { // The requested operation cannot be performed in full-screen mode. // int ERROR_FULLSCREEN_MODE = 1007; + // // MessageId: ERROR_NO_TOKEN // @@ -4168,6 +4687,7 @@ public interface WinError { // An attempt was made to reference a token that does not exist. // int ERROR_NO_TOKEN = 1008; + // // MessageId: ERROR_BADDB // @@ -4176,6 +4696,7 @@ public interface WinError { // The configuration registry database is corrupt. // int ERROR_BADDB = 1009; + // // MessageId: ERROR_BADKEY // @@ -4184,6 +4705,7 @@ public interface WinError { // The configuration registry key is invalid. // int ERROR_BADKEY = 1010; + // // MessageId: ERROR_CANTOPEN // @@ -4192,6 +4714,7 @@ public interface WinError { // The configuration registry key could not be opened. // int ERROR_CANTOPEN = 1011; + // // MessageId: ERROR_CANTREAD // @@ -4200,6 +4723,7 @@ public interface WinError { // The configuration registry key could not be read. // int ERROR_CANTREAD = 1012; + // // MessageId: ERROR_CANTWRITE // @@ -4208,6 +4732,7 @@ public interface WinError { // The configuration registry key could not be written. // int ERROR_CANTWRITE = 1013; + // // MessageId: ERROR_REGISTRY_RECOVERED // @@ -4217,6 +4742,7 @@ public interface WinError { // log or alternate copy. The recovery was successful. // int ERROR_REGISTRY_RECOVERED = 1014; + // // MessageId: ERROR_REGISTRY_CORRUPT // @@ -4228,6 +4754,7 @@ public interface WinError { // or log was absent or corrupted. // int ERROR_REGISTRY_CORRUPT = 1015; + // // MessageId: ERROR_REGISTRY_IO_FAILED // @@ -4238,6 +4765,7 @@ public interface WinError { // contain the system's image of the registry. // int ERROR_REGISTRY_IO_FAILED = 1016; + // // MessageId: ERROR_NOT_REGISTRY_FILE // @@ -4247,6 +4775,7 @@ public interface WinError { // the specified file is not in a registry file format. // int ERROR_NOT_REGISTRY_FILE = 1017; + // // MessageId: ERROR_KEY_DELETED // @@ -4256,6 +4785,7 @@ public interface WinError { // deletion. // int ERROR_KEY_DELETED = 1018; + // // MessageId: ERROR_NO_LOG_SPACE // @@ -4264,6 +4794,7 @@ public interface WinError { // System could not allocate the required space in a registry log. // int ERROR_NO_LOG_SPACE = 1019; + // // MessageId: ERROR_KEY_HAS_CHILDREN // @@ -4273,6 +4804,7 @@ public interface WinError { // or values. // int ERROR_KEY_HAS_CHILDREN = 1020; + // // MessageId: ERROR_CHILD_MUST_BE_VOLATILE // @@ -4281,6 +4813,7 @@ public interface WinError { // Cannot create a stable subkey under a volatile parent key. // int ERROR_CHILD_MUST_BE_VOLATILE = 1021; + // // MessageId: ERROR_NOTIFY_ENUM_DIR // @@ -4291,6 +4824,7 @@ public interface WinError { // the files to find the changes. // int ERROR_NOTIFY_ENUM_DIR = 1022; + // // MessageId: ERROR_DEPENDENT_SERVICES_RUNNING // @@ -4300,6 +4834,7 @@ public interface WinError { // dependent on. // int ERROR_DEPENDENT_SERVICES_RUNNING = 1051; + // // MessageId: ERROR_INVALID_SERVICE_CONTROL // @@ -4308,6 +4843,7 @@ public interface WinError { // The requested control is not valid for this service. // int ERROR_INVALID_SERVICE_CONTROL = 1052; + // // MessageId: ERROR_SERVICE_REQUEST_TIMEOUT // @@ -4317,6 +4853,7 @@ public interface WinError { // fashion. // int ERROR_SERVICE_REQUEST_TIMEOUT = 1053; + // // MessageId: ERROR_SERVICE_NO_THREAD // @@ -4325,6 +4862,7 @@ public interface WinError { // A thread could not be created for the service. // int ERROR_SERVICE_NO_THREAD = 1054; + // // MessageId: ERROR_SERVICE_DATABASE_LOCKED // @@ -4333,6 +4871,7 @@ public interface WinError { // The service database is locked. // int ERROR_SERVICE_DATABASE_LOCKED = 1055; + // // MessageId: ERROR_SERVICE_ALREADY_RUNNING // @@ -4341,6 +4880,7 @@ public interface WinError { // An instance of the service is already running. // int ERROR_SERVICE_ALREADY_RUNNING = 1056; + // // MessageId: ERROR_INVALID_SERVICE_ACCOUNT // @@ -4350,6 +4890,7 @@ public interface WinError { // for the account name specified. // int ERROR_INVALID_SERVICE_ACCOUNT = 1057; + // // MessageId: ERROR_SERVICE_DISABLED // @@ -4359,6 +4900,7 @@ public interface WinError { // it has no enabled devices associated with it. // int ERROR_SERVICE_DISABLED = 1058; + // // MessageId: ERROR_CIRCULAR_DEPENDENCY // @@ -4367,6 +4909,7 @@ public interface WinError { // Circular service dependency was specified. // int ERROR_CIRCULAR_DEPENDENCY = 1059; + // // MessageId: ERROR_SERVICE_DOES_NOT_EXIST // @@ -4375,6 +4918,7 @@ public interface WinError { // The specified service does not exist as an installed service. // int ERROR_SERVICE_DOES_NOT_EXIST = 1060; + // // MessageId: ERROR_SERVICE_CANNOT_ACCEPT_CTRL // @@ -4383,6 +4927,7 @@ public interface WinError { // The service cannot accept control messages at this time. // int ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061; + // // MessageId: ERROR_SERVICE_NOT_ACTIVE // @@ -4391,6 +4936,7 @@ public interface WinError { // The service has not been started. // int ERROR_SERVICE_NOT_ACTIVE = 1062; + // // MessageId: ERROR_FAILED_SERVICE_CONTROLLER_CONNECT // @@ -4399,6 +4945,7 @@ public interface WinError { // The service process could not connect to the service controller. // int ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063; + // // MessageId: ERROR_EXCEPTION_IN_SERVICE // @@ -4407,6 +4954,7 @@ public interface WinError { // An exception occurred in the service when handling the control request. // int ERROR_EXCEPTION_IN_SERVICE = 1064; + // // MessageId: ERROR_DATABASE_DOES_NOT_EXIST // @@ -4415,6 +4963,7 @@ public interface WinError { // The database specified does not exist. // int ERROR_DATABASE_DOES_NOT_EXIST = 1065; + // // MessageId: ERROR_SERVICE_SPECIFIC_ERROR // @@ -4423,6 +4972,7 @@ public interface WinError { // The service has returned a service-specific error code. // int ERROR_SERVICE_SPECIFIC_ERROR = 1066; + // // MessageId: ERROR_PROCESS_ABORTED // @@ -4431,6 +4981,7 @@ public interface WinError { // The process terminated unexpectedly. // int ERROR_PROCESS_ABORTED = 1067; + // // MessageId: ERROR_SERVICE_DEPENDENCY_FAIL // @@ -4439,6 +4990,7 @@ public interface WinError { // The dependency service or group failed to start. // int ERROR_SERVICE_DEPENDENCY_FAIL = 1068; + // // MessageId: ERROR_SERVICE_LOGON_FAILED // @@ -4447,6 +4999,7 @@ public interface WinError { // The service did not start due to a logon failure. // int ERROR_SERVICE_LOGON_FAILED = 1069; + // // MessageId: ERROR_SERVICE_START_HANG // @@ -4455,6 +5008,7 @@ public interface WinError { // After starting, the service hung in a start-pending state. // int ERROR_SERVICE_START_HANG = 1070; + // // MessageId: ERROR_INVALID_SERVICE_LOCK // @@ -4463,6 +5017,7 @@ public interface WinError { // The specified service database lock is invalid. // int ERROR_INVALID_SERVICE_LOCK = 1071; + // // MessageId: ERROR_SERVICE_MARKED_FOR_DELETE // @@ -4471,6 +5026,7 @@ public interface WinError { // The specified service has been marked for deletion. // int ERROR_SERVICE_MARKED_FOR_DELETE = 1072; + // // MessageId: ERROR_SERVICE_EXISTS // @@ -4479,6 +5035,7 @@ public interface WinError { // The specified service already exists. // int ERROR_SERVICE_EXISTS = 1073; + // // MessageId: ERROR_ALREADY_RUNNING_LKG // @@ -4487,6 +5044,7 @@ public interface WinError { // The system is currently running with the last-known-good configuration. // int ERROR_ALREADY_RUNNING_LKG = 1074; + // // MessageId: ERROR_SERVICE_DEPENDENCY_DELETED // @@ -4495,6 +5053,7 @@ public interface WinError { // The dependency service does not exist or has been marked for deletion. // int ERROR_SERVICE_DEPENDENCY_DELETED = 1075; + // // MessageId: ERROR_BOOT_ALREADY_ACCEPTED // @@ -4504,6 +5063,7 @@ public interface WinError { // control set. // int ERROR_BOOT_ALREADY_ACCEPTED = 1076; + // // MessageId: ERROR_SERVICE_NEVER_STARTED // @@ -4512,6 +5072,7 @@ public interface WinError { // No attempts to start the service have been made since the last boot. // int ERROR_SERVICE_NEVER_STARTED = 1077; + // // MessageId: ERROR_DUPLICATE_SERVICE_NAME // @@ -4521,6 +5082,7 @@ public interface WinError { // name. // int ERROR_DUPLICATE_SERVICE_NAME = 1078; + // // MessageId: ERROR_DIFFERENT_SERVICE_ACCOUNT // @@ -4530,6 +5092,7 @@ public interface WinError { // specified for other services running in the same process. // int ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079; + // // MessageId: ERROR_CANNOT_DETECT_DRIVER_FAILURE // @@ -4538,6 +5101,7 @@ public interface WinError { // Failure actions can only be set for Win32 services, not for drivers. // int ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080; + // // MessageId: ERROR_CANNOT_DETECT_PROCESS_ABORT // @@ -4548,6 +5112,7 @@ public interface WinError { // service's process terminates unexpectedly. // int ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081; + // // MessageId: ERROR_NO_RECOVERY_PROGRAM // @@ -4556,6 +5121,7 @@ public interface WinError { // No recovery program has been configured for this service. // int ERROR_NO_RECOVERY_PROGRAM = 1082; + // // MessageId: ERROR_SERVICE_NOT_IN_EXE // @@ -4565,6 +5131,7 @@ public interface WinError { // implement the service. // int ERROR_SERVICE_NOT_IN_EXE = 1083; + // // MessageId: ERROR_NOT_SAFEBOOT_SERVICE // @@ -4573,6 +5140,7 @@ public interface WinError { // This service cannot be started in Safe Mode // int ERROR_NOT_SAFEBOOT_SERVICE = 1084; + // // MessageId: ERROR_END_OF_MEDIA // @@ -4581,6 +5149,7 @@ public interface WinError { // The physical end of the tape has been reached. // int ERROR_END_OF_MEDIA = 1100; + // // MessageId: ERROR_FILEMARK_DETECTED // @@ -4589,6 +5158,7 @@ public interface WinError { // A tape access reached a filemark. // int ERROR_FILEMARK_DETECTED = 1101; + // // MessageId: ERROR_BEGINNING_OF_MEDIA // @@ -4597,6 +5167,7 @@ public interface WinError { // The beginning of the tape or a partition was encountered. // int ERROR_BEGINNING_OF_MEDIA = 1102; + // // MessageId: ERROR_SETMARK_DETECTED // @@ -4605,6 +5176,7 @@ public interface WinError { // A tape access reached the end of a set of files. // int ERROR_SETMARK_DETECTED = 1103; + // // MessageId: ERROR_NO_DATA_DETECTED // @@ -4613,6 +5185,7 @@ public interface WinError { // No more data is on the tape. // int ERROR_NO_DATA_DETECTED = 1104; + // // MessageId: ERROR_PARTITION_FAILURE // @@ -4621,6 +5194,7 @@ public interface WinError { // Tape could not be partitioned. // int ERROR_PARTITION_FAILURE = 1105; + // // MessageId: ERROR_INVALID_BLOCK_LENGTH // @@ -4630,6 +5204,7 @@ public interface WinError { // size is incorrect. // int ERROR_INVALID_BLOCK_LENGTH = 1106; + // // MessageId: ERROR_DEVICE_NOT_PARTITIONED // @@ -4638,6 +5213,7 @@ public interface WinError { // Tape partition information could not be found when loading a tape. // int ERROR_DEVICE_NOT_PARTITIONED = 1107; + // // MessageId: ERROR_UNABLE_TO_LOCK_MEDIA // @@ -4646,6 +5222,7 @@ public interface WinError { // Unable to lock the media eject mechanism. // int ERROR_UNABLE_TO_LOCK_MEDIA = 1108; + // // MessageId: ERROR_UNABLE_TO_UNLOAD_MEDIA // @@ -4654,6 +5231,7 @@ public interface WinError { // Unable to unload the media. // int ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109; + // // MessageId: ERROR_MEDIA_CHANGED // @@ -4662,6 +5240,7 @@ public interface WinError { // The media in the drive may have changed. // int ERROR_MEDIA_CHANGED = 1110; + // // MessageId: ERROR_BUS_RESET // @@ -4670,6 +5249,7 @@ public interface WinError { // The I/O bus was reset. // int ERROR_BUS_RESET = 1111; + // // MessageId: ERROR_NO_MEDIA_IN_DRIVE // @@ -4678,6 +5258,7 @@ public interface WinError { // No media in drive. // int ERROR_NO_MEDIA_IN_DRIVE = 1112; + // // MessageId: ERROR_NO_UNICODE_TRANSLATION // @@ -4687,6 +5268,7 @@ public interface WinError { // page. // int ERROR_NO_UNICODE_TRANSLATION = 1113; + // // MessageId: ERROR_DLL_INIT_FAILED // @@ -4695,6 +5277,7 @@ public interface WinError { // A dynamic link library (DL; initialization routine failed. // int ERROR_DLL_INIT_FAILED = 1114; + // // MessageId: ERROR_SHUTDOWN_IN_PROGRESS // @@ -4703,6 +5286,7 @@ public interface WinError { // A system shutdown is in progress. // int ERROR_SHUTDOWN_IN_PROGRESS = 1115; + // // MessageId: ERROR_NO_SHUTDOWN_IN_PROGRESS // @@ -4711,6 +5295,7 @@ public interface WinError { // Unable to abort the system shutdown because no shutdown was in progress. // int ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116; + // // MessageId: ERROR_IO_DEVICE // @@ -4719,6 +5304,7 @@ public interface WinError { // The request could not be performed because of an I/O device error. // int ERROR_IO_DEVICE = 1117; + // // MessageId: ERROR_SERIAL_NO_DEVICE // @@ -4728,6 +5314,7 @@ public interface WinError { // unload. // int ERROR_SERIAL_NO_DEVICE = 1118; + // // MessageId: ERROR_IRQ_BUSY // @@ -4738,6 +5325,7 @@ public interface WinError { // opened. // int ERROR_IRQ_BUSY = 1119; + // // MessageId: ERROR_MORE_WRITES // @@ -4747,6 +5335,7 @@ public interface WinError { // (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) // int ERROR_MORE_WRITES = 1120; + // // MessageId: ERROR_COUNTER_TIMEOUT // @@ -4756,6 +5345,7 @@ public interface WinError { // (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) // int ERROR_COUNTER_TIMEOUT = 1121; + // // MessageId: ERROR_FLOPPY_ID_MARK_NOT_FOUND // @@ -4764,6 +5354,7 @@ public interface WinError { // No ID address mark was found on the floppy disk. // int ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122; + // // MessageId: ERROR_FLOPPY_WRONG_CYLINDER // @@ -4773,6 +5364,7 @@ public interface WinError { // controller track address. // int ERROR_FLOPPY_WRONG_CYLINDER = 1123; + // // MessageId: ERROR_FLOPPY_UNKNOWN_ERROR // @@ -4782,6 +5374,7 @@ public interface WinError { // the floppy disk driver. // int ERROR_FLOPPY_UNKNOWN_ERROR = 1124; + // // MessageId: ERROR_FLOPPY_BAD_REGISTERS // @@ -4791,6 +5384,7 @@ public interface WinError { // registers. // int ERROR_FLOPPY_BAD_REGISTERS = 1125; + // // MessageId: ERROR_DISK_RECALIBRATE_FAILED // @@ -4800,6 +5394,7 @@ public interface WinError { // retries. // int ERROR_DISK_RECALIBRATE_FAILED = 1126; + // // MessageId: ERROR_DISK_OPERATION_FAILED // @@ -4809,6 +5404,7 @@ public interface WinError { // retries. // int ERROR_DISK_OPERATION_FAILED = 1127; + // // MessageId: ERROR_DISK_RESET_FAILED // @@ -4818,6 +5414,7 @@ public interface WinError { // even that failed. // int ERROR_DISK_RESET_FAILED = 1128; + // // MessageId: ERROR_EOM_OVERFLOW // @@ -4826,6 +5423,7 @@ public interface WinError { // Physical end of tape encountered. // int ERROR_EOM_OVERFLOW = 1129; + // // MessageId: ERROR_NOT_ENOUGH_SERVER_MEMORY // @@ -4834,6 +5432,7 @@ public interface WinError { // Not enough server storage is available to process this command. // int ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130; + // // MessageId: ERROR_POSSIBLE_DEADLOCK // @@ -4842,6 +5441,7 @@ public interface WinError { // A potential deadlock condition has been detected. // int ERROR_POSSIBLE_DEADLOCK = 1131; + // // MessageId: ERROR_MAPPED_ALIGNMENT // @@ -4851,6 +5451,7 @@ public interface WinError { // alignment. // int ERROR_MAPPED_ALIGNMENT = 1132; + // // MessageId: ERROR_SET_POWER_STATE_VETOED // @@ -4860,6 +5461,7 @@ public interface WinError { // application or driver. // int ERROR_SET_POWER_STATE_VETOED = 1140; + // // MessageId: ERROR_SET_POWER_STATE_FAILED // @@ -4868,6 +5470,7 @@ public interface WinError { // The system BIOS failed an attempt to change the system power state. // int ERROR_SET_POWER_STATE_FAILED = 1141; + // // MessageId: ERROR_TOO_MANY_LINKS // @@ -4877,6 +5480,7 @@ public interface WinError { // supports. // int ERROR_TOO_MANY_LINKS = 1142; + // // MessageId: ERROR_OLD_WIN_VERSION // @@ -4885,6 +5489,7 @@ public interface WinError { // The specified program requires a newer version of Windows. // int ERROR_OLD_WIN_VERSION = 1150; + // // MessageId: ERROR_APP_WRONG_OS // @@ -4893,6 +5498,7 @@ public interface WinError { // The specified program is not a Windows or MS-DOS program. // int ERROR_APP_WRONG_OS = 1151; + // // MessageId: ERROR_SINGLE_INSTANCE_APP // @@ -4901,6 +5507,7 @@ public interface WinError { // Cannot start more than one instance of the specified program. // int ERROR_SINGLE_INSTANCE_APP = 1152; + // // MessageId: ERROR_RMODE_APP // @@ -4909,6 +5516,7 @@ public interface WinError { // The specified program was written for an earlier version of Windows. // int ERROR_RMODE_APP = 1153; + // // MessageId: ERROR_INVALID_DLL // @@ -4917,6 +5525,7 @@ public interface WinError { // One of the library files needed to run this application is damaged. // int ERROR_INVALID_DLL = 1154; + // // MessageId: ERROR_NO_ASSOCIATION // @@ -4925,6 +5534,7 @@ public interface WinError { // No application is associated with the specified file for this operation. // int ERROR_NO_ASSOCIATION = 1155; + // // MessageId: ERROR_DDE_FAIL // @@ -4933,6 +5543,7 @@ public interface WinError { // An error occurred in sending the command to the application. // int ERROR_DDE_FAIL = 1156; + // // MessageId: ERROR_DLL_NOT_FOUND // @@ -4941,6 +5552,7 @@ public interface WinError { // One of the library files needed to run this application cannot be found. // int ERROR_DLL_NOT_FOUND = 1157; + // // MessageId: ERROR_NO_MORE_USER_HANDLES // @@ -4950,6 +5562,7 @@ public interface WinError { // Window Manager objects. // int ERROR_NO_MORE_USER_HANDLES = 1158; + // // MessageId: ERROR_MESSAGE_SYNC_ONLY // @@ -4958,6 +5571,7 @@ public interface WinError { // The message can be used only with synchronous operations. // int ERROR_MESSAGE_SYNC_ONLY = 1159; + // // MessageId: ERROR_SOURCE_ELEMENT_EMPTY // @@ -4966,6 +5580,7 @@ public interface WinError { // The indicated source element has no media. // int ERROR_SOURCE_ELEMENT_EMPTY = 1160; + // // MessageId: ERROR_DESTINATION_ELEMENT_FULL // @@ -4974,6 +5589,7 @@ public interface WinError { // The indicated destination element already contains media. // int ERROR_DESTINATION_ELEMENT_FULL = 1161; + // // MessageId: ERROR_ILLEGAL_ELEMENT_ADDRESS // @@ -4982,6 +5598,7 @@ public interface WinError { // The indicated element does not exist. // int ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162; + // // MessageId: ERROR_MAGAZINE_NOT_PRESENT // @@ -4990,6 +5607,7 @@ public interface WinError { // The indicated element is part of a magazine that is not present. // int ERROR_MAGAZINE_NOT_PRESENT = 1163; + // // MessageId: ERROR_DEVICE_REINITIALIZATION_NEEDED // @@ -5006,7 +5624,9 @@ public interface WinError { // The device has indicated that cleaning is required before further // operations are attempted. // + int ERROR_DEVICE_REQUIRES_CLEANING = 1165; + // // MessageId: ERROR_DEVICE_DOOR_OPEN // @@ -5015,6 +5635,7 @@ public interface WinError { // The device has indicated that its door is open. // int ERROR_DEVICE_DOOR_OPEN = 1166; + // // MessageId: ERROR_DEVICE_NOT_CONNECTED // @@ -5023,6 +5644,7 @@ public interface WinError { // The device is not connected. // int ERROR_DEVICE_NOT_CONNECTED = 1167; + // // MessageId: ERROR_NOT_FOUND // @@ -5031,6 +5653,7 @@ public interface WinError { // Element not found. // int ERROR_NOT_FOUND = 1168; + // // MessageId: ERROR_NO_MATCH // @@ -5039,6 +5662,7 @@ public interface WinError { // There was no match for the specified key in the index. // int ERROR_NO_MATCH = 1169; + // // MessageId: ERROR_SET_NOT_FOUND // @@ -5047,6 +5671,7 @@ public interface WinError { // The property set specified does not exist on the object. // int ERROR_SET_NOT_FOUND = 1170; + // // MessageId: ERROR_POINT_NOT_FOUND // @@ -5055,6 +5680,7 @@ public interface WinError { // The point passed to GetMouseMovePoints is not in the buffer. // int ERROR_POINT_NOT_FOUND = 1171; + // // MessageId: ERROR_NO_TRACKING_SERVICE // @@ -5063,6 +5689,7 @@ public interface WinError { // The tracking (workstation) service is not running. // int ERROR_NO_TRACKING_SERVICE = 1172; + // // MessageId: ERROR_NO_VOLUME_ID // @@ -5071,6 +5698,7 @@ public interface WinError { // The Volume ID could not be found. // int ERROR_NO_VOLUME_ID = 1173; + // // MessageId: ERROR_UNABLE_TO_REMOVE_REPLACED // @@ -5079,6 +5707,7 @@ public interface WinError { // Unable to remove the file to be replaced. // int ERROR_UNABLE_TO_REMOVE_REPLACED = 1175; + // // MessageId: ERROR_UNABLE_TO_MOVE_REPLACEMENT // @@ -5088,6 +5717,7 @@ public interface WinError { // to be replaced has retained its original name. // int ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176; + // // MessageId: ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 // @@ -5097,6 +5727,7 @@ public interface WinError { // to be replaced has been renamed using the backup name. // int ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177; + // // MessageId: ERROR_JOURNAL_DELETE_IN_PROGRESS // @@ -5105,6 +5736,7 @@ public interface WinError { // The volume change journal is being deleted. // int ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178; + // // MessageId: ERROR_JOURNAL_NOT_ACTIVE // @@ -5113,6 +5745,7 @@ public interface WinError { // The volume change journal is not active. // int ERROR_JOURNAL_NOT_ACTIVE = 1179; + // // MessageId: ERROR_POTENTIAL_FILE_FOUND // @@ -5121,6 +5754,7 @@ public interface WinError { // A file was found, but it may not be the correct file. // int ERROR_POTENTIAL_FILE_FOUND = 1180; + // // MessageId: ERROR_JOURNAL_ENTRY_DELETED // @@ -5129,6 +5763,7 @@ public interface WinError { // The journal entry has been deleted from the journal. // int ERROR_JOURNAL_ENTRY_DELETED = 1181; + // // MessageId: ERROR_SHUTDOWN_IS_SCHEDULED // @@ -5137,6 +5772,7 @@ public interface WinError { // A system shutdown has already been scheduled. // int ERROR_SHUTDOWN_IS_SCHEDULED = 1190; + // // MessageId: ERROR_SHUTDOWN_USERS_LOGGED_ON // @@ -5146,6 +5782,7 @@ public interface WinError { // logged on to the computer. // int ERROR_SHUTDOWN_USERS_LOGGED_ON = 1191; + // // MessageId: ERROR_BAD_DEVICE // @@ -5154,6 +5791,7 @@ public interface WinError { // The specified device name is invalid. // int ERROR_BAD_DEVICE = 1200; + // // MessageId: ERROR_CONNECTION_UNAVAIL // @@ -5162,6 +5800,7 @@ public interface WinError { // The device is not currently connected but it is a remembered connection. // int ERROR_CONNECTION_UNAVAIL = 1201; + // // MessageId: ERROR_DEVICE_ALREADY_REMEMBERED // @@ -5171,6 +5810,7 @@ public interface WinError { // resource. // int ERROR_DEVICE_ALREADY_REMEMBERED = 1202; + // // MessageId: ERROR_NO_NET_OR_BAD_PATH // @@ -5181,6 +5821,7 @@ public interface WinError { // or contact your network administrator. // int ERROR_NO_NET_OR_BAD_PATH = 1203; + // // MessageId: ERROR_BAD_PROVIDER // @@ -5189,6 +5830,7 @@ public interface WinError { // The specified network provider name is invalid. // int ERROR_BAD_PROVIDER = 1204; + // // MessageId: ERROR_CANNOT_OPEN_PROFILE // @@ -5197,6 +5839,7 @@ public interface WinError { // Unable to open the network connection profile. // int ERROR_CANNOT_OPEN_PROFILE = 1205; + // // MessageId: ERROR_BAD_PROFILE // @@ -5205,6 +5848,7 @@ public interface WinError { // The network connection profile is corrupted. // int ERROR_BAD_PROFILE = 1206; + // // MessageId: ERROR_NOT_CONTAINER // @@ -5213,6 +5857,7 @@ public interface WinError { // Cannot enumerate a noncontainer. // int ERROR_NOT_CONTAINER = 1207; + // // MessageId: ERROR_EXTENDED_ERROR // @@ -5221,6 +5866,7 @@ public interface WinError { // An extended error has occurred. // int ERROR_EXTENDED_ERROR = 1208; + // // MessageId: ERROR_INVALID_GROUPNAME // @@ -5229,6 +5875,7 @@ public interface WinError { // The format of the specified group name is invalid. // int ERROR_INVALID_GROUPNAME = 1209; + // // MessageId: ERROR_INVALID_COMPUTERNAME // @@ -5237,6 +5884,7 @@ public interface WinError { // The format of the specified computer name is invalid. // int ERROR_INVALID_COMPUTERNAME = 1210; + // // MessageId: ERROR_INVALID_EVENTNAME // @@ -5245,6 +5893,7 @@ public interface WinError { // The format of the specified event name is invalid. // int ERROR_INVALID_EVENTNAME = 1211; + // // MessageId: ERROR_INVALID_DOMAINNAME // @@ -5253,6 +5902,7 @@ public interface WinError { // The format of the specified domain name is invalid. // int ERROR_INVALID_DOMAINNAME = 1212; + // // MessageId: ERROR_INVALID_SERVICENAME // @@ -5261,6 +5911,7 @@ public interface WinError { // The format of the specified service name is invalid. // int ERROR_INVALID_SERVICENAME = 1213; + // // MessageId: ERROR_INVALID_NETNAME // @@ -5269,6 +5920,7 @@ public interface WinError { // The format of the specified network name is invalid. // int ERROR_INVALID_NETNAME = 1214; + // // MessageId: ERROR_INVALID_SHARENAME // @@ -5277,6 +5929,7 @@ public interface WinError { // The format of the specified share name is invalid. // int ERROR_INVALID_SHARENAME = 1215; + // // MessageId: ERROR_INVALID_PASSWORDNAME // @@ -5285,6 +5938,7 @@ public interface WinError { // The format of the specified password is invalid. // int ERROR_INVALID_PASSWORDNAME = 1216; + // // MessageId: ERROR_INVALID_MESSAGENAME // @@ -5293,6 +5947,7 @@ public interface WinError { // The format of the specified message name is invalid. // int ERROR_INVALID_MESSAGENAME = 1217; + // // MessageId: ERROR_INVALID_MESSAGEDEST // @@ -5301,6 +5956,7 @@ public interface WinError { // The format of the specified message destination is invalid. // int ERROR_INVALID_MESSAGEDEST = 1218; + // // MessageId: ERROR_SESSION_CREDENTIAL_CONFLICT // @@ -5311,6 +5967,7 @@ public interface WinError { // connections to the server or shared resource and try again. // int ERROR_SESSION_CREDENTIAL_CONFLICT = 1219; + // // MessageId: ERROR_REMOTE_SESSION_LIMIT_EXCEEDED // @@ -5320,6 +5977,7 @@ public interface WinError { // are already too many sessions established to that server. // int ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220; + // // MessageId: ERROR_DUP_DOMAINNAME // @@ -5329,6 +5987,7 @@ public interface WinError { // network. // int ERROR_DUP_DOMAINNAME = 1221; + // // MessageId: ERROR_NO_NETWORK // @@ -5337,6 +5996,7 @@ public interface WinError { // The network is not present or not started. // int ERROR_NO_NETWORK = 1222; + // // MessageId: ERROR_CANCELLED // @@ -5345,6 +6005,7 @@ public interface WinError { // The operation was canceled by the user. // int ERROR_CANCELLED = 1223; + // // MessageId: ERROR_USER_MAPPED_FILE // @@ -5354,6 +6015,7 @@ public interface WinError { // section open. // int ERROR_USER_MAPPED_FILE = 1224; + // // MessageId: ERROR_CONNECTION_REFUSED // @@ -5362,6 +6024,7 @@ public interface WinError { // The remote computer refused the network connection. // int ERROR_CONNECTION_REFUSED = 1225; + // // MessageId: ERROR_GRACEFUL_DISCONNECT // @@ -5370,6 +6033,7 @@ public interface WinError { // The network connection was gracefully closed. // int ERROR_GRACEFUL_DISCONNECT = 1226; + // // MessageId: ERROR_ADDRESS_ALREADY_ASSOCIATED // @@ -5378,6 +6042,7 @@ public interface WinError { // The network transport endpoint already has an address associated with it. // int ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227; + // // MessageId: ERROR_ADDRESS_NOT_ASSOCIATED // @@ -5386,6 +6051,7 @@ public interface WinError { // An address has not yet been associated with the network endpoint. // int ERROR_ADDRESS_NOT_ASSOCIATED = 1228; + // // MessageId: ERROR_CONNECTION_INVALID // @@ -5394,6 +6060,7 @@ public interface WinError { // An operation was attempted on a nonexistent network connection. // int ERROR_CONNECTION_INVALID = 1229; + // // MessageId: ERROR_CONNECTION_ACTIVE // @@ -5402,6 +6069,7 @@ public interface WinError { // An invalid operation was attempted on an active network connection. // int ERROR_CONNECTION_ACTIVE = 1230; + // // MessageId: ERROR_NETWORK_UNREACHABLE // @@ -5411,6 +6079,7 @@ public interface WinError { // troubleshooting, see Windows Help. // int ERROR_NETWORK_UNREACHABLE = 1231; + // // MessageId: ERROR_HOST_UNREACHABLE // @@ -5420,6 +6089,7 @@ public interface WinError { // troubleshooting, see Windows Help. // int ERROR_HOST_UNREACHABLE = 1232; + // // MessageId: ERROR_PROTOCOL_UNREACHABLE // @@ -5429,6 +6099,7 @@ public interface WinError { // troubleshooting, see Windows Help. // int ERROR_PROTOCOL_UNREACHABLE = 1233; + // // MessageId: ERROR_PORT_UNREACHABLE // @@ -5438,6 +6109,7 @@ public interface WinError { // system. // int ERROR_PORT_UNREACHABLE = 1234; + // // MessageId: ERROR_REQUEST_ABORTED // @@ -5446,6 +6118,7 @@ public interface WinError { // The request was aborted. // int ERROR_REQUEST_ABORTED = 1235; + // // MessageId: ERROR_CONNECTION_ABORTED // @@ -5454,6 +6127,7 @@ public interface WinError { // The network connection was aborted by the local system. // int ERROR_CONNECTION_ABORTED = 1236; + // // MessageId: ERROR_RETRY // @@ -5462,6 +6136,7 @@ public interface WinError { // The operation could not be completed. A retry should be performed. // int ERROR_RETRY = 1237; + // // MessageId: ERROR_CONNECTION_COUNT_LIMIT // @@ -5471,6 +6146,7 @@ public interface WinError { // number of concurrent connections for this account has been reached. // int ERROR_CONNECTION_COUNT_LIMIT = 1238; + // // MessageId: ERROR_LOGIN_TIME_RESTRICTION // @@ -5479,6 +6155,7 @@ public interface WinError { // Attempting to log in during an unauthorized time of day for this account. // int ERROR_LOGIN_TIME_RESTRICTION = 1239; + // // MessageId: ERROR_LOGIN_WKSTA_RESTRICTION // @@ -5487,6 +6164,7 @@ public interface WinError { // The account is not authorized to log in from this station. // int ERROR_LOGIN_WKSTA_RESTRICTION = 1240; + // // MessageId: ERROR_INCORRECT_ADDRESS // @@ -5495,6 +6173,7 @@ public interface WinError { // The network address could not be used for the operation requested. // int ERROR_INCORRECT_ADDRESS = 1241; + // // MessageId: ERROR_ALREADY_REGISTERED // @@ -5503,6 +6182,7 @@ public interface WinError { // The service is already registered. // int ERROR_ALREADY_REGISTERED = 1242; + // // MessageId: ERROR_SERVICE_NOT_FOUND // @@ -5511,6 +6191,7 @@ public interface WinError { // The specified service does not exist. // int ERROR_SERVICE_NOT_FOUND = 1243; + // // MessageId: ERROR_NOT_AUTHENTICATED // @@ -5520,6 +6201,7 @@ public interface WinError { // been authenticated. // int ERROR_NOT_AUTHENTICATED = 1244; + // // MessageId: ERROR_NOT_LOGGED_ON // @@ -5530,6 +6212,7 @@ public interface WinError { // The specified service does not exist. // int ERROR_NOT_LOGGED_ON = 1245; + // // MessageId: ERROR_CONTINUE // @@ -5546,7 +6229,9 @@ public interface WinError { // An attempt was made to perform an initialization operation when // initialization has already been completed. // + int ERROR_ALREADY_INITIALIZED = 1247; + // // MessageId: ERROR_NO_MORE_DEVICES // @@ -5562,7 +6247,9 @@ public interface WinError { // // The specified site does not exist. // + int ERROR_NO_SUCH_SITE = 1249; + // // MessageId: ERROR_DOMAIN_CONTROLLER_EXISTS // @@ -5571,6 +6258,7 @@ public interface WinError { // A domain controller with the specified name already exists. // int ERROR_DOMAIN_CONTROLLER_EXISTS = 1250; + // // MessageId: ERROR_ONLY_IF_CONNECTED // @@ -5579,6 +6267,7 @@ public interface WinError { // This operation is supported only when you are connected to the server. // int ERROR_ONLY_IF_CONNECTED = 1251; + // // MessageId: ERROR_OVERRIDE_NOCHANGES // @@ -5588,6 +6277,7 @@ public interface WinError { // changes. // int ERROR_OVERRIDE_NOCHANGES = 1252; + // // MessageId: ERROR_BAD_USER_PROFILE // @@ -5596,6 +6286,7 @@ public interface WinError { // The specified user does not have a valid profile. // int ERROR_BAD_USER_PROFILE = 1253; + // // MessageId: ERROR_NOT_SUPPORTED_ON_SBS // @@ -5605,6 +6296,7 @@ public interface WinError { // for Small Business Server // int ERROR_NOT_SUPPORTED_ON_SBS = 1254; + // // MessageId: ERROR_SERVER_SHUTDOWN_IN_PROGRESS // @@ -5613,6 +6305,7 @@ public interface WinError { // The server machine is shutting down. // int ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255; + // // MessageId: ERROR_HOST_DOWN // @@ -5622,6 +6315,7 @@ public interface WinError { // troubleshooting, see Windows Help. // int ERROR_HOST_DOWN = 1256; + // // MessageId: ERROR_NON_ACCOUNT_SID // @@ -5630,6 +6324,7 @@ public interface WinError { // The security identifier provided is not from an account domain. // int ERROR_NON_ACCOUNT_SID = 1257; + // // MessageId: ERROR_NON_DOMAIN_SID // @@ -5638,6 +6333,7 @@ public interface WinError { // The security identifier provided does not have a domain component. // int ERROR_NON_DOMAIN_SID = 1258; + // // MessageId: ERROR_APPHELP_BLOCK // @@ -5646,6 +6342,7 @@ public interface WinError { // AppHelp dialog canceled thus preventing the application from starting. // int ERROR_APPHELP_BLOCK = 1259; + // // MessageId: ERROR_ACCESS_DISABLED_BY_POLICY // @@ -5655,6 +6352,7 @@ public interface WinError { // your system administrator. // int ERROR_ACCESS_DISABLED_BY_POLICY = 1260; + // // MessageId: ERROR_REG_NAT_CONSUMPTION // @@ -5664,6 +6362,7 @@ public interface WinError { // uninitialized register. This error is Itanium specific. // int ERROR_REG_NAT_CONSUMPTION = 1261; + // // MessageId: ERROR_CSCSHARE_OFFLINE // @@ -5672,6 +6371,7 @@ public interface WinError { // The share is currently offline or does not exist. // int ERROR_CSCSHARE_OFFLINE = 1262; + // // MessageId: ERROR_PKINIT_FAILURE // @@ -5682,6 +6382,7 @@ public interface WinError { // system event log. // int ERROR_PKINIT_FAILURE = 1263; + // // MessageId: ERROR_SMARTCARD_SUBSYSTEM_FAILURE // @@ -5691,6 +6392,7 @@ public interface WinError { // the smartcard subsystem. // int ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264; + // // MessageId: ERROR_DOWNGRADE_DETECTED // @@ -5700,6 +6402,7 @@ public interface WinError { // ensure that you can contact the server that authenticated you. // int ERROR_DOWNGRADE_DETECTED = 1265; + // // Do not use ID's=1266 -=1270 as the symbolicNames have been moved to // SEC_E_* @@ -5712,6 +6415,7 @@ public interface WinError { // The machine is locked and cannot be shut down without the force option. // int ERROR_MACHINE_LOCKED = 1271; + // // MessageId: ERROR_CALLBACK_SUPPLIED_INVALID_DATA // @@ -5720,6 +6424,7 @@ public interface WinError { // An application-defined callback gave invalid data when called. // int ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273; + // // MessageId: ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED // @@ -5729,6 +6434,7 @@ public interface WinError { // foreground policy refresh. // int ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED = 1274; + // // MessageId: ERROR_DRIVER_BLOCKED // @@ -5737,6 +6443,7 @@ public interface WinError { // This driver has been blocked from loading // int ERROR_DRIVER_BLOCKED = 1275; + // // MessageId: ERROR_INVALID_IMPORT_OF_NON_DLL // @@ -5746,6 +6453,7 @@ public interface WinError { // nor the process's executable image. // int ERROR_INVALID_IMPORT_OF_NON_DLL = 1276; + // // MessageId: ERROR_ACCESS_DISABLED_WEBBLADE // @@ -5754,6 +6462,7 @@ public interface WinError { // Windows cannot open this program since it has been disabled. // int ERROR_ACCESS_DISABLED_WEBBLADE = 1277; + // // MessageId: ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER // @@ -5763,6 +6472,7 @@ public interface WinError { // has been tampered with or become corrupted. // int ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER = 1278; + // // MessageId: ERROR_RECOVERY_FAILURE // @@ -5771,6 +6481,7 @@ public interface WinError { // A transaction recover failed. // int ERROR_RECOVERY_FAILURE = 1279; + // // MessageId: ERROR_ALREADY_FIBER // @@ -5779,6 +6490,7 @@ public interface WinError { // The current thread has already been converted to a fiber. // int ERROR_ALREADY_FIBER = 1280; + // // MessageId: ERROR_ALREADY_THREAD // @@ -5787,6 +6499,7 @@ public interface WinError { // The current thread has already been converted from a fiber. // int ERROR_ALREADY_THREAD = 1281; + // // MessageId: ERROR_STACK_BUFFER_OVERRUN // @@ -5797,6 +6510,7 @@ public interface WinError { // gain control of this application. // int ERROR_STACK_BUFFER_OVERRUN = 1282; + // // MessageId: ERROR_PARAMETER_QUOTA_EXCEEDED // @@ -5806,6 +6520,7 @@ public interface WinError { // operate on. // int ERROR_PARAMETER_QUOTA_EXCEEDED = 1283; + // // MessageId: ERROR_DEBUGGER_INACTIVE // @@ -5815,6 +6530,7 @@ public interface WinError { // is in the process of being deleted. // int ERROR_DEBUGGER_INACTIVE = 1284; + // // MessageId: ERROR_DELAY_LOAD_FAILED // @@ -5824,6 +6540,7 @@ public interface WinError { // delay-loaded .dll failed. // int ERROR_DELAY_LOAD_FAILED = 1285; + // // MessageId: ERROR_VDM_DISALLOWED // @@ -5833,6 +6550,7 @@ public interface WinError { // applications. Check your permissions with your system administrator. // int ERROR_VDM_DISALLOWED = 1286; + // // MessageId: ERROR_UNIDENTIFIED_ERROR // @@ -5841,6 +6559,7 @@ public interface WinError { // Insufficient information exists to identify the cause of failure. // int ERROR_UNIDENTIFIED_ERROR = 1287; + // // MessageId: ERROR_INVALID_CRUNTIME_PARAMETER // @@ -5849,6 +6568,7 @@ public interface WinError { // The parameter passed to a C runtime function is incorrect. // int ERROR_INVALID_CRUNTIME_PARAMETER = 1288; + // // MessageId: ERROR_BEYOND_VDL // @@ -5857,6 +6577,7 @@ public interface WinError { // The operation occurred beyond the valid data length of the file. // int ERROR_BEYOND_VDL = 1289; + // // MessageId: ERROR_INCOMPATIBLE_SERVICE_SID_TYPE // @@ -5870,6 +6591,7 @@ public interface WinError { // this service. // int ERROR_INCOMPATIBLE_SERVICE_SID_TYPE = 1290; + // // MessageId: ERROR_DRIVER_PROCESS_TERMINATED // @@ -5878,6 +6600,7 @@ public interface WinError { // The process hosting the driver for this device has been terminated. // int ERROR_DRIVER_PROCESS_TERMINATED = 1291; + // // MessageId: ERROR_IMPLEMENTATION_LIMIT // @@ -5886,6 +6609,7 @@ public interface WinError { // An operation attempted to exceed an implementation-defined limit. // int ERROR_IMPLEMENTATION_LIMIT = 1292; + // // MessageId: ERROR_PROCESS_IS_PROTECTED // @@ -5895,6 +6619,7 @@ public interface WinError { // a protected process. // int ERROR_PROCESS_IS_PROTECTED = 1293; + // // MessageId: ERROR_SERVICE_NOTIFY_CLIENT_LAGGING // @@ -5904,6 +6629,7 @@ public interface WinError { // state of services in the machine. // int ERROR_SERVICE_NOTIFY_CLIENT_LAGGING = 1294; + // // MessageId: ERROR_DISK_QUOTA_EXCEEDED // @@ -5916,6 +6642,7 @@ public interface WinError { // administrator. // int ERROR_DISK_QUOTA_EXCEEDED = 1295; + // // MessageId: ERROR_CONTENT_BLOCKED // @@ -5926,6 +6653,7 @@ public interface WinError { // administrator. // int ERROR_CONTENT_BLOCKED = 1296; + // // MessageId: ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE // @@ -5938,6 +6666,7 @@ public interface WinError { // to view the service configuration and the account configuration. // int ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE = 1297; + // ///////////////////////////////////////////////// // =// // =SECURITY Error codes=// @@ -5953,6 +6682,7 @@ public interface WinError { // object. // int ERROR_INVALID_LABEL = 1299; + // // MessageId: ERROR_NOT_ALL_ASSIGNED // @@ -5961,6 +6691,7 @@ public interface WinError { // Not all privileges or groups referenced are assigned to the caller. // int ERROR_NOT_ALL_ASSIGNED = 1300; + // // MessageId: ERROR_SOME_NOT_MAPPED // @@ -5969,6 +6700,7 @@ public interface WinError { // Some mapping between account names and security IDs was not done. // int ERROR_SOME_NOT_MAPPED = 1301; + // // MessageId: ERROR_NO_QUOTAS_FOR_ACCOUNT // @@ -5977,6 +6709,7 @@ public interface WinError { // No system quota limits are specifically set for this account. // int ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302; + // // MessageId: ERROR_LOCAL_USER_SESSION_KEY // @@ -5985,6 +6718,7 @@ public interface WinError { // No encryption key is available. A well-known encryption key was returned. // int ERROR_LOCAL_USER_SESSION_KEY = 1303; + // // MessageId: ERROR_NULL_LM_PASSWORD // @@ -5994,6 +6728,7 @@ public interface WinError { // The LAN Manager password returned is a NULL string. // int ERROR_NULL_LM_PASSWORD = 1304; + // // MessageId: ERROR_UNKNOWN_REVISION // @@ -6002,6 +6737,7 @@ public interface WinError { // The revision level is unknown. // int ERROR_UNKNOWN_REVISION = 1305; + // // MessageId: ERROR_REVISION_MISMATCH // @@ -6010,6 +6746,7 @@ public interface WinError { // Indicates two revision levels are incompatible. // int ERROR_REVISION_MISMATCH = 1306; + // // MessageId: ERROR_INVALID_OWNER // @@ -6018,6 +6755,7 @@ public interface WinError { // This security ID may not be assigned as the owner of this object. // int ERROR_INVALID_OWNER = 1307; + // // MessageId: ERROR_INVALID_PRIMARY_GROUP // @@ -6026,6 +6764,7 @@ public interface WinError { // This security ID may not be assigned as the primary group of an object. // int ERROR_INVALID_PRIMARY_GROUP = 1308; + // // MessageId: ERROR_NO_IMPERSONATION_TOKEN // @@ -6035,6 +6774,7 @@ public interface WinError { // that is not currently impersonating a client. // int ERROR_NO_IMPERSONATION_TOKEN = 1309; + // // MessageId: ERROR_CANT_DISABLE_MANDATORY // @@ -6043,6 +6783,7 @@ public interface WinError { // The group may not be disabled. // int ERROR_CANT_DISABLE_MANDATORY = 1310; + // // MessageId: ERROR_NO_LOGON_SERVERS // @@ -6052,6 +6793,7 @@ public interface WinError { // request. // int ERROR_NO_LOGON_SERVERS = 1311; + // // MessageId: ERROR_NO_SUCH_LOGON_SESSION // @@ -6061,6 +6803,7 @@ public interface WinError { // terminated. // int ERROR_NO_SUCH_LOGON_SESSION = 1312; + // // MessageId: ERROR_NO_SUCH_PRIVILEGE // @@ -6069,6 +6812,7 @@ public interface WinError { // A specified privilege does not exist. // int ERROR_NO_SUCH_PRIVILEGE = 1313; + // // MessageId: ERROR_PRIVILEGE_NOT_HELD // @@ -6077,6 +6821,7 @@ public interface WinError { // A required privilege is not held by the client. // int ERROR_PRIVILEGE_NOT_HELD = 1314; + // // MessageId: ERROR_INVALID_ACCOUNT_NAME // @@ -6085,6 +6830,7 @@ public interface WinError { // The name provided is not a properly formed account name. // int ERROR_INVALID_ACCOUNT_NAME = 1315; + // // MessageId: ERROR_USER_EXISTS // @@ -6093,6 +6839,7 @@ public interface WinError { // The specified account already exists. // int ERROR_USER_EXISTS = 1316; + // // MessageId: ERROR_NO_SUCH_USER // @@ -6101,6 +6848,7 @@ public interface WinError { // The specified account does not exist. // int ERROR_NO_SUCH_USER = 1317; + // // MessageId: ERROR_GROUP_EXISTS // @@ -6109,6 +6857,7 @@ public interface WinError { // The specified group already exists. // int ERROR_GROUP_EXISTS = 1318; + // // MessageId: ERROR_NO_SUCH_GROUP // @@ -6117,6 +6866,7 @@ public interface WinError { // The specified group does not exist. // int ERROR_NO_SUCH_GROUP = 1319; + // // MessageId: ERROR_MEMBER_IN_GROUP // @@ -6127,6 +6877,7 @@ public interface WinError { // member. // int ERROR_MEMBER_IN_GROUP = 1320; + // // MessageId: ERROR_MEMBER_NOT_IN_GROUP // @@ -6136,6 +6887,7 @@ public interface WinError { // account. // int ERROR_MEMBER_NOT_IN_GROUP = 1321; + // // MessageId: ERROR_LAST_ADMIN // @@ -6144,6 +6896,7 @@ public interface WinError { // The last remaining administration account cannot be disabled or deleted. // int ERROR_LAST_ADMIN = 1322; + // // MessageId: ERROR_WRONG_PASSWORD // @@ -6153,6 +6906,7 @@ public interface WinError { // is incorrect. // int ERROR_WRONG_PASSWORD = 1323; + // // MessageId: ERROR_ILL_FORMED_PASSWORD // @@ -6162,6 +6916,7 @@ public interface WinError { // contains values that are not allowed in passwords. // int ERROR_ILL_FORMED_PASSWORD = 1324; + // // MessageId: ERROR_PASSWORD_RESTRICTION // @@ -6172,6 +6927,7 @@ public interface WinError { // domain. // int ERROR_PASSWORD_RESTRICTION = 1325; + // // MessageId: ERROR_LOGON_FAILURE // @@ -6180,6 +6936,7 @@ public interface WinError { // Logon failure: unknown user name or bad password. // int ERROR_LOGON_FAILURE = 1326; + // // MessageId: ERROR_ACCOUNT_RESTRICTION // @@ -6190,6 +6947,7 @@ public interface WinError { // has been enforced. // int ERROR_ACCOUNT_RESTRICTION = 1327; + // // MessageId: ERROR_INVALID_LOGON_HOURS // @@ -6198,6 +6956,7 @@ public interface WinError { // Logon failure: account logon time restriction violation. // int ERROR_INVALID_LOGON_HOURS = 1328; + // // MessageId: ERROR_INVALID_WORKSTATION // @@ -6206,6 +6965,7 @@ public interface WinError { // Logon failure: user not allowed to log on to this computer. // int ERROR_INVALID_WORKSTATION = 1329; + // // MessageId: ERROR_PASSWORD_EXPIRED // @@ -6214,6 +6974,7 @@ public interface WinError { // Logon failure: the specified account password has expired. // int ERROR_PASSWORD_EXPIRED = 1330; + // // MessageId: ERROR_ACCOUNT_DISABLED // @@ -6222,6 +6983,7 @@ public interface WinError { // Logon failure: account currently disabled. // int ERROR_ACCOUNT_DISABLED = 1331; + // // MessageId: ERROR_NONE_MAPPED // @@ -6230,6 +6992,7 @@ public interface WinError { // No mapping between account names and security IDs was done. // int ERROR_NONE_MAPPED = 1332; + // // MessageId: ERROR_TOO_MANY_LUIDS_REQUESTED // @@ -6238,6 +7001,7 @@ public interface WinError { // Too many local user identifiers (LUIDs) were requested at one time. // int ERROR_TOO_MANY_LUIDS_REQUESTED = 1333; + // // MessageId: ERROR_LUIDS_EXHAUSTED // @@ -6246,6 +7010,7 @@ public interface WinError { // No more local user identifiers (LUIDs) are available. // int ERROR_LUIDS_EXHAUSTED = 1334; + // // MessageId: ERROR_INVALID_SUB_AUTHORITY // @@ -6255,6 +7020,7 @@ public interface WinError { // use. // int ERROR_INVALID_SUB_AUTHORITY = 1335; + // // MessageId: ERROR_INVALID_ACL // @@ -6263,6 +7029,7 @@ public interface WinError { // The access control list (AC; structure is invalid. // int ERROR_INVALID_ACL = 1336; + // // MessageId: ERROR_INVALID_SID // @@ -6271,6 +7038,7 @@ public interface WinError { // The security ID structure is invalid. // int ERROR_INVALID_SID = 1337; + // // MessageId: ERROR_INVALID_SECURITY_DESCR // @@ -6279,6 +7047,7 @@ public interface WinError { // The security descriptor structure is invalid. // int ERROR_INVALID_SECURITY_DESCR = 1338; + // // MessageId: ERROR_BAD_INHERITANCE_ACL // @@ -6288,6 +7057,7 @@ public interface WinError { // could not be built. // int ERROR_BAD_INHERITANCE_ACL = 1340; + // // MessageId: ERROR_SERVER_DISABLED // @@ -6296,6 +7066,7 @@ public interface WinError { // The server is currently disabled. // int ERROR_SERVER_DISABLED = 1341; + // // MessageId: ERROR_SERVER_NOT_DISABLED // @@ -6304,6 +7075,7 @@ public interface WinError { // The server is currently enabled. // int ERROR_SERVER_NOT_DISABLED = 1342; + // // MessageId: ERROR_INVALID_ID_AUTHORITY // @@ -6312,6 +7084,7 @@ public interface WinError { // The value provided was an invalid value for an identifier authority. // int ERROR_INVALID_ID_AUTHORITY = 1343; + // // MessageId: ERROR_ALLOTTED_SPACE_EXCEEDED // @@ -6320,6 +7093,7 @@ public interface WinError { // No more memory is available for security information updates. // int ERROR_ALLOTTED_SPACE_EXCEEDED = 1344; + // // MessageId: ERROR_INVALID_GROUP_ATTRIBUTES // @@ -6329,6 +7103,7 @@ public interface WinError { // for the group as a whole. // int ERROR_INVALID_GROUP_ATTRIBUTES = 1345; + // // MessageId: ERROR_BAD_IMPERSONATION_LEVEL // @@ -6338,6 +7113,7 @@ public interface WinError { // impersonation level is invalid. // int ERROR_BAD_IMPERSONATION_LEVEL = 1346; + // // MessageId: ERROR_CANT_OPEN_ANONYMOUS // @@ -6346,6 +7122,7 @@ public interface WinError { // Cannot open an anonymous level security token. // int ERROR_CANT_OPEN_ANONYMOUS = 1347; + // // MessageId: ERROR_BAD_VALIDATION_CLASS // @@ -6354,6 +7131,7 @@ public interface WinError { // The validation information class requested was invalid. // int ERROR_BAD_VALIDATION_CLASS = 1348; + // // MessageId: ERROR_BAD_TOKEN_TYPE // @@ -6362,6 +7140,7 @@ public interface WinError { // The type of the token is inappropriate for its attempted use. // int ERROR_BAD_TOKEN_TYPE = 1349; + // // MessageId: ERROR_NO_SECURITY_ON_OBJECT // @@ -6371,6 +7150,7 @@ public interface WinError { // associated security. // int ERROR_NO_SECURITY_ON_OBJECT = 1350; + // // MessageId: ERROR_CANT_ACCESS_DOMAIN_INFO // @@ -6380,6 +7160,7 @@ public interface WinError { // either because the machine is unavailable, or access has been denied. // int ERROR_CANT_ACCESS_DOMAIN_INFO = 1351; + // // MessageId: ERROR_INVALID_SERVER_STATE // @@ -6389,6 +7170,7 @@ public interface WinError { // server was in the wrong state to perform the security operation. // int ERROR_INVALID_SERVER_STATE = 1352; + // // MessageId: ERROR_INVALID_DOMAIN_STATE // @@ -6397,6 +7179,7 @@ public interface WinError { // The domain was in the wrong state to perform the security operation. // int ERROR_INVALID_DOMAIN_STATE = 1353; + // // MessageId: ERROR_INVALID_DOMAIN_ROLE // @@ -6406,6 +7189,7 @@ public interface WinError { // domain. // int ERROR_INVALID_DOMAIN_ROLE = 1354; + // // MessageId: ERROR_NO_SUCH_DOMAIN // @@ -6414,6 +7198,7 @@ public interface WinError { // The specified domain either does not exist or could not be contacted. // int ERROR_NO_SUCH_DOMAIN = 1355; + // // MessageId: ERROR_DOMAIN_EXISTS // @@ -6422,6 +7207,7 @@ public interface WinError { // The specified domain already exists. // int ERROR_DOMAIN_EXISTS = 1356; + // // MessageId: ERROR_DOMAIN_LIMIT_EXCEEDED // @@ -6431,6 +7217,7 @@ public interface WinError { // server. // int ERROR_DOMAIN_LIMIT_EXCEEDED = 1357; + // // MessageId: ERROR_INTERNAL_DB_CORRUPTION // @@ -6440,6 +7227,7 @@ public interface WinError { // catastrophic media failure or a data structure corruption on the disk. // int ERROR_INTERNAL_DB_CORRUPTION = 1358; + // // MessageId: ERROR_INTERNAL_ERROR // @@ -6448,6 +7236,7 @@ public interface WinError { // An internal error occurred. // int ERROR_INTERNAL_ERROR = 1359; + // // MessageId: ERROR_GENERIC_NOT_MAPPED // @@ -6457,6 +7246,7 @@ public interface WinError { // already be mapped to nongeneric types. // int ERROR_GENERIC_NOT_MAPPED = 1360; + // // MessageId: ERROR_BAD_DESCRIPTOR_FORMAT // @@ -6466,6 +7256,7 @@ public interface WinError { // self-relative). // int ERROR_BAD_DESCRIPTOR_FORMAT = 1361; + // // MessageId: ERROR_NOT_LOGON_PROCESS // @@ -6475,6 +7266,7 @@ public interface WinError { // calling process has not registered as a logon process. // int ERROR_NOT_LOGON_PROCESS = 1362; + // // MessageId: ERROR_LOGON_SESSION_EXISTS // @@ -6483,6 +7275,7 @@ public interface WinError { // Cannot start a new logon session with an ID that is already in use. // int ERROR_LOGON_SESSION_EXISTS = 1363; + // // MessageId: ERROR_NO_SUCH_PACKAGE // @@ -6491,6 +7284,7 @@ public interface WinError { // A specified authentication package is unknown. // int ERROR_NO_SUCH_PACKAGE = 1364; + // // MessageId: ERROR_BAD_LOGON_SESSION_STATE // @@ -6500,6 +7294,7 @@ public interface WinError { // operation. // int ERROR_BAD_LOGON_SESSION_STATE = 1365; + // // MessageId: ERROR_LOGON_SESSION_COLLISION // @@ -6508,6 +7303,7 @@ public interface WinError { // The logon session ID is already in use. // int ERROR_LOGON_SESSION_COLLISION = 1366; + // // MessageId: ERROR_INVALID_LOGON_TYPE // @@ -6516,6 +7312,7 @@ public interface WinError { // A logon request contained an invalid logon type value. // int ERROR_INVALID_LOGON_TYPE = 1367; + // // MessageId: ERROR_CANNOT_IMPERSONATE // @@ -6525,6 +7322,7 @@ public interface WinError { // that pipe. // int ERROR_CANNOT_IMPERSONATE = 1368; + // // MessageId: ERROR_RXACT_INVALID_STATE // @@ -6534,6 +7332,7 @@ public interface WinError { // requested operation. // int ERROR_RXACT_INVALID_STATE = 1369; + // // MessageId: ERROR_RXACT_COMMIT_FAILURE // @@ -6542,6 +7341,7 @@ public interface WinError { // An internal security database corruption has been encountered. // int ERROR_RXACT_COMMIT_FAILURE = 1370; + // // MessageId: ERROR_SPECIAL_ACCOUNT // @@ -6550,6 +7350,7 @@ public interface WinError { // Cannot perform this operation on built-in accounts. // int ERROR_SPECIAL_ACCOUNT = 1371; + // // MessageId: ERROR_SPECIAL_GROUP // @@ -6558,6 +7359,7 @@ public interface WinError { // Cannot perform this operation on this built-in special group. // int ERROR_SPECIAL_GROUP = 1372; + // // MessageId: ERROR_SPECIAL_USER // @@ -6566,6 +7368,7 @@ public interface WinError { // Cannot perform this operation on this built-in special user. // int ERROR_SPECIAL_USER = 1373; + // // MessageId: ERROR_MEMBERS_PRIMARY_GROUP // @@ -6575,6 +7378,7 @@ public interface WinError { // the user's primary group. // int ERROR_MEMBERS_PRIMARY_GROUP = 1374; + // // MessageId: ERROR_TOKEN_ALREADY_IN_USE // @@ -6583,6 +7387,7 @@ public interface WinError { // The token is already in use as a primary token. // int ERROR_TOKEN_ALREADY_IN_USE = 1375; + // // MessageId: ERROR_NO_SUCH_ALIAS // @@ -6591,6 +7396,7 @@ public interface WinError { // The specified local group does not exist. // int ERROR_NO_SUCH_ALIAS = 1376; + // // MessageId: ERROR_MEMBER_NOT_IN_ALIAS // @@ -6599,6 +7405,7 @@ public interface WinError { // The specified account name is not a member of the group. // int ERROR_MEMBER_NOT_IN_ALIAS = 1377; + // // MessageId: ERROR_MEMBER_IN_ALIAS // @@ -6607,6 +7414,7 @@ public interface WinError { // The specified account name is already a member of the group. // int ERROR_MEMBER_IN_ALIAS = 1378; + // // MessageId: ERROR_ALIAS_EXISTS // @@ -6615,6 +7423,7 @@ public interface WinError { // The specified local group already exists. // int ERROR_ALIAS_EXISTS = 1379; + // // MessageId: ERROR_LOGON_NOT_GRANTED // @@ -6624,6 +7433,7 @@ public interface WinError { // this computer. // int ERROR_LOGON_NOT_GRANTED = 1380; + // // MessageId: ERROR_TOO_MANY_SECRETS // @@ -6633,6 +7443,7 @@ public interface WinError { // been exceeded. // int ERROR_TOO_MANY_SECRETS = 1381; + // // MessageId: ERROR_SECRET_TOO_LONG // @@ -6641,6 +7452,7 @@ public interface WinError { // The length of a secret exceeds the maximum length allowed. // int ERROR_SECRET_TOO_LONG = 1382; + // // MessageId: ERROR_INTERNAL_DB_ERROR // @@ -6649,6 +7461,7 @@ public interface WinError { // The local security authority database contains an internal inconsistency. // int ERROR_INTERNAL_DB_ERROR = 1383; + // // MessageId: ERROR_TOO_MANY_CONTEXT_IDS // @@ -6658,6 +7471,7 @@ public interface WinError { // security IDs. // int ERROR_TOO_MANY_CONTEXT_IDS = 1384; + // // MessageId: ERROR_LOGON_TYPE_NOT_GRANTED // @@ -6667,6 +7481,7 @@ public interface WinError { // this computer. // int ERROR_LOGON_TYPE_NOT_GRANTED = 1385; + // // MessageId: ERROR_NT_CROSS_ENCRYPTION_REQUIRED // @@ -6675,6 +7490,7 @@ public interface WinError { // A cross-encrypted password is necessary to change a user password. // int ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386; + // // MessageId: ERROR_NO_SUCH_MEMBER // @@ -6684,6 +7500,7 @@ public interface WinError { // the member does not exist. // int ERROR_NO_SUCH_MEMBER = 1387; + // // MessageId: ERROR_INVALID_MEMBER // @@ -6693,6 +7510,7 @@ public interface WinError { // the wrong account type. // int ERROR_INVALID_MEMBER = 1388; + // // MessageId: ERROR_TOO_MANY_SIDS // @@ -6701,6 +7519,7 @@ public interface WinError { // Too many security IDs have been specified. // int ERROR_TOO_MANY_SIDS = 1389; + // // MessageId: ERROR_LM_CROSS_ENCRYPTION_REQUIRED // @@ -6709,6 +7528,7 @@ public interface WinError { // A cross-encrypted password is necessary to change this user password. // int ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390; + // // MessageId: ERROR_NO_INHERITANCE // @@ -6717,6 +7537,7 @@ public interface WinError { // Indicates an ACL contains no inheritable components. // int ERROR_NO_INHERITANCE = 1391; + // // MessageId: ERROR_FILE_CORRUPT // @@ -6725,6 +7546,7 @@ public interface WinError { // The file or directory is corrupted and unreadable. // int ERROR_FILE_CORRUPT = 1392; + // // MessageId: ERROR_DISK_CORRUPT // @@ -6733,6 +7555,7 @@ public interface WinError { // The disk structure is corrupted and unreadable. // int ERROR_DISK_CORRUPT = 1393; + // // MessageId: ERROR_NO_USER_SESSION_KEY // @@ -6741,6 +7564,7 @@ public interface WinError { // There is no user session key for the specified logon session. // int ERROR_NO_USER_SESSION_KEY = 1394; + // // MessageId: ERROR_LICENSE_QUOTA_EXCEEDED // @@ -6752,6 +7576,7 @@ public interface WinError { // are already as many connections as the service can accept. // int ERROR_LICENSE_QUOTA_EXCEEDED = 1395; + // // MessageId: ERROR_WRONG_TARGET_NAME // @@ -6760,6 +7585,7 @@ public interface WinError { // Logon Failure: The target account name is incorrect. // int ERROR_WRONG_TARGET_NAME = 1396; + // // MessageId: ERROR_MUTUAL_AUTH_FAILED // @@ -6769,6 +7595,7 @@ public interface WinError { // domain controller. // int ERROR_MUTUAL_AUTH_FAILED = 1397; + // // MessageId: ERROR_TIME_SKEW // @@ -6777,6 +7604,7 @@ public interface WinError { // There is a time and/or date difference between the client and server. // int ERROR_TIME_SKEW = 1398; + // // MessageId: ERROR_CURRENT_DOMAIN_NOT_ALLOWED // @@ -6785,6 +7613,7 @@ public interface WinError { // This operation cannot be performed on the current domain. // int ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399; + // ///////////////////////////////////////////////// // =// // =WinUser Error codes=// @@ -6799,6 +7628,7 @@ public interface WinError { // Invalid window handle. // int ERROR_INVALID_WINDOW_HANDLE = 1400; + // // MessageId: ERROR_INVALID_MENU_HANDLE // @@ -6807,6 +7637,7 @@ public interface WinError { // Invalid menu handle. // int ERROR_INVALID_MENU_HANDLE = 1401; + // // MessageId: ERROR_INVALID_CURSOR_HANDLE // @@ -6815,6 +7646,7 @@ public interface WinError { // Invalid cursor handle. // int ERROR_INVALID_CURSOR_HANDLE = 1402; + // // MessageId: ERROR_INVALID_ACCEL_HANDLE // @@ -6823,6 +7655,7 @@ public interface WinError { // Invalid accelerator table handle. // int ERROR_INVALID_ACCEL_HANDLE = 1403; + // // MessageId: ERROR_INVALID_HOOK_HANDLE // @@ -6831,6 +7664,7 @@ public interface WinError { // Invalid hook handle. // int ERROR_INVALID_HOOK_HANDLE = 1404; + // // MessageId: ERROR_INVALID_DWP_HANDLE // @@ -6839,6 +7673,7 @@ public interface WinError { // Invalid handle to a multiple-window position structure. // int ERROR_INVALID_DWP_HANDLE = 1405; + // // MessageId: ERROR_TLW_WITH_WSCHILD // @@ -6847,6 +7682,7 @@ public interface WinError { // Cannot create a top-level child window. // int ERROR_TLW_WITH_WSCHILD = 1406; + // // MessageId: ERROR_CANNOT_FIND_WND_CLASS // @@ -6855,6 +7691,7 @@ public interface WinError { // Cannot find window class. // int ERROR_CANNOT_FIND_WND_CLASS = 1407; + // // MessageId: ERROR_WINDOW_OF_OTHER_THREAD // @@ -6863,6 +7700,7 @@ public interface WinError { // Invalid window; it belongs to other thread. // int ERROR_WINDOW_OF_OTHER_THREAD = 1408; + // // MessageId: ERROR_HOTKEY_ALREADY_REGISTERED // @@ -6871,6 +7709,7 @@ public interface WinError { // Hot key is already registered. // int ERROR_HOTKEY_ALREADY_REGISTERED = 1409; + // // MessageId: ERROR_CLASS_ALREADY_EXISTS // @@ -6879,6 +7718,7 @@ public interface WinError { // Class already exists. // int ERROR_CLASS_ALREADY_EXISTS = 1410; + // // MessageId: ERROR_CLASS_DOES_NOT_EXIST // @@ -6887,6 +7727,7 @@ public interface WinError { // Class does not exist. // int ERROR_CLASS_DOES_NOT_EXIST = 1411; + // // MessageId: ERROR_CLASS_HAS_WINDOWS // @@ -6895,6 +7736,7 @@ public interface WinError { // Class still has open windows. // int ERROR_CLASS_HAS_WINDOWS = 1412; + // // MessageId: ERROR_INVALID_INDEX // @@ -6903,6 +7745,7 @@ public interface WinError { // Invalid index. // int ERROR_INVALID_INDEX = 1413; + // // MessageId: ERROR_INVALID_ICON_HANDLE // @@ -6911,6 +7754,7 @@ public interface WinError { // Invalid icon handle. // int ERROR_INVALID_ICON_HANDLE = 1414; + // // MessageId: ERROR_PRIVATE_DIALOG_INDEX // @@ -6919,6 +7763,7 @@ public interface WinError { // Using private DIALOG window words. // int ERROR_PRIVATE_DIALOG_INDEX = 1415; + // // MessageId: ERROR_LISTBOX_ID_NOT_FOUND // @@ -6927,6 +7772,7 @@ public interface WinError { // The list box identifier was not found. // int ERROR_LISTBOX_ID_NOT_FOUND = 1416; + // // MessageId: ERROR_NO_WILDCARD_CHARACTERS // @@ -6935,6 +7781,7 @@ public interface WinError { // No wildcards were found. // int ERROR_NO_WILDCARD_CHARACTERS = 1417; + // // MessageId: ERROR_CLIPBOARD_NOT_OPEN // @@ -6943,6 +7790,7 @@ public interface WinError { // Thread does not have a clipboard open. // int ERROR_CLIPBOARD_NOT_OPEN = 1418; + // // MessageId: ERROR_HOTKEY_NOT_REGISTERED // @@ -6951,6 +7799,7 @@ public interface WinError { // Hot key is not registered. // int ERROR_HOTKEY_NOT_REGISTERED = 1419; + // // MessageId: ERROR_WINDOW_NOT_DIALOG // @@ -6959,6 +7808,7 @@ public interface WinError { // The window is not a valid dialog window. // int ERROR_WINDOW_NOT_DIALOG = 1420; + // // MessageId: ERROR_CONTROL_ID_NOT_FOUND // @@ -6967,6 +7817,7 @@ public interface WinError { // Control ID not found. // int ERROR_CONTROL_ID_NOT_FOUND = 1421; + // // MessageId: ERROR_INVALID_COMBOBOX_MESSAGE // @@ -6975,6 +7826,7 @@ public interface WinError { // Invalid message for a combo box because it does not have an edit control. // int ERROR_INVALID_COMBOBOX_MESSAGE = 1422; + // // MessageId: ERROR_WINDOW_NOT_COMBOBOX // @@ -6983,6 +7835,7 @@ public interface WinError { // The window is not a combo box. // int ERROR_WINDOW_NOT_COMBOBOX = 1423; + // // MessageId: ERROR_INVALID_EDIT_HEIGHT // @@ -6991,6 +7844,7 @@ public interface WinError { // Height must be less than=256. // int ERROR_INVALID_EDIT_HEIGHT = 1424; + // // MessageId: ERROR_DC_NOT_FOUND // @@ -6999,6 +7853,7 @@ public interface WinError { // Invalid device context (DC) handle. // int ERROR_DC_NOT_FOUND = 1425; + // // MessageId: ERROR_INVALID_HOOK_FILTER // @@ -7007,6 +7862,7 @@ public interface WinError { // Invalid hook procedure type. // int ERROR_INVALID_HOOK_FILTER = 1426; + // // MessageId: ERROR_INVALID_FILTER_PROC // @@ -7015,6 +7871,7 @@ public interface WinError { // Invalid hook procedure. // int ERROR_INVALID_FILTER_PROC = 1427; + // // MessageId: ERROR_HOOK_NEEDS_HMOD // @@ -7023,6 +7880,7 @@ public interface WinError { // Cannot set nonlocal hook without a module handle. // int ERROR_HOOK_NEEDS_HMOD = 1428; + // // MessageId: ERROR_GLOBAL_ONLY_HOOK // @@ -7031,6 +7889,7 @@ public interface WinError { // This hook procedure can only be set globally. // int ERROR_GLOBAL_ONLY_HOOK = 1429; + // // MessageId: ERROR_JOURNAL_HOOK_SET // @@ -7039,6 +7898,7 @@ public interface WinError { // The journal hook procedure is already installed. // int ERROR_JOURNAL_HOOK_SET = 1430; + // // MessageId: ERROR_HOOK_NOT_INSTALLED // @@ -7047,6 +7907,7 @@ public interface WinError { // The hook procedure is not installed. // int ERROR_HOOK_NOT_INSTALLED = 1431; + // // MessageId: ERROR_INVALID_LB_MESSAGE // @@ -7055,6 +7916,7 @@ public interface WinError { // Invalid message for single-selection list box. // int ERROR_INVALID_LB_MESSAGE = 1432; + // // MessageId: ERROR_SETCOUNT_ON_BAD_LB // @@ -7063,6 +7925,7 @@ public interface WinError { // LB_SETCOUNT sent to non-lazy list box. // int ERROR_SETCOUNT_ON_BAD_LB = 1433; + // // MessageId: ERROR_LB_WITHOUT_TABSTOPS // @@ -7071,6 +7934,7 @@ public interface WinError { // This list box does not support tab stops. // int ERROR_LB_WITHOUT_TABSTOPS = 1434; + // // MessageId: ERROR_DESTROY_OBJECT_OF_OTHER_THREAD // @@ -7079,6 +7943,7 @@ public interface WinError { // Cannot destroy object created by another thread. // int ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435; + // // MessageId: ERROR_CHILD_WINDOW_MENU // @@ -7087,6 +7952,7 @@ public interface WinError { // Child windows cannot have menus. // int ERROR_CHILD_WINDOW_MENU = 1436; + // // MessageId: ERROR_NO_SYSTEM_MENU // @@ -7095,6 +7961,7 @@ public interface WinError { // The window does not have a system menu. // int ERROR_NO_SYSTEM_MENU = 1437; + // // MessageId: ERROR_INVALID_MSGBOX_STYLE // @@ -7103,6 +7970,7 @@ public interface WinError { // Invalid message box style. // int ERROR_INVALID_MSGBOX_STYLE = 1438; + // // MessageId: ERROR_INVALID_SPI_VALUE // @@ -7111,6 +7979,7 @@ public interface WinError { // Invalid system-wide (SPI_*) parameter. // int ERROR_INVALID_SPI_VALUE = 1439; + // // MessageId: ERROR_SCREEN_ALREADY_LOCKED // @@ -7119,6 +7988,7 @@ public interface WinError { // Screen already locked. // int ERROR_SCREEN_ALREADY_LOCKED = 1440; + // // MessageId: ERROR_HWNDS_HAVE_DIFF_PARENT // @@ -7128,6 +7998,7 @@ public interface WinError { // the same parent. // int ERROR_HWNDS_HAVE_DIFF_PARENT = 1441; + // // MessageId: ERROR_NOT_CHILD_WINDOW // @@ -7136,6 +8007,7 @@ public interface WinError { // The window is not a child window. // int ERROR_NOT_CHILD_WINDOW = 1442; + // // MessageId: ERROR_INVALID_GW_COMMAND // @@ -7144,6 +8016,7 @@ public interface WinError { // Invalid GW_* command. // int ERROR_INVALID_GW_COMMAND = 1443; + // // MessageId: ERROR_INVALID_THREAD_ID // @@ -7152,6 +8025,7 @@ public interface WinError { // Invalid thread identifier. // int ERROR_INVALID_THREAD_ID = 1444; + // // MessageId: ERROR_NON_MDICHILD_WINDOW // @@ -7161,6 +8035,7 @@ public interface WinError { // interface (MDI) window. // int ERROR_NON_MDICHILD_WINDOW = 1445; + // // MessageId: ERROR_POPUP_ALREADY_ACTIVE // @@ -7169,6 +8044,7 @@ public interface WinError { // Popup menu already active. // int ERROR_POPUP_ALREADY_ACTIVE = 1446; + // // MessageId: ERROR_NO_SCROLLBARS // @@ -7177,6 +8053,7 @@ public interface WinError { // The window does not have scroll bars. // int ERROR_NO_SCROLLBARS = 1447; + // // MessageId: ERROR_INVALID_SCROLLBAR_RANGE // @@ -7185,6 +8062,7 @@ public interface WinError { // Scroll bar range cannot be greater than MAXLONG. // int ERROR_INVALID_SCROLLBAR_RANGE = 1448; + // // MessageId: ERROR_INVALID_SHOWWIN_COMMAND // @@ -7193,6 +8071,7 @@ public interface WinError { // Cannot show or remove the window in the way specified. // int ERROR_INVALID_SHOWWIN_COMMAND = 1449; + // // MessageId: ERROR_NO_SYSTEM_RESOURCES // @@ -7201,6 +8080,7 @@ public interface WinError { // Insufficient system resources exist to complete the requested service. // int ERROR_NO_SYSTEM_RESOURCES = 1450; + // // MessageId: ERROR_NONPAGED_SYSTEM_RESOURCES // @@ -7209,6 +8089,7 @@ public interface WinError { // Insufficient system resources exist to complete the requested service. // int ERROR_NONPAGED_SYSTEM_RESOURCES = 1451; + // // MessageId: ERROR_PAGED_SYSTEM_RESOURCES // @@ -7217,6 +8098,7 @@ public interface WinError { // Insufficient system resources exist to complete the requested service. // int ERROR_PAGED_SYSTEM_RESOURCES = 1452; + // // MessageId: ERROR_WORKING_SET_QUOTA // @@ -7225,6 +8107,7 @@ public interface WinError { // Insufficient quota to complete the requested service. // int ERROR_WORKING_SET_QUOTA = 1453; + // // MessageId: ERROR_PAGEFILE_QUOTA // @@ -7233,6 +8116,7 @@ public interface WinError { // Insufficient quota to complete the requested service. // int ERROR_PAGEFILE_QUOTA = 1454; + // // MessageId: ERROR_COMMITMENT_LIMIT // @@ -7241,6 +8125,7 @@ public interface WinError { // The paging file is too small for this operation to complete. // int ERROR_COMMITMENT_LIMIT = 1455; + // // MessageId: ERROR_MENU_ITEM_NOT_FOUND // @@ -7249,6 +8134,7 @@ public interface WinError { // A menu item was not found. // int ERROR_MENU_ITEM_NOT_FOUND = 1456; + // // MessageId: ERROR_INVALID_KEYBOARD_HANDLE // @@ -7257,6 +8143,7 @@ public interface WinError { // Invalid keyboard layout handle. // int ERROR_INVALID_KEYBOARD_HANDLE = 1457; + // // MessageId: ERROR_HOOK_TYPE_NOT_ALLOWED // @@ -7265,6 +8152,7 @@ public interface WinError { // Hook type not allowed. // int ERROR_HOOK_TYPE_NOT_ALLOWED = 1458; + // // MessageId: ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION // @@ -7273,6 +8161,7 @@ public interface WinError { // This operation requires an interactive window station. // int ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459; + // // MessageId: ERROR_TIMEOUT // @@ -7281,6 +8170,7 @@ public interface WinError { // This operation returned because the timeout period expired. // int ERROR_TIMEOUT = 1460; + // // MessageId: ERROR_INVALID_MONITOR_HANDLE // @@ -7289,6 +8179,7 @@ public interface WinError { // Invalid monitor handle. // int ERROR_INVALID_MONITOR_HANDLE = 1461; + // // MessageId: ERROR_INCORRECT_SIZE // @@ -7297,6 +8188,7 @@ public interface WinError { // Incorrect size argument. // int ERROR_INCORRECT_SIZE = 1462; + // // MessageId: ERROR_SYMLINK_CLASS_DISABLED // @@ -7305,6 +8197,7 @@ public interface WinError { // The symbolic link cannot be followed because its type is disabled. // int ERROR_SYMLINK_CLASS_DISABLED = 1463; + // // MessageId: ERROR_SYMLINK_NOT_SUPPORTED // @@ -7314,6 +8207,7 @@ public interface WinError { // links. // int ERROR_SYMLINK_NOT_SUPPORTED = 1464; + // // MessageId: ERROR_XML_PARSE_ERROR // @@ -7322,6 +8216,7 @@ public interface WinError { // Windows was unable to parse the requested XML data. // int ERROR_XML_PARSE_ERROR = 1465; + // // MessageId: ERROR_XMLDSIG_ERROR // @@ -7330,6 +8225,7 @@ public interface WinError { // An error was encountered while processing an XML digital signature. // int ERROR_XMLDSIG_ERROR = 1466; + // // MessageId: ERROR_RESTART_APPLICATION // @@ -7338,6 +8234,7 @@ public interface WinError { // This application must be restarted. // int ERROR_RESTART_APPLICATION = 1467; + // // MessageId: ERROR_WRONG_COMPARTMENT // @@ -7346,6 +8243,7 @@ public interface WinError { // The caller made the connection request in the wrong routing compartment. // int ERROR_WRONG_COMPARTMENT = 1468; + // // MessageId: ERROR_AUTHIP_FAILURE // @@ -7355,6 +8253,7 @@ public interface WinError { // host. // int ERROR_AUTHIP_FAILURE = 1469; + // ///////////////////////////////////////////////// // =// // =EventLog Error codes=// @@ -7369,6 +8268,7 @@ public interface WinError { // The event log file is corrupted. // int ERROR_EVENTLOG_FILE_CORRUPT = 1500; + // // MessageId: ERROR_EVENTLOG_CANT_START // @@ -7378,6 +8278,7 @@ public interface WinError { // start. // int ERROR_EVENTLOG_CANT_START = 1501; + // // MessageId: ERROR_LOG_FILE_FULL // @@ -7386,6 +8287,7 @@ public interface WinError { // The event log file is full. // int ERROR_LOG_FILE_FULL = 1502; + // // MessageId: ERROR_EVENTLOG_FILE_CHANGED // @@ -7394,6 +8296,7 @@ public interface WinError { // The event log file has changed between read operations. // int ERROR_EVENTLOG_FILE_CHANGED = 1503; + // ///////////////////////////////////////////////// // =// // =Class Scheduler Error codes=// @@ -7408,6 +8311,7 @@ public interface WinError { // The specified task name is invalid. // int ERROR_INVALID_TASK_NAME = 1550; + // // MessageId: ERROR_INVALID_TASK_INDEX // @@ -7416,6 +8320,7 @@ public interface WinError { // The specified task index is invalid. // int ERROR_INVALID_TASK_INDEX = 1551; + // // MessageId: ERROR_THREAD_ALREADY_IN_TASK // @@ -7424,6 +8329,7 @@ public interface WinError { // The specified thread is already joining a task. // int ERROR_THREAD_ALREADY_IN_TASK = 1552; + // ///////////////////////////////////////////////// // =// // =MSI Error codes=// @@ -7440,6 +8346,7 @@ public interface WinError { // personnel for assistance. // int ERROR_INSTALL_SERVICE_FAILURE = 1601; + // // MessageId: ERROR_INSTALL_USEREXIT // @@ -7448,6 +8355,7 @@ public interface WinError { // User cancelled installation. // int ERROR_INSTALL_USEREXIT = 1602; + // // MessageId: ERROR_INSTALL_FAILURE // @@ -7456,6 +8364,7 @@ public interface WinError { // Fatal error during installation. // int ERROR_INSTALL_FAILURE = 1603; + // // MessageId: ERROR_INSTALL_SUSPEND // @@ -7464,6 +8373,7 @@ public interface WinError { // Installation suspended, incomplete. // int ERROR_INSTALL_SUSPEND = 1604; + // // MessageId: ERROR_UNKNOWN_PRODUCT // @@ -7472,6 +8382,7 @@ public interface WinError { // This action is only valid for products that are currently installed. // int ERROR_UNKNOWN_PRODUCT = 1605; + // // MessageId: ERROR_UNKNOWN_FEATURE // @@ -7480,6 +8391,7 @@ public interface WinError { // Feature ID not registered. // int ERROR_UNKNOWN_FEATURE = 1606; + // // MessageId: ERROR_UNKNOWN_COMPONENT // @@ -7488,6 +8400,7 @@ public interface WinError { // Component ID not registered. // int ERROR_UNKNOWN_COMPONENT = 1607; + // // MessageId: ERROR_UNKNOWN_PROPERTY // @@ -7496,6 +8409,7 @@ public interface WinError { // Unknown property. // int ERROR_UNKNOWN_PROPERTY = 1608; + // // MessageId: ERROR_INVALID_HANDLE_STATE // @@ -7504,6 +8418,7 @@ public interface WinError { // Handle is in an invalid state. // int ERROR_INVALID_HANDLE_STATE = 1609; + // // MessageId: ERROR_BAD_CONFIGURATION // @@ -7513,6 +8428,7 @@ public interface WinError { // personnel. // int ERROR_BAD_CONFIGURATION = 1610; + // // MessageId: ERROR_INDEX_ABSENT // @@ -7521,6 +8437,7 @@ public interface WinError { // Component qualifier not present. // int ERROR_INDEX_ABSENT = 1611; + // // MessageId: ERROR_INSTALL_SOURCE_ABSENT // @@ -7530,6 +8447,7 @@ public interface WinError { // the source exists and that you can access it. // int ERROR_INSTALL_SOURCE_ABSENT = 1612; + // // MessageId: ERROR_INSTALL_PACKAGE_VERSION // @@ -7540,6 +8458,7 @@ public interface WinError { // version of the Windows Installer service. // int ERROR_INSTALL_PACKAGE_VERSION = 1613; + // // MessageId: ERROR_PRODUCT_UNINSTALLED // @@ -7548,6 +8467,7 @@ public interface WinError { // Product is uninstalled. // int ERROR_PRODUCT_UNINSTALLED = 1614; + // // MessageId: ERROR_BAD_QUERY_SYNTAX // @@ -7556,6 +8476,7 @@ public interface WinError { // SQL query syntax invalid or unsupported. // int ERROR_BAD_QUERY_SYNTAX = 1615; + // // MessageId: ERROR_INVALID_FIELD // @@ -7564,6 +8485,7 @@ public interface WinError { // Record field does not exist. // int ERROR_INVALID_FIELD = 1616; + // // MessageId: ERROR_DEVICE_REMOVED // @@ -7572,6 +8494,7 @@ public interface WinError { // The device has been removed. // int ERROR_DEVICE_REMOVED = 1617; + // // MessageId: ERROR_INSTALL_ALREADY_RUNNING // @@ -7581,6 +8504,7 @@ public interface WinError { // before proceeding with this install. // int ERROR_INSTALL_ALREADY_RUNNING = 1618; + // // MessageId: ERROR_INSTALL_PACKAGE_OPEN_FAILED // @@ -7591,6 +8515,7 @@ public interface WinError { // verify that this is a valid Windows Installer package. // int ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619; + // // MessageId: ERROR_INSTALL_PACKAGE_INVALID // @@ -7600,6 +8525,7 @@ public interface WinError { // vendor to verify that this is a valid Windows Installer package. // int ERROR_INSTALL_PACKAGE_INVALID = 1620; + // // MessageId: ERROR_INSTALL_UI_FAILURE // @@ -7609,6 +8535,7 @@ public interface WinError { // Contact your support personnel. // int ERROR_INSTALL_UI_FAILURE = 1621; + // // MessageId: ERROR_INSTALL_LOG_FAILURE // @@ -7618,6 +8545,7 @@ public interface WinError { // location exists and that you can write to it. // int ERROR_INSTALL_LOG_FAILURE = 1622; + // // MessageId: ERROR_INSTALL_LANGUAGE_UNSUPPORTED // @@ -7627,6 +8555,7 @@ public interface WinError { // system. // int ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623; + // // MessageId: ERROR_INSTALL_TRANSFORM_FAILURE // @@ -7636,6 +8565,7 @@ public interface WinError { // valid. // int ERROR_INSTALL_TRANSFORM_FAILURE = 1624; + // // MessageId: ERROR_INSTALL_PACKAGE_REJECTED // @@ -7645,6 +8575,7 @@ public interface WinError { // administrator. // int ERROR_INSTALL_PACKAGE_REJECTED = 1625; + // // MessageId: ERROR_FUNCTION_NOT_CALLED // @@ -7653,6 +8584,7 @@ public interface WinError { // Function could not be executed. // int ERROR_FUNCTION_NOT_CALLED = 1626; + // // MessageId: ERROR_FUNCTION_FAILED // @@ -7661,6 +8593,7 @@ public interface WinError { // Function failed during execution. // int ERROR_FUNCTION_FAILED = 1627; + // // MessageId: ERROR_INVALID_TABLE // @@ -7669,6 +8602,7 @@ public interface WinError { // Invalid or unknown table specified. // int ERROR_INVALID_TABLE = 1628; + // // MessageId: ERROR_DATATYPE_MISMATCH // @@ -7677,6 +8611,7 @@ public interface WinError { // Data supplied is of wrong type. // int ERROR_DATATYPE_MISMATCH = 1629; + // // MessageId: ERROR_UNSUPPORTED_TYPE // @@ -7685,6 +8620,7 @@ public interface WinError { // Data of this type is not supported. // int ERROR_UNSUPPORTED_TYPE = 1630; + // // MessageId: ERROR_CREATE_FAILED // @@ -7694,6 +8630,7 @@ public interface WinError { // personnel. // int ERROR_CREATE_FAILED = 1631; + // // MessageId: ERROR_INSTALL_TEMP_UNWRITABLE // @@ -7704,6 +8641,7 @@ public interface WinError { // folder. // int ERROR_INSTALL_TEMP_UNWRITABLE = 1632; + // // MessageId: ERROR_INSTALL_PLATFORM_UNSUPPORTED // @@ -7713,6 +8651,7 @@ public interface WinError { // Contact your product vendor. // int ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633; + // // MessageId: ERROR_INSTALL_NOTUSED // @@ -7721,6 +8660,7 @@ public interface WinError { // Component not used on this computer. // int ERROR_INSTALL_NOTUSED = 1634; + // // MessageId: ERROR_PATCH_PACKAGE_OPEN_FAILED // @@ -7731,6 +8671,7 @@ public interface WinError { // verify that this is a valid Windows Installer update package. // int ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635; + // // MessageId: ERROR_PATCH_PACKAGE_INVALID // @@ -7740,6 +8681,7 @@ public interface WinError { // to verify that this is a valid Windows Installer update package. // int ERROR_PATCH_PACKAGE_INVALID = 1636; + // // MessageId: ERROR_PATCH_PACKAGE_UNSUPPORTED // @@ -7750,6 +8692,7 @@ public interface WinError { // the Windows Installer service. // int ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637; + // // MessageId: ERROR_PRODUCT_VERSION // @@ -7760,6 +8703,7 @@ public interface WinError { // of this product, use Add/Remove Programs on the Control Panel. // int ERROR_PRODUCT_VERSION = 1638; + // // MessageId: ERROR_INVALID_COMMAND_LINE // @@ -7769,6 +8713,7 @@ public interface WinError { // detailed command line help. // int ERROR_INVALID_COMMAND_LINE = 1639; + // // MessageId: ERROR_INSTALL_REMOTE_DISALLOWED // @@ -7780,6 +8725,7 @@ public interface WinError { // administrator. // int ERROR_INSTALL_REMOTE_DISALLOWED = 1640; + // // MessageId: ERROR_SUCCESS_REBOOT_INITIATED // @@ -7789,6 +8735,7 @@ public interface WinError { // restarted so the changes can take effect. // int ERROR_SUCCESS_REBOOT_INITIATED = 1641; + // // MessageId: ERROR_PATCH_TARGET_NOT_FOUND // @@ -7800,6 +8747,7 @@ public interface WinError { // exists on your computer and that you have the correct upgrade. // int ERROR_PATCH_TARGET_NOT_FOUND = 1642; + // // MessageId: ERROR_PATCH_PACKAGE_REJECTED // @@ -7808,6 +8756,7 @@ public interface WinError { // The update package is not permitted by software restriction policy. // int ERROR_PATCH_PACKAGE_REJECTED = 1643; + // // MessageId: ERROR_INSTALL_TRANSFORM_REJECTED // @@ -7817,6 +8766,7 @@ public interface WinError { // policy. // int ERROR_INSTALL_TRANSFORM_REJECTED = 1644; + // // MessageId: ERROR_INSTALL_REMOTE_PROHIBITED // @@ -7826,6 +8776,7 @@ public interface WinError { // Connection. // int ERROR_INSTALL_REMOTE_PROHIBITED = 1645; + // // MessageId: ERROR_PATCH_REMOVAL_UNSUPPORTED // @@ -7834,6 +8785,7 @@ public interface WinError { // Uninstallation of the update package is not supported. // int ERROR_PATCH_REMOVAL_UNSUPPORTED = 1646; + // // MessageId: ERROR_UNKNOWN_PATCH // @@ -7842,6 +8794,7 @@ public interface WinError { // The update is not applied to this product. // int ERROR_UNKNOWN_PATCH = 1647; + // // MessageId: ERROR_PATCH_NO_SEQUENCE // @@ -7850,6 +8803,7 @@ public interface WinError { // No valid sequence could be found for the set of updates. // int ERROR_PATCH_NO_SEQUENCE = 1648; + // // MessageId: ERROR_PATCH_REMOVAL_DISALLOWED // @@ -7858,6 +8812,7 @@ public interface WinError { // Update removal was disallowed by policy. // int ERROR_PATCH_REMOVAL_DISALLOWED = 1649; + // // MessageId: ERROR_INVALID_PATCH_XML // @@ -7866,6 +8821,7 @@ public interface WinError { // The XML update data is invalid. // int ERROR_INVALID_PATCH_XML = 1650; + // // MessageId: ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT // @@ -7876,6 +8832,7 @@ public interface WinError { // applying the update. // int ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT = 1651; + // // MessageId: ERROR_INSTALL_SERVICE_SAFEBOOT // @@ -7886,6 +8843,7 @@ public interface WinError { // Restore to return your machine to a previous good state. // int ERROR_INSTALL_SERVICE_SAFEBOOT = 1652; + // ///////////////////////////////////////////////// // =// // =RPC Error codes=// @@ -7900,6 +8858,7 @@ public interface WinError { // The string binding is invalid. // int RPC_S_INVALID_STRING_BINDING = 1700; + // // MessageId: RPC_S_WRONG_KIND_OF_BINDING // @@ -7908,6 +8867,7 @@ public interface WinError { // The binding handle is not the correct type. // int RPC_S_WRONG_KIND_OF_BINDING = 1701; + // // MessageId: RPC_S_INVALID_BINDING // @@ -7916,6 +8876,7 @@ public interface WinError { // The binding handle is invalid. // int RPC_S_INVALID_BINDING = 1702; + // // MessageId: RPC_S_PROTSEQ_NOT_SUPPORTED // @@ -7924,6 +8885,7 @@ public interface WinError { // The RPC protocol sequence is not supported. // int RPC_S_PROTSEQ_NOT_SUPPORTED = 1703; + // // MessageId: RPC_S_INVALID_RPC_PROTSEQ // @@ -7932,6 +8894,7 @@ public interface WinError { // The RPC protocol sequence is invalid. // int RPC_S_INVALID_RPC_PROTSEQ = 1704; + // // MessageId: RPC_S_INVALID_STRING_UUID // @@ -7940,6 +8903,7 @@ public interface WinError { // The string universal unique identifier (UUID) is invalid. // int RPC_S_INVALID_STRING_UUID = 1705; + // // MessageId: RPC_S_INVALID_ENDPOINT_FORMAT // @@ -7948,6 +8912,7 @@ public interface WinError { // The endpoint format is invalid. // int RPC_S_INVALID_ENDPOINT_FORMAT = 1706; + // // MessageId: RPC_S_INVALID_NET_ADDR // @@ -7956,6 +8921,7 @@ public interface WinError { // The network address is invalid. // int RPC_S_INVALID_NET_ADDR = 1707; + // // MessageId: RPC_S_NO_ENDPOINT_FOUND // @@ -7964,6 +8930,7 @@ public interface WinError { // No endpoint was found. // int RPC_S_NO_ENDPOINT_FOUND = 1708; + // // MessageId: RPC_S_INVALID_TIMEOUT // @@ -7972,6 +8939,7 @@ public interface WinError { // The timeout value is invalid. // int RPC_S_INVALID_TIMEOUT = 1709; + // // MessageId: RPC_S_OBJECT_NOT_FOUND // @@ -7980,6 +8948,7 @@ public interface WinError { // The object universal unique identifier (UUID) was not found. // int RPC_S_OBJECT_NOT_FOUND = 1710; + // // MessageId: RPC_S_ALREADY_REGISTERED // @@ -7989,6 +8958,7 @@ public interface WinError { // registered. // int RPC_S_ALREADY_REGISTERED = 1711; + // // MessageId: RPC_S_TYPE_ALREADY_REGISTERED // @@ -7997,6 +8967,7 @@ public interface WinError { // The type universal unique identifier (UUID) has already been registered. // int RPC_S_TYPE_ALREADY_REGISTERED = 1712; + // // MessageId: RPC_S_ALREADY_LISTENING // @@ -8005,6 +8976,7 @@ public interface WinError { // The RPC server is already listening. // int RPC_S_ALREADY_LISTENING = 1713; + // // MessageId: RPC_S_NO_PROTSEQS_REGISTERED // @@ -8013,6 +8985,7 @@ public interface WinError { // No protocol sequences have been registered. // int RPC_S_NO_PROTSEQS_REGISTERED = 1714; + // // MessageId: RPC_S_NOT_LISTENING // @@ -8021,6 +8994,7 @@ public interface WinError { // The RPC server is not listening. // int RPC_S_NOT_LISTENING = 1715; + // // MessageId: RPC_S_UNKNOWN_MGR_TYPE // @@ -8029,6 +9003,7 @@ public interface WinError { // The manager type is unknown. // int RPC_S_UNKNOWN_MGR_TYPE = 1716; + // // MessageId: RPC_S_UNKNOWN_IF // @@ -8037,6 +9012,7 @@ public interface WinError { // The interface is unknown. // int RPC_S_UNKNOWN_IF = 1717; + // // MessageId: RPC_S_NO_BINDINGS // @@ -8045,6 +9021,7 @@ public interface WinError { // There are no bindings. // int RPC_S_NO_BINDINGS = 1718; + // // MessageId: RPC_S_NO_PROTSEQS // @@ -8053,6 +9030,7 @@ public interface WinError { // There are no protocol sequences. // int RPC_S_NO_PROTSEQS = 1719; + // // MessageId: RPC_S_CANT_CREATE_ENDPOINT // @@ -8061,6 +9039,7 @@ public interface WinError { // The endpoint cannot be created. // int RPC_S_CANT_CREATE_ENDPOINT = 1720; + // // MessageId: RPC_S_OUT_OF_RESOURCES // @@ -8069,6 +9048,7 @@ public interface WinError { // Not enough resources are available to complete this operation. // int RPC_S_OUT_OF_RESOURCES = 1721; + // // MessageId: RPC_S_SERVER_UNAVAILABLE // @@ -8077,6 +9057,7 @@ public interface WinError { // The RPC server is unavailable. // int RPC_S_SERVER_UNAVAILABLE = 1722; + // // MessageId: RPC_S_SERVER_TOO_BUSY // @@ -8085,6 +9066,7 @@ public interface WinError { // The RPC server is too busy to complete this operation. // int RPC_S_SERVER_TOO_BUSY = 1723; + // // MessageId: RPC_S_INVALID_NETWORK_OPTIONS // @@ -8093,6 +9075,7 @@ public interface WinError { // The network options are invalid. // int RPC_S_INVALID_NETWORK_OPTIONS = 1724; + // // MessageId: RPC_S_NO_CALL_ACTIVE // @@ -8101,6 +9084,7 @@ public interface WinError { // There are no remote procedure calls active on this thread. // int RPC_S_NO_CALL_ACTIVE = 1725; + // // MessageId: RPC_S_CALL_FAILED // @@ -8109,6 +9093,7 @@ public interface WinError { // The remote procedure call failed. // int RPC_S_CALL_FAILED = 1726; + // // MessageId: RPC_S_CALL_FAILED_DNE // @@ -8117,6 +9102,7 @@ public interface WinError { // The remote procedure call failed and did not execute. // int RPC_S_CALL_FAILED_DNE = 1727; + // // MessageId: RPC_S_PROTOCOL_ERROR // @@ -8125,6 +9111,7 @@ public interface WinError { // A remote procedure call (RPC) protocol error occurred. // int RPC_S_PROTOCOL_ERROR = 1728; + // // MessageId: RPC_S_PROXY_ACCESS_DENIED // @@ -8133,6 +9120,7 @@ public interface WinError { // Access to the HTTP proxy is denied. // int RPC_S_PROXY_ACCESS_DENIED = 1729; + // // MessageId: RPC_S_UNSUPPORTED_TRANS_SYN // @@ -8141,6 +9129,7 @@ public interface WinError { // The transfer syntax is not supported by the RPC server. // int RPC_S_UNSUPPORTED_TRANS_SYN = 1730; + // // MessageId: RPC_S_UNSUPPORTED_TYPE // @@ -8149,6 +9138,7 @@ public interface WinError { // The universal unique identifier (UUID) type is not supported. // int RPC_S_UNSUPPORTED_TYPE = 1732; + // // MessageId: RPC_S_INVALID_TAG // @@ -8157,6 +9147,7 @@ public interface WinError { // The tag is invalid. // int RPC_S_INVALID_TAG = 1733; + // // MessageId: RPC_S_INVALID_BOUND // @@ -8165,6 +9156,7 @@ public interface WinError { // The array bounds are invalid. // int RPC_S_INVALID_BOUND = 1734; + // // MessageId: RPC_S_NO_ENTRY_NAME // @@ -8173,6 +9165,7 @@ public interface WinError { // The binding does not contain an entry name. // int RPC_S_NO_ENTRY_NAME = 1735; + // // MessageId: RPC_S_INVALID_NAME_SYNTAX // @@ -8181,6 +9174,7 @@ public interface WinError { // The name syntax is invalid. // int RPC_S_INVALID_NAME_SYNTAX = 1736; + // // MessageId: RPC_S_UNSUPPORTED_NAME_SYNTAX // @@ -8189,6 +9183,7 @@ public interface WinError { // The name syntax is not supported. // int RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737; + // // MessageId: RPC_S_UUID_NO_ADDRESS // @@ -8198,6 +9193,7 @@ public interface WinError { // identifier (UUID). // int RPC_S_UUID_NO_ADDRESS = 1739; + // // MessageId: RPC_S_DUPLICATE_ENDPOINT // @@ -8206,6 +9202,7 @@ public interface WinError { // The endpoint is a duplicate. // int RPC_S_DUPLICATE_ENDPOINT = 1740; + // // MessageId: RPC_S_UNKNOWN_AUTHN_TYPE // @@ -8214,6 +9211,7 @@ public interface WinError { // The authentication type is unknown. // int RPC_S_UNKNOWN_AUTHN_TYPE = 1741; + // // MessageId: RPC_S_MAX_CALLS_TOO_SMALL // @@ -8222,6 +9220,7 @@ public interface WinError { // The maximum number of calls is too small. // int RPC_S_MAX_CALLS_TOO_SMALL = 1742; + // // MessageId: RPC_S_STRING_TOO_LONG // @@ -8230,6 +9229,7 @@ public interface WinError { // The string is too long. // int RPC_S_STRING_TOO_LONG = 1743; + // // MessageId: RPC_S_PROTSEQ_NOT_FOUND // @@ -8238,6 +9238,7 @@ public interface WinError { // The RPC protocol sequence was not found. // int RPC_S_PROTSEQ_NOT_FOUND = 1744; + // // MessageId: RPC_S_PROCNUM_OUT_OF_RANGE // @@ -8246,6 +9247,7 @@ public interface WinError { // The procedure number is out of range. // int RPC_S_PROCNUM_OUT_OF_RANGE = 1745; + // // MessageId: RPC_S_BINDING_HAS_NO_AUTH // @@ -8254,6 +9256,7 @@ public interface WinError { // The binding does not contain any authentication information. // int RPC_S_BINDING_HAS_NO_AUTH = 1746; + // // MessageId: RPC_S_UNKNOWN_AUTHN_SERVICE // @@ -8262,6 +9265,7 @@ public interface WinError { // The authentication service is unknown. // int RPC_S_UNKNOWN_AUTHN_SERVICE = 1747; + // // MessageId: RPC_S_UNKNOWN_AUTHN_LEVEL // @@ -8270,6 +9274,7 @@ public interface WinError { // The authentication level is unknown. // int RPC_S_UNKNOWN_AUTHN_LEVEL = 1748; + // // MessageId: RPC_S_INVALID_AUTH_IDENTITY // @@ -8278,6 +9283,7 @@ public interface WinError { // The security context is invalid. // int RPC_S_INVALID_AUTH_IDENTITY = 1749; + // // MessageId: RPC_S_UNKNOWN_AUTHZ_SERVICE // @@ -8286,6 +9292,7 @@ public interface WinError { // The authorization service is unknown. // int RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750; + // // MessageId: EPT_S_INVALID_ENTRY // @@ -8294,6 +9301,7 @@ public interface WinError { // The entry is invalid. // int EPT_S_INVALID_ENTRY = 1751; + // // MessageId: EPT_S_CANT_PERFORM_OP // @@ -8302,6 +9310,7 @@ public interface WinError { // The server endpoint cannot perform the operation. // int EPT_S_CANT_PERFORM_OP = 1752; + // // MessageId: EPT_S_NOT_REGISTERED // @@ -8310,6 +9319,7 @@ public interface WinError { // There are no more endpoints available from the endpoint mapper. // int EPT_S_NOT_REGISTERED = 1753; + // // MessageId: RPC_S_NOTHING_TO_EXPORT // @@ -8318,6 +9328,7 @@ public interface WinError { // No interfaces have been exported. // int RPC_S_NOTHING_TO_EXPORT = 1754; + // // MessageId: RPC_S_INCOMPLETE_NAME // @@ -8326,6 +9337,7 @@ public interface WinError { // The entry name is incomplete. // int RPC_S_INCOMPLETE_NAME = 1755; + // // MessageId: RPC_S_INVALID_VERS_OPTION // @@ -8334,6 +9346,7 @@ public interface WinError { // The version option is invalid. // int RPC_S_INVALID_VERS_OPTION = 1756; + // // MessageId: RPC_S_NO_MORE_MEMBERS // @@ -8342,6 +9355,7 @@ public interface WinError { // There are no more members. // int RPC_S_NO_MORE_MEMBERS = 1757; + // // MessageId: RPC_S_NOT_ALL_OBJS_UNEXPORTED // @@ -8350,6 +9364,7 @@ public interface WinError { // There is nothing to unexport. // int RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758; + // // MessageId: RPC_S_INTERFACE_NOT_FOUND // @@ -8358,6 +9373,7 @@ public interface WinError { // The interface was not found. // int RPC_S_INTERFACE_NOT_FOUND = 1759; + // // MessageId: RPC_S_ENTRY_ALREADY_EXISTS // @@ -8366,6 +9382,7 @@ public interface WinError { // The entry already exists. // int RPC_S_ENTRY_ALREADY_EXISTS = 1760; + // // MessageId: RPC_S_ENTRY_NOT_FOUND // @@ -8374,6 +9391,7 @@ public interface WinError { // The entry is not found. // int RPC_S_ENTRY_NOT_FOUND = 1761; + // // MessageId: RPC_S_NAME_SERVICE_UNAVAILABLE // @@ -8382,6 +9400,7 @@ public interface WinError { // The name service is unavailable. // int RPC_S_NAME_SERVICE_UNAVAILABLE = 1762; + // // MessageId: RPC_S_INVALID_NAF_ID // @@ -8390,6 +9409,7 @@ public interface WinError { // The network address family is invalid. // int RPC_S_INVALID_NAF_ID = 1763; + // // MessageId: RPC_S_CANNOT_SUPPORT // @@ -8398,6 +9418,7 @@ public interface WinError { // The requested operation is not supported. // int RPC_S_CANNOT_SUPPORT = 1764; + // // MessageId: RPC_S_NO_CONTEXT_AVAILABLE // @@ -8406,6 +9427,7 @@ public interface WinError { // No security context is available to allow impersonation. // int RPC_S_NO_CONTEXT_AVAILABLE = 1765; + // // MessageId: RPC_S_INTERNAL_ERROR // @@ -8414,6 +9436,7 @@ public interface WinError { // An internal error occurred in a remote procedure call (RPC). // int RPC_S_INTERNAL_ERROR = 1766; + // // MessageId: RPC_S_ZERO_DIVIDE // @@ -8422,6 +9445,7 @@ public interface WinError { // The RPC server attempted an integer division by zero. // int RPC_S_ZERO_DIVIDE = 1767; + // // MessageId: RPC_S_ADDRESS_ERROR // @@ -8430,6 +9454,7 @@ public interface WinError { // An addressing error occurred in the RPC server. // int RPC_S_ADDRESS_ERROR = 1768; + // // MessageId: RPC_S_FP_DIV_ZERO // @@ -8438,6 +9463,7 @@ public interface WinError { // A floating-point operation at the RPC server caused a division by zero. // int RPC_S_FP_DIV_ZERO = 1769; + // // MessageId: RPC_S_FP_UNDERFLOW // @@ -8446,6 +9472,7 @@ public interface WinError { // A floating-point underflow occurred at the RPC server. // int RPC_S_FP_UNDERFLOW = 1770; + // // MessageId: RPC_S_FP_OVERFLOW // @@ -8454,6 +9481,7 @@ public interface WinError { // A floating-point overflow occurred at the RPC server. // int RPC_S_FP_OVERFLOW = 1771; + // // MessageId: RPC_X_NO_MORE_ENTRIES // @@ -8463,6 +9491,7 @@ public interface WinError { // been exhausted. // int RPC_X_NO_MORE_ENTRIES = 1772; + // // MessageId: RPC_X_SS_CHAR_TRANS_OPEN_FAIL // @@ -8471,6 +9500,7 @@ public interface WinError { // Unable to open the character translation table file. // int RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773; + // // MessageId: RPC_X_SS_CHAR_TRANS_SHORT_FILE // @@ -8480,6 +9510,7 @@ public interface WinError { // bytes. // int RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774; + // // MessageId: RPC_X_SS_IN_NULL_CONTEXT // @@ -8489,6 +9520,7 @@ public interface WinError { // remote procedure call. // int RPC_X_SS_IN_NULL_CONTEXT = 1775; + // // MessageId: RPC_X_SS_CONTEXT_DAMAGED // @@ -8497,6 +9529,7 @@ public interface WinError { // The context handle changed during a remote procedure call. // int RPC_X_SS_CONTEXT_DAMAGED = 1777; + // // MessageId: RPC_X_SS_HANDLES_MISMATCH // @@ -8505,6 +9538,7 @@ public interface WinError { // The binding handles passed to a remote procedure call do not match. // int RPC_X_SS_HANDLES_MISMATCH = 1778; + // // MessageId: RPC_X_SS_CANNOT_GET_CALL_HANDLE // @@ -8513,6 +9547,7 @@ public interface WinError { // The stub is unable to get the remote procedure call handle. // int RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779; + // // MessageId: RPC_X_NULL_REF_POINTER // @@ -8521,6 +9556,7 @@ public interface WinError { // A null reference pointer was passed to the stub. // int RPC_X_NULL_REF_POINTER = 1780; + // // MessageId: RPC_X_ENUM_VALUE_OUT_OF_RANGE // @@ -8529,6 +9565,7 @@ public interface WinError { // The enumeration value is out of range. // int RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781; + // // MessageId: RPC_X_BYTE_COUNT_TOO_SMALL // @@ -8537,6 +9574,7 @@ public interface WinError { // The byte count is too small. // int RPC_X_BYTE_COUNT_TOO_SMALL = 1782; + // // MessageId: RPC_X_BAD_STUB_DATA // @@ -8545,6 +9583,7 @@ public interface WinError { // The stub received bad data. // int RPC_X_BAD_STUB_DATA = 1783; + // // MessageId: ERROR_INVALID_USER_BUFFER // @@ -8553,6 +9592,7 @@ public interface WinError { // The supplied user buffer is not valid for the requested operation. // int ERROR_INVALID_USER_BUFFER = 1784; + // // MessageId: ERROR_UNRECOGNIZED_MEDIA // @@ -8561,6 +9601,7 @@ public interface WinError { // The disk media is not recognized. It may not be formatted. // int ERROR_UNRECOGNIZED_MEDIA = 1785; + // // MessageId: ERROR_NO_TRUST_LSA_SECRET // @@ -8569,6 +9610,7 @@ public interface WinError { // The workstation does not have a trust secret. // int ERROR_NO_TRUST_LSA_SECRET = 1786; + // // MessageId: ERROR_NO_TRUST_SAM_ACCOUNT // @@ -8578,6 +9620,7 @@ public interface WinError { // this workstation trust relationship. // int ERROR_NO_TRUST_SAM_ACCOUNT = 1787; + // // MessageId: ERROR_TRUSTED_DOMAIN_FAILURE // @@ -8587,6 +9630,7 @@ public interface WinError { // failed. // int ERROR_TRUSTED_DOMAIN_FAILURE = 1788; + // // MessageId: ERROR_TRUSTED_RELATIONSHIP_FAILURE // @@ -8596,6 +9640,7 @@ public interface WinError { // failed. // int ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789; + // // MessageId: ERROR_TRUST_FAILURE // @@ -8604,6 +9649,7 @@ public interface WinError { // The network logon failed. // int ERROR_TRUST_FAILURE = 1790; + // // MessageId: RPC_S_CALL_IN_PROGRESS // @@ -8612,6 +9658,7 @@ public interface WinError { // A remote procedure call is already in progress for this thread. // int RPC_S_CALL_IN_PROGRESS = 1791; + // // MessageId: ERROR_NETLOGON_NOT_STARTED // @@ -8621,6 +9668,7 @@ public interface WinError { // started. // int ERROR_NETLOGON_NOT_STARTED = 1792; + // // MessageId: ERROR_ACCOUNT_EXPIRED // @@ -8629,6 +9677,7 @@ public interface WinError { // The user's account has expired. // int ERROR_ACCOUNT_EXPIRED = 1793; + // // MessageId: ERROR_REDIRECTOR_HAS_OPEN_HANDLES // @@ -8637,6 +9686,7 @@ public interface WinError { // The redirector is in use and cannot be unloaded. // int ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794; + // // MessageId: ERROR_PRINTER_DRIVER_ALREADY_INSTALLED // @@ -8645,6 +9695,7 @@ public interface WinError { // The specified printer driver is already installed. // int ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795; + // // MessageId: ERROR_UNKNOWN_PORT // @@ -8653,6 +9704,7 @@ public interface WinError { // The specified port is unknown. // int ERROR_UNKNOWN_PORT = 1796; + // // MessageId: ERROR_UNKNOWN_PRINTER_DRIVER // @@ -8661,6 +9713,7 @@ public interface WinError { // The printer driver is unknown. // int ERROR_UNKNOWN_PRINTER_DRIVER = 1797; + // // MessageId: ERROR_UNKNOWN_PRINTPROCESSOR // @@ -8669,6 +9722,7 @@ public interface WinError { // The print processor is unknown. // int ERROR_UNKNOWN_PRINTPROCESSOR = 1798; + // // MessageId: ERROR_INVALID_SEPARATOR_FILE // @@ -8677,6 +9731,7 @@ public interface WinError { // The specified separator file is invalid. // int ERROR_INVALID_SEPARATOR_FILE = 1799; + // // MessageId: ERROR_INVALID_PRIORITY // @@ -8685,6 +9740,7 @@ public interface WinError { // The specified priority is invalid. // int ERROR_INVALID_PRIORITY = 1800; + // // MessageId: ERROR_INVALID_PRINTER_NAME // @@ -8693,6 +9749,7 @@ public interface WinError { // The printer name is invalid. // int ERROR_INVALID_PRINTER_NAME = 1801; + // // MessageId: ERROR_PRINTER_ALREADY_EXISTS // @@ -8701,6 +9758,7 @@ public interface WinError { // The printer already exists. // int ERROR_PRINTER_ALREADY_EXISTS = 1802; + // // MessageId: ERROR_INVALID_PRINTER_COMMAND // @@ -8709,6 +9767,7 @@ public interface WinError { // The printer command is invalid. // int ERROR_INVALID_PRINTER_COMMAND = 1803; + // // MessageId: ERROR_INVALID_DATATYPE // @@ -8717,6 +9776,7 @@ public interface WinError { // The specified datatype is invalid. // int ERROR_INVALID_DATATYPE = 1804; + // // MessageId: ERROR_INVALID_ENVIRONMENT // @@ -8725,6 +9785,7 @@ public interface WinError { // The environment specified is invalid. // int ERROR_INVALID_ENVIRONMENT = 1805; + // // MessageId: RPC_S_NO_MORE_BINDINGS // @@ -8733,6 +9794,7 @@ public interface WinError { // There are no more bindings. // int RPC_S_NO_MORE_BINDINGS = 1806; + // // MessageId: ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT // @@ -8742,6 +9804,7 @@ public interface WinError { // account or local user account to access this server. // int ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807; + // // MessageId: ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT // @@ -8751,6 +9814,7 @@ public interface WinError { // local user account to access this server. // int ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808; + // // MessageId: ERROR_NOLOGON_SERVER_TRUST_ACCOUNT // @@ -8760,6 +9824,7 @@ public interface WinError { // or local user account to access this server. // int ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809; + // // MessageId: ERROR_DOMAIN_TRUST_INCONSISTENT // @@ -8769,6 +9834,7 @@ public interface WinError { // with the trust information for that domain. // int ERROR_DOMAIN_TRUST_INCONSISTENT = 1810; + // // MessageId: ERROR_SERVER_HAS_OPEN_HANDLES // @@ -8777,6 +9843,7 @@ public interface WinError { // The server is in use and cannot be unloaded. // int ERROR_SERVER_HAS_OPEN_HANDLES = 1811; + // // MessageId: ERROR_RESOURCE_DATA_NOT_FOUND // @@ -8785,6 +9852,7 @@ public interface WinError { // The specified image file did not contain a resource section. // int ERROR_RESOURCE_DATA_NOT_FOUND = 1812; + // // MessageId: ERROR_RESOURCE_TYPE_NOT_FOUND // @@ -8793,6 +9861,7 @@ public interface WinError { // The specified resource type cannot be found in the image file. // int ERROR_RESOURCE_TYPE_NOT_FOUND = 1813; + // // MessageId: ERROR_RESOURCE_NAME_NOT_FOUND // @@ -8801,6 +9870,7 @@ public interface WinError { // The specified resource name cannot be found in the image file. // int ERROR_RESOURCE_NAME_NOT_FOUND = 1814; + // // MessageId: ERROR_RESOURCE_LANG_NOT_FOUND // @@ -8809,6 +9879,7 @@ public interface WinError { // The specified resource language ID cannot be found in the image file. // int ERROR_RESOURCE_LANG_NOT_FOUND = 1815; + // // MessageId: ERROR_NOT_ENOUGH_QUOTA // @@ -8817,6 +9888,7 @@ public interface WinError { // Not enough quota is available to process this command. // int ERROR_NOT_ENOUGH_QUOTA = 1816; + // // MessageId: RPC_S_NO_INTERFACES // @@ -8825,6 +9897,7 @@ public interface WinError { // No interfaces have been registered. // int RPC_S_NO_INTERFACES = 1817; + // // MessageId: RPC_S_CALL_CANCELLED // @@ -8833,6 +9906,7 @@ public interface WinError { // The remote procedure call was cancelled. // int RPC_S_CALL_CANCELLED = 1818; + // // MessageId: RPC_S_BINDING_INCOMPLETE // @@ -8841,6 +9915,7 @@ public interface WinError { // The binding handle does not contain all required information. // int RPC_S_BINDING_INCOMPLETE = 1819; + // // MessageId: RPC_S_COMM_FAILURE // @@ -8849,6 +9924,7 @@ public interface WinError { // A communications failure occurred during a remote procedure call. // int RPC_S_COMM_FAILURE = 1820; + // // MessageId: RPC_S_UNSUPPORTED_AUTHN_LEVEL // @@ -8857,6 +9933,7 @@ public interface WinError { // The requested authentication level is not supported. // int RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821; + // // MessageId: RPC_S_NO_PRINC_NAME // @@ -8865,6 +9942,7 @@ public interface WinError { // No principal name registered. // int RPC_S_NO_PRINC_NAME = 1822; + // // MessageId: RPC_S_NOT_RPC_ERROR // @@ -8873,6 +9951,7 @@ public interface WinError { // The error specified is not a valid Windows RPC error code. // int RPC_S_NOT_RPC_ERROR = 1823; + // // MessageId: RPC_S_UUID_LOCAL_ONLY // @@ -8881,6 +9960,7 @@ public interface WinError { // A UUID that is valid only on this computer has been allocated. // int RPC_S_UUID_LOCAL_ONLY = 1824; + // // MessageId: RPC_S_SEC_PKG_ERROR // @@ -8889,6 +9969,7 @@ public interface WinError { // A security package specific error occurred. // int RPC_S_SEC_PKG_ERROR = 1825; + // // MessageId: RPC_S_NOT_CANCELLED // @@ -8897,6 +9978,7 @@ public interface WinError { // Thread is not canceled. // int RPC_S_NOT_CANCELLED = 1826; + // // MessageId: RPC_X_INVALID_ES_ACTION // @@ -8905,6 +9987,7 @@ public interface WinError { // Invalid operation on the encoding/decoding handle. // int RPC_X_INVALID_ES_ACTION = 1827; + // // MessageId: RPC_X_WRONG_ES_VERSION // @@ -8913,6 +9996,7 @@ public interface WinError { // Incompatible version of the serializing package. // int RPC_X_WRONG_ES_VERSION = 1828; + // // MessageId: RPC_X_WRONG_STUB_VERSION // @@ -8921,6 +10005,7 @@ public interface WinError { // Incompatible version of the RPC stub. // int RPC_X_WRONG_STUB_VERSION = 1829; + // // MessageId: RPC_X_INVALID_PIPE_OBJECT // @@ -8929,6 +10014,7 @@ public interface WinError { // The RPC pipe object is invalid or corrupted. // int RPC_X_INVALID_PIPE_OBJECT = 1830; + // // MessageId: RPC_X_WRONG_PIPE_ORDER // @@ -8937,6 +10023,7 @@ public interface WinError { // An invalid operation was attempted on an RPC pipe object. // int RPC_X_WRONG_PIPE_ORDER = 1831; + // // MessageId: RPC_X_WRONG_PIPE_VERSION // @@ -8945,6 +10032,7 @@ public interface WinError { // Unsupported RPC pipe version. // int RPC_X_WRONG_PIPE_VERSION = 1832; + // // MessageId: RPC_S_GROUP_MEMBER_NOT_FOUND // @@ -8953,6 +10041,7 @@ public interface WinError { // The group member was not found. // int RPC_S_GROUP_MEMBER_NOT_FOUND = 1898; + // // MessageId: EPT_S_CANT_CREATE // @@ -8961,6 +10050,7 @@ public interface WinError { // The endpoint mapper database entry could not be created. // int EPT_S_CANT_CREATE = 1899; + // // MessageId: RPC_S_INVALID_OBJECT // @@ -8969,6 +10059,7 @@ public interface WinError { // The object universal unique identifier (UUID) is the nil UUID. // int RPC_S_INVALID_OBJECT = 1900; + // // MessageId: ERROR_INVALID_TIME // @@ -8977,6 +10068,7 @@ public interface WinError { // The specified time is invalid. // int ERROR_INVALID_TIME = 1901; + // // MessageId: ERROR_INVALID_FORM_NAME // @@ -8985,6 +10077,7 @@ public interface WinError { // The specified form name is invalid. // int ERROR_INVALID_FORM_NAME = 1902; + // // MessageId: ERROR_INVALID_FORM_SIZE // @@ -8993,6 +10086,7 @@ public interface WinError { // The specified form size is invalid. // int ERROR_INVALID_FORM_SIZE = 1903; + // // MessageId: ERROR_ALREADY_WAITING // @@ -9001,6 +10095,7 @@ public interface WinError { // The specified printer handle is already being waited on // int ERROR_ALREADY_WAITING = 1904; + // // MessageId: ERROR_PRINTER_DELETED // @@ -9009,6 +10104,7 @@ public interface WinError { // The specified printer has been deleted. // int ERROR_PRINTER_DELETED = 1905; + // // MessageId: ERROR_INVALID_PRINTER_STATE // @@ -9017,6 +10113,7 @@ public interface WinError { // The state of the printer is invalid. // int ERROR_INVALID_PRINTER_STATE = 1906; + // // MessageId: ERROR_PASSWORD_MUST_CHANGE // @@ -9025,6 +10122,7 @@ public interface WinError { // The user's password must be changed before logging on the first time. // int ERROR_PASSWORD_MUST_CHANGE = 1907; + // // MessageId: ERROR_DOMAIN_CONTROLLER_NOT_FOUND // @@ -9033,6 +10131,7 @@ public interface WinError { // Could not find the domain controller for this domain. // int ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908; + // // MessageId: ERROR_ACCOUNT_LOCKED_OUT // @@ -9042,6 +10141,7 @@ public interface WinError { // to. // int ERROR_ACCOUNT_LOCKED_OUT = 1909; + // // MessageId: OR_INVALID_OXID // @@ -9050,6 +10150,7 @@ public interface WinError { // The object exporter specified was not found. // int OR_INVALID_OXID = 1910; + // // MessageId: OR_INVALID_OID // @@ -9058,6 +10159,7 @@ public interface WinError { // The object specified was not found. // int OR_INVALID_OID = 1911; + // // MessageId: OR_INVALID_SET // @@ -9066,6 +10168,7 @@ public interface WinError { // The object resolver set specified was not found. // int OR_INVALID_SET = 1912; + // // MessageId: RPC_S_SEND_INCOMPLETE // @@ -9074,6 +10177,7 @@ public interface WinError { // Some data remains to be sent in the request buffer. // int RPC_S_SEND_INCOMPLETE = 1913; + // // MessageId: RPC_S_INVALID_ASYNC_HANDLE // @@ -9082,6 +10186,7 @@ public interface WinError { // Invalid asynchronous remote procedure call handle. // int RPC_S_INVALID_ASYNC_HANDLE = 1914; + // // MessageId: RPC_S_INVALID_ASYNC_CALL // @@ -9090,6 +10195,7 @@ public interface WinError { // Invalid asynchronous RPC call handle for this operation. // int RPC_S_INVALID_ASYNC_CALL = 1915; + // // MessageId: RPC_X_PIPE_CLOSED // @@ -9098,6 +10204,7 @@ public interface WinError { // The RPC pipe object has already been closed. // int RPC_X_PIPE_CLOSED = 1916; + // // MessageId: RPC_X_PIPE_DISCIPLINE_ERROR // @@ -9106,6 +10213,7 @@ public interface WinError { // The RPC call completed before all pipes were processed. // int RPC_X_PIPE_DISCIPLINE_ERROR = 1917; + // // MessageId: RPC_X_PIPE_EMPTY // @@ -9114,6 +10222,7 @@ public interface WinError { // No more data is available from the RPC pipe. // int RPC_X_PIPE_EMPTY = 1918; + // // MessageId: ERROR_NO_SITENAME // @@ -9122,6 +10231,7 @@ public interface WinError { // No site name is available for this machine. // int ERROR_NO_SITENAME = 1919; + // // MessageId: ERROR_CANT_ACCESS_FILE // @@ -9130,6 +10240,7 @@ public interface WinError { // The file cannot be accessed by the system. // int ERROR_CANT_ACCESS_FILE = 1920; + // // MessageId: ERROR_CANT_RESOLVE_FILENAME // @@ -9138,6 +10249,7 @@ public interface WinError { // The name of the file cannot be resolved by the system. // int ERROR_CANT_RESOLVE_FILENAME = 1921; + // // MessageId: RPC_S_ENTRY_TYPE_MISMATCH // @@ -9146,6 +10258,7 @@ public interface WinError { // The entry is not of the expected type. // int RPC_S_ENTRY_TYPE_MISMATCH = 1922; + // // MessageId: RPC_S_NOT_ALL_OBJS_EXPORTED // @@ -9154,6 +10267,7 @@ public interface WinError { // Not all object UUIDs could be exported to the specified entry. // int RPC_S_NOT_ALL_OBJS_EXPORTED = 1923; + // // MessageId: RPC_S_INTERFACE_NOT_EXPORTED // @@ -9162,6 +10276,7 @@ public interface WinError { // Interface could not be exported to the specified entry. // int RPC_S_INTERFACE_NOT_EXPORTED = 1924; + // // MessageId: RPC_S_PROFILE_NOT_ADDED // @@ -9170,6 +10285,7 @@ public interface WinError { // The specified profile entry could not be added. // int RPC_S_PROFILE_NOT_ADDED = 1925; + // // MessageId: RPC_S_PRF_ELT_NOT_ADDED // @@ -9178,6 +10294,7 @@ public interface WinError { // The specified profile element could not be added. // int RPC_S_PRF_ELT_NOT_ADDED = 1926; + // // MessageId: RPC_S_PRF_ELT_NOT_REMOVED // @@ -9186,6 +10303,7 @@ public interface WinError { // The specified profile element could not be removed. // int RPC_S_PRF_ELT_NOT_REMOVED = 1927; + // // MessageId: RPC_S_GRP_ELT_NOT_ADDED // @@ -9194,6 +10312,7 @@ public interface WinError { // The group element could not be added. // int RPC_S_GRP_ELT_NOT_ADDED = 1928; + // // MessageId: RPC_S_GRP_ELT_NOT_REMOVED // @@ -9202,6 +10321,7 @@ public interface WinError { // The group element could not be removed. // int RPC_S_GRP_ELT_NOT_REMOVED = 1929; + // // MessageId: ERROR_KM_DRIVER_BLOCKED // @@ -9211,6 +10331,7 @@ public interface WinError { // computer that blocks NT=4.0 drivers. // int ERROR_KM_DRIVER_BLOCKED = 1930; + // // MessageId: ERROR_CONTEXT_EXPIRED // @@ -9219,6 +10340,7 @@ public interface WinError { // The context has expired and can no longer be used. // int ERROR_CONTEXT_EXPIRED = 1931; + // // MessageId: ERROR_PER_USER_TRUST_QUOTA_EXCEEDED // @@ -9227,6 +10349,7 @@ public interface WinError { // The current user's delegated trust creation quota has been exceeded. // int ERROR_PER_USER_TRUST_QUOTA_EXCEEDED = 1932; + // // MessageId: ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED // @@ -9235,6 +10358,7 @@ public interface WinError { // The total delegated trust creation quota has been exceeded. // int ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED = 1933; + // // MessageId: ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED // @@ -9243,6 +10367,7 @@ public interface WinError { // The current user's delegated trust deletion quota has been exceeded. // int ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED = 1934; + // // MessageId: ERROR_AUTHENTICATION_FIREWALL_FAILED // @@ -9253,6 +10378,7 @@ public interface WinError { // authenticate to the machine. // int ERROR_AUTHENTICATION_FIREWALL_FAILED = 1935; + // // MessageId: ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED // @@ -9262,6 +10388,7 @@ public interface WinError { // your machine. // int ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED = 1936; + // // MessageId: ERROR_NTLM_BLOCKED // @@ -9271,6 +10398,7 @@ public interface WinError { // disabled. // int ERROR_NTLM_BLOCKED = 1937; + // ///////////////////////////////////////////////// // =// // =OpenGL Error codes=// @@ -9285,6 +10413,7 @@ public interface WinError { // The pixel format is invalid. // int ERROR_INVALID_PIXEL_FORMAT = 2000; + // // MessageId: ERROR_BAD_DRIVER // @@ -9293,6 +10422,7 @@ public interface WinError { // The specified driver is invalid. // int ERROR_BAD_DRIVER = 2001; + // // MessageId: ERROR_INVALID_WINDOW_STYLE // @@ -9301,6 +10431,7 @@ public interface WinError { // The window style or class attribute is invalid for this operation. // int ERROR_INVALID_WINDOW_STYLE = 2002; + // // MessageId: ERROR_METAFILE_NOT_SUPPORTED // @@ -9309,6 +10440,7 @@ public interface WinError { // The requested metafile operation is not supported. // int ERROR_METAFILE_NOT_SUPPORTED = 2003; + // // MessageId: ERROR_TRANSFORM_NOT_SUPPORTED // @@ -9317,6 +10449,7 @@ public interface WinError { // The requested transformation operation is not supported. // int ERROR_TRANSFORM_NOT_SUPPORTED = 2004; + // // MessageId: ERROR_CLIPPING_NOT_SUPPORTED // @@ -9325,6 +10458,7 @@ public interface WinError { // The requested clipping operation is not supported. // int ERROR_CLIPPING_NOT_SUPPORTED = 2005; + // ///////////////////////////////////////////////// // =// // Image Color Management Error codes // @@ -9339,6 +10473,7 @@ public interface WinError { // The specified color management module is invalid. // int ERROR_INVALID_CMM = 2010; + // // MessageId: ERROR_INVALID_PROFILE // @@ -9347,6 +10482,7 @@ public interface WinError { // The specified color profile is invalid. // int ERROR_INVALID_PROFILE = 2011; + // // MessageId: ERROR_TAG_NOT_FOUND // @@ -9355,6 +10491,7 @@ public interface WinError { // The specified tag was not found. // int ERROR_TAG_NOT_FOUND = 2012; + // // MessageId: ERROR_TAG_NOT_PRESENT // @@ -9363,6 +10500,7 @@ public interface WinError { // A required tag is not present. // int ERROR_TAG_NOT_PRESENT = 2013; + // // MessageId: ERROR_DUPLICATE_TAG // @@ -9371,6 +10509,7 @@ public interface WinError { // The specified tag is already present. // int ERROR_DUPLICATE_TAG = 2014; + // // MessageId: ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE // @@ -9379,6 +10518,7 @@ public interface WinError { // The specified color profile is not associated with the specified device. // int ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015; + // // MessageId: ERROR_PROFILE_NOT_FOUND // @@ -9387,6 +10527,7 @@ public interface WinError { // The specified color profile was not found. // int ERROR_PROFILE_NOT_FOUND = 2016; + // // MessageId: ERROR_INVALID_COLORSPACE // @@ -9395,6 +10536,7 @@ public interface WinError { // The specified color space is invalid. // int ERROR_INVALID_COLORSPACE = 2017; + // // MessageId: ERROR_ICM_NOT_ENABLED // @@ -9403,6 +10545,7 @@ public interface WinError { // Image Color Management is not enabled. // int ERROR_ICM_NOT_ENABLED = 2018; + // // MessageId: ERROR_DELETING_ICM_XFORM // @@ -9411,6 +10554,7 @@ public interface WinError { // There was an error while deleting the color transform. // int ERROR_DELETING_ICM_XFORM = 2019; + // // MessageId: ERROR_INVALID_TRANSFORM // @@ -9419,6 +10563,7 @@ public interface WinError { // The specified color transform is invalid. // int ERROR_INVALID_TRANSFORM = 2020; + // // MessageId: ERROR_COLORSPACE_MISMATCH // @@ -9427,6 +10572,7 @@ public interface WinError { // The specified transform does not match the bitmap's color space. // int ERROR_COLORSPACE_MISMATCH = 2021; + // // MessageId: ERROR_INVALID_COLORINDEX // @@ -9435,6 +10581,7 @@ public interface WinError { // The specified named color index is not present in the profile. // int ERROR_INVALID_COLORINDEX = 2022; + // // MessageId: ERROR_PROFILE_DOES_NOT_MATCH_DEVICE // @@ -9444,6 +10591,7 @@ public interface WinError { // the specified device. // int ERROR_PROFILE_DOES_NOT_MATCH_DEVICE = 2023; + // ///////////////////////////////////////////////// // =// // =Winnet32 Error codes=// @@ -9463,6 +10611,7 @@ public interface WinError { // prompted for a password other than the one originally specified. // int ERROR_CONNECTED_OTHER_PASSWORD = 2108; + // // MessageId: ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT // @@ -9471,6 +10620,7 @@ public interface WinError { // The network connection was made successfully using default credentials. // int ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT = 2109; + // // MessageId: ERROR_BAD_USERNAME // @@ -9479,6 +10629,7 @@ public interface WinError { // The specified username is invalid. // int ERROR_BAD_USERNAME = 2202; + // // MessageId: ERROR_NOT_CONNECTED // @@ -9487,6 +10638,7 @@ public interface WinError { // This network connection does not exist. // int ERROR_NOT_CONNECTED = 2250; + // // MessageId: ERROR_OPEN_FILES // @@ -9495,6 +10647,7 @@ public interface WinError { // This network connection has files open or requests pending. // int ERROR_OPEN_FILES = 2401; + // // MessageId: ERROR_ACTIVE_CONNECTIONS // @@ -9503,6 +10656,7 @@ public interface WinError { // Active connections still exist. // int ERROR_ACTIVE_CONNECTIONS = 2402; + // // MessageId: ERROR_DEVICE_IN_USE // @@ -9511,6 +10665,7 @@ public interface WinError { // The device is in use by an active process and cannot be disconnected. // int ERROR_DEVICE_IN_USE = 2404; + // ///////////////////////////////////////////////// // =// // =Win32 Spooler Error codes=// @@ -9525,6 +10680,7 @@ public interface WinError { // The specified print monitor is unknown. // int ERROR_UNKNOWN_PRINT_MONITOR = 3000; + // // MessageId: ERROR_PRINTER_DRIVER_IN_USE // @@ -9533,6 +10689,7 @@ public interface WinError { // The specified printer driver is currently in use. // int ERROR_PRINTER_DRIVER_IN_USE = 3001; + // // MessageId: ERROR_SPOOL_FILE_NOT_FOUND // @@ -9541,6 +10698,7 @@ public interface WinError { // The spool file was not found. // int ERROR_SPOOL_FILE_NOT_FOUND = 3002; + // // MessageId: ERROR_SPL_NO_STARTDOC // @@ -9549,6 +10707,7 @@ public interface WinError { // A StartDocPrinter call was not issued. // int ERROR_SPL_NO_STARTDOC = 3003; + // // MessageId: ERROR_SPL_NO_ADDJOB // @@ -9557,6 +10716,7 @@ public interface WinError { // An AddJob call was not issued. // int ERROR_SPL_NO_ADDJOB = 3004; + // // MessageId: ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED // @@ -9565,6 +10725,7 @@ public interface WinError { // The specified print processor has already been installed. // int ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005; + // // MessageId: ERROR_PRINT_MONITOR_ALREADY_INSTALLED // @@ -9573,6 +10734,7 @@ public interface WinError { // The specified print monitor has already been installed. // int ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006; + // // MessageId: ERROR_INVALID_PRINT_MONITOR // @@ -9581,6 +10743,7 @@ public interface WinError { // The specified print monitor does not have the required functions. // int ERROR_INVALID_PRINT_MONITOR = 3007; + // // MessageId: ERROR_PRINT_MONITOR_IN_USE // @@ -9589,6 +10752,7 @@ public interface WinError { // The specified print monitor is currently in use. // int ERROR_PRINT_MONITOR_IN_USE = 3008; + // // MessageId: ERROR_PRINTER_HAS_JOBS_QUEUED // @@ -9598,6 +10762,7 @@ public interface WinError { // printer. // int ERROR_PRINTER_HAS_JOBS_QUEUED = 3009; + // // MessageId: ERROR_SUCCESS_REBOOT_REQUIRED // @@ -9607,6 +10772,7 @@ public interface WinError { // until the system is rebooted. // int ERROR_SUCCESS_REBOOT_REQUIRED = 3010; + // // MessageId: ERROR_SUCCESS_RESTART_REQUIRED // @@ -9616,6 +10782,7 @@ public interface WinError { // until the service is restarted. // int ERROR_SUCCESS_RESTART_REQUIRED = 3011; + // // MessageId: ERROR_PRINTER_NOT_FOUND // @@ -9624,6 +10791,7 @@ public interface WinError { // No printers were found. // int ERROR_PRINTER_NOT_FOUND = 3012; + // // MessageId: ERROR_PRINTER_DRIVER_WARNED // @@ -9632,6 +10800,7 @@ public interface WinError { // The printer driver is known to be unreliable. // int ERROR_PRINTER_DRIVER_WARNED = 3013; + // // MessageId: ERROR_PRINTER_DRIVER_BLOCKED // @@ -9640,6 +10809,7 @@ public interface WinError { // The printer driver is known to harm the system. // int ERROR_PRINTER_DRIVER_BLOCKED = 3014; + // // MessageId: ERROR_PRINTER_DRIVER_PACKAGE_IN_USE // @@ -9648,6 +10818,7 @@ public interface WinError { // The specified printer driver package is currently in use. // int ERROR_PRINTER_DRIVER_PACKAGE_IN_USE = 3015; + // // MessageId: ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND // @@ -9657,6 +10828,7 @@ public interface WinError { // driver package. // int ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND = 3016; + // // MessageId: ERROR_FAIL_REBOOT_REQUIRED // @@ -9666,6 +10838,7 @@ public interface WinError { // changes made. // int ERROR_FAIL_REBOOT_REQUIRED = 3017; + // // MessageId: ERROR_FAIL_REBOOT_INITIATED // @@ -9675,6 +10848,7 @@ public interface WinError { // roll back changes made. // int ERROR_FAIL_REBOOT_INITIATED = 3018; + // // MessageId: ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED // @@ -9684,6 +10858,7 @@ public interface WinError { // downloaded. // int ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED = 3019; + // // MessageId: ERROR_PRINT_JOB_RESTART_REQUIRED // @@ -9693,6 +10868,7 @@ public interface WinError { // requires the job to be resubmitted. // int ERROR_PRINT_JOB_RESTART_REQUIRED = 3020; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -9713,6 +10889,7 @@ public interface WinError { // Reissue the given operation as a cached IO operation // int ERROR_IO_REISSUE_AS_CACHED = 3950; + // ///////////////////////////////////////////////// // =// // =Wins Error codes=// @@ -9727,6 +10904,7 @@ public interface WinError { // WINS encountered an error while processing the command. // int ERROR_WINS_INTERNAL = 4000; + // // MessageId: ERROR_CAN_NOT_DEL_LOCAL_WINS // @@ -9735,6 +10913,7 @@ public interface WinError { // The local WINS cannot be deleted. // int ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001; + // // MessageId: ERROR_STATIC_INIT // @@ -9743,6 +10922,7 @@ public interface WinError { // The importation from the file failed. // int ERROR_STATIC_INIT = 4002; + // // MessageId: ERROR_INC_BACKUP // @@ -9751,6 +10931,7 @@ public interface WinError { // The backup failed. Was a full backup done before? // int ERROR_INC_BACKUP = 4003; + // // MessageId: ERROR_FULL_BACKUP // @@ -9760,6 +10941,7 @@ public interface WinError { // database. // int ERROR_FULL_BACKUP = 4004; + // // MessageId: ERROR_REC_NON_EXISTENT // @@ -9768,6 +10950,7 @@ public interface WinError { // The name does not exist in the WINS database. // int ERROR_REC_NON_EXISTENT = 4005; + // // MessageId: ERROR_RPL_NOT_ALLOWED // @@ -9776,6 +10959,7 @@ public interface WinError { // Replication with a nonconfigured partner is not allowed. // int ERROR_RPL_NOT_ALLOWED = 4006; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -9798,6 +10982,7 @@ public interface WinError { // obtain a new address. // int ERROR_DHCP_ADDRESS_CONFLICT = 4100; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -9818,6 +11003,7 @@ public interface WinError { // The GUID passed was not recognized as valid by a WMI data provider. // int ERROR_WMI_GUID_NOT_FOUND = 4200; + // // MessageId: ERROR_WMI_INSTANCE_NOT_FOUND // @@ -9827,6 +11013,7 @@ public interface WinError { // provider. // int ERROR_WMI_INSTANCE_NOT_FOUND = 4201; + // // MessageId: ERROR_WMI_ITEMID_NOT_FOUND // @@ -9836,6 +11023,7 @@ public interface WinError { // provider. // int ERROR_WMI_ITEMID_NOT_FOUND = 4202; + // // MessageId: ERROR_WMI_TRY_AGAIN // @@ -9844,6 +11032,7 @@ public interface WinError { // The WMI request could not be completed and should be retried. // int ERROR_WMI_TRY_AGAIN = 4203; + // // MessageId: ERROR_WMI_DP_NOT_FOUND // @@ -9852,6 +11041,7 @@ public interface WinError { // The WMI data provider could not be located. // int ERROR_WMI_DP_NOT_FOUND = 4204; + // // MessageId: ERROR_WMI_UNRESOLVED_INSTANCE_REF // @@ -9861,6 +11051,7 @@ public interface WinError { // registered. // int ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205; + // // MessageId: ERROR_WMI_ALREADY_ENABLED // @@ -9869,6 +11060,7 @@ public interface WinError { // The WMI data block or event notification has already been enabled. // int ERROR_WMI_ALREADY_ENABLED = 4206; + // // MessageId: ERROR_WMI_GUID_DISCONNECTED // @@ -9877,6 +11069,7 @@ public interface WinError { // The WMI data block is no longer available. // int ERROR_WMI_GUID_DISCONNECTED = 4207; + // // MessageId: ERROR_WMI_SERVER_UNAVAILABLE // @@ -9885,6 +11078,7 @@ public interface WinError { // The WMI data service is not available. // int ERROR_WMI_SERVER_UNAVAILABLE = 4208; + // // MessageId: ERROR_WMI_DP_FAILED // @@ -9893,6 +11087,7 @@ public interface WinError { // The WMI data provider failed to carry out the request. // int ERROR_WMI_DP_FAILED = 4209; + // // MessageId: ERROR_WMI_INVALID_MOF // @@ -9901,6 +11096,7 @@ public interface WinError { // The WMI MOF information is not valid. // int ERROR_WMI_INVALID_MOF = 4210; + // // MessageId: ERROR_WMI_INVALID_REGINFO // @@ -9909,6 +11105,7 @@ public interface WinError { // The WMI registration information is not valid. // int ERROR_WMI_INVALID_REGINFO = 4211; + // // MessageId: ERROR_WMI_ALREADY_DISABLED // @@ -9917,6 +11114,7 @@ public interface WinError { // The WMI data block or event notification has already been disabled. // int ERROR_WMI_ALREADY_DISABLED = 4212; + // // MessageId: ERROR_WMI_READ_ONLY // @@ -9925,6 +11123,7 @@ public interface WinError { // The WMI data item or data block is read only. // int ERROR_WMI_READ_ONLY = 4213; + // // MessageId: ERROR_WMI_SET_FAILURE // @@ -9933,6 +11132,7 @@ public interface WinError { // The WMI data item or data block could not be changed. // int ERROR_WMI_SET_FAILURE = 4214; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -9953,6 +11153,7 @@ public interface WinError { // The media identifier does not represent a valid medium. // int ERROR_INVALID_MEDIA = 4300; + // // MessageId: ERROR_INVALID_LIBRARY // @@ -9961,6 +11162,7 @@ public interface WinError { // The library identifier does not represent a valid library. // int ERROR_INVALID_LIBRARY = 4301; + // // MessageId: ERROR_INVALID_MEDIA_POOL // @@ -9969,6 +11171,7 @@ public interface WinError { // The media pool identifier does not represent a valid media pool. // int ERROR_INVALID_MEDIA_POOL = 4302; + // // MessageId: ERROR_DRIVE_MEDIA_MISMATCH // @@ -9977,6 +11180,7 @@ public interface WinError { // The drive and medium are not compatible or exist in different libraries. // int ERROR_DRIVE_MEDIA_MISMATCH = 4303; + // // MessageId: ERROR_MEDIA_OFFLINE // @@ -9986,6 +11190,7 @@ public interface WinError { // perform this operation. // int ERROR_MEDIA_OFFLINE = 4304; + // // MessageId: ERROR_LIBRARY_OFFLINE // @@ -9994,6 +11199,7 @@ public interface WinError { // The operation cannot be performed on an offline library. // int ERROR_LIBRARY_OFFLINE = 4305; + // // MessageId: ERROR_EMPTY // @@ -10002,6 +11208,7 @@ public interface WinError { // The library, drive, or media pool is empty. // int ERROR_EMPTY = 4306; + // // MessageId: ERROR_NOT_EMPTY // @@ -10011,6 +11218,7 @@ public interface WinError { // operation. // int ERROR_NOT_EMPTY = 4307; + // // MessageId: ERROR_MEDIA_UNAVAILABLE // @@ -10019,6 +11227,7 @@ public interface WinError { // No media is currently available in this media pool or library. // int ERROR_MEDIA_UNAVAILABLE = 4308; + // // MessageId: ERROR_RESOURCE_DISABLED // @@ -10027,6 +11236,7 @@ public interface WinError { // A resource required for this operation is disabled. // int ERROR_RESOURCE_DISABLED = 4309; + // // MessageId: ERROR_INVALID_CLEANER // @@ -10035,6 +11245,7 @@ public interface WinError { // The media identifier does not represent a valid cleaner. // int ERROR_INVALID_CLEANER = 4310; + // // MessageId: ERROR_UNABLE_TO_CLEAN // @@ -10043,6 +11254,7 @@ public interface WinError { // The drive cannot be cleaned or does not support cleaning. // int ERROR_UNABLE_TO_CLEAN = 4311; + // // MessageId: ERROR_OBJECT_NOT_FOUND // @@ -10051,6 +11263,7 @@ public interface WinError { // The object identifier does not represent a valid object. // int ERROR_OBJECT_NOT_FOUND = 4312; + // // MessageId: ERROR_DATABASE_FAILURE // @@ -10059,6 +11272,7 @@ public interface WinError { // Unable to read from or write to the database. // int ERROR_DATABASE_FAILURE = 4313; + // // MessageId: ERROR_DATABASE_FULL // @@ -10067,6 +11281,7 @@ public interface WinError { // The database is full. // int ERROR_DATABASE_FULL = 4314; + // // MessageId: ERROR_MEDIA_INCOMPATIBLE // @@ -10075,6 +11290,7 @@ public interface WinError { // The medium is not compatible with the device or media pool. // int ERROR_MEDIA_INCOMPATIBLE = 4315; + // // MessageId: ERROR_RESOURCE_NOT_PRESENT // @@ -10083,6 +11299,7 @@ public interface WinError { // The resource required for this operation does not exist. // int ERROR_RESOURCE_NOT_PRESENT = 4316; + // // MessageId: ERROR_INVALID_OPERATION // @@ -10091,6 +11308,7 @@ public interface WinError { // The operation identifier is not valid. // int ERROR_INVALID_OPERATION = 4317; + // // MessageId: ERROR_MEDIA_NOT_AVAILABLE // @@ -10099,6 +11317,7 @@ public interface WinError { // The media is not mounted or ready for use. // int ERROR_MEDIA_NOT_AVAILABLE = 4318; + // // MessageId: ERROR_DEVICE_NOT_AVAILABLE // @@ -10107,6 +11326,7 @@ public interface WinError { // The device is not ready for use. // int ERROR_DEVICE_NOT_AVAILABLE = 4319; + // // MessageId: ERROR_REQUEST_REFUSED // @@ -10115,6 +11335,7 @@ public interface WinError { // The operator or administrator has refused the request. // int ERROR_REQUEST_REFUSED = 4320; + // // MessageId: ERROR_INVALID_DRIVE_OBJECT // @@ -10123,6 +11344,7 @@ public interface WinError { // The drive identifier does not represent a valid drive. // int ERROR_INVALID_DRIVE_OBJECT = 4321; + // // MessageId: ERROR_LIBRARY_FULL // @@ -10131,6 +11353,7 @@ public interface WinError { // Library is full. No slot is available for use. // int ERROR_LIBRARY_FULL = 4322; + // // MessageId: ERROR_MEDIUM_NOT_ACCESSIBLE // @@ -10139,6 +11362,7 @@ public interface WinError { // The transport cannot access the medium. // int ERROR_MEDIUM_NOT_ACCESSIBLE = 4323; + // // MessageId: ERROR_UNABLE_TO_LOAD_MEDIUM // @@ -10147,6 +11371,7 @@ public interface WinError { // Unable to load the medium into the drive. // int ERROR_UNABLE_TO_LOAD_MEDIUM = 4324; + // // MessageId: ERROR_UNABLE_TO_INVENTORY_DRIVE // @@ -10155,6 +11380,7 @@ public interface WinError { // Unable to retrieve the drive status. // int ERROR_UNABLE_TO_INVENTORY_DRIVE = 4325; + // // MessageId: ERROR_UNABLE_TO_INVENTORY_SLOT // @@ -10163,6 +11389,7 @@ public interface WinError { // Unable to retrieve the slot status. // int ERROR_UNABLE_TO_INVENTORY_SLOT = 4326; + // // MessageId: ERROR_UNABLE_TO_INVENTORY_TRANSPORT // @@ -10171,6 +11398,7 @@ public interface WinError { // Unable to retrieve status about the transport. // int ERROR_UNABLE_TO_INVENTORY_TRANSPORT = 4327; + // // MessageId: ERROR_TRANSPORT_FULL // @@ -10179,6 +11407,7 @@ public interface WinError { // Cannot use the transport because it is already in use. // int ERROR_TRANSPORT_FULL = 4328; + // // MessageId: ERROR_CONTROLLING_IEPORT // @@ -10187,6 +11416,7 @@ public interface WinError { // Unable to open or close the inject/eject port. // int ERROR_CONTROLLING_IEPORT = 4329; + // // MessageId: ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA // @@ -10195,6 +11425,7 @@ public interface WinError { // Unable to eject the medium because it is in a drive. // int ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330; + // // MessageId: ERROR_CLEANER_SLOT_SET // @@ -10203,6 +11434,7 @@ public interface WinError { // A cleaner slot is already reserved. // int ERROR_CLEANER_SLOT_SET = 4331; + // // MessageId: ERROR_CLEANER_SLOT_NOT_SET // @@ -10211,6 +11443,7 @@ public interface WinError { // A cleaner slot is not reserved. // int ERROR_CLEANER_SLOT_NOT_SET = 4332; + // // MessageId: ERROR_CLEANER_CARTRIDGE_SPENT // @@ -10220,6 +11453,7 @@ public interface WinError { // cleanings. // int ERROR_CLEANER_CARTRIDGE_SPENT = 4333; + // // MessageId: ERROR_UNEXPECTED_OMID // @@ -10228,6 +11462,7 @@ public interface WinError { // Unexpected on-medium identifier. // int ERROR_UNEXPECTED_OMID = 4334; + // // MessageId: ERROR_CANT_DELETE_LAST_ITEM // @@ -10236,6 +11471,7 @@ public interface WinError { // The last remaining item in this group or resource cannot be deleted. // int ERROR_CANT_DELETE_LAST_ITEM = 4335; + // // MessageId: ERROR_MESSAGE_EXCEEDS_MAX_SIZE // @@ -10244,6 +11480,7 @@ public interface WinError { // The message provided exceeds the maximum size allowed for this parameter. // int ERROR_MESSAGE_EXCEEDS_MAX_SIZE = 4336; + // // MessageId: ERROR_VOLUME_CONTAINS_SYS_FILES // @@ -10252,6 +11489,7 @@ public interface WinError { // The volume contains system or paging files. // int ERROR_VOLUME_CONTAINS_SYS_FILES = 4337; + // // MessageId: ERROR_INDIGENOUS_TYPE // @@ -10261,6 +11499,7 @@ public interface WinError { // drive in the library reports it can support this media type. // int ERROR_INDIGENOUS_TYPE = 4338; + // // MessageId: ERROR_NO_SUPPORTING_DRIVES // @@ -10270,6 +11509,7 @@ public interface WinError { // drives are present which can be used. // int ERROR_NO_SUPPORTING_DRIVES = 4339; + // // MessageId: ERROR_CLEANER_CARTRIDGE_INSTALLED // @@ -10278,6 +11518,7 @@ public interface WinError { // A cleaner cartridge is present in the tape library. // int ERROR_CLEANER_CARTRIDGE_INSTALLED = 4340; + // // MessageId: ERROR_IEPORT_FULL // @@ -10286,6 +11527,7 @@ public interface WinError { // Cannot use the ieport because it is not empty. // int ERROR_IEPORT_FULL = 4341; + // ///////////////////////////////////////////////// // =// // Remote Storage Service Error codes // @@ -10300,6 +11542,7 @@ public interface WinError { // This file is currently not available for use on this computer. // int ERROR_FILE_OFFLINE = 4350; + // // MessageId: ERROR_REMOTE_STORAGE_NOT_ACTIVE // @@ -10308,6 +11551,7 @@ public interface WinError { // The remote storage service is not operational at this time. // int ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351; + // // MessageId: ERROR_REMOTE_STORAGE_MEDIA_ERROR // @@ -10316,6 +11560,7 @@ public interface WinError { // The remote storage service encountered a media error. // int ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352; + // ///////////////////////////////////////////////// // =// // =Reparse Point Error codes=// @@ -10330,6 +11575,7 @@ public interface WinError { // The file or directory is not a reparse point. // int ERROR_NOT_A_REPARSE_POINT = 4390; + // // MessageId: ERROR_REPARSE_ATTRIBUTE_CONFLICT // @@ -10339,6 +11585,7 @@ public interface WinError { // existing attribute. // int ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391; + // // MessageId: ERROR_INVALID_REPARSE_DATA // @@ -10347,6 +11594,7 @@ public interface WinError { // The data present in the reparse point buffer is invalid. // int ERROR_INVALID_REPARSE_DATA = 4392; + // // MessageId: ERROR_REPARSE_TAG_INVALID // @@ -10355,6 +11603,7 @@ public interface WinError { // The tag present in the reparse point buffer is invalid. // int ERROR_REPARSE_TAG_INVALID = 4393; + // // MessageId: ERROR_REPARSE_TAG_MISMATCH // @@ -10362,9 +11611,10 @@ public interface WinError { // // There is a mismatch between the tag specified in the request and the tag // present in the reparse point. - // + // // int ERROR_REPARSE_TAG_MISMATCH = 4394; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -10385,6 +11635,7 @@ public interface WinError { // Single Instance Storage is not available on this volume. // int ERROR_VOLUME_NOT_SIS_ENABLED = 4500; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -10406,6 +11657,7 @@ public interface WinError { // on this resource. // int ERROR_DEPENDENT_RESOURCE_EXISTS = 5001; + // // MessageId: ERROR_DEPENDENCY_NOT_FOUND // @@ -10414,6 +11666,7 @@ public interface WinError { // The cluster resource dependency cannot be found. // int ERROR_DEPENDENCY_NOT_FOUND = 5002; + // // MessageId: ERROR_DEPENDENCY_ALREADY_EXISTS // @@ -10423,6 +11676,7 @@ public interface WinError { // because it is already dependent. // int ERROR_DEPENDENCY_ALREADY_EXISTS = 5003; + // // MessageId: ERROR_RESOURCE_NOT_ONLINE // @@ -10431,6 +11685,7 @@ public interface WinError { // The cluster resource is not online. // int ERROR_RESOURCE_NOT_ONLINE = 5004; + // // MessageId: ERROR_HOST_NODE_NOT_AVAILABLE // @@ -10439,6 +11694,7 @@ public interface WinError { // A cluster node is not available for this operation. // int ERROR_HOST_NODE_NOT_AVAILABLE = 5005; + // // MessageId: ERROR_RESOURCE_NOT_AVAILABLE // @@ -10447,6 +11703,7 @@ public interface WinError { // The cluster resource is not available. // int ERROR_RESOURCE_NOT_AVAILABLE = 5006; + // // MessageId: ERROR_RESOURCE_NOT_FOUND // @@ -10455,6 +11712,7 @@ public interface WinError { // The cluster resource could not be found. // int ERROR_RESOURCE_NOT_FOUND = 5007; + // // MessageId: ERROR_SHUTDOWN_CLUSTER // @@ -10463,6 +11721,7 @@ public interface WinError { // The cluster is being shut down. // int ERROR_SHUTDOWN_CLUSTER = 5008; + // // MessageId: ERROR_CANT_EVICT_ACTIVE_NODE // @@ -10472,6 +11731,7 @@ public interface WinError { // or it is the last node. // int ERROR_CANT_EVICT_ACTIVE_NODE = 5009; + // // MessageId: ERROR_OBJECT_ALREADY_EXISTS // @@ -10480,6 +11740,7 @@ public interface WinError { // The object already exists. // int ERROR_OBJECT_ALREADY_EXISTS = 5010; + // // MessageId: ERROR_OBJECT_IN_LIST // @@ -10488,6 +11749,7 @@ public interface WinError { // The object is already in the list. // int ERROR_OBJECT_IN_LIST = 5011; + // // MessageId: ERROR_GROUP_NOT_AVAILABLE // @@ -10496,6 +11758,7 @@ public interface WinError { // The cluster group is not available for any new requests. // int ERROR_GROUP_NOT_AVAILABLE = 5012; + // // MessageId: ERROR_GROUP_NOT_FOUND // @@ -10504,6 +11767,7 @@ public interface WinError { // The cluster group could not be found. // int ERROR_GROUP_NOT_FOUND = 5013; + // // MessageId: ERROR_GROUP_NOT_ONLINE // @@ -10513,6 +11777,7 @@ public interface WinError { // online. // int ERROR_GROUP_NOT_ONLINE = 5014; + // // MessageId: ERROR_HOST_NODE_NOT_RESOURCE_OWNER // @@ -10523,6 +11788,7 @@ public interface WinError { // is not a possible owner of the resource. // int ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015; + // // MessageId: ERROR_HOST_NODE_NOT_GROUP_OWNER // @@ -10533,6 +11799,7 @@ public interface WinError { // is not a possible owner of the group. // int ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016; + // // MessageId: ERROR_RESMON_CREATE_FAILED // @@ -10542,6 +11809,7 @@ public interface WinError { // monitor. // int ERROR_RESMON_CREATE_FAILED = 5017; + // // MessageId: ERROR_RESMON_ONLINE_FAILED // @@ -10550,6 +11818,7 @@ public interface WinError { // The cluster resource could not be brought online by the resource monitor. // int ERROR_RESMON_ONLINE_FAILED = 5018; + // // MessageId: ERROR_RESOURCE_ONLINE // @@ -10559,6 +11828,7 @@ public interface WinError { // online. // int ERROR_RESOURCE_ONLINE = 5019; + // // MessageId: ERROR_QUORUM_RESOURCE // @@ -10568,6 +11838,7 @@ public interface WinError { // is the quorum resource. // int ERROR_QUORUM_RESOURCE = 5020; + // // MessageId: ERROR_NOT_QUORUM_CAPABLE // @@ -10577,6 +11848,7 @@ public interface WinError { // because it is not capable of being a quorum resource. // int ERROR_NOT_QUORUM_CAPABLE = 5021; + // // MessageId: ERROR_CLUSTER_SHUTTING_DOWN // @@ -10585,6 +11857,7 @@ public interface WinError { // The cluster software is shutting down. // int ERROR_CLUSTER_SHUTTING_DOWN = 5022; + // // MessageId: ERROR_INVALID_STATE // @@ -10594,6 +11867,7 @@ public interface WinError { // requested operation. // int ERROR_INVALID_STATE = 5023; + // // MessageId: ERROR_RESOURCE_PROPERTIES_STORED // @@ -10603,6 +11877,7 @@ public interface WinError { // next time the resource is brought online. // int ERROR_RESOURCE_PROPERTIES_STORED = 5024; + // // MessageId: ERROR_NOT_QUORUM_CLASS // @@ -10612,6 +11887,7 @@ public interface WinError { // because it does not belong to a shared storage class. // int ERROR_NOT_QUORUM_CLASS = 5025; + // // MessageId: ERROR_CORE_RESOURCE // @@ -10620,6 +11896,7 @@ public interface WinError { // The cluster resource could not be deleted since it is a core resource. // int ERROR_CORE_RESOURCE = 5026; + // // MessageId: ERROR_QUORUM_RESOURCE_ONLINE_FAILED // @@ -10628,6 +11905,7 @@ public interface WinError { // The quorum resource failed to come online. // int ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027; + // // MessageId: ERROR_QUORUMLOG_OPEN_FAILED // @@ -10636,6 +11914,7 @@ public interface WinError { // The quorum log could not be created or mounted successfully. // int ERROR_QUORUMLOG_OPEN_FAILED = 5028; + // // MessageId: ERROR_CLUSTERLOG_CORRUPT // @@ -10644,6 +11923,7 @@ public interface WinError { // The cluster log is corrupt. // int ERROR_CLUSTERLOG_CORRUPT = 5029; + // // MessageId: ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE // @@ -10653,6 +11933,7 @@ public interface WinError { // maximum size. // int ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030; + // // MessageId: ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE // @@ -10661,6 +11942,7 @@ public interface WinError { // The cluster log exceeds its maximum size. // int ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031; + // // MessageId: ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND // @@ -10669,6 +11951,7 @@ public interface WinError { // No checkpoint record was found in the cluster log. // int ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032; + // // MessageId: ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE // @@ -10677,6 +11960,7 @@ public interface WinError { // The minimum required disk space needed for logging is not available. // int ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033; + // // MessageId: ERROR_QUORUM_OWNER_ALIVE // @@ -10686,6 +11970,7 @@ public interface WinError { // the resource is owned by another active node. // int ERROR_QUORUM_OWNER_ALIVE = 5034; + // // MessageId: ERROR_NETWORK_NOT_AVAILABLE // @@ -10694,6 +11979,7 @@ public interface WinError { // A cluster network is not available for this operation. // int ERROR_NETWORK_NOT_AVAILABLE = 5035; + // // MessageId: ERROR_NODE_NOT_AVAILABLE // @@ -10702,6 +11988,7 @@ public interface WinError { // A cluster node is not available for this operation. // int ERROR_NODE_NOT_AVAILABLE = 5036; + // // MessageId: ERROR_ALL_NODES_NOT_AVAILABLE // @@ -10710,6 +11997,7 @@ public interface WinError { // All cluster nodes must be running to perform this operation. // int ERROR_ALL_NODES_NOT_AVAILABLE = 5037; + // // MessageId: ERROR_RESOURCE_FAILED // @@ -10718,6 +12006,7 @@ public interface WinError { // A cluster resource failed. // int ERROR_RESOURCE_FAILED = 5038; + // // MessageId: ERROR_CLUSTER_INVALID_NODE // @@ -10726,6 +12015,7 @@ public interface WinError { // The cluster node is not valid. // int ERROR_CLUSTER_INVALID_NODE = 5039; + // // MessageId: ERROR_CLUSTER_NODE_EXISTS // @@ -10734,6 +12024,7 @@ public interface WinError { // The cluster node already exists. // int ERROR_CLUSTER_NODE_EXISTS = 5040; + // // MessageId: ERROR_CLUSTER_JOIN_IN_PROGRESS // @@ -10742,6 +12033,7 @@ public interface WinError { // A node is in the process of joining the cluster. // int ERROR_CLUSTER_JOIN_IN_PROGRESS = 5041; + // // MessageId: ERROR_CLUSTER_NODE_NOT_FOUND // @@ -10750,6 +12042,7 @@ public interface WinError { // The cluster node was not found. // int ERROR_CLUSTER_NODE_NOT_FOUND = 5042; + // // MessageId: ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND // @@ -10758,6 +12051,7 @@ public interface WinError { // The cluster local node information was not found. // int ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043; + // // MessageId: ERROR_CLUSTER_NETWORK_EXISTS // @@ -10766,6 +12060,7 @@ public interface WinError { // The cluster network already exists. // int ERROR_CLUSTER_NETWORK_EXISTS = 5044; + // // MessageId: ERROR_CLUSTER_NETWORK_NOT_FOUND // @@ -10774,6 +12069,7 @@ public interface WinError { // The cluster network was not found. // int ERROR_CLUSTER_NETWORK_NOT_FOUND = 5045; + // // MessageId: ERROR_CLUSTER_NETINTERFACE_EXISTS // @@ -10782,6 +12078,7 @@ public interface WinError { // The cluster network interface already exists. // int ERROR_CLUSTER_NETINTERFACE_EXISTS = 5046; + // // MessageId: ERROR_CLUSTER_NETINTERFACE_NOT_FOUND // @@ -10790,6 +12087,7 @@ public interface WinError { // The cluster network interface was not found. // int ERROR_CLUSTER_NETINTERFACE_NOT_FOUND = 5047; + // // MessageId: ERROR_CLUSTER_INVALID_REQUEST // @@ -10798,6 +12096,7 @@ public interface WinError { // The cluster request is not valid for this object. // int ERROR_CLUSTER_INVALID_REQUEST = 5048; + // // MessageId: ERROR_CLUSTER_INVALID_NETWORK_PROVIDER // @@ -10806,6 +12105,7 @@ public interface WinError { // The cluster network provider is not valid. // int ERROR_CLUSTER_INVALID_NETWORK_PROVIDER = 5049; + // // MessageId: ERROR_CLUSTER_NODE_DOWN // @@ -10814,6 +12114,7 @@ public interface WinError { // The cluster node is down. // int ERROR_CLUSTER_NODE_DOWN = 5050; + // // MessageId: ERROR_CLUSTER_NODE_UNREACHABLE // @@ -10822,6 +12123,7 @@ public interface WinError { // The cluster node is not reachable. // int ERROR_CLUSTER_NODE_UNREACHABLE = 5051; + // // MessageId: ERROR_CLUSTER_NODE_NOT_MEMBER // @@ -10830,6 +12132,7 @@ public interface WinError { // The cluster node is not a member of the cluster. // int ERROR_CLUSTER_NODE_NOT_MEMBER = 5052; + // // MessageId: ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS // @@ -10838,6 +12141,7 @@ public interface WinError { // A cluster join operation is not in progress. // int ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053; + // // MessageId: ERROR_CLUSTER_INVALID_NETWORK // @@ -10846,6 +12150,7 @@ public interface WinError { // The cluster network is not valid. // int ERROR_CLUSTER_INVALID_NETWORK = 5054; + // // MessageId: ERROR_CLUSTER_NODE_UP // @@ -10854,6 +12159,7 @@ public interface WinError { // The cluster node is up. // int ERROR_CLUSTER_NODE_UP = 5056; + // // MessageId: ERROR_CLUSTER_IPADDR_IN_USE // @@ -10862,6 +12168,7 @@ public interface WinError { // The cluster IP address is already in use. // int ERROR_CLUSTER_IPADDR_IN_USE = 5057; + // // MessageId: ERROR_CLUSTER_NODE_NOT_PAUSED // @@ -10870,6 +12177,7 @@ public interface WinError { // The cluster node is not paused. // int ERROR_CLUSTER_NODE_NOT_PAUSED = 5058; + // // MessageId: ERROR_CLUSTER_NO_SECURITY_CONTEXT // @@ -10878,6 +12186,7 @@ public interface WinError { // No cluster security context is available. // int ERROR_CLUSTER_NO_SECURITY_CONTEXT = 5059; + // // MessageId: ERROR_CLUSTER_NETWORK_NOT_INTERNAL // @@ -10886,6 +12195,7 @@ public interface WinError { // The cluster network is not configured for internal cluster communication. // int ERROR_CLUSTER_NETWORK_NOT_INTERNAL = 5060; + // // MessageId: ERROR_CLUSTER_NODE_ALREADY_UP // @@ -10894,6 +12204,7 @@ public interface WinError { // The cluster node is already up. // int ERROR_CLUSTER_NODE_ALREADY_UP = 5061; + // // MessageId: ERROR_CLUSTER_NODE_ALREADY_DOWN // @@ -10902,6 +12213,7 @@ public interface WinError { // The cluster node is already down. // int ERROR_CLUSTER_NODE_ALREADY_DOWN = 5062; + // // MessageId: ERROR_CLUSTER_NETWORK_ALREADY_ONLINE // @@ -10910,6 +12222,7 @@ public interface WinError { // The cluster network is already online. // int ERROR_CLUSTER_NETWORK_ALREADY_ONLINE = 5063; + // // MessageId: ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE // @@ -10918,6 +12231,7 @@ public interface WinError { // The cluster network is already offline. // int ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064; + // // MessageId: ERROR_CLUSTER_NODE_ALREADY_MEMBER // @@ -10926,6 +12240,7 @@ public interface WinError { // The cluster node is already a member of the cluster. // int ERROR_CLUSTER_NODE_ALREADY_MEMBER = 5065; + // // MessageId: ERROR_CLUSTER_LAST_INTERNAL_NETWORK // @@ -10936,6 +12251,7 @@ public interface WinError { // communication capability cannot be removed from the network. // int ERROR_CLUSTER_LAST_INTERNAL_NETWORK = 5066; + // // MessageId: ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS // @@ -10945,6 +12261,7 @@ public interface WinError { // clients. The client access capability cannot be removed from the network. // int ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067; + // // MessageId: ERROR_INVALID_OPERATION_ON_QUORUM // @@ -10955,6 +12272,7 @@ public interface WinError { // its possible owners list. // int ERROR_INVALID_OPERATION_ON_QUORUM = 5068; + // // MessageId: ERROR_DEPENDENCY_NOT_ALLOWED // @@ -10963,6 +12281,7 @@ public interface WinError { // The cluster quorum resource is not allowed to have any dependencies. // int ERROR_DEPENDENCY_NOT_ALLOWED = 5069; + // // MessageId: ERROR_CLUSTER_NODE_PAUSED // @@ -10971,6 +12290,7 @@ public interface WinError { // The cluster node is paused. // int ERROR_CLUSTER_NODE_PAUSED = 5070; + // // MessageId: ERROR_NODE_CANT_HOST_RESOURCE // @@ -10980,6 +12300,7 @@ public interface WinError { // this resource. // int ERROR_NODE_CANT_HOST_RESOURCE = 5071; + // // MessageId: ERROR_CLUSTER_NODE_NOT_READY // @@ -10988,6 +12309,7 @@ public interface WinError { // The cluster node is not ready to perform the requested operation. // int ERROR_CLUSTER_NODE_NOT_READY = 5072; + // // MessageId: ERROR_CLUSTER_NODE_SHUTTING_DOWN // @@ -10996,6 +12318,7 @@ public interface WinError { // The cluster node is shutting down. // int ERROR_CLUSTER_NODE_SHUTTING_DOWN = 5073; + // // MessageId: ERROR_CLUSTER_JOIN_ABORTED // @@ -11004,6 +12327,7 @@ public interface WinError { // The cluster join operation was aborted. // int ERROR_CLUSTER_JOIN_ABORTED = 5074; + // // MessageId: ERROR_CLUSTER_INCOMPATIBLE_VERSIONS // @@ -11013,6 +12337,7 @@ public interface WinError { // between the joining node and its sponsor. // int ERROR_CLUSTER_INCOMPATIBLE_VERSIONS = 5075; + // // MessageId: ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED // @@ -11022,6 +12347,7 @@ public interface WinError { // on the number of resources it can monitor. // int ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076; + // // MessageId: ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED // @@ -11031,6 +12357,7 @@ public interface WinError { // operation. The join or form operation was aborted. // int ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077; + // // MessageId: ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND // @@ -11039,6 +12366,7 @@ public interface WinError { // The specified resource type was not found. // int ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078; + // // MessageId: ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED // @@ -11049,6 +12377,7 @@ public interface WinError { // on this node. // int ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079; + // // MessageId: ERROR_CLUSTER_RESNAME_NOT_FOUND // @@ -11058,6 +12387,7 @@ public interface WinError { // may be due to a bad (or changed) name supplied to the resource DLL. // int ERROR_CLUSTER_RESNAME_NOT_FOUND = 5080; + // // MessageId: ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED // @@ -11066,6 +12396,7 @@ public interface WinError { // No authentication package could be registered with the RPC server. // int ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081; + // // MessageId: ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST // @@ -11076,6 +12407,7 @@ public interface WinError { // group, move the group. // int ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082; + // // MessageId: ERROR_CLUSTER_DATABASE_SEQMISMATCH // @@ -11087,6 +12419,7 @@ public interface WinError { // join. // int ERROR_CLUSTER_DATABASE_SEQMISMATCH = 5083; + // // MessageId: ERROR_RESMON_INVALID_STATE // @@ -11097,6 +12430,7 @@ public interface WinError { // resource is in a pending state. // int ERROR_RESMON_INVALID_STATE = 5084; + // // MessageId: ERROR_CLUSTER_GUM_NOT_LOCKER // @@ -11106,6 +12440,7 @@ public interface WinError { // updates. // int ERROR_CLUSTER_GUM_NOT_LOCKER = 5085; + // // MessageId: ERROR_QUORUM_DISK_NOT_FOUND // @@ -11114,6 +12449,7 @@ public interface WinError { // The quorum disk could not be located by the cluster service. // int ERROR_QUORUM_DISK_NOT_FOUND = 5086; + // // MessageId: ERROR_DATABASE_BACKUP_CORRUPT // @@ -11122,6 +12458,7 @@ public interface WinError { // The backed up cluster database is possibly corrupt. // int ERROR_DATABASE_BACKUP_CORRUPT = 5087; + // // MessageId: ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT // @@ -11130,6 +12467,7 @@ public interface WinError { // A DFS root already exists in this cluster node. // int ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088; + // // MessageId: ERROR_RESOURCE_PROPERTY_UNCHANGEABLE // @@ -11154,6 +12492,7 @@ public interface WinError { // membership state of the node. // int ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890; + // // MessageId: ERROR_CLUSTER_QUORUMLOG_NOT_FOUND // @@ -11162,6 +12501,7 @@ public interface WinError { // The quorum resource does not contain the quorum log. // int ERROR_CLUSTER_QUORUMLOG_NOT_FOUND = 5891; + // // MessageId: ERROR_CLUSTER_MEMBERSHIP_HALT // @@ -11171,6 +12511,7 @@ public interface WinError { // node. // int ERROR_CLUSTER_MEMBERSHIP_HALT = 5892; + // // MessageId: ERROR_CLUSTER_INSTANCE_ID_MISMATCH // @@ -11180,6 +12521,7 @@ public interface WinError { // node does not match the cluster instance ID of the sponsor node. // int ERROR_CLUSTER_INSTANCE_ID_MISMATCH = 5893; + // // MessageId: ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP // @@ -11189,6 +12531,7 @@ public interface WinError { // found. // int ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 5894; + // // MessageId: ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH // @@ -11198,6 +12541,7 @@ public interface WinError { // of the property. // int ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 5895; + // // MessageId: ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP // @@ -11209,6 +12553,7 @@ public interface WinError { // Viewer. // int ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP = 5896; + // // MessageId: ERROR_CLUSTER_PARAMETER_MISMATCH // @@ -11218,6 +12563,7 @@ public interface WinError { // conflict. // int ERROR_CLUSTER_PARAMETER_MISMATCH = 5897; + // // MessageId: ERROR_NODE_CANNOT_BE_CLUSTERED // @@ -11226,6 +12572,7 @@ public interface WinError { // This computer cannot be made a member of a cluster. // int ERROR_NODE_CANNOT_BE_CLUSTERED = 5898; + // // MessageId: ERROR_CLUSTER_WRONG_OS_VERSION // @@ -11235,6 +12582,7 @@ public interface WinError { // have the correct version of Windows installed. // int ERROR_CLUSTER_WRONG_OS_VERSION = 5899; + // // MessageId: ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME // @@ -11244,6 +12592,7 @@ public interface WinError { // cluster name is already in use. Specify a different name for the cluster. // int ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 5900; + // // MessageId: ERROR_CLUSCFG_ALREADY_COMMITTED // @@ -11252,6 +12601,7 @@ public interface WinError { // The cluster configuration action has already been committed. // int ERROR_CLUSCFG_ALREADY_COMMITTED = 5901; + // // MessageId: ERROR_CLUSCFG_ROLLBACK_FAILED // @@ -11260,6 +12610,7 @@ public interface WinError { // The cluster configuration action could not be rolled back. // int ERROR_CLUSCFG_ROLLBACK_FAILED = 5902; + // // MessageId: ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT // @@ -11269,6 +12620,7 @@ public interface WinError { // the drive letter assigned to a disk on another node. // int ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT = 5903; + // // MessageId: ERROR_CLUSTER_OLD_VERSION // @@ -11278,6 +12630,7 @@ public interface WinError { // does not support this operation. // int ERROR_CLUSTER_OLD_VERSION = 5904; + // // MessageId: ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME // @@ -11287,6 +12640,7 @@ public interface WinError { // Name for this resource. // int ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME = 5905; + // // MessageId: ERROR_CLUSTER_NO_NET_ADAPTERS // @@ -11295,6 +12649,7 @@ public interface WinError { // No network adapters are available. // int ERROR_CLUSTER_NO_NET_ADAPTERS = 5906; + // // MessageId: ERROR_CLUSTER_POISONED // @@ -11303,6 +12658,7 @@ public interface WinError { // The cluster node has been poisoned. // int ERROR_CLUSTER_POISONED = 5907; + // // MessageId: ERROR_CLUSTER_GROUP_MOVING // @@ -11312,6 +12668,7 @@ public interface WinError { // node. // int ERROR_CLUSTER_GROUP_MOVING = 5908; + // // MessageId: ERROR_CLUSTER_RESOURCE_TYPE_BUSY // @@ -11321,6 +12678,7 @@ public interface WinError { // another operation. // int ERROR_CLUSTER_RESOURCE_TYPE_BUSY = 5909; + // // MessageId: ERROR_RESOURCE_CALL_TIMED_OUT // @@ -11329,6 +12687,7 @@ public interface WinError { // The call to the cluster resource DLL timed out. // int ERROR_RESOURCE_CALL_TIMED_OUT = 5910; + // // MessageId: ERROR_INVALID_CLUSTER_IPV6_ADDRESS // @@ -11339,6 +12698,7 @@ public interface WinError { // addresses are not permitted. // int ERROR_INVALID_CLUSTER_IPV6_ADDRESS = 5911; + // // MessageId: ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION // @@ -11348,6 +12708,7 @@ public interface WinError { // attempted. // int ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION = 5912; + // // MessageId: ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS // @@ -11356,6 +12717,7 @@ public interface WinError { // A parameter value is out of acceptable range. // int ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS = 5913; + // // MessageId: ERROR_CLUSTER_PARTIAL_SEND // @@ -11365,6 +12727,7 @@ public interface WinError { // cluster. The number of bytes transmitted was less than required. // int ERROR_CLUSTER_PARTIAL_SEND = 5914; + // // MessageId: ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION // @@ -11373,6 +12736,7 @@ public interface WinError { // An invalid cluster registry operation was attempted. // int ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION = 5915; + // // MessageId: ERROR_CLUSTER_INVALID_STRING_TERMINATION // @@ -11381,6 +12745,7 @@ public interface WinError { // An input string of characters is not properly terminated. // int ERROR_CLUSTER_INVALID_STRING_TERMINATION = 5916; + // // MessageId: ERROR_CLUSTER_INVALID_STRING_FORMAT // @@ -11390,6 +12755,7 @@ public interface WinError { // represents. // int ERROR_CLUSTER_INVALID_STRING_FORMAT = 5917; + // // MessageId: ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS // @@ -11399,6 +12765,7 @@ public interface WinError { // attempted while a transaction was already in progress. // int ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS = 5918; + // // MessageId: ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS // @@ -11408,6 +12775,7 @@ public interface WinError { // cluster database transaction while no transaction was in progress. // int ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS = 5919; + // // MessageId: ERROR_CLUSTER_NULL_DATA // @@ -11416,6 +12784,7 @@ public interface WinError { // An internal cluster error occurred. Data was not properly initialized. // int ERROR_CLUSTER_NULL_DATA = 5920; + // // MessageId: ERROR_CLUSTER_PARTIAL_READ // @@ -11425,6 +12794,7 @@ public interface WinError { // number of bytes was returned. // int ERROR_CLUSTER_PARTIAL_READ = 5921; + // // MessageId: ERROR_CLUSTER_PARTIAL_WRITE // @@ -11434,6 +12804,7 @@ public interface WinError { // of bytes could not be written. // int ERROR_CLUSTER_PARTIAL_WRITE = 5922; + // // MessageId: ERROR_CLUSTER_CANT_DESERIALIZE_DATA // @@ -11442,6 +12813,7 @@ public interface WinError { // An error occurred while deserializing a stream of cluster data. // int ERROR_CLUSTER_CANT_DESERIALIZE_DATA = 5923; + // // MessageId: ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT // @@ -11451,6 +12823,7 @@ public interface WinError { // more property values associated with its dependent resource(s). // int ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT = 5924; + // // MessageId: ERROR_CLUSTER_NO_QUORUM // @@ -11459,6 +12832,7 @@ public interface WinError { // A quorum of cluster nodes was not present to form a cluster. // int ERROR_CLUSTER_NO_QUORUM = 5925; + // // MessageId: ERROR_CLUSTER_INVALID_IPV6_NETWORK // @@ -11468,6 +12842,7 @@ public interface WinError { // not match the configured address. // int ERROR_CLUSTER_INVALID_IPV6_NETWORK = 5926; + // // MessageId: ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK // @@ -11478,6 +12853,7 @@ public interface WinError { // resource depends. // int ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK = 5927; + // // MessageId: ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP // @@ -11486,6 +12862,7 @@ public interface WinError { // Quorum resource cannot reside in the Available Storage group. // int ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP = 5928; + // // MessageId: ERROR_DEPENDENCY_TREE_TOO_COMPLEX // @@ -11494,6 +12871,7 @@ public interface WinError { // The dependencies for this resource are nested too deeply. // int ERROR_DEPENDENCY_TREE_TOO_COMPLEX = 5929; + // // MessageId: ERROR_EXCEPTION_IN_RESOURCE_CALL // @@ -11502,6 +12880,7 @@ public interface WinError { // The call into the resource DLL raised an unhandled exception. // int ERROR_EXCEPTION_IN_RESOURCE_CALL = 5930; + // // MessageId: ERROR_CLUSTER_RHS_FAILED_INITIALIZATION // @@ -11510,6 +12889,7 @@ public interface WinError { // The RHS process failed to initialize. // int ERROR_CLUSTER_RHS_FAILED_INITIALIZATION = 5931; + // // MessageId: ERROR_CLUSTER_NOT_INSTALLED // @@ -11518,6 +12898,7 @@ public interface WinError { // The Failover Clustering feature is not installed on this node. // int ERROR_CLUSTER_NOT_INSTALLED = 5932; + // // MessageId: ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE // @@ -11526,6 +12907,7 @@ public interface WinError { // The resources must be online on the same node for this operation // int ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE = 5933; + // ///////////////////////////////////////////////// // =// // =EFS Error codes=// @@ -11540,6 +12922,7 @@ public interface WinError { // The specified file could not be encrypted. // int ERROR_ENCRYPTION_FAILED = 6000; + // // MessageId: ERROR_DECRYPTION_FAILED // @@ -11548,6 +12931,7 @@ public interface WinError { // The specified file could not be decrypted. // int ERROR_DECRYPTION_FAILED = 6001; + // // MessageId: ERROR_FILE_ENCRYPTED // @@ -11557,6 +12941,7 @@ public interface WinError { // decrypt it. // int ERROR_FILE_ENCRYPTED = 6002; + // // MessageId: ERROR_NO_RECOVERY_POLICY // @@ -11565,6 +12950,7 @@ public interface WinError { // There is no valid encryption recovery policy configured for this system. // int ERROR_NO_RECOVERY_POLICY = 6003; + // // MessageId: ERROR_NO_EFS // @@ -11573,6 +12959,7 @@ public interface WinError { // The required encryption driver is not loaded for this system. // int ERROR_NO_EFS = 6004; + // // MessageId: ERROR_WRONG_EFS // @@ -11582,6 +12969,7 @@ public interface WinError { // currently loaded. // int ERROR_WRONG_EFS = 6005; + // // MessageId: ERROR_NO_USER_KEYS // @@ -11590,6 +12978,7 @@ public interface WinError { // There are no EFS keys defined for the user. // int ERROR_NO_USER_KEYS = 6006; + // // MessageId: ERROR_FILE_NOT_ENCRYPTED // @@ -11598,6 +12987,7 @@ public interface WinError { // The specified file is not encrypted. // int ERROR_FILE_NOT_ENCRYPTED = 6007; + // // MessageId: ERROR_NOT_EXPORT_FORMAT // @@ -11606,6 +12996,7 @@ public interface WinError { // The specified file is not in the defined EFS export format. // int ERROR_NOT_EXPORT_FORMAT = 6008; + // // MessageId: ERROR_FILE_READ_ONLY // @@ -11614,6 +13005,7 @@ public interface WinError { // The specified file is read only. // int ERROR_FILE_READ_ONLY = 6009; + // // MessageId: ERROR_DIR_EFS_DISALLOWED // @@ -11622,6 +13014,7 @@ public interface WinError { // The directory has been disabled for encryption. // int ERROR_DIR_EFS_DISALLOWED = 6010; + // // MessageId: ERROR_EFS_SERVER_NOT_TRUSTED // @@ -11630,6 +13023,7 @@ public interface WinError { // The server is not trusted for remote encryption operation. // int ERROR_EFS_SERVER_NOT_TRUSTED = 6011; + // // MessageId: ERROR_BAD_RECOVERY_POLICY // @@ -11639,6 +13033,7 @@ public interface WinError { // certificate. // int ERROR_BAD_RECOVERY_POLICY = 6012; + // // MessageId: ERROR_EFS_ALG_BLOB_TOO_BIG // @@ -11648,6 +13043,7 @@ public interface WinError { // buffer than the one on the destination file. // int ERROR_EFS_ALG_BLOB_TOO_BIG = 6013; + // // MessageId: ERROR_VOLUME_NOT_SUPPORT_EFS // @@ -11656,6 +13052,7 @@ public interface WinError { // The disk partition does not support file encryption. // int ERROR_VOLUME_NOT_SUPPORT_EFS = 6014; + // // MessageId: ERROR_EFS_DISABLED // @@ -11664,6 +13061,7 @@ public interface WinError { // This machine is disabled for file encryption. // int ERROR_EFS_DISABLED = 6015; + // // MessageId: ERROR_EFS_VERSION_NOT_SUPPORT // @@ -11672,6 +13070,7 @@ public interface WinError { // A newer system is required to decrypt this encrypted file. // int ERROR_EFS_VERSION_NOT_SUPPORT = 6016; + // // MessageId: ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE // @@ -11681,6 +13080,7 @@ public interface WinError { // Client Side Encryption. // int ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE = 6017; + // // MessageId: ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER // @@ -11690,6 +13090,7 @@ public interface WinError { // it claims to support it. // int ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER = 6018; + // // MessageId: ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE // @@ -11698,6 +13099,7 @@ public interface WinError { // File is encrypted and should be opened in Client Side Encryption mode. // int ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE = 6019; + // // MessageId: ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE // @@ -11706,6 +13108,7 @@ public interface WinError { // A new encrypted file is being created and a $EFS needs to be provided. // int ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE = 6020; + // // MessageId: ERROR_CS_ENCRYPTION_FILE_NOT_CSE // @@ -11714,6 +13117,7 @@ public interface WinError { // The SMB client requested a CSE FSCTL on a non-CSE file. // int ERROR_CS_ENCRYPTION_FILE_NOT_CSE = 6021; + // ///////////////////////////////////////////////// // =// // =BROWSER Error codes=// @@ -11730,6 +13134,7 @@ public interface WinError { // The list of servers for this workgroup is not currently available // int ERROR_NO_BROWSER_SERVERS_FOUND = 6118; + // ///////////////////////////////////////////////// // =// // =Task Scheduler Error codes=// @@ -11747,6 +13152,7 @@ public interface WinError { // in other accounts. // int SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -11767,6 +13173,7 @@ public interface WinError { // Log service encountered an invalid log sector. // int ERROR_LOG_SECTOR_INVALID = 6600; + // // MessageId: ERROR_LOG_SECTOR_PARITY_INVALID // @@ -11775,6 +13182,7 @@ public interface WinError { // Log service encountered a log sector with invalid block parity. // int ERROR_LOG_SECTOR_PARITY_INVALID = 6601; + // // MessageId: ERROR_LOG_SECTOR_REMAPPED // @@ -11783,6 +13191,7 @@ public interface WinError { // Log service encountered a remapped log sector. // int ERROR_LOG_SECTOR_REMAPPED = 6602; + // // MessageId: ERROR_LOG_BLOCK_INCOMPLETE // @@ -11791,6 +13200,7 @@ public interface WinError { // Log service encountered a partial or incomplete log block. // int ERROR_LOG_BLOCK_INCOMPLETE = 6603; + // // MessageId: ERROR_LOG_INVALID_RANGE // @@ -11800,6 +13210,7 @@ public interface WinError { // range. // int ERROR_LOG_INVALID_RANGE = 6604; + // // MessageId: ERROR_LOG_BLOCKS_EXHAUSTED // @@ -11808,6 +13219,7 @@ public interface WinError { // Log service user marshalling buffers are exhausted. // int ERROR_LOG_BLOCKS_EXHAUSTED = 6605; + // // MessageId: ERROR_LOG_READ_CONTEXT_INVALID // @@ -11817,6 +13229,7 @@ public interface WinError { // invalid read context. // int ERROR_LOG_READ_CONTEXT_INVALID = 6606; + // // MessageId: ERROR_LOG_RESTART_INVALID // @@ -11825,6 +13238,7 @@ public interface WinError { // Log service encountered an invalid log restart area. // int ERROR_LOG_RESTART_INVALID = 6607; + // // MessageId: ERROR_LOG_BLOCK_VERSION // @@ -11833,6 +13247,7 @@ public interface WinError { // Log service encountered an invalid log block version. // int ERROR_LOG_BLOCK_VERSION = 6608; + // // MessageId: ERROR_LOG_BLOCK_INVALID // @@ -11841,6 +13256,7 @@ public interface WinError { // Log service encountered an invalid log block. // int ERROR_LOG_BLOCK_INVALID = 6609; + // // MessageId: ERROR_LOG_READ_MODE_INVALID // @@ -11850,6 +13266,7 @@ public interface WinError { // mode. // int ERROR_LOG_READ_MODE_INVALID = 6610; + // // MessageId: ERROR_LOG_NO_RESTART // @@ -11858,6 +13275,7 @@ public interface WinError { // Log service encountered a log stream with no restart area. // int ERROR_LOG_NO_RESTART = 6611; + // // MessageId: ERROR_LOG_METADATA_CORRUPT // @@ -11866,6 +13284,7 @@ public interface WinError { // Log service encountered a corrupted metadata file. // int ERROR_LOG_METADATA_CORRUPT = 6612; + // // MessageId: ERROR_LOG_METADATA_INVALID // @@ -11875,6 +13294,7 @@ public interface WinError { // log file system. // int ERROR_LOG_METADATA_INVALID = 6613; + // // MessageId: ERROR_LOG_METADATA_INCONSISTENT // @@ -11883,6 +13303,7 @@ public interface WinError { // Log service encountered a metadata file with inconsistent data. // int ERROR_LOG_METADATA_INCONSISTENT = 6614; + // // MessageId: ERROR_LOG_RESERVATION_INVALID // @@ -11892,6 +13313,7 @@ public interface WinError { // reservation space. // int ERROR_LOG_RESERVATION_INVALID = 6615; + // // MessageId: ERROR_LOG_CANT_DELETE // @@ -11900,6 +13322,7 @@ public interface WinError { // Log service cannot delete log file or file system container. // int ERROR_LOG_CANT_DELETE = 6616; + // // MessageId: ERROR_LOG_CONTAINER_LIMIT_EXCEEDED // @@ -11909,6 +13332,7 @@ public interface WinError { // log file. // int ERROR_LOG_CONTAINER_LIMIT_EXCEEDED = 6617; + // // MessageId: ERROR_LOG_START_OF_LOG // @@ -11918,6 +13342,7 @@ public interface WinError { // log. // int ERROR_LOG_START_OF_LOG = 6618; + // // MessageId: ERROR_LOG_POLICY_ALREADY_INSTALLED // @@ -11927,6 +13352,7 @@ public interface WinError { // already present. // int ERROR_LOG_POLICY_ALREADY_INSTALLED = 6619; + // // MessageId: ERROR_LOG_POLICY_NOT_INSTALLED // @@ -11935,6 +13361,7 @@ public interface WinError { // Log policy in question was not installed at the time of the request. // int ERROR_LOG_POLICY_NOT_INSTALLED = 6620; + // // MessageId: ERROR_LOG_POLICY_INVALID // @@ -11943,6 +13370,7 @@ public interface WinError { // The installed set of policies on the log is invalid. // int ERROR_LOG_POLICY_INVALID = 6621; + // // MessageId: ERROR_LOG_POLICY_CONFLICT // @@ -11951,6 +13379,7 @@ public interface WinError { // A policy on the log in question prevented the operation from completing. // int ERROR_LOG_POLICY_CONFLICT = 6622; + // // MessageId: ERROR_LOG_PINNED_ARCHIVE_TAIL // @@ -11960,6 +13389,7 @@ public interface WinError { // tail. // int ERROR_LOG_PINNED_ARCHIVE_TAIL = 6623; + // // MessageId: ERROR_LOG_RECORD_NONEXISTENT // @@ -11968,6 +13398,7 @@ public interface WinError { // Log record is not a record in the log file. // int ERROR_LOG_RECORD_NONEXISTENT = 6624; + // // MessageId: ERROR_LOG_RECORDS_RESERVED_INVALID // @@ -11977,6 +13408,7 @@ public interface WinError { // reserved log records is invalid. // int ERROR_LOG_RECORDS_RESERVED_INVALID = 6625; + // // MessageId: ERROR_LOG_SPACE_RESERVED_INVALID // @@ -11985,6 +13417,7 @@ public interface WinError { // Reserved log space or the adjustment of the log space is invalid. // int ERROR_LOG_SPACE_RESERVED_INVALID = 6626; + // // MessageId: ERROR_LOG_TAIL_INVALID // @@ -11993,6 +13426,7 @@ public interface WinError { // An new or existing archive tail or base of the active log is invalid. // int ERROR_LOG_TAIL_INVALID = 6627; + // // MessageId: ERROR_LOG_FULL // @@ -12001,6 +13435,7 @@ public interface WinError { // Log space is exhausted. // int ERROR_LOG_FULL = 6628; + // // MessageId: ERROR_COULD_NOT_RESIZE_LOG // @@ -12009,6 +13444,7 @@ public interface WinError { // The log could not be set to the requested size. // int ERROR_COULD_NOT_RESIZE_LOG = 6629; + // // MessageId: ERROR_LOG_MULTIPLEXED // @@ -12017,6 +13453,7 @@ public interface WinError { // Log is multiplexed, no direct writes to the physical log is allowed. // int ERROR_LOG_MULTIPLEXED = 6630; + // // MessageId: ERROR_LOG_DEDICATED // @@ -12025,6 +13462,7 @@ public interface WinError { // The operation failed because the log is a dedicated log. // int ERROR_LOG_DEDICATED = 6631; + // // MessageId: ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS // @@ -12033,6 +13471,7 @@ public interface WinError { // The operation requires an archive context. // int ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS = 6632; + // // MessageId: ERROR_LOG_ARCHIVE_IN_PROGRESS // @@ -12041,6 +13480,7 @@ public interface WinError { // Log archival is in progress. // int ERROR_LOG_ARCHIVE_IN_PROGRESS = 6633; + // // MessageId: ERROR_LOG_EPHEMERAL // @@ -12049,6 +13489,7 @@ public interface WinError { // The operation requires a non-ephemeral log, but the log is ephemeral. // int ERROR_LOG_EPHEMERAL = 6634; + // // MessageId: ERROR_LOG_NOT_ENOUGH_CONTAINERS // @@ -12058,6 +13499,7 @@ public interface WinError { // written to. // int ERROR_LOG_NOT_ENOUGH_CONTAINERS = 6635; + // // MessageId: ERROR_LOG_CLIENT_ALREADY_REGISTERED // @@ -12066,6 +13508,7 @@ public interface WinError { // A log client has already registered on the stream. // int ERROR_LOG_CLIENT_ALREADY_REGISTERED = 6636; + // // MessageId: ERROR_LOG_CLIENT_NOT_REGISTERED // @@ -12074,6 +13517,7 @@ public interface WinError { // A log client has not been registered on the stream. // int ERROR_LOG_CLIENT_NOT_REGISTERED = 6637; + // // MessageId: ERROR_LOG_FULL_HANDLER_IN_PROGRESS // @@ -12082,6 +13526,7 @@ public interface WinError { // A request has already been made to handle the log full condition. // int ERROR_LOG_FULL_HANDLER_IN_PROGRESS = 6638; + // // MessageId: ERROR_LOG_CONTAINER_READ_FAILED // @@ -12091,6 +13536,7 @@ public interface WinError { // container. // int ERROR_LOG_CONTAINER_READ_FAILED = 6639; + // // MessageId: ERROR_LOG_CONTAINER_WRITE_FAILED // @@ -12100,6 +13546,7 @@ public interface WinError { // container. // int ERROR_LOG_CONTAINER_WRITE_FAILED = 6640; + // // MessageId: ERROR_LOG_CONTAINER_OPEN_FAILED // @@ -12108,6 +13555,7 @@ public interface WinError { // Log service enountered an error when attempting open a log container. // int ERROR_LOG_CONTAINER_OPEN_FAILED = 6641; + // // MessageId: ERROR_LOG_CONTAINER_STATE_INVALID // @@ -12117,6 +13565,7 @@ public interface WinError { // requested action. // int ERROR_LOG_CONTAINER_STATE_INVALID = 6642; + // // MessageId: ERROR_LOG_STATE_INVALID // @@ -12125,6 +13574,7 @@ public interface WinError { // Log service is not in the correct state to perform a requested action. // int ERROR_LOG_STATE_INVALID = 6643; + // // MessageId: ERROR_LOG_PINNED // @@ -12133,6 +13583,7 @@ public interface WinError { // Log space cannot be reclaimed because the log is pinned. // int ERROR_LOG_PINNED = 6644; + // // MessageId: ERROR_LOG_METADATA_FLUSH_FAILED // @@ -12141,6 +13592,7 @@ public interface WinError { // Log metadata flush failed. // int ERROR_LOG_METADATA_FLUSH_FAILED = 6645; + // // MessageId: ERROR_LOG_INCONSISTENT_SECURITY // @@ -12149,6 +13601,7 @@ public interface WinError { // Security on the log and its containers is inconsistent. // int ERROR_LOG_INCONSISTENT_SECURITY = 6646; + // // MessageId: ERROR_LOG_APPENDED_FLUSH_FAILED // @@ -12158,6 +13611,7 @@ public interface WinError { // the log could not be flushed. // int ERROR_LOG_APPENDED_FLUSH_FAILED = 6647; + // // MessageId: ERROR_LOG_PINNED_RESERVATION // @@ -12167,6 +13621,7 @@ public interface WinError { // Free some reserved records to make space available. // int ERROR_LOG_PINNED_RESERVATION = 6648; + // ///////////////////////////////////////////////// // =// // =Transaction (KTM) Error codes // @@ -12181,6 +13636,7 @@ public interface WinError { // The transaction handle associated with this operation is not valid. // int ERROR_INVALID_TRANSACTION = 6700; + // // MessageId: ERROR_TRANSACTION_NOT_ACTIVE // @@ -12190,6 +13646,7 @@ public interface WinError { // no longer active. // int ERROR_TRANSACTION_NOT_ACTIVE = 6701; + // // MessageId: ERROR_TRANSACTION_REQUEST_NOT_VALID // @@ -12199,6 +13656,7 @@ public interface WinError { // current state. // int ERROR_TRANSACTION_REQUEST_NOT_VALID = 6702; + // // MessageId: ERROR_TRANSACTION_NOT_REQUESTED // @@ -12208,6 +13666,7 @@ public interface WinError { // because the TM did not issue the corresponding request to the caller. // int ERROR_TRANSACTION_NOT_REQUESTED = 6703; + // // MessageId: ERROR_TRANSACTION_ALREADY_ABORTED // @@ -12217,6 +13676,7 @@ public interface WinError { // has already been aborted. // int ERROR_TRANSACTION_ALREADY_ABORTED = 6704; + // // MessageId: ERROR_TRANSACTION_ALREADY_COMMITTED // @@ -12226,6 +13686,7 @@ public interface WinError { // has already been committed. // int ERROR_TRANSACTION_ALREADY_COMMITTED = 6705; + // // MessageId: ERROR_TM_INITIALIZATION_FAILED // @@ -12235,6 +13696,7 @@ public interface WinError { // Transacted operations are not supported. // int ERROR_TM_INITIALIZATION_FAILED = 6706; + // // MessageId: ERROR_RESOURCEMANAGER_READ_ONLY // @@ -12244,6 +13706,7 @@ public interface WinError { // under this transaction. // int ERROR_RESOURCEMANAGER_READ_ONLY = 6707; + // // MessageId: ERROR_TRANSACTION_NOT_JOINED // @@ -12253,6 +13716,7 @@ public interface WinError { // not successfully joined. // int ERROR_TRANSACTION_NOT_JOINED = 6708; + // // MessageId: ERROR_TRANSACTION_SUPERIOR_EXISTS // @@ -12263,6 +13727,7 @@ public interface WinError { // single superior enlistment is allow. // int ERROR_TRANSACTION_SUPERIOR_EXISTS = 6709; + // // MessageId: ERROR_CRM_PROTOCOL_ALREADY_EXISTS // @@ -12271,6 +13736,7 @@ public interface WinError { // The RM tried to register a protocol that already exists. // int ERROR_CRM_PROTOCOL_ALREADY_EXISTS = 6710; + // // MessageId: ERROR_TRANSACTION_PROPAGATION_FAILED // @@ -12279,6 +13745,7 @@ public interface WinError { // The attempt to propagate the Transaction failed. // int ERROR_TRANSACTION_PROPAGATION_FAILED = 6711; + // // MessageId: ERROR_CRM_PROTOCOL_NOT_FOUND // @@ -12287,6 +13754,7 @@ public interface WinError { // The requested propagation protocol was not registered as a CRM. // int ERROR_CRM_PROTOCOL_NOT_FOUND = 6712; + // // MessageId: ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER // @@ -12296,6 +13764,7 @@ public interface WinError { // valid format. // int ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER = 6713; + // // MessageId: ERROR_CURRENT_TRANSACTION_NOT_VALID // @@ -12305,6 +13774,7 @@ public interface WinError { // handle to a transaction object. // int ERROR_CURRENT_TRANSACTION_NOT_VALID = 6714; + // // MessageId: ERROR_TRANSACTION_NOT_FOUND // @@ -12314,6 +13784,7 @@ public interface WinError { // found. // int ERROR_TRANSACTION_NOT_FOUND = 6715; + // // MessageId: ERROR_RESOURCEMANAGER_NOT_FOUND // @@ -12323,6 +13794,7 @@ public interface WinError { // not found. // int ERROR_RESOURCEMANAGER_NOT_FOUND = 6716; + // // MessageId: ERROR_ENLISTMENT_NOT_FOUND // @@ -12332,6 +13804,7 @@ public interface WinError { // found. // int ERROR_ENLISTMENT_NOT_FOUND = 6717; + // // MessageId: ERROR_TRANSACTIONMANAGER_NOT_FOUND // @@ -12341,6 +13814,7 @@ public interface WinError { // was not found. // int ERROR_TRANSACTIONMANAGER_NOT_FOUND = 6718; + // // MessageId: ERROR_TRANSACTIONMANAGER_NOT_ONLINE // @@ -12350,6 +13824,7 @@ public interface WinError { // its associated TransactionManager is not online. // int ERROR_TRANSACTIONMANAGER_NOT_ONLINE = 6719; + // // MessageId: ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION // @@ -12360,6 +13835,7 @@ public interface WinError { // TransactionManager was unable to recover. // int ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION = 6720; + // // MessageId: ERROR_TRANSACTION_NOT_ROOT // @@ -12371,6 +13847,7 @@ public interface WinError { // the Transactoin can be enlisted on as a superior. // int ERROR_TRANSACTION_NOT_ROOT = 6721; + // // MessageId: ERROR_TRANSACTION_OBJECT_EXPIRED // @@ -12380,6 +13857,7 @@ public interface WinError { // closed, the handle is no longer valid. // int ERROR_TRANSACTION_OBJECT_EXPIRED = 6722; + // // MessageId: ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED // @@ -12390,6 +13868,7 @@ public interface WinError { // completion response in the NotificationMask. // int ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED = 6723; + // // MessageId: ERROR_TRANSACTION_RECORD_TOO_LONG // @@ -12402,6 +13881,7 @@ public interface WinError { // is too long. // int ERROR_TRANSACTION_RECORD_TOO_LONG = 6724; + // // MessageId: ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED // @@ -12410,6 +13890,7 @@ public interface WinError { // Implicit transaction are not supported. // int ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED = 6725; + // // MessageId: ERROR_TRANSACTION_INTEGRITY_VIOLATED // @@ -12419,6 +13900,7 @@ public interface WinError { // because it blocked forward progress. // int ERROR_TRANSACTION_INTEGRITY_VIOLATED = 6726; + // ///////////////////////////////////////////////// // =// // =Transactional File Services (TxF) // @@ -12435,6 +13917,7 @@ public interface WinError { // transaction. // int ERROR_TRANSACTIONAL_CONFLICT = 6800; + // // MessageId: ERROR_RM_NOT_ACTIVE // @@ -12444,6 +13927,7 @@ public interface WinError { // not started or was shutdown due to an error. // int ERROR_RM_NOT_ACTIVE = 6801; + // // MessageId: ERROR_RM_METADATA_CORRUPT // @@ -12452,6 +13936,7 @@ public interface WinError { // The metadata of the RM has been corrupted. The RM will not function. // int ERROR_RM_METADATA_CORRUPT = 6802; + // // MessageId: ERROR_DIRECTORY_NOT_RM // @@ -12460,6 +13945,7 @@ public interface WinError { // The specified directory does not contain a resource manager. // int ERROR_DIRECTORY_NOT_RM = 6803; + // // MessageId: ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE // @@ -12468,6 +13954,7 @@ public interface WinError { // The remote server or share does not support transacted file operations. // int ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE = 6805; + // // MessageId: ERROR_LOG_RESIZE_INVALID_SIZE // @@ -12476,6 +13963,7 @@ public interface WinError { // The requested log size is invalid. // int ERROR_LOG_RESIZE_INVALID_SIZE = 6806; + // // MessageId: ERROR_OBJECT_NO_LONGER_EXISTS // @@ -12485,6 +13973,7 @@ public interface WinError { // deleted by a Transaction Savepoint Rollback. // int ERROR_OBJECT_NO_LONGER_EXISTS = 6807; + // // MessageId: ERROR_STREAM_MINIVERSION_NOT_FOUND // @@ -12494,6 +13983,7 @@ public interface WinError { // open. // int ERROR_STREAM_MINIVERSION_NOT_FOUND = 6808; + // // MessageId: ERROR_STREAM_MINIVERSION_NOT_VALID // @@ -12503,6 +13993,7 @@ public interface WinError { // likely cause is a transaction savepoint rollback. // int ERROR_STREAM_MINIVERSION_NOT_VALID = 6809; + // // MessageId: ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION // @@ -12512,6 +14003,7 @@ public interface WinError { // created it. // int ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION = 6810; + // // MessageId: ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT // @@ -12520,6 +14012,7 @@ public interface WinError { // It is not possible to open a miniversion with modify access. // int ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT = 6811; + // // MessageId: ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS // @@ -12528,6 +14021,7 @@ public interface WinError { // It is not possible to create any more miniversions for this stream. // int ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS = 6812; + // // MessageId: ERROR_REMOTE_FILE_VERSION_MISMATCH // @@ -12537,6 +14031,7 @@ public interface WinError { // opened with transactions. // int ERROR_REMOTE_FILE_VERSION_MISMATCH = 6814; + // // MessageId: ERROR_HANDLE_NO_LONGER_VALID // @@ -12547,6 +14042,7 @@ public interface WinError { // transaction ended or rolled back to savepoint. // int ERROR_HANDLE_NO_LONGER_VALID = 6815; + // // MessageId: ERROR_NO_TXF_METADATA // @@ -12555,6 +14051,7 @@ public interface WinError { // There is no transaction metadata on the file. // int ERROR_NO_TXF_METADATA = 6816; + // // MessageId: ERROR_LOG_CORRUPTION_DETECTED // @@ -12563,6 +14060,7 @@ public interface WinError { // The log data is corrupt. // int ERROR_LOG_CORRUPTION_DETECTED = 6817; + // // MessageId: ERROR_CANT_RECOVER_WITH_HANDLE_OPEN // @@ -12571,6 +14069,7 @@ public interface WinError { // The file can't be recovered because there is a handle still open on it. // int ERROR_CANT_RECOVER_WITH_HANDLE_OPEN = 6818; + // // MessageId: ERROR_RM_DISCONNECTED // @@ -12580,6 +14079,7 @@ public interface WinError { // responsible for it has disconnected. // int ERROR_RM_DISCONNECTED = 6819; + // // MessageId: ERROR_ENLISTMENT_NOT_SUPERIOR // @@ -12589,6 +14089,7 @@ public interface WinError { // superior enlistment. // int ERROR_ENLISTMENT_NOT_SUPERIOR = 6820; + // // MessageId: ERROR_RECOVERY_NOT_NEEDED // @@ -12598,6 +14099,7 @@ public interface WinError { // needed. // int ERROR_RECOVERY_NOT_NEEDED = 6821; + // // MessageId: ERROR_RM_ALREADY_STARTED // @@ -12606,6 +14108,7 @@ public interface WinError { // The transactional resource manager has already been started. // int ERROR_RM_ALREADY_STARTED = 6822; + // // MessageId: ERROR_FILE_IDENTITY_NOT_PERSISTENT // @@ -12615,6 +14118,7 @@ public interface WinError { // on the outcome of an unresolved transaction. // int ERROR_FILE_IDENTITY_NOT_PERSISTENT = 6823; + // // MessageId: ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY // @@ -12624,6 +14128,7 @@ public interface WinError { // depending on the fact that this property will not change. // int ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY = 6824; + // // MessageId: ERROR_CANT_CROSS_RM_BOUNDARY // @@ -12633,6 +14138,7 @@ public interface WinError { // managers and is therefore not allowed. // int ERROR_CANT_CROSS_RM_BOUNDARY = 6825; + // // MessageId: ERROR_TXF_DIR_NOT_EMPTY // @@ -12641,6 +14147,7 @@ public interface WinError { // The $Txf directory must be empty for this operation to succeed. // int ERROR_TXF_DIR_NOT_EMPTY = 6826; + // // MessageId: ERROR_INDOUBT_TRANSACTIONS_EXIST // @@ -12650,6 +14157,7 @@ public interface WinError { // inconsistent state and is therefore not allowed. // int ERROR_INDOUBT_TRANSACTIONS_EXIST = 6827; + // // MessageId: ERROR_TM_VOLATILE // @@ -12659,6 +14167,7 @@ public interface WinError { // not have a log. // int ERROR_TM_VOLATILE = 6828; + // // MessageId: ERROR_ROLLBACK_TIMER_EXPIRED // @@ -12668,6 +14177,7 @@ public interface WinError { // has already executed or been queued for execution. // int ERROR_ROLLBACK_TIMER_EXPIRED = 6829; + // // MessageId: ERROR_TXF_ATTRIBUTE_CORRUPT // @@ -12677,6 +14187,7 @@ public interface WinError { // and unreadable. // int ERROR_TXF_ATTRIBUTE_CORRUPT = 6830; + // // MessageId: ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION // @@ -12686,6 +14197,7 @@ public interface WinError { // active. // int ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION = 6831; + // // MessageId: ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED // @@ -12694,6 +14206,7 @@ public interface WinError { // This object is not allowed to be opened in a transaction. // int ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED = 6832; + // // MessageId: ERROR_LOG_GROWTH_FAILED // @@ -12703,6 +14216,7 @@ public interface WinError { // failed. The failure status has been recorded in the event log. // int ERROR_LOG_GROWTH_FAILED = 6833; + // // MessageId: ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE // @@ -12712,6 +14226,7 @@ public interface WinError { // transaction is not supported. // int ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE = 6834; + // // MessageId: ERROR_TXF_METADATA_ALREADY_PRESENT // @@ -12721,6 +14236,7 @@ public interface WinError { // superseded. // int ERROR_TXF_METADATA_ALREADY_PRESENT = 6835; + // // MessageId: ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET // @@ -12730,6 +14246,7 @@ public interface WinError { // not been initialized. // int ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET = 6836; + // // MessageId: ERROR_TRANSACTION_REQUIRED_PROMOTION // @@ -12739,6 +14256,7 @@ public interface WinError { // but the transaction was set to disallow it. // int ERROR_TRANSACTION_REQUIRED_PROMOTION = 6837; + // // MessageId: ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION // @@ -12748,6 +14266,7 @@ public interface WinError { // be opened for execute only by a transacted reader. // int ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION = 6838; + // // MessageId: ERROR_TRANSACTIONS_NOT_FROZEN // @@ -12757,6 +14276,7 @@ public interface WinError { // had not previously been frozen. // int ERROR_TRANSACTIONS_NOT_FROZEN = 6839; + // // MessageId: ERROR_TRANSACTION_FREEZE_IN_PROGRESS // @@ -12765,6 +14285,7 @@ public interface WinError { // Transactions cannot be frozen because a freeze is already in progress. // int ERROR_TRANSACTION_FREEZE_IN_PROGRESS = 6840; + // // MessageId: ERROR_NOT_SNAPSHOT_VOLUME // @@ -12774,6 +14295,7 @@ public interface WinError { // on a volume mounted as a snapshot. // int ERROR_NOT_SNAPSHOT_VOLUME = 6841; + // // MessageId: ERROR_NO_SAVEPOINT_WITH_OPEN_FILES // @@ -12783,6 +14305,7 @@ public interface WinError { // This is not permitted. // int ERROR_NO_SAVEPOINT_WITH_OPEN_FILES = 6842; + // // MessageId: ERROR_DATA_LOST_REPAIR // @@ -12792,6 +14315,7 @@ public interface WinError { // repaired. Data loss may have occurred. // int ERROR_DATA_LOST_REPAIR = 6843; + // // MessageId: ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION // @@ -12801,6 +14325,7 @@ public interface WinError { // active on the file. // int ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION = 6844; + // // MessageId: ERROR_TM_IDENTITY_MISMATCH // @@ -12811,6 +14336,7 @@ public interface WinError { // passed in as an argument. // int ERROR_TM_IDENTITY_MISMATCH = 6845; + // // MessageId: ERROR_FLOATED_SECTION // @@ -12820,6 +14346,7 @@ public interface WinError { // of a transaction ending. There is no valid data. // int ERROR_FLOATED_SECTION = 6846; + // // MessageId: ERROR_CANNOT_ACCEPT_TRANSACTED_WORK // @@ -12829,6 +14356,7 @@ public interface WinError { // work due to a transient condition such as low resources. // int ERROR_CANNOT_ACCEPT_TRANSACTED_WORK = 6847; + // // MessageId: ERROR_CANNOT_ABORT_TRANSACTIONS // @@ -12839,6 +14367,7 @@ public interface WinError { // shut down. // int ERROR_CANNOT_ABORT_TRANSACTIONS = 6848; + // // MessageId: ERROR_BAD_CLUSTERS // @@ -12847,6 +14376,7 @@ public interface WinError { // The operation could not be completed due to bad clusters on disk. // int ERROR_BAD_CLUSTERS = 6849; + // // MessageId: ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION // @@ -12856,6 +14386,7 @@ public interface WinError { // active on the file. // int ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION = 6850; + // // MessageId: ERROR_VOLUME_DIRTY // @@ -12865,6 +14396,7 @@ public interface WinError { // run chkdsk and try again. // int ERROR_VOLUME_DIRTY = 6851; + // // MessageId: ERROR_NO_LINK_TRACKING_IN_TRANSACTION // @@ -12874,6 +14406,7 @@ public interface WinError { // is active. // int ERROR_NO_LINK_TRACKING_IN_TRANSACTION = 6852; + // // MessageId: ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION // @@ -12882,6 +14415,7 @@ public interface WinError { // This operation cannot be performed in a transaction. // int ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION = 6853; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -12902,6 +14436,7 @@ public interface WinError { // The specified session name is invalid. // int ERROR_CTX_WINSTATION_NAME_INVALID = 7001; + // // MessageId: ERROR_CTX_INVALID_PD // @@ -12910,6 +14445,7 @@ public interface WinError { // The specified protocol driver is invalid. // int ERROR_CTX_INVALID_PD = 7002; + // // MessageId: ERROR_CTX_PD_NOT_FOUND // @@ -12918,6 +14454,7 @@ public interface WinError { // The specified protocol driver was not found in the system path. // int ERROR_CTX_PD_NOT_FOUND = 7003; + // // MessageId: ERROR_CTX_WD_NOT_FOUND // @@ -12927,6 +14464,7 @@ public interface WinError { // path. // int ERROR_CTX_WD_NOT_FOUND = 7004; + // // MessageId: ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY // @@ -12935,6 +14473,7 @@ public interface WinError { // A registry key for event logging could not be created for this session. // int ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005; + // // MessageId: ERROR_CTX_SERVICE_NAME_COLLISION // @@ -12943,6 +14482,7 @@ public interface WinError { // A service with the same name already exists on the system. // int ERROR_CTX_SERVICE_NAME_COLLISION = 7006; + // // MessageId: ERROR_CTX_CLOSE_PENDING // @@ -12951,6 +14491,7 @@ public interface WinError { // A close operation is pending on the session. // int ERROR_CTX_CLOSE_PENDING = 7007; + // // MessageId: ERROR_CTX_NO_OUTBUF // @@ -12959,6 +14500,7 @@ public interface WinError { // There are no free output buffers available. // int ERROR_CTX_NO_OUTBUF = 7008; + // // MessageId: ERROR_CTX_MODEM_INF_NOT_FOUND // @@ -12967,6 +14509,7 @@ public interface WinError { // The MODEM.INF file was not found. // int ERROR_CTX_MODEM_INF_NOT_FOUND = 7009; + // // MessageId: ERROR_CTX_INVALID_MODEMNAME // @@ -12975,6 +14518,7 @@ public interface WinError { // The modem name was not found in MODEM.INF. // int ERROR_CTX_INVALID_MODEMNAME = 7010; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_ERROR // @@ -12984,6 +14528,7 @@ public interface WinError { // configured modem name matches the attached modem. // int ERROR_CTX_MODEM_RESPONSE_ERROR = 7011; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_TIMEOUT // @@ -12993,6 +14538,7 @@ public interface WinError { // modem is properly cabled and powered on. // int ERROR_CTX_MODEM_RESPONSE_TIMEOUT = 7012; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_NO_CARRIER // @@ -13001,6 +14547,7 @@ public interface WinError { // Carrier detect has failed or carrier has been dropped due to disconnect. // int ERROR_CTX_MODEM_RESPONSE_NO_CARRIER = 7013; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE // @@ -13010,6 +14557,7 @@ public interface WinError { // cable is properly attached and functional. // int ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_BUSY // @@ -13018,6 +14566,7 @@ public interface WinError { // Busy signal detected at remote site on callback. // int ERROR_CTX_MODEM_RESPONSE_BUSY = 7015; + // // MessageId: ERROR_CTX_MODEM_RESPONSE_VOICE // @@ -13026,6 +14575,7 @@ public interface WinError { // Voice detected at remote site on callback. // int ERROR_CTX_MODEM_RESPONSE_VOICE = 7016; + // // MessageId: ERROR_CTX_TD_ERROR // @@ -13034,6 +14584,7 @@ public interface WinError { // Transport driver error // int ERROR_CTX_TD_ERROR = 7017; + // // MessageId: ERROR_CTX_WINSTATION_NOT_FOUND // @@ -13042,6 +14593,7 @@ public interface WinError { // The specified session cannot be found. // int ERROR_CTX_WINSTATION_NOT_FOUND = 7022; + // // MessageId: ERROR_CTX_WINSTATION_ALREADY_EXISTS // @@ -13050,6 +14602,7 @@ public interface WinError { // The specified session name is already in use. // int ERROR_CTX_WINSTATION_ALREADY_EXISTS = 7023; + // // MessageId: ERROR_CTX_WINSTATION_BUSY // @@ -13060,6 +14613,7 @@ public interface WinError { // delete operation. // int ERROR_CTX_WINSTATION_BUSY = 7024; + // // MessageId: ERROR_CTX_BAD_VIDEO_MODE // @@ -13069,6 +14623,7 @@ public interface WinError { // supported by the current client. // int ERROR_CTX_BAD_VIDEO_MODE = 7025; + // // MessageId: ERROR_CTX_GRAPHICS_INVALID // @@ -13078,6 +14633,7 @@ public interface WinError { // DOS graphics mode is not supported. // int ERROR_CTX_GRAPHICS_INVALID = 7035; + // // MessageId: ERROR_CTX_LOGON_DISABLED // @@ -13087,6 +14643,7 @@ public interface WinError { // Please contact your administrator. // int ERROR_CTX_LOGON_DISABLED = 7037; + // // MessageId: ERROR_CTX_NOT_CONSOLE // @@ -13097,6 +14654,7 @@ public interface WinError { // console access. // int ERROR_CTX_NOT_CONSOLE = 7038; + // // MessageId: ERROR_CTX_CLIENT_QUERY_TIMEOUT // @@ -13105,6 +14663,7 @@ public interface WinError { // The client failed to respond to the server connect message. // int ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040; + // // MessageId: ERROR_CTX_CONSOLE_DISCONNECT // @@ -13113,6 +14672,7 @@ public interface WinError { // Disconnecting the console session is not supported. // int ERROR_CTX_CONSOLE_DISCONNECT = 7041; + // // MessageId: ERROR_CTX_CONSOLE_CONNECT // @@ -13121,6 +14681,7 @@ public interface WinError { // Reconnecting a disconnected session to the console is not supported. // int ERROR_CTX_CONSOLE_CONNECT = 7042; + // // MessageId: ERROR_CTX_SHADOW_DENIED // @@ -13129,6 +14690,7 @@ public interface WinError { // The request to control another session remotely was denied. // int ERROR_CTX_SHADOW_DENIED = 7044; + // // MessageId: ERROR_CTX_WINSTATION_ACCESS_DENIED // @@ -13137,6 +14699,7 @@ public interface WinError { // The requested session access is denied. // int ERROR_CTX_WINSTATION_ACCESS_DENIED = 7045; + // // MessageId: ERROR_CTX_INVALID_WD // @@ -13145,6 +14708,7 @@ public interface WinError { // The specified terminal connection driver is invalid. // int ERROR_CTX_INVALID_WD = 7049; + // // MessageId: ERROR_CTX_SHADOW_INVALID // @@ -13155,6 +14719,7 @@ public interface WinError { // have a user logged on. // int ERROR_CTX_SHADOW_INVALID = 7050; + // // MessageId: ERROR_CTX_SHADOW_DISABLED // @@ -13163,6 +14728,7 @@ public interface WinError { // The requested session is not configured to allow remote control. // int ERROR_CTX_SHADOW_DISABLED = 7051; + // // MessageId: ERROR_CTX_CLIENT_LICENSE_IN_USE // @@ -13174,6 +14740,7 @@ public interface WinError { // Please call your system administrator to obtain a unique license number. // int ERROR_CTX_CLIENT_LICENSE_IN_USE = 7052; + // // MessageId: ERROR_CTX_CLIENT_LICENSE_NOT_SET // @@ -13185,6 +14752,7 @@ public interface WinError { // Please contact your system administrator. // int ERROR_CTX_CLIENT_LICENSE_NOT_SET = 7053; + // // MessageId: ERROR_CTX_LICENSE_NOT_AVAILABLE // @@ -13195,6 +14763,7 @@ public interface WinError { // Try connecting later or contact your system administrator. // int ERROR_CTX_LICENSE_NOT_AVAILABLE = 7054; + // // MessageId: ERROR_CTX_LICENSE_CLIENT_INVALID // @@ -13204,6 +14773,7 @@ public interface WinError { // request is denied. // int ERROR_CTX_LICENSE_CLIENT_INVALID = 7055; + // // MessageId: ERROR_CTX_LICENSE_EXPIRED // @@ -13212,6 +14782,7 @@ public interface WinError { // The system license has expired. Your logon request is denied. // int ERROR_CTX_LICENSE_EXPIRED = 7056; + // // MessageId: ERROR_CTX_SHADOW_NOT_RUNNING // @@ -13221,6 +14792,7 @@ public interface WinError { // not currently being remotely controlled. // int ERROR_CTX_SHADOW_NOT_RUNNING = 7057; + // // MessageId: ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE // @@ -13231,6 +14803,7 @@ public interface WinError { // supported. // int ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 7058; + // // MessageId: ERROR_ACTIVATION_COUNT_EXCEEDED // @@ -13240,6 +14813,7 @@ public interface WinError { // installation. Your activation timer will not be cleared. // int ERROR_ACTIVATION_COUNT_EXCEEDED = 7059; + // // MessageId: ERROR_CTX_WINSTATIONS_DISABLED // @@ -13248,6 +14822,7 @@ public interface WinError { // Remote logins are currently disabled. // int ERROR_CTX_WINSTATIONS_DISABLED = 7060; + // // MessageId: ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED // @@ -13256,6 +14831,7 @@ public interface WinError { // You do not have the proper encryption level to access this Session. // int ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED = 7061; + // // MessageId: ERROR_CTX_SESSION_IN_USE // @@ -13265,6 +14841,7 @@ public interface WinError { // user or an administrator can log on to this computer. // int ERROR_CTX_SESSION_IN_USE = 7062; + // // MessageId: ERROR_CTX_NO_FORCE_LOGOFF // @@ -13275,6 +14852,7 @@ public interface WinError { // contact %s\\%s and have them log off. // int ERROR_CTX_NO_FORCE_LOGOFF = 7063; + // // MessageId: ERROR_CTX_ACCOUNT_RESTRICTION // @@ -13283,6 +14861,7 @@ public interface WinError { // Unable to log you on because of an account restriction. // int ERROR_CTX_ACCOUNT_RESTRICTION = 7064; + // // MessageId: ERROR_RDP_PROTOCOL_ERROR // @@ -13292,6 +14871,7 @@ public interface WinError { // and has disconnected the client. // int ERROR_RDP_PROTOCOL_ERROR = 7065; + // // MessageId: ERROR_CTX_CDM_CONNECT // @@ -13300,6 +14880,7 @@ public interface WinError { // The Client Drive Mapping Service Has Connected on Terminal Connection. // int ERROR_CTX_CDM_CONNECT = 7066; + // // MessageId: ERROR_CTX_CDM_DISCONNECT // @@ -13308,6 +14889,7 @@ public interface WinError { // The Client Drive Mapping Service Has Disconnected on Terminal Connection. // int ERROR_CTX_CDM_DISCONNECT = 7067; + // // MessageId: ERROR_CTX_SECURITY_LAYER_ERROR // @@ -13317,6 +14899,7 @@ public interface WinError { // stream and has disconnected the client. // int ERROR_CTX_SECURITY_LAYER_ERROR = 7068; + // // MessageId: ERROR_TS_INCOMPATIBLE_SESSIONS // @@ -13325,6 +14908,7 @@ public interface WinError { // The target session is incompatible with the current session. // int ERROR_TS_INCOMPATIBLE_SESSIONS = 7069; + // ///////////////////////////////////////////////// // =// // =Available=// @@ -13356,6 +14940,7 @@ public interface WinError { // The file replication service API was called incorrectly. // int FRS_ERR_INVALID_API_SEQUENCE = 8001; + // // MessageId: FRS_ERR_STARTING_SERVICE // @@ -13364,6 +14949,7 @@ public interface WinError { // The file replication service cannot be started. // int FRS_ERR_STARTING_SERVICE = 8002; + // // MessageId: FRS_ERR_STOPPING_SERVICE // @@ -13372,6 +14958,7 @@ public interface WinError { // The file replication service cannot be stopped. // int FRS_ERR_STOPPING_SERVICE = 8003; + // // MessageId: FRS_ERR_INTERNAL_API // @@ -13381,6 +14968,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_INTERNAL_API = 8004; + // // MessageId: FRS_ERR_INTERNAL // @@ -13390,6 +14978,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_INTERNAL = 8005; + // // MessageId: FRS_ERR_SERVICE_COMM // @@ -13399,6 +14988,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_SERVICE_COMM = 8006; + // // MessageId: FRS_ERR_INSUFFICIENT_PRIV // @@ -13409,6 +14999,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_INSUFFICIENT_PRIV = 8007; + // // MessageId: FRS_ERR_AUTHENTICATION // @@ -13419,6 +15010,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_AUTHENTICATION = 8008; + // // MessageId: FRS_ERR_PARENT_INSUFFICIENT_PRIV // @@ -13429,6 +15021,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_PARENT_INSUFFICIENT_PRIV = 8009; + // // MessageId: FRS_ERR_PARENT_AUTHENTICATION // @@ -13439,6 +15032,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_PARENT_AUTHENTICATION = 8010; + // // MessageId: FRS_ERR_CHILD_TO_PARENT_COMM // @@ -13449,6 +15043,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_CHILD_TO_PARENT_COMM = 8011; + // // MessageId: FRS_ERR_PARENT_TO_CHILD_COMM // @@ -13459,6 +15054,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_PARENT_TO_CHILD_COMM = 8012; + // // MessageId: FRS_ERR_SYSVOL_POPULATE // @@ -13469,6 +15065,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_SYSVOL_POPULATE = 8013; + // // MessageId: FRS_ERR_SYSVOL_POPULATE_TIMEOUT // @@ -13479,6 +15076,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 8014; + // // MessageId: FRS_ERR_SYSVOL_IS_BUSY // @@ -13488,6 +15086,7 @@ public interface WinError { // volume is busy with a previous request. // int FRS_ERR_SYSVOL_IS_BUSY = 8015; + // // MessageId: FRS_ERR_SYSVOL_DEMOTE // @@ -13498,6 +15097,7 @@ public interface WinError { // The event log may have more information. // int FRS_ERR_SYSVOL_DEMOTE = 8016; + // // MessageId: FRS_ERR_INVALID_SERVICE_PARAMETER // @@ -13506,10 +15106,12 @@ public interface WinError { // The file replication service detected an invalid parameter. // int FRS_ERR_INVALID_SERVICE_PARAMETER = 8017; + // ***************** // FACILITY DIRECTORY SERVICE // ***************** int DS_S_SUCCESS = NO_ERROR; + // // MessageId: ERROR_DS_NOT_INSTALLED // @@ -13519,6 +15121,7 @@ public interface WinError { // information, see the event log. // int ERROR_DS_NOT_INSTALLED = 8200; + // // MessageId: ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY // @@ -13527,6 +15130,7 @@ public interface WinError { // The directory service evaluated group memberships locally. // int ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201; + // // MessageId: ERROR_DS_NO_ATTRIBUTE_OR_VALUE // @@ -13535,6 +15139,7 @@ public interface WinError { // The specified directory service attribute or value does not exist. // int ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 8202; + // // MessageId: ERROR_DS_INVALID_ATTRIBUTE_SYNTAX // @@ -13543,6 +15148,7 @@ public interface WinError { // The attribute syntax specified to the directory service is invalid. // int ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 8203; + // // MessageId: ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED // @@ -13551,6 +15157,7 @@ public interface WinError { // The attribute type specified to the directory service is not defined. // int ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204; + // // MessageId: ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS // @@ -13559,6 +15166,7 @@ public interface WinError { // The specified directory service attribute or value already exists. // int ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205; + // // MessageId: ERROR_DS_BUSY // @@ -13567,6 +15175,7 @@ public interface WinError { // The directory service is busy. // int ERROR_DS_BUSY = 8206; + // // MessageId: ERROR_DS_UNAVAILABLE // @@ -13575,6 +15184,7 @@ public interface WinError { // The directory service is unavailable. // int ERROR_DS_UNAVAILABLE = 8207; + // // MessageId: ERROR_DS_NO_RIDS_ALLOCATED // @@ -13583,6 +15193,7 @@ public interface WinError { // The directory service was unable to allocate a relative identifier. // int ERROR_DS_NO_RIDS_ALLOCATED = 8208; + // // MessageId: ERROR_DS_NO_MORE_RIDS // @@ -13591,6 +15202,7 @@ public interface WinError { // The directory service has exhausted the pool of relative identifiers. // int ERROR_DS_NO_MORE_RIDS = 8209; + // // MessageId: ERROR_DS_INCORRECT_ROLE_OWNER // @@ -13600,6 +15212,7 @@ public interface WinError { // service is not the master for that type of operation. // int ERROR_DS_INCORRECT_ROLE_OWNER = 8210; + // // MessageId: ERROR_DS_RIDMGR_INIT_ERROR // @@ -13609,6 +15222,7 @@ public interface WinError { // allocates relative identifiers. // int ERROR_DS_RIDMGR_INIT_ERROR = 8211; + // // MessageId: ERROR_DS_OBJ_CLASS_VIOLATION // @@ -13618,6 +15232,7 @@ public interface WinError { // associated with the class of the object. // int ERROR_DS_OBJ_CLASS_VIOLATION = 8212; + // // MessageId: ERROR_DS_CANT_ON_NON_LEAF // @@ -13627,6 +15242,7 @@ public interface WinError { // object. // int ERROR_DS_CANT_ON_NON_LEAF = 8213; + // // MessageId: ERROR_DS_CANT_ON_RDN // @@ -13636,6 +15252,7 @@ public interface WinError { // attribute of an object. // int ERROR_DS_CANT_ON_RDN = 8214; + // // MessageId: ERROR_DS_CANT_MOD_OBJ_CLASS // @@ -13645,6 +15262,7 @@ public interface WinError { // an object. // int ERROR_DS_CANT_MOD_OBJ_CLASS = 8215; + // // MessageId: ERROR_DS_CROSS_DOM_MOVE_ERROR // @@ -13653,6 +15271,7 @@ public interface WinError { // The requested cross-domain move operation could not be performed. // int ERROR_DS_CROSS_DOM_MOVE_ERROR = 8216; + // // MessageId: ERROR_DS_GC_NOT_AVAILABLE // @@ -13661,6 +15280,7 @@ public interface WinError { // Unable to contact the global catalog server. // int ERROR_DS_GC_NOT_AVAILABLE = 8217; + // // MessageId: ERROR_SHARED_POLICY // @@ -13669,6 +15289,7 @@ public interface WinError { // The policy object is shared and can only be modified at the root. // int ERROR_SHARED_POLICY = 8218; + // // MessageId: ERROR_POLICY_OBJECT_NOT_FOUND // @@ -13677,6 +15298,7 @@ public interface WinError { // The policy object does not exist. // int ERROR_POLICY_OBJECT_NOT_FOUND = 8219; + // // MessageId: ERROR_POLICY_ONLY_IN_DS // @@ -13685,6 +15307,7 @@ public interface WinError { // The requested policy information is only in the directory service. // int ERROR_POLICY_ONLY_IN_DS = 8220; + // // MessageId: ERROR_PROMOTION_ACTIVE // @@ -13693,6 +15316,7 @@ public interface WinError { // A domain controller promotion is currently active. // int ERROR_PROMOTION_ACTIVE = 8221; + // // MessageId: ERROR_NO_PROMOTION_ACTIVE // @@ -13701,6 +15325,7 @@ public interface WinError { // A domain controller promotion is not currently active // int ERROR_NO_PROMOTION_ACTIVE = 8222; + // =8223 unused // // MessageId: ERROR_DS_OPERATIONS_ERROR @@ -13710,6 +15335,7 @@ public interface WinError { // An operations error occurred. // int ERROR_DS_OPERATIONS_ERROR = 8224; + // // MessageId: ERROR_DS_PROTOCOL_ERROR // @@ -13718,6 +15344,7 @@ public interface WinError { // A protocol error occurred. // int ERROR_DS_PROTOCOL_ERROR = 8225; + // // MessageId: ERROR_DS_TIMELIMIT_EXCEEDED // @@ -13726,6 +15353,7 @@ public interface WinError { // The time limit for this request was exceeded. // int ERROR_DS_TIMELIMIT_EXCEEDED = 8226; + // // MessageId: ERROR_DS_SIZELIMIT_EXCEEDED // @@ -13734,6 +15362,7 @@ public interface WinError { // The size limit for this request was exceeded. // int ERROR_DS_SIZELIMIT_EXCEEDED = 8227; + // // MessageId: ERROR_DS_ADMIN_LIMIT_EXCEEDED // @@ -13742,6 +15371,7 @@ public interface WinError { // The administrative limit for this request was exceeded. // int ERROR_DS_ADMIN_LIMIT_EXCEEDED = 8228; + // // MessageId: ERROR_DS_COMPARE_FALSE // @@ -13750,6 +15380,7 @@ public interface WinError { // The compare response was false. // int ERROR_DS_COMPARE_FALSE = 8229; + // // MessageId: ERROR_DS_COMPARE_TRUE // @@ -13758,6 +15389,7 @@ public interface WinError { // The compare response was true. // int ERROR_DS_COMPARE_TRUE = 8230; + // // MessageId: ERROR_DS_AUTH_METHOD_NOT_SUPPORTED // @@ -13766,6 +15398,7 @@ public interface WinError { // The requested authentication method is not supported by the server. // int ERROR_DS_AUTH_METHOD_NOT_SUPPORTED = 8231; + // // MessageId: ERROR_DS_STRONG_AUTH_REQUIRED // @@ -13774,6 +15407,7 @@ public interface WinError { // A more secure authentication method is required for this server. // int ERROR_DS_STRONG_AUTH_REQUIRED = 8232; + // // MessageId: ERROR_DS_INAPPROPRIATE_AUTH // @@ -13782,6 +15416,7 @@ public interface WinError { // Inappropriate authentication. // int ERROR_DS_INAPPROPRIATE_AUTH = 8233; + // // MessageId: ERROR_DS_AUTH_UNKNOWN // @@ -13790,6 +15425,7 @@ public interface WinError { // The authentication mechanism is unknown. // int ERROR_DS_AUTH_UNKNOWN = 8234; + // // MessageId: ERROR_DS_REFERRAL // @@ -13798,6 +15434,7 @@ public interface WinError { // A referral was returned from the server. // int ERROR_DS_REFERRAL = 8235; + // // MessageId: ERROR_DS_UNAVAILABLE_CRIT_EXTENSION // @@ -13806,6 +15443,7 @@ public interface WinError { // The server does not support the requested critical extension. // int ERROR_DS_UNAVAILABLE_CRIT_EXTENSION = 8236; + // // MessageId: ERROR_DS_CONFIDENTIALITY_REQUIRED // @@ -13814,6 +15452,7 @@ public interface WinError { // This request requires a secure connection. // int ERROR_DS_CONFIDENTIALITY_REQUIRED = 8237; + // // MessageId: ERROR_DS_INAPPROPRIATE_MATCHING // @@ -13822,6 +15461,7 @@ public interface WinError { // Inappropriate matching. // int ERROR_DS_INAPPROPRIATE_MATCHING = 8238; + // // MessageId: ERROR_DS_CONSTRAINT_VIOLATION // @@ -13830,6 +15470,7 @@ public interface WinError { // A constraint violation occurred. // int ERROR_DS_CONSTRAINT_VIOLATION = 8239; + // // MessageId: ERROR_DS_NO_SUCH_OBJECT // @@ -13838,6 +15479,7 @@ public interface WinError { // There is no such object on the server. // int ERROR_DS_NO_SUCH_OBJECT = 8240; + // // MessageId: ERROR_DS_ALIAS_PROBLEM // @@ -13846,6 +15488,7 @@ public interface WinError { // There is an alias problem. // int ERROR_DS_ALIAS_PROBLEM = 8241; + // // MessageId: ERROR_DS_INVALID_DN_SYNTAX // @@ -13854,6 +15497,7 @@ public interface WinError { // An invalid dn syntax has been specified. // int ERROR_DS_INVALID_DN_SYNTAX = 8242; + // // MessageId: ERROR_DS_IS_LEAF // @@ -13862,6 +15506,7 @@ public interface WinError { // The object is a leaf object. // int ERROR_DS_IS_LEAF = 8243; + // // MessageId: ERROR_DS_ALIAS_DEREF_PROBLEM // @@ -13870,6 +15515,7 @@ public interface WinError { // There is an alias dereferencing problem. // int ERROR_DS_ALIAS_DEREF_PROBLEM = 8244; + // // MessageId: ERROR_DS_UNWILLING_TO_PERFORM // @@ -13878,6 +15524,7 @@ public interface WinError { // The server is unwilling to process the request. // int ERROR_DS_UNWILLING_TO_PERFORM = 8245; + // // MessageId: ERROR_DS_LOOP_DETECT // @@ -13886,6 +15533,7 @@ public interface WinError { // A loop has been detected. // int ERROR_DS_LOOP_DETECT = 8246; + // // MessageId: ERROR_DS_NAMING_VIOLATION // @@ -13894,6 +15542,7 @@ public interface WinError { // There is a naming violation. // int ERROR_DS_NAMING_VIOLATION = 8247; + // // MessageId: ERROR_DS_OBJECT_RESULTS_TOO_LARGE // @@ -13902,6 +15551,7 @@ public interface WinError { // The result set is too large. // int ERROR_DS_OBJECT_RESULTS_TOO_LARGE = 8248; + // // MessageId: ERROR_DS_AFFECTS_MULTIPLE_DSAS // @@ -13910,6 +15560,7 @@ public interface WinError { // The operation affects multiple DSAs // int ERROR_DS_AFFECTS_MULTIPLE_DSAS = 8249; + // // MessageId: ERROR_DS_SERVER_DOWN // @@ -13918,6 +15569,7 @@ public interface WinError { // The server is not operational. // int ERROR_DS_SERVER_DOWN = 8250; + // // MessageId: ERROR_DS_LOCAL_ERROR // @@ -13926,6 +15578,7 @@ public interface WinError { // A local error has occurred. // int ERROR_DS_LOCAL_ERROR = 8251; + // // MessageId: ERROR_DS_ENCODING_ERROR // @@ -13934,6 +15587,7 @@ public interface WinError { // An encoding error has occurred. // int ERROR_DS_ENCODING_ERROR = 8252; + // // MessageId: ERROR_DS_DECODING_ERROR // @@ -13942,6 +15596,7 @@ public interface WinError { // A decoding error has occurred. // int ERROR_DS_DECODING_ERROR = 8253; + // // MessageId: ERROR_DS_FILTER_UNKNOWN // @@ -13950,6 +15605,7 @@ public interface WinError { // The search filter cannot be recognized. // int ERROR_DS_FILTER_UNKNOWN = 8254; + // // MessageId: ERROR_DS_PARAM_ERROR // @@ -13958,6 +15614,7 @@ public interface WinError { // One or more parameters are illegal. // int ERROR_DS_PARAM_ERROR = 8255; + // // MessageId: ERROR_DS_NOT_SUPPORTED // @@ -13966,6 +15623,7 @@ public interface WinError { // The specified method is not supported. // int ERROR_DS_NOT_SUPPORTED = 8256; + // // MessageId: ERROR_DS_NO_RESULTS_RETURNED // @@ -13974,6 +15632,7 @@ public interface WinError { // No results were returned. // int ERROR_DS_NO_RESULTS_RETURNED = 8257; + // // MessageId: ERROR_DS_CONTROL_NOT_FOUND // @@ -13982,6 +15641,7 @@ public interface WinError { // The specified control is not supported by the server. // int ERROR_DS_CONTROL_NOT_FOUND = 8258; + // // MessageId: ERROR_DS_CLIENT_LOOP // @@ -13990,6 +15650,7 @@ public interface WinError { // A referral loop was detected by the client. // int ERROR_DS_CLIENT_LOOP = 8259; + // // MessageId: ERROR_DS_REFERRAL_LIMIT_EXCEEDED // @@ -13998,6 +15659,7 @@ public interface WinError { // The preset referral limit was exceeded. // int ERROR_DS_REFERRAL_LIMIT_EXCEEDED = 8260; + // // MessageId: ERROR_DS_SORT_CONTROL_MISSING // @@ -14006,6 +15668,7 @@ public interface WinError { // The search requires a SORT control. // int ERROR_DS_SORT_CONTROL_MISSING = 8261; + // // MessageId: ERROR_DS_OFFSET_RANGE_ERROR // @@ -14014,6 +15677,7 @@ public interface WinError { // The search results exceed the offset range specified. // int ERROR_DS_OFFSET_RANGE_ERROR = 8262; + // // MessageId: ERROR_DS_ROOT_MUST_BE_NC // @@ -14023,6 +15687,7 @@ public interface WinError { // cannot have an instantiated parent. // int ERROR_DS_ROOT_MUST_BE_NC = 8301; + // // MessageId: ERROR_DS_ADD_REPLICA_INHIBITED // @@ -14032,6 +15697,7 @@ public interface WinError { // writeable in order to create the replica. // int ERROR_DS_ADD_REPLICA_INHIBITED = 8302; + // // MessageId: ERROR_DS_ATT_NOT_DEF_IN_SCHEMA // @@ -14040,6 +15706,7 @@ public interface WinError { // A reference to an attribute that is not defined in the schema occurred. // int ERROR_DS_ATT_NOT_DEF_IN_SCHEMA = 8303; + // // MessageId: ERROR_DS_MAX_OBJ_SIZE_EXCEEDED // @@ -14048,6 +15715,7 @@ public interface WinError { // The maximum size of an object has been exceeded. // int ERROR_DS_MAX_OBJ_SIZE_EXCEEDED = 8304; + // // MessageId: ERROR_DS_OBJ_STRING_NAME_EXISTS // @@ -14057,6 +15725,7 @@ public interface WinError { // already in use. // int ERROR_DS_OBJ_STRING_NAME_EXISTS = 8305; + // // MessageId: ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA // @@ -14066,6 +15735,7 @@ public interface WinError { // defined in the schema. // int ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306; + // // MessageId: ERROR_DS_RDN_DOESNT_MATCH_SCHEMA // @@ -14075,6 +15745,7 @@ public interface WinError { // defined in the schema. // int ERROR_DS_RDN_DOESNT_MATCH_SCHEMA = 8307; + // // MessageId: ERROR_DS_NO_REQUESTED_ATTS_FOUND // @@ -14083,6 +15754,7 @@ public interface WinError { // None of the requested attributes were found on the objects. // int ERROR_DS_NO_REQUESTED_ATTS_FOUND = 8308; + // // MessageId: ERROR_DS_USER_BUFFER_TO_SMALL // @@ -14091,6 +15763,7 @@ public interface WinError { // The user buffer is too small. // int ERROR_DS_USER_BUFFER_TO_SMALL = 8309; + // // MessageId: ERROR_DS_ATT_IS_NOT_ON_OBJ // @@ -14099,6 +15772,7 @@ public interface WinError { // The attribute specified in the operation is not present on the object. // int ERROR_DS_ATT_IS_NOT_ON_OBJ = 8310; + // // MessageId: ERROR_DS_ILLEGAL_MOD_OPERATION // @@ -14108,6 +15782,7 @@ public interface WinError { // permitted. // int ERROR_DS_ILLEGAL_MOD_OPERATION = 8311; + // // MessageId: ERROR_DS_OBJ_TOO_LARGE // @@ -14116,6 +15791,7 @@ public interface WinError { // The specified object is too large. // int ERROR_DS_OBJ_TOO_LARGE = 8312; + // // MessageId: ERROR_DS_BAD_INSTANCE_TYPE // @@ -14124,6 +15800,7 @@ public interface WinError { // The specified instance type is not valid. // int ERROR_DS_BAD_INSTANCE_TYPE = 8313; + // // MessageId: ERROR_DS_MASTERDSA_REQUIRED // @@ -14132,6 +15809,7 @@ public interface WinError { // The operation must be performed at a master DSA. // int ERROR_DS_MASTERDSA_REQUIRED = 8314; + // // MessageId: ERROR_DS_OBJECT_CLASS_REQUIRED // @@ -14140,6 +15818,7 @@ public interface WinError { // The object class attribute must be specified. // int ERROR_DS_OBJECT_CLASS_REQUIRED = 8315; + // // MessageId: ERROR_DS_MISSING_REQUIRED_ATT // @@ -14148,6 +15827,7 @@ public interface WinError { // A required attribute is missing. // int ERROR_DS_MISSING_REQUIRED_ATT = 8316; + // // MessageId: ERROR_DS_ATT_NOT_DEF_FOR_CLASS // @@ -14157,6 +15837,7 @@ public interface WinError { // not legal for its class. // int ERROR_DS_ATT_NOT_DEF_FOR_CLASS = 8317; + // // MessageId: ERROR_DS_ATT_ALREADY_EXISTS // @@ -14165,6 +15846,7 @@ public interface WinError { // The specified attribute is already present on the object. // int ERROR_DS_ATT_ALREADY_EXISTS = 8318; + // =8319 unused // // MessageId: ERROR_DS_CANT_ADD_ATT_VALUES @@ -14174,6 +15856,7 @@ public interface WinError { // The specified attribute is not present, or has no values. // int ERROR_DS_CANT_ADD_ATT_VALUES = 8320; + // // MessageId: ERROR_DS_SINGLE_VALUE_CONSTRAINT // @@ -14183,6 +15866,7 @@ public interface WinError { // value. // int ERROR_DS_SINGLE_VALUE_CONSTRAINT = 8321; + // // MessageId: ERROR_DS_RANGE_CONSTRAINT // @@ -14191,6 +15875,7 @@ public interface WinError { // A value for the attribute was not in the acceptable range of values. // int ERROR_DS_RANGE_CONSTRAINT = 8322; + // // MessageId: ERROR_DS_ATT_VAL_ALREADY_EXISTS // @@ -14199,6 +15884,7 @@ public interface WinError { // The specified value already exists. // int ERROR_DS_ATT_VAL_ALREADY_EXISTS = 8323; + // // MessageId: ERROR_DS_CANT_REM_MISSING_ATT // @@ -14207,6 +15893,7 @@ public interface WinError { // The attribute cannot be removed because it is not present on the object. // int ERROR_DS_CANT_REM_MISSING_ATT = 8324; + // // MessageId: ERROR_DS_CANT_REM_MISSING_ATT_VAL // @@ -14216,6 +15903,7 @@ public interface WinError { // object. // int ERROR_DS_CANT_REM_MISSING_ATT_VAL = 8325; + // // MessageId: ERROR_DS_ROOT_CANT_BE_SUBREF // @@ -14224,6 +15912,7 @@ public interface WinError { // The specified root object cannot be a subref. // int ERROR_DS_ROOT_CANT_BE_SUBREF = 8326; + // // MessageId: ERROR_DS_NO_CHAINING // @@ -14232,6 +15921,7 @@ public interface WinError { // Chaining is not permitted. // int ERROR_DS_NO_CHAINING = 8327; + // // MessageId: ERROR_DS_NO_CHAINED_EVAL // @@ -14240,6 +15930,7 @@ public interface WinError { // Chained evaluation is not permitted. // int ERROR_DS_NO_CHAINED_EVAL = 8328; + // // MessageId: ERROR_DS_NO_PARENT_OBJECT // @@ -14249,6 +15940,7 @@ public interface WinError { // either uninstantiated or deleted. // int ERROR_DS_NO_PARENT_OBJECT = 8329; + // // MessageId: ERROR_DS_PARENT_IS_AN_ALIAS // @@ -14258,6 +15950,7 @@ public interface WinError { // objects. // int ERROR_DS_PARENT_IS_AN_ALIAS = 8330; + // // MessageId: ERROR_DS_CANT_MIX_MASTER_AND_REPS // @@ -14267,6 +15960,7 @@ public interface WinError { // both replicas. // int ERROR_DS_CANT_MIX_MASTER_AND_REPS = 8331; + // // MessageId: ERROR_DS_CHILDREN_EXIST // @@ -14276,6 +15970,7 @@ public interface WinError { // operation can only be performed on a leaf object. // int ERROR_DS_CHILDREN_EXIST = 8332; + // // MessageId: ERROR_DS_OBJ_NOT_FOUND // @@ -14284,6 +15979,7 @@ public interface WinError { // Directory object not found. // int ERROR_DS_OBJ_NOT_FOUND = 8333; + // // MessageId: ERROR_DS_ALIASED_OBJ_MISSING // @@ -14292,6 +15988,7 @@ public interface WinError { // The aliased object is missing. // int ERROR_DS_ALIASED_OBJ_MISSING = 8334; + // // MessageId: ERROR_DS_BAD_NAME_SYNTAX // @@ -14300,6 +15997,7 @@ public interface WinError { // The object name has bad syntax. // int ERROR_DS_BAD_NAME_SYNTAX = 8335; + // // MessageId: ERROR_DS_ALIAS_POINTS_TO_ALIAS // @@ -14308,6 +16006,7 @@ public interface WinError { // It is not permitted for an alias to refer to another alias. // int ERROR_DS_ALIAS_POINTS_TO_ALIAS = 8336; + // // MessageId: ERROR_DS_CANT_DEREF_ALIAS // @@ -14316,6 +16015,7 @@ public interface WinError { // The alias cannot be dereferenced. // int ERROR_DS_CANT_DEREF_ALIAS = 8337; + // // MessageId: ERROR_DS_OUT_OF_SCOPE // @@ -14324,6 +16024,7 @@ public interface WinError { // The operation is out of scope. // int ERROR_DS_OUT_OF_SCOPE = 8338; + // // MessageId: ERROR_DS_OBJECT_BEING_REMOVED // @@ -14333,6 +16034,7 @@ public interface WinError { // being removed. // int ERROR_DS_OBJECT_BEING_REMOVED = 8339; + // // MessageId: ERROR_DS_CANT_DELETE_DSA_OBJ // @@ -14341,6 +16043,7 @@ public interface WinError { // The DSA object cannot be deleted. // int ERROR_DS_CANT_DELETE_DSA_OBJ = 8340; + // // MessageId: ERROR_DS_GENERIC_ERROR // @@ -14349,6 +16052,7 @@ public interface WinError { // A directory service error has occurred. // int ERROR_DS_GENERIC_ERROR = 8341; + // // MessageId: ERROR_DS_DSA_MUST_BE_INT_MASTER // @@ -14357,6 +16061,7 @@ public interface WinError { // The operation can only be performed on an internal master DSA object. // int ERROR_DS_DSA_MUST_BE_INT_MASTER = 8342; + // // MessageId: ERROR_DS_CLASS_NOT_DSA // @@ -14365,6 +16070,7 @@ public interface WinError { // The object must be of class DSA. // int ERROR_DS_CLASS_NOT_DSA = 8343; + // // MessageId: ERROR_DS_INSUFF_ACCESS_RIGHTS // @@ -14373,6 +16079,7 @@ public interface WinError { // Insufficient access rights to perform the operation. // int ERROR_DS_INSUFF_ACCESS_RIGHTS = 8344; + // // MessageId: ERROR_DS_ILLEGAL_SUPERIOR // @@ -14382,6 +16089,7 @@ public interface WinError { // possible superiors. // int ERROR_DS_ILLEGAL_SUPERIOR = 8345; + // // MessageId: ERROR_DS_ATTRIBUTE_OWNED_BY_SAM // @@ -14391,6 +16099,7 @@ public interface WinError { // by the Security Accounts Manager (SAM). // int ERROR_DS_ATTRIBUTE_OWNED_BY_SAM = 8346; + // // MessageId: ERROR_DS_NAME_TOO_MANY_PARTS // @@ -14399,6 +16108,7 @@ public interface WinError { // The name has too many parts. // int ERROR_DS_NAME_TOO_MANY_PARTS = 8347; + // // MessageId: ERROR_DS_NAME_TOO_LONG // @@ -14407,6 +16117,7 @@ public interface WinError { // The name is too long. // int ERROR_DS_NAME_TOO_LONG = 8348; + // // MessageId: ERROR_DS_NAME_VALUE_TOO_LONG // @@ -14415,6 +16126,7 @@ public interface WinError { // The name value is too long. // int ERROR_DS_NAME_VALUE_TOO_LONG = 8349; + // // MessageId: ERROR_DS_NAME_UNPARSEABLE // @@ -14423,6 +16135,7 @@ public interface WinError { // The directory service encountered an error parsing a name. // int ERROR_DS_NAME_UNPARSEABLE = 8350; + // // MessageId: ERROR_DS_NAME_TYPE_UNKNOWN // @@ -14431,6 +16144,7 @@ public interface WinError { // The directory service cannot get the attribute type for a name. // int ERROR_DS_NAME_TYPE_UNKNOWN = 8351; + // // MessageId: ERROR_DS_NOT_AN_OBJECT // @@ -14439,6 +16153,7 @@ public interface WinError { // The name does not identify an object; the name identifies a phantom. // int ERROR_DS_NOT_AN_OBJECT = 8352; + // // MessageId: ERROR_DS_SEC_DESC_TOO_SHORT // @@ -14447,6 +16162,7 @@ public interface WinError { // The security descriptor is too short. // int ERROR_DS_SEC_DESC_TOO_SHORT = 8353; + // // MessageId: ERROR_DS_SEC_DESC_INVALID // @@ -14455,6 +16171,7 @@ public interface WinError { // The security descriptor is invalid. // int ERROR_DS_SEC_DESC_INVALID = 8354; + // // MessageId: ERROR_DS_NO_DELETED_NAME // @@ -14463,6 +16180,7 @@ public interface WinError { // Failed to create name for deleted object. // int ERROR_DS_NO_DELETED_NAME = 8355; + // // MessageId: ERROR_DS_SUBREF_MUST_HAVE_PARENT // @@ -14471,6 +16189,7 @@ public interface WinError { // The parent of a new subref must exist. // int ERROR_DS_SUBREF_MUST_HAVE_PARENT = 8356; + // // MessageId: ERROR_DS_NCNAME_MUST_BE_NC // @@ -14479,6 +16198,7 @@ public interface WinError { // The object must be a naming context. // int ERROR_DS_NCNAME_MUST_BE_NC = 8357; + // // MessageId: ERROR_DS_CANT_ADD_SYSTEM_ONLY // @@ -14487,6 +16207,7 @@ public interface WinError { // It is not permitted to add an attribute which is owned by the system. // int ERROR_DS_CANT_ADD_SYSTEM_ONLY = 8358; + // // MessageId: ERROR_DS_CLASS_MUST_BE_CONCRETE // @@ -14496,6 +16217,7 @@ public interface WinError { // abstract class. // int ERROR_DS_CLASS_MUST_BE_CONCRETE = 8359; + // // MessageId: ERROR_DS_INVALID_DMD // @@ -14504,6 +16226,7 @@ public interface WinError { // The schema object could not be found. // int ERROR_DS_INVALID_DMD = 8360; + // // MessageId: ERROR_DS_OBJ_GUID_EXISTS // @@ -14512,6 +16235,7 @@ public interface WinError { // A local object with this GUID (dead or alive) already exists. // int ERROR_DS_OBJ_GUID_EXISTS = 8361; + // // MessageId: ERROR_DS_NOT_ON_BACKLINK // @@ -14520,6 +16244,7 @@ public interface WinError { // The operation cannot be performed on a back link. // int ERROR_DS_NOT_ON_BACKLINK = 8362; + // // MessageId: ERROR_DS_NO_CROSSREF_FOR_NC // @@ -14528,6 +16253,7 @@ public interface WinError { // The cross reference for the specified naming context could not be found. // int ERROR_DS_NO_CROSSREF_FOR_NC = 8363; + // // MessageId: ERROR_DS_SHUTTING_DOWN // @@ -14537,6 +16263,7 @@ public interface WinError { // shutting down. // int ERROR_DS_SHUTTING_DOWN = 8364; + // // MessageId: ERROR_DS_UNKNOWN_OPERATION // @@ -14545,6 +16272,7 @@ public interface WinError { // The directory service request is invalid. // int ERROR_DS_UNKNOWN_OPERATION = 8365; + // // MessageId: ERROR_DS_INVALID_ROLE_OWNER // @@ -14553,6 +16281,7 @@ public interface WinError { // The role owner attribute could not be read. // int ERROR_DS_INVALID_ROLE_OWNER = 8366; + // // MessageId: ERROR_DS_COULDNT_CONTACT_FSMO // @@ -14562,6 +16291,7 @@ public interface WinError { // contacted. // int ERROR_DS_COULDNT_CONTACT_FSMO = 8367; + // // MessageId: ERROR_DS_CROSS_NC_DN_RENAME // @@ -14570,6 +16300,7 @@ public interface WinError { // Modification of a DN across a naming context is not permitted. // int ERROR_DS_CROSS_NC_DN_RENAME = 8368; + // // MessageId: ERROR_DS_CANT_MOD_SYSTEM_ONLY // @@ -14578,6 +16309,7 @@ public interface WinError { // The attribute cannot be modified because it is owned by the system. // int ERROR_DS_CANT_MOD_SYSTEM_ONLY = 8369; + // // MessageId: ERROR_DS_REPLICATOR_ONLY // @@ -14586,6 +16318,7 @@ public interface WinError { // Only the replicator can perform this function. // int ERROR_DS_REPLICATOR_ONLY = 8370; + // // MessageId: ERROR_DS_OBJ_CLASS_NOT_DEFINED // @@ -14594,6 +16327,7 @@ public interface WinError { // The specified class is not defined. // int ERROR_DS_OBJ_CLASS_NOT_DEFINED = 8371; + // // MessageId: ERROR_DS_OBJ_CLASS_NOT_SUBCLASS // @@ -14602,6 +16336,7 @@ public interface WinError { // The specified class is not a subclass. // int ERROR_DS_OBJ_CLASS_NOT_SUBCLASS = 8372; + // // MessageId: ERROR_DS_NAME_REFERENCE_INVALID // @@ -14610,6 +16345,7 @@ public interface WinError { // The name reference is invalid. // int ERROR_DS_NAME_REFERENCE_INVALID = 8373; + // // MessageId: ERROR_DS_CROSS_REF_EXISTS // @@ -14618,6 +16354,7 @@ public interface WinError { // A cross reference already exists. // int ERROR_DS_CROSS_REF_EXISTS = 8374; + // // MessageId: ERROR_DS_CANT_DEL_MASTER_CROSSREF // @@ -14626,6 +16363,7 @@ public interface WinError { // It is not permitted to delete a master cross reference. // int ERROR_DS_CANT_DEL_MASTER_CROSSREF = 8375; + // // MessageId: ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD // @@ -14634,6 +16372,7 @@ public interface WinError { // Subtree notifications are only supported on NC heads. // int ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376; + // // MessageId: ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX // @@ -14642,6 +16381,7 @@ public interface WinError { // Notification filter is too complex. // int ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377; + // // MessageId: ERROR_DS_DUP_RDN // @@ -14650,6 +16390,7 @@ public interface WinError { // Schema update failed: duplicate RDN. // int ERROR_DS_DUP_RDN = 8378; + // // MessageId: ERROR_DS_DUP_OID // @@ -14658,6 +16399,7 @@ public interface WinError { // Schema update failed: duplicate OID. // int ERROR_DS_DUP_OID = 8379; + // // MessageId: ERROR_DS_DUP_MAPI_ID // @@ -14666,6 +16408,7 @@ public interface WinError { // Schema update failed: duplicate MAPI identifier. // int ERROR_DS_DUP_MAPI_ID = 8380; + // // MessageId: ERROR_DS_DUP_SCHEMA_ID_GUID // @@ -14674,6 +16417,7 @@ public interface WinError { // Schema update failed: duplicate schema-id GUID. // int ERROR_DS_DUP_SCHEMA_ID_GUID = 8381; + // // MessageId: ERROR_DS_DUP_LDAP_DISPLAY_NAME // @@ -14682,6 +16426,7 @@ public interface WinError { // Schema update failed: duplicate LDAP display name. // int ERROR_DS_DUP_LDAP_DISPLAY_NAME = 8382; + // // MessageId: ERROR_DS_SEMANTIC_ATT_TEST // @@ -14690,6 +16435,7 @@ public interface WinError { // Schema update failed: range-lower less than range upper. // int ERROR_DS_SEMANTIC_ATT_TEST = 8383; + // // MessageId: ERROR_DS_SYNTAX_MISMATCH // @@ -14698,6 +16444,7 @@ public interface WinError { // Schema update failed: syntax mismatch. // int ERROR_DS_SYNTAX_MISMATCH = 8384; + // // MessageId: ERROR_DS_EXISTS_IN_MUST_HAVE // @@ -14706,6 +16453,7 @@ public interface WinError { // Schema deletion failed: attribute is used in must-contain. // int ERROR_DS_EXISTS_IN_MUST_HAVE = 8385; + // // MessageId: ERROR_DS_EXISTS_IN_MAY_HAVE // @@ -14714,6 +16462,7 @@ public interface WinError { // Schema deletion failed: attribute is used in may-contain. // int ERROR_DS_EXISTS_IN_MAY_HAVE = 8386; + // // MessageId: ERROR_DS_NONEXISTENT_MAY_HAVE // @@ -14722,6 +16471,7 @@ public interface WinError { // Schema update failed: attribute in may-contain does not exist. // int ERROR_DS_NONEXISTENT_MAY_HAVE = 8387; + // // MessageId: ERROR_DS_NONEXISTENT_MUST_HAVE // @@ -14730,6 +16480,7 @@ public interface WinError { // Schema update failed: attribute in must-contain does not exist. // int ERROR_DS_NONEXISTENT_MUST_HAVE = 8388; + // // MessageId: ERROR_DS_AUX_CLS_TEST_FAIL // @@ -14739,6 +16490,7 @@ public interface WinError { // auxiliary class. // int ERROR_DS_AUX_CLS_TEST_FAIL = 8389; + // // MessageId: ERROR_DS_NONEXISTENT_POSS_SUP // @@ -14747,6 +16499,7 @@ public interface WinError { // Schema update failed: class in poss-superiors does not exist. // int ERROR_DS_NONEXISTENT_POSS_SUP = 8390; + // // MessageId: ERROR_DS_SUB_CLS_TEST_FAIL // @@ -14756,6 +16509,7 @@ public interface WinError { // satisfy hierarchy rules. // int ERROR_DS_SUB_CLS_TEST_FAIL = 8391; + // // MessageId: ERROR_DS_BAD_RDN_ATT_ID_SYNTAX // @@ -14764,6 +16518,7 @@ public interface WinError { // Schema update failed: Rdn-Att-Id has wrong syntax. // int ERROR_DS_BAD_RDN_ATT_ID_SYNTAX = 8392; + // // MessageId: ERROR_DS_EXISTS_IN_AUX_CLS // @@ -14772,6 +16527,7 @@ public interface WinError { // Schema deletion failed: class is used as auxiliary class. // int ERROR_DS_EXISTS_IN_AUX_CLS = 8393; + // // MessageId: ERROR_DS_EXISTS_IN_SUB_CLS // @@ -14780,6 +16536,7 @@ public interface WinError { // Schema deletion failed: class is used as sub class. // int ERROR_DS_EXISTS_IN_SUB_CLS = 8394; + // // MessageId: ERROR_DS_EXISTS_IN_POSS_SUP // @@ -14788,6 +16545,7 @@ public interface WinError { // Schema deletion failed: class is used as poss superior. // int ERROR_DS_EXISTS_IN_POSS_SUP = 8395; + // // MessageId: ERROR_DS_RECALCSCHEMA_FAILED // @@ -14796,6 +16554,7 @@ public interface WinError { // Schema update failed in recalculating validation cache. // int ERROR_DS_RECALCSCHEMA_FAILED = 8396; + // // MessageId: ERROR_DS_TREE_DELETE_NOT_FINISHED // @@ -14805,6 +16564,7 @@ public interface WinError { // continue deleting the tree. // int ERROR_DS_TREE_DELETE_NOT_FINISHED = 8397; + // // MessageId: ERROR_DS_CANT_DELETE // @@ -14813,6 +16573,7 @@ public interface WinError { // The requested delete operation could not be performed. // int ERROR_DS_CANT_DELETE = 8398; + // // MessageId: ERROR_DS_ATT_SCHEMA_REQ_ID // @@ -14821,6 +16582,7 @@ public interface WinError { // Cannot read the governs class identifier for the schema record. // int ERROR_DS_ATT_SCHEMA_REQ_ID = 8399; + // // MessageId: ERROR_DS_BAD_ATT_SCHEMA_SYNTAX // @@ -14829,6 +16591,7 @@ public interface WinError { // The attribute schema has bad syntax. // int ERROR_DS_BAD_ATT_SCHEMA_SYNTAX = 8400; + // // MessageId: ERROR_DS_CANT_CACHE_ATT // @@ -14837,6 +16600,7 @@ public interface WinError { // The attribute could not be cached. // int ERROR_DS_CANT_CACHE_ATT = 8401; + // // MessageId: ERROR_DS_CANT_CACHE_CLASS // @@ -14845,6 +16609,7 @@ public interface WinError { // The class could not be cached. // int ERROR_DS_CANT_CACHE_CLASS = 8402; + // // MessageId: ERROR_DS_CANT_REMOVE_ATT_CACHE // @@ -14853,6 +16618,7 @@ public interface WinError { // The attribute could not be removed from the cache. // int ERROR_DS_CANT_REMOVE_ATT_CACHE = 8403; + // // MessageId: ERROR_DS_CANT_REMOVE_CLASS_CACHE // @@ -14861,6 +16627,7 @@ public interface WinError { // The class could not be removed from the cache. // int ERROR_DS_CANT_REMOVE_CLASS_CACHE = 8404; + // // MessageId: ERROR_DS_CANT_RETRIEVE_DN // @@ -14869,6 +16636,7 @@ public interface WinError { // The distinguished name attribute could not be read. // int ERROR_DS_CANT_RETRIEVE_DN = 8405; + // // MessageId: ERROR_DS_MISSING_SUPREF // @@ -14879,6 +16647,7 @@ public interface WinError { // outside this forest. // int ERROR_DS_MISSING_SUPREF = 8406; + // // MessageId: ERROR_DS_CANT_RETRIEVE_INSTANCE // @@ -14887,6 +16656,7 @@ public interface WinError { // The instance type attribute could not be retrieved. // int ERROR_DS_CANT_RETRIEVE_INSTANCE = 8407; + // // MessageId: ERROR_DS_CODE_INCONSISTENCY // @@ -14895,6 +16665,7 @@ public interface WinError { // An internal error has occurred. // int ERROR_DS_CODE_INCONSISTENCY = 8408; + // // MessageId: ERROR_DS_DATABASE_ERROR // @@ -14903,6 +16674,7 @@ public interface WinError { // A database error has occurred. // int ERROR_DS_DATABASE_ERROR = 8409; + // // MessageId: ERROR_DS_GOVERNSID_MISSING // @@ -14911,6 +16683,7 @@ public interface WinError { // The attribute GOVERNSID is missing. // int ERROR_DS_GOVERNSID_MISSING = 8410; + // // MessageId: ERROR_DS_MISSING_EXPECTED_ATT // @@ -14919,6 +16692,7 @@ public interface WinError { // An expected attribute is missing. // int ERROR_DS_MISSING_EXPECTED_ATT = 8411; + // // MessageId: ERROR_DS_NCNAME_MISSING_CR_REF // @@ -14927,6 +16701,7 @@ public interface WinError { // The specified naming context is missing a cross reference. // int ERROR_DS_NCNAME_MISSING_CR_REF = 8412; + // // MessageId: ERROR_DS_SECURITY_CHECKING_ERROR // @@ -14935,6 +16710,7 @@ public interface WinError { // A security checking error has occurred. // int ERROR_DS_SECURITY_CHECKING_ERROR = 8413; + // // MessageId: ERROR_DS_SCHEMA_NOT_LOADED // @@ -14943,6 +16719,7 @@ public interface WinError { // The schema is not loaded. // int ERROR_DS_SCHEMA_NOT_LOADED = 8414; + // // MessageId: ERROR_DS_SCHEMA_ALLOC_FAILED // @@ -14952,6 +16729,7 @@ public interface WinError { // memory. // int ERROR_DS_SCHEMA_ALLOC_FAILED = 8415; + // // MessageId: ERROR_DS_ATT_SCHEMA_REQ_SYNTAX // @@ -14960,6 +16738,7 @@ public interface WinError { // Failed to obtain the required syntax for the attribute schema. // int ERROR_DS_ATT_SCHEMA_REQ_SYNTAX = 8416; + // // MessageId: ERROR_DS_GCVERIFY_ERROR // @@ -14970,6 +16749,7 @@ public interface WinError { // is currently not available. // int ERROR_DS_GCVERIFY_ERROR = 8417; + // // MessageId: ERROR_DS_DRA_SCHEMA_MISMATCH // @@ -14979,6 +16759,7 @@ public interface WinError { // servers involved. // int ERROR_DS_DRA_SCHEMA_MISMATCH = 8418; + // // MessageId: ERROR_DS_CANT_FIND_DSA_OBJ // @@ -14987,6 +16768,7 @@ public interface WinError { // The DSA object could not be found. // int ERROR_DS_CANT_FIND_DSA_OBJ = 8419; + // // MessageId: ERROR_DS_CANT_FIND_EXPECTED_NC // @@ -14995,6 +16777,7 @@ public interface WinError { // The naming context could not be found. // int ERROR_DS_CANT_FIND_EXPECTED_NC = 8420; + // // MessageId: ERROR_DS_CANT_FIND_NC_IN_CACHE // @@ -15003,6 +16786,7 @@ public interface WinError { // The naming context could not be found in the cache. // int ERROR_DS_CANT_FIND_NC_IN_CACHE = 8421; + // // MessageId: ERROR_DS_CANT_RETRIEVE_CHILD // @@ -15011,6 +16795,7 @@ public interface WinError { // The child object could not be retrieved. // int ERROR_DS_CANT_RETRIEVE_CHILD = 8422; + // // MessageId: ERROR_DS_SECURITY_ILLEGAL_MODIFY // @@ -15019,6 +16804,7 @@ public interface WinError { // The modification was not permitted for security reasons. // int ERROR_DS_SECURITY_ILLEGAL_MODIFY = 8423; + // // MessageId: ERROR_DS_CANT_REPLACE_HIDDEN_REC // @@ -15027,6 +16813,7 @@ public interface WinError { // The operation cannot replace the hidden record. // int ERROR_DS_CANT_REPLACE_HIDDEN_REC = 8424; + // // MessageId: ERROR_DS_BAD_HIERARCHY_FILE // @@ -15035,6 +16822,7 @@ public interface WinError { // The hierarchy file is invalid. // int ERROR_DS_BAD_HIERARCHY_FILE = 8425; + // // MessageId: ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED // @@ -15043,6 +16831,7 @@ public interface WinError { // The attempt to build the hierarchy table failed. // int ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426; + // // MessageId: ERROR_DS_CONFIG_PARAM_MISSING // @@ -15051,6 +16840,7 @@ public interface WinError { // The directory configuration parameter is missing from the registry. // int ERROR_DS_CONFIG_PARAM_MISSING = 8427; + // // MessageId: ERROR_DS_COUNTING_AB_INDICES_FAILED // @@ -15059,6 +16849,7 @@ public interface WinError { // The attempt to count the address book indices failed. // int ERROR_DS_COUNTING_AB_INDICES_FAILED = 8428; + // // MessageId: ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED // @@ -15067,6 +16858,7 @@ public interface WinError { // The allocation of the hierarchy table failed. // int ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429; + // // MessageId: ERROR_DS_INTERNAL_FAILURE // @@ -15075,6 +16867,7 @@ public interface WinError { // The directory service encountered an internal failure. // int ERROR_DS_INTERNAL_FAILURE = 8430; + // // MessageId: ERROR_DS_UNKNOWN_ERROR // @@ -15083,6 +16876,7 @@ public interface WinError { // The directory service encountered an unknown failure. // int ERROR_DS_UNKNOWN_ERROR = 8431; + // // MessageId: ERROR_DS_ROOT_REQUIRES_CLASS_TOP // @@ -15091,6 +16885,7 @@ public interface WinError { // A root object requires a class of 'top'. // int ERROR_DS_ROOT_REQUIRES_CLASS_TOP = 8432; + // // MessageId: ERROR_DS_REFUSING_FSMO_ROLES // @@ -15100,6 +16895,7 @@ public interface WinError { // floating single-master operation roles. // int ERROR_DS_REFUSING_FSMO_ROLES = 8433; + // // MessageId: ERROR_DS_MISSING_FSMO_SETTINGS // @@ -15110,6 +16906,7 @@ public interface WinError { // roles. // int ERROR_DS_MISSING_FSMO_SETTINGS = 8434; + // // MessageId: ERROR_DS_UNABLE_TO_SURRENDER_ROLES // @@ -15119,6 +16916,7 @@ public interface WinError { // floating single-master operation roles to other servers. // int ERROR_DS_UNABLE_TO_SURRENDER_ROLES = 8435; + // // MessageId: ERROR_DS_DRA_GENERIC // @@ -15127,6 +16925,7 @@ public interface WinError { // The replication operation failed. // int ERROR_DS_DRA_GENERIC = 8436; + // // MessageId: ERROR_DS_DRA_INVALID_PARAMETER // @@ -15135,6 +16934,7 @@ public interface WinError { // An invalid parameter was specified for this replication operation. // int ERROR_DS_DRA_INVALID_PARAMETER = 8437; + // // MessageId: ERROR_DS_DRA_BUSY // @@ -15144,6 +16944,7 @@ public interface WinError { // at this time. // int ERROR_DS_DRA_BUSY = 8438; + // // MessageId: ERROR_DS_DRA_BAD_DN // @@ -15153,6 +16954,7 @@ public interface WinError { // invalid. // int ERROR_DS_DRA_BAD_DN = 8439; + // // MessageId: ERROR_DS_DRA_BAD_NC // @@ -15161,6 +16963,7 @@ public interface WinError { // The naming context specified for this replication operation is invalid. // int ERROR_DS_DRA_BAD_NC = 8440; + // // MessageId: ERROR_DS_DRA_DN_EXISTS // @@ -15170,6 +16973,7 @@ public interface WinError { // exists. // int ERROR_DS_DRA_DN_EXISTS = 8441; + // // MessageId: ERROR_DS_DRA_INTERNAL_ERROR // @@ -15178,6 +16982,7 @@ public interface WinError { // The replication system encountered an internal error. // int ERROR_DS_DRA_INTERNAL_ERROR = 8442; + // // MessageId: ERROR_DS_DRA_INCONSISTENT_DIT // @@ -15186,6 +16991,7 @@ public interface WinError { // The replication operation encountered a database inconsistency. // int ERROR_DS_DRA_INCONSISTENT_DIT = 8443; + // // MessageId: ERROR_DS_DRA_CONNECTION_FAILED // @@ -15195,6 +17001,7 @@ public interface WinError { // contacted. // int ERROR_DS_DRA_CONNECTION_FAILED = 8444; + // // MessageId: ERROR_DS_DRA_BAD_INSTANCE_TYPE // @@ -15204,6 +17011,7 @@ public interface WinError { // type. // int ERROR_DS_DRA_BAD_INSTANCE_TYPE = 8445; + // // MessageId: ERROR_DS_DRA_OUT_OF_MEM // @@ -15212,6 +17020,7 @@ public interface WinError { // The replication operation failed to allocate memory. // int ERROR_DS_DRA_OUT_OF_MEM = 8446; + // // MessageId: ERROR_DS_DRA_MAIL_PROBLEM // @@ -15220,6 +17029,7 @@ public interface WinError { // The replication operation encountered an error with the mail system. // int ERROR_DS_DRA_MAIL_PROBLEM = 8447; + // // MessageId: ERROR_DS_DRA_REF_ALREADY_EXISTS // @@ -15229,6 +17039,7 @@ public interface WinError { // exists. // int ERROR_DS_DRA_REF_ALREADY_EXISTS = 8448; + // // MessageId: ERROR_DS_DRA_REF_NOT_FOUND // @@ -15238,6 +17049,7 @@ public interface WinError { // exist. // int ERROR_DS_DRA_REF_NOT_FOUND = 8449; + // // MessageId: ERROR_DS_DRA_OBJ_IS_REP_SOURCE // @@ -15247,6 +17059,7 @@ public interface WinError { // server. // int ERROR_DS_DRA_OBJ_IS_REP_SOURCE = 8450; + // // MessageId: ERROR_DS_DRA_DB_ERROR // @@ -15255,6 +17068,7 @@ public interface WinError { // The replication operation encountered a database error. // int ERROR_DS_DRA_DB_ERROR = 8451; + // // MessageId: ERROR_DS_DRA_NO_REPLICA // @@ -15264,6 +17078,7 @@ public interface WinError { // replicated from the specified server. // int ERROR_DS_DRA_NO_REPLICA = 8452; + // // MessageId: ERROR_DS_DRA_ACCESS_DENIED // @@ -15272,6 +17087,7 @@ public interface WinError { // Replication access was denied. // int ERROR_DS_DRA_ACCESS_DENIED = 8453; + // // MessageId: ERROR_DS_DRA_NOT_SUPPORTED // @@ -15281,6 +17097,7 @@ public interface WinError { // service. // int ERROR_DS_DRA_NOT_SUPPORTED = 8454; + // // MessageId: ERROR_DS_DRA_RPC_CANCELLED // @@ -15289,6 +17106,7 @@ public interface WinError { // The replication remote procedure call was cancelled. // int ERROR_DS_DRA_RPC_CANCELLED = 8455; + // // MessageId: ERROR_DS_DRA_SOURCE_DISABLED // @@ -15297,6 +17115,7 @@ public interface WinError { // The source server is currently rejecting replication requests. // int ERROR_DS_DRA_SOURCE_DISABLED = 8456; + // // MessageId: ERROR_DS_DRA_SINK_DISABLED // @@ -15305,6 +17124,7 @@ public interface WinError { // The destination server is currently rejecting replication requests. // int ERROR_DS_DRA_SINK_DISABLED = 8457; + // // MessageId: ERROR_DS_DRA_NAME_COLLISION // @@ -15313,6 +17133,7 @@ public interface WinError { // The replication operation failed due to a collision of object names. // int ERROR_DS_DRA_NAME_COLLISION = 8458; + // // MessageId: ERROR_DS_DRA_SOURCE_REINSTALLED // @@ -15321,6 +17142,7 @@ public interface WinError { // The replication source has been reinstalled. // int ERROR_DS_DRA_SOURCE_REINSTALLED = 8459; + // // MessageId: ERROR_DS_DRA_MISSING_PARENT // @@ -15330,6 +17152,7 @@ public interface WinError { // missing. // int ERROR_DS_DRA_MISSING_PARENT = 8460; + // // MessageId: ERROR_DS_DRA_PREEMPTED // @@ -15338,6 +17161,7 @@ public interface WinError { // The replication operation was preempted. // int ERROR_DS_DRA_PREEMPTED = 8461; + // // MessageId: ERROR_DS_DRA_ABANDON_SYNC // @@ -15347,6 +17171,7 @@ public interface WinError { // of updates. // int ERROR_DS_DRA_ABANDON_SYNC = 8462; + // // MessageId: ERROR_DS_DRA_SHUTDOWN // @@ -15356,6 +17181,7 @@ public interface WinError { // down. // int ERROR_DS_DRA_SHUTDOWN = 8463; + // // MessageId: ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET // @@ -15368,6 +17194,7 @@ public interface WinError { // attribute set. // int ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464; + // // MessageId: ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA // @@ -15377,6 +17204,7 @@ public interface WinError { // attempted to sync from a partial replica. // int ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465; + // // MessageId: ERROR_DS_DRA_EXTN_CONNECTION_FAILED // @@ -15387,6 +17215,7 @@ public interface WinError { // the operation. // int ERROR_DS_DRA_EXTN_CONNECTION_FAILED = 8466; + // // MessageId: ERROR_DS_INSTALL_SCHEMA_MISMATCH // @@ -15396,6 +17225,7 @@ public interface WinError { // compatible with the version of directory service on this computer. // int ERROR_DS_INSTALL_SCHEMA_MISMATCH = 8467; + // // MessageId: ERROR_DS_DUP_LINK_ID // @@ -15405,6 +17235,7 @@ public interface WinError { // exists. // int ERROR_DS_DUP_LINK_ID = 8468; + // // MessageId: ERROR_DS_NAME_ERROR_RESOLVING // @@ -15413,6 +17244,7 @@ public interface WinError { // Name translation: Generic processing error. // int ERROR_DS_NAME_ERROR_RESOLVING = 8469; + // // MessageId: ERROR_DS_NAME_ERROR_NOT_FOUND // @@ -15422,6 +17254,7 @@ public interface WinError { // name. // int ERROR_DS_NAME_ERROR_NOT_FOUND = 8470; + // // MessageId: ERROR_DS_NAME_ERROR_NOT_UNIQUE // @@ -15430,6 +17263,7 @@ public interface WinError { // Name translation: Input name mapped to more than one output name. // int ERROR_DS_NAME_ERROR_NOT_UNIQUE = 8471; + // // MessageId: ERROR_DS_NAME_ERROR_NO_MAPPING // @@ -15438,6 +17272,7 @@ public interface WinError { // Name translation: Input name found, but not the associated output format. // int ERROR_DS_NAME_ERROR_NO_MAPPING = 8472; + // // MessageId: ERROR_DS_NAME_ERROR_DOMAIN_ONLY // @@ -15447,6 +17282,7 @@ public interface WinError { // found. // int ERROR_DS_NAME_ERROR_DOMAIN_ONLY = 8473; + // // MessageId: ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING // @@ -15456,6 +17292,7 @@ public interface WinError { // client without going out to the wire. // int ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474; + // // MessageId: ERROR_DS_CONSTRUCTED_ATT_MOD // @@ -15464,6 +17301,7 @@ public interface WinError { // Modification of a constructed attribute is not allowed. // int ERROR_DS_CONSTRUCTED_ATT_MOD = 8475; + // // MessageId: ERROR_DS_WRONG_OM_OBJ_CLASS // @@ -15473,6 +17311,7 @@ public interface WinError { // specified syntax. // int ERROR_DS_WRONG_OM_OBJ_CLASS = 8476; + // // MessageId: ERROR_DS_DRA_REPL_PENDING // @@ -15481,6 +17320,7 @@ public interface WinError { // The replication request has been posted; waiting for reply. // int ERROR_DS_DRA_REPL_PENDING = 8477; + // // MessageId: ERROR_DS_DS_REQUIRED // @@ -15490,6 +17330,7 @@ public interface WinError { // available. // int ERROR_DS_DS_REQUIRED = 8478; + // // MessageId: ERROR_DS_INVALID_LDAP_DISPLAY_NAME // @@ -15499,6 +17340,7 @@ public interface WinError { // characters. // int ERROR_DS_INVALID_LDAP_DISPLAY_NAME = 8479; + // // MessageId: ERROR_DS_NON_BASE_SEARCH // @@ -15507,6 +17349,7 @@ public interface WinError { // The requested search operation is only supported for base searches. // int ERROR_DS_NON_BASE_SEARCH = 8480; + // // MessageId: ERROR_DS_CANT_RETRIEVE_ATTS // @@ -15515,6 +17358,7 @@ public interface WinError { // The search failed to retrieve attributes from the database. // int ERROR_DS_CANT_RETRIEVE_ATTS = 8481; + // // MessageId: ERROR_DS_BACKLINK_WITHOUT_LINK // @@ -15524,6 +17368,7 @@ public interface WinError { // has no corresponding forward link. // int ERROR_DS_BACKLINK_WITHOUT_LINK = 8482; + // // MessageId: ERROR_DS_EPOCH_MISMATCH // @@ -15534,6 +17379,7 @@ public interface WinError { // latest version of the object. // int ERROR_DS_EPOCH_MISMATCH = 8483; + // // MessageId: ERROR_DS_SRC_NAME_MISMATCH // @@ -15544,6 +17390,7 @@ public interface WinError { // latest version of the object. // int ERROR_DS_SRC_NAME_MISMATCH = 8484; + // // MessageId: ERROR_DS_SRC_AND_DST_NC_IDENTICAL // @@ -15554,6 +17401,7 @@ public interface WinError { // operation. // int ERROR_DS_SRC_AND_DST_NC_IDENTICAL = 8485; + // // MessageId: ERROR_DS_DST_NC_MISMATCH // @@ -15564,6 +17412,7 @@ public interface WinError { // have the latest version of the Partitions container. // int ERROR_DS_DST_NC_MISMATCH = 8486; + // // MessageId: ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC // @@ -15573,6 +17422,7 @@ public interface WinError { // destination naming context. // int ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487; + // // MessageId: ERROR_DS_SRC_GUID_MISMATCH // @@ -15583,6 +17433,7 @@ public interface WinError { // the latest version of the source object. // int ERROR_DS_SRC_GUID_MISMATCH = 8488; + // // MessageId: ERROR_DS_CANT_MOVE_DELETED_OBJECT // @@ -15593,6 +17444,7 @@ public interface WinError { // the source object. // int ERROR_DS_CANT_MOVE_DELETED_OBJECT = 8489; + // // MessageId: ERROR_DS_PDC_OPERATION_IN_PROGRESS // @@ -15602,6 +17454,7 @@ public interface WinError { // already in progress. // int ERROR_DS_PDC_OPERATION_IN_PROGRESS = 8490; + // // MessageId: ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD // @@ -15613,6 +17466,7 @@ public interface WinError { // consistent state. // int ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491; + // // MessageId: ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION // @@ -15624,6 +17478,7 @@ public interface WinError { // prevent its move. // int ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492; + // // MessageId: ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS // @@ -15634,6 +17489,7 @@ public interface WinError { // Remove the object from any account group memberships and retry. // int ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493; + // // MessageId: ERROR_DS_NC_MUST_HAVE_NC_PARENT // @@ -15643,6 +17499,7 @@ public interface WinError { // context head, not of an interior node. // int ERROR_DS_NC_MUST_HAVE_NC_PARENT = 8494; + // // MessageId: ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE // @@ -15656,6 +17513,7 @@ public interface WinError { // Windows=2000 Domain Naming masters) // int ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495; + // // MessageId: ERROR_DS_DST_DOMAIN_NOT_NATIVE // @@ -15664,6 +17522,7 @@ public interface WinError { // Destination domain must be in native mode. // int ERROR_DS_DST_DOMAIN_NOT_NATIVE = 8496; + // // MessageId: ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER // @@ -15673,6 +17532,7 @@ public interface WinError { // infrastructure container in the domain of interest. // int ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497; + // // MessageId: ERROR_DS_CANT_MOVE_ACCOUNT_GROUP // @@ -15681,6 +17541,7 @@ public interface WinError { // Cross-domain move of non-empty account groups is not allowed. // int ERROR_DS_CANT_MOVE_ACCOUNT_GROUP = 8498; + // // MessageId: ERROR_DS_CANT_MOVE_RESOURCE_GROUP // @@ -15689,6 +17550,7 @@ public interface WinError { // Cross-domain move of non-empty resource groups is not allowed. // int ERROR_DS_CANT_MOVE_RESOURCE_GROUP = 8499; + // // MessageId: ERROR_DS_INVALID_SEARCH_FLAG // @@ -15698,6 +17560,7 @@ public interface WinError { // on attributes of Unicode or Teletex strings. // int ERROR_DS_INVALID_SEARCH_FLAG = 8500; + // // MessageId: ERROR_DS_NO_TREE_DELETE_ABOVE_NC // @@ -15707,6 +17570,7 @@ public interface WinError { // are not allowed. // int ERROR_DS_NO_TREE_DELETE_ABOVE_NC = 8501; + // // MessageId: ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE // @@ -15716,6 +17580,7 @@ public interface WinError { // deletion because the tree was in use. // int ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502; + // // MessageId: ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE // @@ -15725,6 +17590,7 @@ public interface WinError { // while attempting a tree deletion. // int ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503; + // // MessageId: ERROR_DS_SAM_INIT_FAILURE // @@ -15737,6 +17603,7 @@ public interface WinError { // information. // int ERROR_DS_SAM_INIT_FAILURE = 8504; + // // MessageId: ERROR_DS_SENSITIVE_GROUP_VIOLATION // @@ -15746,6 +17613,7 @@ public interface WinError { // group. // int ERROR_DS_SENSITIVE_GROUP_VIOLATION = 8505; + // // MessageId: ERROR_DS_CANT_MOD_PRIMARYGROUPID // @@ -15754,6 +17622,7 @@ public interface WinError { // Cannot change the primary group ID of a domain controller account. // int ERROR_DS_CANT_MOD_PRIMARYGROUPID = 8506; + // // MessageId: ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD // @@ -15762,6 +17631,7 @@ public interface WinError { // An attempt is made to modify the base schema. // int ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507; + // // MessageId: ERROR_DS_NONSAFE_SCHEMA_CHANGE // @@ -15774,6 +17644,7 @@ public interface WinError { // auxiliary class) is not allowed. // int ERROR_DS_NONSAFE_SCHEMA_CHANGE = 8508; + // // MessageId: ERROR_DS_SCHEMA_UPDATE_DISALLOWED // @@ -15783,6 +17654,7 @@ public interface WinError { // FSMO Role Owner. // int ERROR_DS_SCHEMA_UPDATE_DISALLOWED = 8509; + // // MessageId: ERROR_DS_CANT_CREATE_UNDER_SCHEMA // @@ -15793,6 +17665,7 @@ public interface WinError { // schema container. // int ERROR_DS_CANT_CREATE_UNDER_SCHEMA = 8510; + // // MessageId: ERROR_DS_INSTALL_NO_SRC_SCH_VERSION // @@ -15804,6 +17677,7 @@ public interface WinError { // to read it. // int ERROR_DS_INSTALL_NO_SRC_SCH_VERSION = 8511; + // // MessageId: ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE // @@ -15813,6 +17687,7 @@ public interface WinError { // the SCHEMA section of the file schema.ini in the system32 directory. // int ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512; + // // MessageId: ERROR_DS_INVALID_GROUP_TYPE // @@ -15821,6 +17696,7 @@ public interface WinError { // The specified group type is invalid. // int ERROR_DS_INVALID_GROUP_TYPE = 8513; + // // MessageId: ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN // @@ -15830,6 +17706,7 @@ public interface WinError { // security-enabled. // int ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514; + // // MessageId: ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN // @@ -15839,6 +17716,7 @@ public interface WinError { // security-enabled. // int ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515; + // // MessageId: ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER // @@ -15847,6 +17725,7 @@ public interface WinError { // A global group cannot have a local group as a member. // int ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516; + // // MessageId: ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER // @@ -15855,6 +17734,7 @@ public interface WinError { // A global group cannot have a universal group as a member. // int ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517; + // // MessageId: ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER // @@ -15863,6 +17743,7 @@ public interface WinError { // A universal group cannot have a local group as a member. // int ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518; + // // MessageId: ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER // @@ -15871,6 +17752,7 @@ public interface WinError { // A global group cannot have a cross-domain member. // int ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519; + // // MessageId: ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER // @@ -15879,6 +17761,7 @@ public interface WinError { // A local group cannot have another cross domain local group as a member. // int ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520; + // // MessageId: ERROR_DS_HAVE_PRIMARY_MEMBERS // @@ -15887,6 +17770,7 @@ public interface WinError { // A group with primary members cannot change to a security-disabled group. // int ERROR_DS_HAVE_PRIMARY_MEMBERS = 8521; + // // MessageId: ERROR_DS_STRING_SD_CONVERSION_FAILED // @@ -15896,6 +17780,7 @@ public interface WinError { // class-schema object. // int ERROR_DS_STRING_SD_CONVERSION_FAILED = 8522; + // // MessageId: ERROR_DS_NAMING_MASTER_GC // @@ -15906,6 +17791,7 @@ public interface WinError { // servers) // int ERROR_DS_NAMING_MASTER_GC = 8523; + // // MessageId: ERROR_DS_DNS_LOOKUP_FAILURE // @@ -15914,6 +17800,7 @@ public interface WinError { // The DSA operation is unable to proceed because of a DNS lookup failure. // int ERROR_DS_DNS_LOOKUP_FAILURE = 8524; + // // MessageId: ERROR_DS_COULDNT_UPDATE_SPNS // @@ -15923,6 +17810,7 @@ public interface WinError { // Principal Name values could not be kept in sync. // int ERROR_DS_COULDNT_UPDATE_SPNS = 8525; + // // MessageId: ERROR_DS_CANT_RETRIEVE_SD // @@ -15931,6 +17819,7 @@ public interface WinError { // The Security Descriptor attribute could not be read. // int ERROR_DS_CANT_RETRIEVE_SD = 8526; + // // MessageId: ERROR_DS_KEY_NOT_UNIQUE // @@ -15940,6 +17829,7 @@ public interface WinError { // found. // int ERROR_DS_KEY_NOT_UNIQUE = 8527; + // // MessageId: ERROR_DS_WRONG_LINKED_ATT_SYNTAX // @@ -15950,6 +17840,7 @@ public interface WinError { // can only have syntax=2.5.5.1 // int ERROR_DS_WRONG_LINKED_ATT_SYNTAX = 8528; + // // MessageId: ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD // @@ -15958,6 +17849,7 @@ public interface WinError { // Security Account Manager needs to get the boot password. // int ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529; + // // MessageId: ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY // @@ -15966,6 +17858,7 @@ public interface WinError { // Security Account Manager needs to get the boot key from floppy disk. // int ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530; + // // MessageId: ERROR_DS_CANT_START // @@ -15974,6 +17867,7 @@ public interface WinError { // Directory Service cannot start. // int ERROR_DS_CANT_START = 8531; + // // MessageId: ERROR_DS_INIT_FAILURE // @@ -15982,6 +17876,7 @@ public interface WinError { // Directory Services could not start. // int ERROR_DS_INIT_FAILURE = 8532; + // // MessageId: ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION // @@ -15991,6 +17886,7 @@ public interface WinError { // better. // int ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533; + // // MessageId: ERROR_DS_SOURCE_DOMAIN_IN_FOREST // @@ -15999,6 +17895,7 @@ public interface WinError { // The source domain may not be in the same forest as destination. // int ERROR_DS_SOURCE_DOMAIN_IN_FOREST = 8534; + // // MessageId: ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST // @@ -16007,6 +17904,7 @@ public interface WinError { // The destination domain must be in the forest. // int ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535; + // // MessageId: ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED // @@ -16015,6 +17913,7 @@ public interface WinError { // The operation requires that destination domain auditing be enabled. // int ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536; + // // MessageId: ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN // @@ -16023,6 +17922,7 @@ public interface WinError { // The operation couldn't locate a DC for the source domain. // int ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537; + // // MessageId: ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER // @@ -16031,6 +17931,7 @@ public interface WinError { // The source object must be a group or user. // int ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538; + // // MessageId: ERROR_DS_SRC_SID_EXISTS_IN_FOREST // @@ -16039,6 +17940,7 @@ public interface WinError { // The source object's SID already exists in destination forest. // int ERROR_DS_SRC_SID_EXISTS_IN_FOREST = 8539; + // // MessageId: ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH // @@ -16047,6 +17949,7 @@ public interface WinError { // The source and destination object must be of the same type. // int ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540; + // // MessageId: ERROR_SAM_INIT_FAILURE // @@ -16058,6 +17961,7 @@ public interface WinError { // Mode. Check the event log for detailed information. // int ERROR_SAM_INIT_FAILURE = 8541; + // // MessageId: ERROR_DS_DRA_SCHEMA_INFO_SHIP // @@ -16066,6 +17970,7 @@ public interface WinError { // Schema information could not be included in the replication request. // int ERROR_DS_DRA_SCHEMA_INFO_SHIP = 8542; + // // MessageId: ERROR_DS_DRA_SCHEMA_CONFLICT // @@ -16075,6 +17980,7 @@ public interface WinError { // incompatibility. // int ERROR_DS_DRA_SCHEMA_CONFLICT = 8543; + // // MessageId: ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT // @@ -16084,6 +17990,7 @@ public interface WinError { // incompatibility. // int ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544; + // // MessageId: ERROR_DS_DRA_OBJ_NC_MISMATCH // @@ -16094,6 +18001,7 @@ public interface WinError { // cross-domain move operation. // int ERROR_DS_DRA_OBJ_NC_MISMATCH = 8545; + // // MessageId: ERROR_DS_NC_STILL_HAS_DSAS // @@ -16103,6 +18011,7 @@ public interface WinError { // controllers that still host this domain. // int ERROR_DS_NC_STILL_HAS_DSAS = 8546; + // // MessageId: ERROR_DS_GC_REQUIRED // @@ -16111,6 +18020,7 @@ public interface WinError { // The requested operation can be performed only on a global catalog server. // int ERROR_DS_GC_REQUIRED = 8547; + // // MessageId: ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY // @@ -16120,6 +18030,7 @@ public interface WinError { // domain. // int ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548; + // // MessageId: ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS // @@ -16128,6 +18039,7 @@ public interface WinError { // Foreign security principals cannot be members of universal groups. // int ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549; + // // MessageId: ERROR_DS_CANT_ADD_TO_GC // @@ -16137,6 +18049,7 @@ public interface WinError { // security reasons. // int ERROR_DS_CANT_ADD_TO_GC = 8550; + // // MessageId: ERROR_DS_NO_CHECKPOINT_WITH_PDC // @@ -16146,6 +18059,7 @@ public interface WinError { // modifications being processed currently. // int ERROR_DS_NO_CHECKPOINT_WITH_PDC = 8551; + // // MessageId: ERROR_DS_SOURCE_AUDITING_NOT_ENABLED // @@ -16154,6 +18068,7 @@ public interface WinError { // The operation requires that source domain auditing be enabled. // int ERROR_DS_SOURCE_AUDITING_NOT_ENABLED = 8552; + // // MessageId: ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC // @@ -16163,6 +18078,7 @@ public interface WinError { // contexts. // int ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553; + // // MessageId: ERROR_DS_INVALID_NAME_FOR_SPN // @@ -16172,6 +18088,7 @@ public interface WinError { // provided hostname is not in the necessary format. // int ERROR_DS_INVALID_NAME_FOR_SPN = 8554; + // // MessageId: ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS // @@ -16180,6 +18097,7 @@ public interface WinError { // A Filter was passed that uses constructed attributes. // int ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555; + // // MessageId: ERROR_DS_UNICODEPWD_NOT_IN_QUOTES // @@ -16188,6 +18106,7 @@ public interface WinError { // The unicodePwd attribute value must be enclosed in double quotes. // int ERROR_DS_UNICODEPWD_NOT_IN_QUOTES = 8556; + // // MessageId: ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED // @@ -16199,6 +18118,7 @@ public interface WinError { // increased. // int ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557; + // // MessageId: ERROR_DS_MUST_BE_RUN_ON_DST_DC // @@ -16207,6 +18127,7 @@ public interface WinError { // For security reasons, the operation must be run on the destination DC. // int ERROR_DS_MUST_BE_RUN_ON_DST_DC = 8558; + // // MessageId: ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER // @@ -16215,6 +18136,7 @@ public interface WinError { // For security reasons, the source DC must be NT4SP4 or greater. // int ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559; + // // MessageId: ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ // @@ -16224,6 +18146,7 @@ public interface WinError { // delete operations. The tree delete may have been partially performed. // int ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560; + // // MessageId: ERROR_DS_INIT_FAILURE_CONSOLE // @@ -16234,6 +18157,7 @@ public interface WinError { // the recovery console to diagnose the system further. // int ERROR_DS_INIT_FAILURE_CONSOLE = 8561; + // // MessageId: ERROR_DS_SAM_INIT_FAILURE_CONSOLE // @@ -16245,6 +18169,7 @@ public interface WinError { // the recovery console to diagnose the system further. // int ERROR_DS_SAM_INIT_FAILURE_CONSOLE = 8562; + // // MessageId: ERROR_DS_FOREST_VERSION_TOO_HIGH // @@ -16256,6 +18181,7 @@ public interface WinError { // this forest. // int ERROR_DS_FOREST_VERSION_TOO_HIGH = 8563; + // // MessageId: ERROR_DS_DOMAIN_VERSION_TOO_HIGH // @@ -16267,6 +18193,7 @@ public interface WinError { // this domain. // int ERROR_DS_DOMAIN_VERSION_TOO_HIGH = 8564; + // // MessageId: ERROR_DS_FOREST_VERSION_TOO_LOW // @@ -16278,6 +18205,7 @@ public interface WinError { // this forest. // int ERROR_DS_FOREST_VERSION_TOO_LOW = 8565; + // // MessageId: ERROR_DS_DOMAIN_VERSION_TOO_LOW // @@ -16289,6 +18217,7 @@ public interface WinError { // this domain. // int ERROR_DS_DOMAIN_VERSION_TOO_LOW = 8566; + // // MessageId: ERROR_DS_INCOMPATIBLE_VERSION // @@ -16298,6 +18227,7 @@ public interface WinError { // incompatible with the functional level of the domain or forest. // int ERROR_DS_INCOMPATIBLE_VERSION = 8567; + // // MessageId: ERROR_DS_LOW_DSA_VERSION // @@ -16308,6 +18238,7 @@ public interface WinError { // the domain (or forest) that are at a lower incompatible functional level. // int ERROR_DS_LOW_DSA_VERSION = 8568; + // // MessageId: ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN // @@ -16319,6 +18250,7 @@ public interface WinError { // level. // int ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 8569; + // // MessageId: ERROR_DS_NOT_SUPPORTED_SORT_ORDER // @@ -16327,6 +18259,7 @@ public interface WinError { // The sort order requested is not supported. // int ERROR_DS_NOT_SUPPORTED_SORT_ORDER = 8570; + // // MessageId: ERROR_DS_NAME_NOT_UNIQUE // @@ -16335,6 +18268,7 @@ public interface WinError { // The requested name already exists as a unique identifier. // int ERROR_DS_NAME_NOT_UNIQUE = 8571; + // // MessageId: ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 // @@ -16344,6 +18278,7 @@ public interface WinError { // recreated. // int ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 8572; + // // MessageId: ERROR_DS_OUT_OF_VERSION_STORE // @@ -16352,6 +18287,7 @@ public interface WinError { // The database is out of version store. // int ERROR_DS_OUT_OF_VERSION_STORE = 8573; + // // MessageId: ERROR_DS_INCOMPATIBLE_CONTROLS_USED // @@ -16361,6 +18297,7 @@ public interface WinError { // used. // int ERROR_DS_INCOMPATIBLE_CONTROLS_USED = 8574; + // // MessageId: ERROR_DS_NO_REF_DOMAIN // @@ -16370,6 +18307,7 @@ public interface WinError { // partition. // int ERROR_DS_NO_REF_DOMAIN = 8575; + // // MessageId: ERROR_DS_RESERVED_LINK_ID // @@ -16378,6 +18316,7 @@ public interface WinError { // Schema update failed: The link identifier is reserved. // int ERROR_DS_RESERVED_LINK_ID = 8576; + // // MessageId: ERROR_DS_LINK_ID_NOT_AVAILABLE // @@ -16386,6 +18325,7 @@ public interface WinError { // Schema update failed: There are no link identifiers available. // int ERROR_DS_LINK_ID_NOT_AVAILABLE = 8577; + // // MessageId: ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER // @@ -16394,6 +18334,7 @@ public interface WinError { // An account group cannot have a universal group as a member. // int ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 8578; + // // MessageId: ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE // @@ -16403,6 +18344,7 @@ public interface WinError { // are not allowed. // int ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 8579; + // // MessageId: ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC // @@ -16411,6 +18353,7 @@ public interface WinError { // Move operations on objects in the schema naming context are not allowed. // int ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 8580; + // // MessageId: ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG // @@ -16420,6 +18363,7 @@ public interface WinError { // be moved or renamed. // int ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG = 8581; + // // MessageId: ERROR_DS_MODIFYDN_WRONG_GRANDPARENT // @@ -16429,6 +18373,7 @@ public interface WinError { // not forbidden on this object, but are restricted to sibling containers. // int ERROR_DS_MODIFYDN_WRONG_GRANDPARENT = 8582; + // // MessageId: ERROR_DS_NAME_ERROR_TRUST_REFERRAL // @@ -16437,6 +18382,7 @@ public interface WinError { // Unable to resolve completely, a referral to another forest is generated. // int ERROR_DS_NAME_ERROR_TRUST_REFERRAL = 8583; + // // MessageId: ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER // @@ -16445,6 +18391,7 @@ public interface WinError { // The requested action is not supported on standard server. // int ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER = 8584; + // // MessageId: ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD // @@ -16455,6 +18402,7 @@ public interface WinError { // question. // int ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD = 8585; + // // MessageId: ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 // @@ -16467,6 +18415,7 @@ public interface WinError { // replica of this naming context is reachable by the Domain Naming master. // int ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 8586; + // // MessageId: ERROR_DS_THREAD_LIMIT_EXCEEDED // @@ -16475,6 +18424,7 @@ public interface WinError { // The thread limit for this request was exceeded. // int ERROR_DS_THREAD_LIMIT_EXCEEDED = 8587; + // // MessageId: ERROR_DS_NOT_CLOSEST // @@ -16483,6 +18433,7 @@ public interface WinError { // The Global catalog server is not in the closest site. // int ERROR_DS_NOT_CLOSEST = 8588; + // // MessageId: ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF // @@ -16493,6 +18444,7 @@ public interface WinError { // object in the local DS database has no serverReference attribute. // int ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 8589; + // // MessageId: ERROR_DS_SINGLE_USER_MODE_FAILED // @@ -16501,6 +18453,7 @@ public interface WinError { // The Directory Service failed to enter single user mode. // int ERROR_DS_SINGLE_USER_MODE_FAILED = 8590; + // // MessageId: ERROR_DS_NTDSCRIPT_SYNTAX_ERROR // @@ -16509,6 +18462,7 @@ public interface WinError { // The Directory Service cannot parse the script because of a syntax error. // int ERROR_DS_NTDSCRIPT_SYNTAX_ERROR = 8591; + // // MessageId: ERROR_DS_NTDSCRIPT_PROCESS_ERROR // @@ -16517,6 +18471,7 @@ public interface WinError { // The Directory Service cannot process the script because of an error. // int ERROR_DS_NTDSCRIPT_PROCESS_ERROR = 8592; + // // MessageId: ERROR_DS_DIFFERENT_REPL_EPOCHS // @@ -16529,6 +18484,7 @@ public interface WinError { // domain rename that is in progress). // int ERROR_DS_DIFFERENT_REPL_EPOCHS = 8593; + // // MessageId: ERROR_DS_DRS_EXTENSIONS_CHANGED // @@ -16539,6 +18495,7 @@ public interface WinError { // extensions information. // int ERROR_DS_DRS_EXTENSIONS_CHANGED = 8594; + // // MessageId: ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR // @@ -16547,6 +18504,7 @@ public interface WinError { // Operation not allowed on a disabled cross ref. // int ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 8595; + // // MessageId: ERROR_DS_NO_MSDS_INTID // @@ -16555,6 +18513,7 @@ public interface WinError { // Schema update failed: No values for msDS-IntId are available. // int ERROR_DS_NO_MSDS_INTID = 8596; + // // MessageId: ERROR_DS_DUP_MSDS_INTID // @@ -16563,6 +18522,7 @@ public interface WinError { // Schema update failed: Duplicate msDS-INtId. Retry the operation. // int ERROR_DS_DUP_MSDS_INTID = 8597; + // // MessageId: ERROR_DS_EXISTS_IN_RDNATTID // @@ -16571,6 +18531,7 @@ public interface WinError { // Schema deletion failed: attribute is used in rDNAttID. // int ERROR_DS_EXISTS_IN_RDNATTID = 8598; + // // MessageId: ERROR_DS_AUTHORIZATION_FAILED // @@ -16579,6 +18540,7 @@ public interface WinError { // The directory service failed to authorize the request. // int ERROR_DS_AUTHORIZATION_FAILED = 8599; + // // MessageId: ERROR_DS_INVALID_SCRIPT // @@ -16587,6 +18549,7 @@ public interface WinError { // The Directory Service cannot process the script because it is invalid. // int ERROR_DS_INVALID_SCRIPT = 8600; + // // MessageId: ERROR_DS_REMOTE_CROSSREF_OP_FAILED // @@ -16596,6 +18559,7 @@ public interface WinError { // Master FSMO. The operation's error is in the extended data. // int ERROR_DS_REMOTE_CROSSREF_OP_FAILED = 8601; + // // MessageId: ERROR_DS_CROSS_REF_BUSY // @@ -16604,6 +18568,7 @@ public interface WinError { // A cross reference is in use locally with the same name. // int ERROR_DS_CROSS_REF_BUSY = 8602; + // // MessageId: ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN // @@ -16614,6 +18579,7 @@ public interface WinError { // been deleted from the forest. // int ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN = 8603; + // // MessageId: ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC // @@ -16622,6 +18588,7 @@ public interface WinError { // Writeable NCs prevent this DC from demoting. // int ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC = 8604; + // // MessageId: ERROR_DS_DUPLICATE_ID_FOUND // @@ -16630,6 +18597,7 @@ public interface WinError { // The requested object has a non-unique identifier and cannot be retrieved. // int ERROR_DS_DUPLICATE_ID_FOUND = 8605; + // // MessageId: ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT // @@ -16639,6 +18607,7 @@ public interface WinError { // not exist because it may have been deleted and already garbage collected. // int ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT = 8606; + // // MessageId: ERROR_DS_GROUP_CONVERSION_ERROR // @@ -16648,6 +18617,7 @@ public interface WinError { // requested group type. // int ERROR_DS_GROUP_CONVERSION_ERROR = 8607; + // // MessageId: ERROR_DS_CANT_MOVE_APP_BASIC_GROUP // @@ -16656,6 +18626,7 @@ public interface WinError { // Cross-domain move of non-empty basic application groups is not allowed. // int ERROR_DS_CANT_MOVE_APP_BASIC_GROUP = 8608; + // // MessageId: ERROR_DS_CANT_MOVE_APP_QUERY_GROUP // @@ -16665,6 +18636,7 @@ public interface WinError { // allowed. // int ERROR_DS_CANT_MOVE_APP_QUERY_GROUP = 8609; + // // MessageId: ERROR_DS_ROLE_NOT_VERIFIED // @@ -16675,6 +18647,7 @@ public interface WinError { // partner. // int ERROR_DS_ROLE_NOT_VERIFIED = 8610; + // // MessageId: ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL // @@ -16684,6 +18657,7 @@ public interface WinError { // cannot already be a special container. // int ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL = 8611; + // // MessageId: ERROR_DS_DOMAIN_RENAME_IN_PROGRESS // @@ -16693,6 +18667,7 @@ public interface WinError { // domain rename operation is in progress. // int ERROR_DS_DOMAIN_RENAME_IN_PROGRESS = 8612; + // // MessageId: ERROR_DS_EXISTING_AD_CHILD_NC // @@ -16703,6 +18678,7 @@ public interface WinError { // method. // int ERROR_DS_EXISTING_AD_CHILD_NC = 8613; + // // MessageId: ERROR_DS_REPL_LIFETIME_EXCEEDED // @@ -16713,6 +18689,7 @@ public interface WinError { // lifetime. // int ERROR_DS_REPL_LIFETIME_EXCEEDED = 8614; + // // MessageId: ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER // @@ -16722,6 +18699,7 @@ public interface WinError { // container. // int ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER = 8615; + // // MessageId: ERROR_DS_LDAP_SEND_QUEUE_FULL // @@ -16733,6 +18711,7 @@ public interface WinError { // catch up then it will be disconnected. // int ERROR_DS_LDAP_SEND_QUEUE_FULL = 8616; + // // MessageId: ERROR_DS_DRA_OUT_SCHEDULE_WINDOW // @@ -16744,6 +18723,7 @@ public interface WinError { // decreasing the scheduled replication frequency. // int ERROR_DS_DRA_OUT_SCHEDULE_WINDOW = 8617; + // // MessageId: ERROR_DS_POLICY_NOT_KNOWN // @@ -16754,6 +18734,7 @@ public interface WinError { // account for replication latencies. // int ERROR_DS_POLICY_NOT_KNOWN = 8618; + // // MessageId: ERROR_NO_SITE_SETTINGS_OBJECT // @@ -16762,6 +18743,7 @@ public interface WinError { // The site settings object for the specified site does not exist. // int ERROR_NO_SITE_SETTINGS_OBJECT = 8619; + // // MessageId: ERROR_NO_SECRETS // @@ -16771,6 +18753,7 @@ public interface WinError { // specified account. // int ERROR_NO_SECRETS = 8620; + // // MessageId: ERROR_NO_WRITABLE_DC_FOUND // @@ -16779,6 +18762,7 @@ public interface WinError { // Could not find a writable domain controller in the domain. // int ERROR_NO_WRITABLE_DC_FOUND = 8621; + // // MessageId: ERROR_DS_NO_SERVER_OBJECT // @@ -16787,6 +18771,7 @@ public interface WinError { // The server object for the domain controller does not exist. // int ERROR_DS_NO_SERVER_OBJECT = 8622; + // // MessageId: ERROR_DS_NO_NTDSA_OBJECT // @@ -16795,6 +18780,7 @@ public interface WinError { // The NTDS Settings object for the domain controller does not exist. // int ERROR_DS_NO_NTDSA_OBJECT = 8623; + // // MessageId: ERROR_DS_NON_ASQ_SEARCH // @@ -16803,6 +18789,7 @@ public interface WinError { // The requested search operation is not supported for ASQ searches. // int ERROR_DS_NON_ASQ_SEARCH = 8624; + // // MessageId: ERROR_DS_AUDIT_FAILURE // @@ -16811,6 +18798,7 @@ public interface WinError { // A required audit event could not be generated for the operation. // int ERROR_DS_AUDIT_FAILURE = 8625; + // // MessageId: ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE // @@ -16820,6 +18808,7 @@ public interface WinError { // valid only on single valued attributes. // int ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE = 8626; + // // MessageId: ERROR_DS_INVALID_SEARCH_FLAG_TUPLE // @@ -16829,6 +18818,7 @@ public interface WinError { // valid only on attributes of Unicode strings. // int ERROR_DS_INVALID_SEARCH_FLAG_TUPLE = 8627; + // // MessageId: ERROR_DS_HIERARCHY_TABLE_TOO_DEEP // @@ -16838,6 +18828,7 @@ public interface WinError { // table. // int ERROR_DS_HIERARCHY_TABLE_TOO_DEEP = 8628; + // ///////////////////////////////////////////////// // =/ // =End of Active Directory Error Codes / @@ -16857,7 +18848,9 @@ public interface WinError { // DNS response codes. // int DNS_ERROR_RESPONSE_CODES_BASE = 9000; + int DNS_ERROR_RCODE_NO_ERROR = NO_ERROR; + int DNS_ERROR_MASK = 0x00002328; // =9000 or // DNS_ERROR_RESPONSE_CODES_BASE // DNS_ERROR_RCODE_FORMAT_ERROR=0x00002329 @@ -16868,7 +18861,9 @@ public interface WinError { // // DNS server unable to interpret format. // + int DNS_ERROR_RCODE_FORMAT_ERROR = 9001; + // DNS_ERROR_RCODE_SERVER_FAILURE=0x0000232a // // MessageId: DNS_ERROR_RCODE_SERVER_FAILURE @@ -16878,6 +18873,7 @@ public interface WinError { // DNS server failure. // int DNS_ERROR_RCODE_SERVER_FAILURE = 9002; + // DNS_ERROR_RCODE_NAME_ERROR=0x0000232b // // MessageId: DNS_ERROR_RCODE_NAME_ERROR @@ -16887,6 +18883,7 @@ public interface WinError { // DNS name does not exist. // int DNS_ERROR_RCODE_NAME_ERROR = 9003; + // DNS_ERROR_RCODE_NOT_IMPLEMENTED 0x0000232c // // MessageId: DNS_ERROR_RCODE_NOT_IMPLEMENTED @@ -16896,6 +18893,7 @@ public interface WinError { // DNS request not supported by name server. // int DNS_ERROR_RCODE_NOT_IMPLEMENTED = 9004; + // DNS_ERROR_RCODE_REFUSED=0x0000232d // // MessageId: DNS_ERROR_RCODE_REFUSED @@ -16905,6 +18903,7 @@ public interface WinError { // DNS operation refused. // int DNS_ERROR_RCODE_REFUSED = 9005; + // DNS_ERROR_RCODE_YXDOMAIN=0x0000232e // // MessageId: DNS_ERROR_RCODE_YXDOMAIN @@ -16914,6 +18913,7 @@ public interface WinError { // DNS name that ought not exist, does exist. // int DNS_ERROR_RCODE_YXDOMAIN = 9006; + // DNS_ERROR_RCODE_YXRRSET=0x0000232f // // MessageId: DNS_ERROR_RCODE_YXRRSET @@ -16923,6 +18923,7 @@ public interface WinError { // DNS RR set that ought not exist, does exist. // int DNS_ERROR_RCODE_YXRRSET = 9007; + // DNS_ERROR_RCODE_NXRRSET=0x00002330 // // MessageId: DNS_ERROR_RCODE_NXRRSET @@ -16932,6 +18933,7 @@ public interface WinError { // DNS RR set that ought to exist, does not exist. // int DNS_ERROR_RCODE_NXRRSET = 9008; + // DNS_ERROR_RCODE_NOTAUTH=0x00002331 // // MessageId: DNS_ERROR_RCODE_NOTAUTH @@ -16941,6 +18943,7 @@ public interface WinError { // DNS server not authoritative for zone. // int DNS_ERROR_RCODE_NOTAUTH = 9009; + // DNS_ERROR_RCODE_NOTZONE=0x00002332 // // MessageId: DNS_ERROR_RCODE_NOTZONE @@ -16950,6 +18953,7 @@ public interface WinError { // DNS name in update or prereq is not in zone. // int DNS_ERROR_RCODE_NOTZONE = 9010; + // DNS_ERROR_RCODE_BADSIG=0x00002338 // // MessageId: DNS_ERROR_RCODE_BADSIG @@ -16959,6 +18963,7 @@ public interface WinError { // DNS signature failed to verify. // int DNS_ERROR_RCODE_BADSIG = 9016; + // DNS_ERROR_RCODE_BADKEY=0x00002339 // // MessageId: DNS_ERROR_RCODE_BADKEY @@ -16968,6 +18973,7 @@ public interface WinError { // DNS bad key. // int DNS_ERROR_RCODE_BADKEY = 9017; + // DNS_ERROR_RCODE_BADTIME=0x0000233a // // MessageId: DNS_ERROR_RCODE_BADTIME @@ -16977,11 +18983,14 @@ public interface WinError { // DNS signature validity expired. // int DNS_ERROR_RCODE_BADTIME = 9018; + int DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME; + // // Packet format // int DNS_ERROR_PACKET_FMT_BASE = 9500; + // DNS_INFO_NO_RECORDS=0x0000251d // // MessageId: DNS_INFO_NO_RECORDS @@ -16991,6 +19000,7 @@ public interface WinError { // No records found for given DNS query. // int DNS_INFO_NO_RECORDS = 9501; + // DNS_ERROR_BAD_PACKET=0x0000251e // // MessageId: DNS_ERROR_BAD_PACKET @@ -17000,6 +19010,7 @@ public interface WinError { // Bad DNS packet. // int DNS_ERROR_BAD_PACKET = 9502; + // DNS_ERROR_NO_PACKET=0x0000251f // // MessageId: DNS_ERROR_NO_PACKET @@ -17009,6 +19020,7 @@ public interface WinError { // No DNS packet. // int DNS_ERROR_NO_PACKET = 9503; + // DNS_ERROR_RCODE=0x00002520 // // MessageId: DNS_ERROR_RCODE @@ -17018,6 +19030,7 @@ public interface WinError { // DNS error, check rcode. // int DNS_ERROR_RCODE = 9504; + // DNS_ERROR_UNSECURE_PACKET=0x00002521 // // MessageId: DNS_ERROR_UNSECURE_PACKET @@ -17027,14 +19040,20 @@ public interface WinError { // Unsecured DNS packet. // int DNS_ERROR_UNSECURE_PACKET = 9505; + int DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET; + // // General API errors // int DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY; + int DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME; + int DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA; + int DNS_ERROR_GENERAL_API_BASE = 9550; + // DNS_ERROR_INVALID_TYPE=0x0000254f // // MessageId: DNS_ERROR_INVALID_TYPE @@ -17044,6 +19063,7 @@ public interface WinError { // Invalid DNS type. // int DNS_ERROR_INVALID_TYPE = 9551; + // DNS_ERROR_INVALID_IP_ADDRESS=0x00002550 // // MessageId: DNS_ERROR_INVALID_IP_ADDRESS @@ -17053,6 +19073,7 @@ public interface WinError { // Invalid IP address. // int DNS_ERROR_INVALID_IP_ADDRESS = 9552; + // DNS_ERROR_INVALID_PROPERTY=0x00002551 // // MessageId: DNS_ERROR_INVALID_PROPERTY @@ -17062,6 +19083,7 @@ public interface WinError { // Invalid property. // int DNS_ERROR_INVALID_PROPERTY = 9553; + // DNS_ERROR_TRY_AGAIN_LATER=0x00002552 // // MessageId: DNS_ERROR_TRY_AGAIN_LATER @@ -17071,6 +19093,7 @@ public interface WinError { // Try DNS operation again later. // int DNS_ERROR_TRY_AGAIN_LATER = 9554; + // DNS_ERROR_NOT_UNIQUE=0x00002553 // // MessageId: DNS_ERROR_NOT_UNIQUE @@ -17080,6 +19103,7 @@ public interface WinError { // Record for given name and type is not unique. // int DNS_ERROR_NOT_UNIQUE = 9555; + // DNS_ERROR_NON_RFC_NAME=0x00002554 // // MessageId: DNS_ERROR_NON_RFC_NAME @@ -17089,6 +19113,7 @@ public interface WinError { // DNS name does not comply with RFC specifications. // int DNS_ERROR_NON_RFC_NAME = 9556; + // DNS_STATUS_FQDN=0x00002555 // // MessageId: DNS_STATUS_FQDN @@ -17098,6 +19123,7 @@ public interface WinError { // DNS name is a fully-qualified DNS name. // int DNS_STATUS_FQDN = 9557; + // DNS_STATUS_DOTTED_NAME=0x00002556 // // MessageId: DNS_STATUS_DOTTED_NAME @@ -17107,6 +19133,7 @@ public interface WinError { // DNS name is dotted (multi-labe;. // int DNS_STATUS_DOTTED_NAME = 9558; + // DNS_STATUS_SINGLE_PART_NAME=0x00002557 // // MessageId: DNS_STATUS_SINGLE_PART_NAME @@ -17116,6 +19143,7 @@ public interface WinError { // DNS name is a single-part name. // int DNS_STATUS_SINGLE_PART_NAME = 9559; + // DNS_ERROR_INVALID_NAME_CHAR=0x00002558 // // MessageId: DNS_ERROR_INVALID_NAME_CHAR @@ -17125,6 +19153,7 @@ public interface WinError { // DNS name contains an invalid character. // int DNS_ERROR_INVALID_NAME_CHAR = 9560; + // DNS_ERROR_NUMERIC_NAME=0x00002559 // // MessageId: DNS_ERROR_NUMERIC_NAME @@ -17134,6 +19163,7 @@ public interface WinError { // DNS name is entirely numeric. // int DNS_ERROR_NUMERIC_NAME = 9561; + // DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER 0x0000255A // // MessageId: DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER @@ -17143,6 +19173,7 @@ public interface WinError { // The operation requested is not permitted on a DNS root server. // int DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER = 9562; + // DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION 0x0000255B // // MessageId: DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION @@ -17153,6 +19184,7 @@ public interface WinError { // has been delegated to another server. // int DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION = 9563; + // DNS_ERROR_CANNOT_FIND_ROOT_HINTS 0x0000255C // // MessageId: DNS_ERROR_CANNOT_FIND_ROOT_HINTS @@ -17162,6 +19194,7 @@ public interface WinError { // The DNS server could not find a set of root hints. // int DNS_ERROR_CANNOT_FIND_ROOT_HINTS = 9564; + // DNS_ERROR_INCONSISTENT_ROOT_HINTS 0x0000255D // // MessageId: DNS_ERROR_INCONSISTENT_ROOT_HINTS @@ -17172,6 +19205,7 @@ public interface WinError { // adapters. // int DNS_ERROR_INCONSISTENT_ROOT_HINTS = 9565; + // DNS_ERROR_DWORD_VALUE_TOO_SMALL 0x0000255E // // MessageId: DNS_ERROR_DWORD_VALUE_TOO_SMALL @@ -17181,6 +19215,7 @@ public interface WinError { // The specified value is too small for this parameter. // int DNS_ERROR_DWORD_VALUE_TOO_SMALL = 9566; + // DNS_ERROR_DWORD_VALUE_TOO_LARGE 0x0000255F // // MessageId: DNS_ERROR_DWORD_VALUE_TOO_LARGE @@ -17190,6 +19225,7 @@ public interface WinError { // The specified value is too large for this parameter. // int DNS_ERROR_DWORD_VALUE_TOO_LARGE = 9567; + // DNS_ERROR_BACKGROUND_LOADING 0x00002560 // // MessageId: DNS_ERROR_BACKGROUND_LOADING @@ -17200,6 +19236,7 @@ public interface WinError { // the background. Please try again later. // int DNS_ERROR_BACKGROUND_LOADING = 9568; + // DNS_ERROR_NOT_ALLOWED_ON_RODC 0x00002561 // // MessageId: DNS_ERROR_NOT_ALLOWED_ON_RODC @@ -17210,6 +19247,7 @@ public interface WinError { // on a read-only DC. // int DNS_ERROR_NOT_ALLOWED_ON_RODC = 9569; + // DNS_ERROR_NOT_ALLOWED_UNDER_DNAME 0x00002562 // // MessageId: DNS_ERROR_NOT_ALLOWED_UNDER_DNAME @@ -17219,10 +19257,12 @@ public interface WinError { // No data is allowed to exist underneath a DNAME record. // int DNS_ERROR_NOT_ALLOWED_UNDER_DNAME = 9570; + // // Zone errors // int DNS_ERROR_ZONE_BASE = 9600; + // DNS_ERROR_ZONE_DOES_NOT_EXIST=0x00002581 // // MessageId: DNS_ERROR_ZONE_DOES_NOT_EXIST @@ -17232,6 +19272,7 @@ public interface WinError { // DNS zone does not exist. // int DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601; + // DNS_ERROR_NO_ZONE_INFO=0x00002582 // // MessageId: DNS_ERROR_NO_ZONE_INFO @@ -17241,6 +19282,7 @@ public interface WinError { // DNS zone information not available. // int DNS_ERROR_NO_ZONE_INFO = 9602; + // DNS_ERROR_INVALID_ZONE_OPERATION 0x00002583 // // MessageId: DNS_ERROR_INVALID_ZONE_OPERATION @@ -17250,6 +19292,7 @@ public interface WinError { // Invalid operation for DNS zone. // int DNS_ERROR_INVALID_ZONE_OPERATION = 9603; + // DNS_ERROR_ZONE_CONFIGURATION_ERROR 0x00002584 // // MessageId: DNS_ERROR_ZONE_CONFIGURATION_ERROR @@ -17259,6 +19302,7 @@ public interface WinError { // Invalid DNS zone configuration. // int DNS_ERROR_ZONE_CONFIGURATION_ERROR = 9604; + // DNS_ERROR_ZONE_HAS_NO_SOA_RECORD 0x00002585 // // MessageId: DNS_ERROR_ZONE_HAS_NO_SOA_RECORD @@ -17268,6 +19312,7 @@ public interface WinError { // DNS zone has no start of authority (SOA) record. // int DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 9605; + // DNS_ERROR_ZONE_HAS_NO_NS_RECORDS 0x00002586 // // MessageId: DNS_ERROR_ZONE_HAS_NO_NS_RECORDS @@ -17277,6 +19322,7 @@ public interface WinError { // DNS zone has no Name Server (NS) record. // int DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 9606; + // DNS_ERROR_ZONE_LOCKED=0x00002587 // // MessageId: DNS_ERROR_ZONE_LOCKED @@ -17286,6 +19332,7 @@ public interface WinError { // DNS zone is locked. // int DNS_ERROR_ZONE_LOCKED = 9607; + // DNS_ERROR_ZONE_CREATION_FAILED=0x00002588 // // MessageId: DNS_ERROR_ZONE_CREATION_FAILED @@ -17295,6 +19342,7 @@ public interface WinError { // DNS zone creation failed. // int DNS_ERROR_ZONE_CREATION_FAILED = 9608; + // DNS_ERROR_ZONE_ALREADY_EXISTS=0x00002589 // // MessageId: DNS_ERROR_ZONE_ALREADY_EXISTS @@ -17304,6 +19352,7 @@ public interface WinError { // DNS zone already exists. // int DNS_ERROR_ZONE_ALREADY_EXISTS = 9609; + // DNS_ERROR_AUTOZONE_ALREADY_EXISTS 0x0000258a // // MessageId: DNS_ERROR_AUTOZONE_ALREADY_EXISTS @@ -17313,6 +19362,7 @@ public interface WinError { // DNS automatic zone already exists. // int DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 9610; + // DNS_ERROR_INVALID_ZONE_TYPE=0x0000258b // // MessageId: DNS_ERROR_INVALID_ZONE_TYPE @@ -17322,6 +19372,7 @@ public interface WinError { // Invalid DNS zone type. // int DNS_ERROR_INVALID_ZONE_TYPE = 9611; + // DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP 0x0000258c // // MessageId: DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP @@ -17331,6 +19382,7 @@ public interface WinError { // Secondary DNS zone requires master IP address. // int DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 9612; + // DNS_ERROR_ZONE_NOT_SECONDARY=0x0000258d // // MessageId: DNS_ERROR_ZONE_NOT_SECONDARY @@ -17340,6 +19392,7 @@ public interface WinError { // DNS zone not secondary. // int DNS_ERROR_ZONE_NOT_SECONDARY = 9613; + // DNS_ERROR_NEED_SECONDARY_ADDRESSES 0x0000258e // // MessageId: DNS_ERROR_NEED_SECONDARY_ADDRESSES @@ -17349,6 +19402,7 @@ public interface WinError { // Need secondary IP address. // int DNS_ERROR_NEED_SECONDARY_ADDRESSES = 9614; + // DNS_ERROR_WINS_INIT_FAILED=0x0000258f // // MessageId: DNS_ERROR_WINS_INIT_FAILED @@ -17358,6 +19412,7 @@ public interface WinError { // WINS initialization failed. // int DNS_ERROR_WINS_INIT_FAILED = 9615; + // DNS_ERROR_NEED_WINS_SERVERS=0x00002590 // // MessageId: DNS_ERROR_NEED_WINS_SERVERS @@ -17367,6 +19422,7 @@ public interface WinError { // Need WINS servers. // int DNS_ERROR_NEED_WINS_SERVERS = 9616; + // DNS_ERROR_NBSTAT_INIT_FAILED=0x00002591 // // MessageId: DNS_ERROR_NBSTAT_INIT_FAILED @@ -17376,6 +19432,7 @@ public interface WinError { // NBTSTAT initialization call failed. // int DNS_ERROR_NBSTAT_INIT_FAILED = 9617; + // DNS_ERROR_SOA_DELETE_INVALID=0x00002592 // // MessageId: DNS_ERROR_SOA_DELETE_INVALID @@ -17385,6 +19442,7 @@ public interface WinError { // Invalid delete of start of authority (SOA) // int DNS_ERROR_SOA_DELETE_INVALID = 9618; + // DNS_ERROR_FORWARDER_ALREADY_EXISTS 0x00002593 // // MessageId: DNS_ERROR_FORWARDER_ALREADY_EXISTS @@ -17394,6 +19452,7 @@ public interface WinError { // A conditional forwarding zone already exists for that name. // int DNS_ERROR_FORWARDER_ALREADY_EXISTS = 9619; + // DNS_ERROR_ZONE_REQUIRES_MASTER_IP 0x00002594 // // MessageId: DNS_ERROR_ZONE_REQUIRES_MASTER_IP @@ -17404,6 +19463,7 @@ public interface WinError { // addresses. // int DNS_ERROR_ZONE_REQUIRES_MASTER_IP = 9620; + // DNS_ERROR_ZONE_IS_SHUTDOWN=0x00002595 // // MessageId: DNS_ERROR_ZONE_IS_SHUTDOWN @@ -17413,10 +19473,12 @@ public interface WinError { // The operation cannot be performed because this zone is shutdown. // int DNS_ERROR_ZONE_IS_SHUTDOWN = 9621; + // // Datafile errors // int DNS_ERROR_DATAFILE_BASE = 9650; + // DNS=0x000025b3 // // MessageId: DNS_ERROR_PRIMARY_REQUIRES_DATAFILE @@ -17426,6 +19488,7 @@ public interface WinError { // Primary DNS zone requires datafile. // int DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651; + // DNS=0x000025b4 // // MessageId: DNS_ERROR_INVALID_DATAFILE_NAME @@ -17435,6 +19498,7 @@ public interface WinError { // Invalid datafile name for DNS zone. // int DNS_ERROR_INVALID_DATAFILE_NAME = 9652; + // DNS=0x000025b5 // // MessageId: DNS_ERROR_DATAFILE_OPEN_FAILURE @@ -17444,6 +19508,7 @@ public interface WinError { // Failed to open datafile for DNS zone. // int DNS_ERROR_DATAFILE_OPEN_FAILURE = 9653; + // DNS=0x000025b6 // // MessageId: DNS_ERROR_FILE_WRITEBACK_FAILED @@ -17453,6 +19518,7 @@ public interface WinError { // Failed to write datafile for DNS zone. // int DNS_ERROR_FILE_WRITEBACK_FAILED = 9654; + // DNS=0x000025b7 // // MessageId: DNS_ERROR_DATAFILE_PARSING @@ -17462,10 +19528,12 @@ public interface WinError { // Failure while reading datafile for DNS zone. // int DNS_ERROR_DATAFILE_PARSING = 9655; + // // Database errors // int DNS_ERROR_DATABASE_BASE = 9700; + // DNS_ERROR_RECORD_DOES_NOT_EXIST 0x000025e5 // // MessageId: DNS_ERROR_RECORD_DOES_NOT_EXIST @@ -17475,6 +19543,7 @@ public interface WinError { // DNS record does not exist. // int DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701; + // DNS_ERROR_RECORD_FORMAT=0x000025e6 // // MessageId: DNS_ERROR_RECORD_FORMAT @@ -17484,6 +19553,7 @@ public interface WinError { // DNS record format error. // int DNS_ERROR_RECORD_FORMAT = 9702; + // DNS_ERROR_NODE_CREATION_FAILED=0x000025e7 // // MessageId: DNS_ERROR_NODE_CREATION_FAILED @@ -17493,6 +19563,7 @@ public interface WinError { // Node creation failure in DNS. // int DNS_ERROR_NODE_CREATION_FAILED = 9703; + // DNS_ERROR_UNKNOWN_RECORD_TYPE=0x000025e8 // // MessageId: DNS_ERROR_UNKNOWN_RECORD_TYPE @@ -17502,6 +19573,7 @@ public interface WinError { // Unknown DNS record type. // int DNS_ERROR_UNKNOWN_RECORD_TYPE = 9704; + // DNS_ERROR_RECORD_TIMED_OUT=0x000025e9 // // MessageId: DNS_ERROR_RECORD_TIMED_OUT @@ -17511,6 +19583,7 @@ public interface WinError { // DNS record timed out. // int DNS_ERROR_RECORD_TIMED_OUT = 9705; + // DNS_ERROR_NAME_NOT_IN_ZONE=0x000025ea // // MessageId: DNS_ERROR_NAME_NOT_IN_ZONE @@ -17520,6 +19593,7 @@ public interface WinError { // Name not in DNS zone. // int DNS_ERROR_NAME_NOT_IN_ZONE = 9706; + // DNS_ERROR_CNAME_LOOP=0x000025eb // // MessageId: DNS_ERROR_CNAME_LOOP @@ -17529,6 +19603,7 @@ public interface WinError { // CNAME loop detected. // int DNS_ERROR_CNAME_LOOP = 9707; + // DNS_ERROR_NODE_IS_CNAME=0x000025ec // // MessageId: DNS_ERROR_NODE_IS_CNAME @@ -17538,6 +19613,7 @@ public interface WinError { // Node is a CNAME DNS record. // int DNS_ERROR_NODE_IS_CNAME = 9708; + // DNS_ERROR_CNAME_COLLISION=0x000025ed // // MessageId: DNS_ERROR_CNAME_COLLISION @@ -17547,6 +19623,7 @@ public interface WinError { // A CNAME record already exists for given name. // int DNS_ERROR_CNAME_COLLISION = 9709; + // DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT 0x000025ee // // MessageId: DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT @@ -17556,6 +19633,7 @@ public interface WinError { // Record only at DNS zone root. // int DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 9710; + // DNS_ERROR_RECORD_ALREADY_EXISTS 0x000025ef // // MessageId: DNS_ERROR_RECORD_ALREADY_EXISTS @@ -17565,6 +19643,7 @@ public interface WinError { // DNS record already exists. // int DNS_ERROR_RECORD_ALREADY_EXISTS = 9711; + // DNS_ERROR_SECONDARY_DATA=0x000025f0 // // MessageId: DNS_ERROR_SECONDARY_DATA @@ -17574,6 +19653,7 @@ public interface WinError { // Secondary DNS zone data error. // int DNS_ERROR_SECONDARY_DATA = 9712; + // DNS_ERROR_NO_CREATE_CACHE_DATA=0x000025f1 // // MessageId: DNS_ERROR_NO_CREATE_CACHE_DATA @@ -17583,6 +19663,7 @@ public interface WinError { // Could not create DNS cache data. // int DNS_ERROR_NO_CREATE_CACHE_DATA = 9713; + // DNS_ERROR_NAME_DOES_NOT_EXIST=0x000025f2 // // MessageId: DNS_ERROR_NAME_DOES_NOT_EXIST @@ -17592,6 +19673,7 @@ public interface WinError { // DNS name does not exist. // int DNS_ERROR_NAME_DOES_NOT_EXIST = 9714; + // DNS_WARNING_PTR_CREATE_FAILED=0x000025f3 // // MessageId: DNS_WARNING_PTR_CREATE_FAILED @@ -17601,6 +19683,7 @@ public interface WinError { // Could not create pointer (PTR) record. // int DNS_WARNING_PTR_CREATE_FAILED = 9715; + // DNS_WARNING_DOMAIN_UNDELETED=0x000025f4 // // MessageId: DNS_WARNING_DOMAIN_UNDELETED @@ -17610,6 +19693,7 @@ public interface WinError { // DNS domain was undeleted. // int DNS_WARNING_DOMAIN_UNDELETED = 9716; + // DNS_ERROR_DS_UNAVAILABLE=0x000025f5 // // MessageId: DNS_ERROR_DS_UNAVAILABLE @@ -17619,6 +19703,7 @@ public interface WinError { // The directory service is unavailable. // int DNS_ERROR_DS_UNAVAILABLE = 9717; + // DNS_ERROR_DS_ZONE_ALREADY_EXISTS 0x000025f6 // // MessageId: DNS_ERROR_DS_ZONE_ALREADY_EXISTS @@ -17628,6 +19713,7 @@ public interface WinError { // DNS zone already exists in the directory service. // int DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 9718; + // DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE 0x000025f7 // // MessageId: DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE @@ -17638,6 +19724,7 @@ public interface WinError { // service integrated DNS zone. // int DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 9719; + // DNS_ERROR_NODE_IS_DNAME=0x000025f8 // // MessageId: DNS_ERROR_NODE_IS_DNAME @@ -17647,6 +19734,7 @@ public interface WinError { // Node is a DNAME DNS record. // int DNS_ERROR_NODE_IS_DNAME = 9720; + // DNS_ERROR_DNAME_COLLISION=0x000025f9 // // MessageId: DNS_ERROR_DNAME_COLLISION @@ -17656,6 +19744,7 @@ public interface WinError { // A DNAME record already exists for given name. // int DNS_ERROR_DNAME_COLLISION = 9721; + // DNS_ERROR_ALIAS_LOOP=0x000025fa // // MessageId: DNS_ERROR_ALIAS_LOOP @@ -17665,10 +19754,12 @@ public interface WinError { // An alias loop has been detected with either CNAME or DNAME records. // int DNS_ERROR_ALIAS_LOOP = 9722; + // // Operation errors // int DNS_ERROR_OPERATION_BASE = 9750; + // DNS_INFO_AXFR_COMPLETE=0x00002617 // // MessageId: DNS_INFO_AXFR_COMPLETE @@ -17678,6 +19769,7 @@ public interface WinError { // DNS AXFR (zone transfer) complete. // int DNS_INFO_AXFR_COMPLETE = 9751; + // DNS_ERROR_AXFR=0x00002618 // // MessageId: DNS_ERROR_AXFR @@ -17687,6 +19779,7 @@ public interface WinError { // DNS zone transfer failed. // int DNS_ERROR_AXFR = 9752; + // DNS_INFO_ADDED_LOCAL_WINS=0x00002619 // // MessageId: DNS_INFO_ADDED_LOCAL_WINS @@ -17696,10 +19789,12 @@ public interface WinError { // Added local WINS server. // int DNS_INFO_ADDED_LOCAL_WINS = 9753; + // // Secure update // int DNS_ERROR_SECURE_BASE = 9800; + // DNS_STATUS_CONTINUE_NEEDED=0x00002649 // // MessageId: DNS_STATUS_CONTINUE_NEEDED @@ -17709,10 +19804,12 @@ public interface WinError { // Secure update call needs to continue update request. // int DNS_STATUS_CONTINUE_NEEDED = 9801; + // // Setup errors // int DNS_ERROR_SETUP_BASE = 9850; + // DNS_ERROR_NO_TCPIP=0x0000267b // // MessageId: DNS_ERROR_NO_TCPIP @@ -17722,6 +19819,7 @@ public interface WinError { // TCP/IP network protocol not installed. // int DNS_ERROR_NO_TCPIP = 9851; + // DNS_ERROR_NO_DNS_SERVERS=0x0000267c // // MessageId: DNS_ERROR_NO_DNS_SERVERS @@ -17731,10 +19829,12 @@ public interface WinError { // No DNS servers configured for local system. // int DNS_ERROR_NO_DNS_SERVERS = 9852; + // // Directory partition (DP) errors // int DNS_ERROR_DP_BASE = 9900; + // DNS_ERROR_DP_DOES_NOT_EXIST=0x000026ad // // MessageId: DNS_ERROR_DP_DOES_NOT_EXIST @@ -17744,6 +19844,7 @@ public interface WinError { // The specified directory partition does not exist. // int DNS_ERROR_DP_DOES_NOT_EXIST = 9901; + // DNS_ERROR_DP_ALREADY_EXISTS=0x000026ae // // MessageId: DNS_ERROR_DP_ALREADY_EXISTS @@ -17753,6 +19854,7 @@ public interface WinError { // The specified directory partition already exists. // int DNS_ERROR_DP_ALREADY_EXISTS = 9902; + // DNS_ERROR_DP_NOT_ENLISTED=0x000026af // // MessageId: DNS_ERROR_DP_NOT_ENLISTED @@ -17762,6 +19864,7 @@ public interface WinError { // This DNS server is not enlisted in the specified directory partition. // int DNS_ERROR_DP_NOT_ENLISTED = 9903; + // DNS_ERROR_DP_ALREADY_ENLISTED=0x000026b0 // // MessageId: DNS_ERROR_DP_ALREADY_ENLISTED @@ -17771,6 +19874,7 @@ public interface WinError { // This DNS server is already enlisted in the specified directory partition. // int DNS_ERROR_DP_ALREADY_ENLISTED = 9904; + // DNS_ERROR_DP_NOT_AVAILABLE=0x000026b1 // // MessageId: DNS_ERROR_DP_NOT_AVAILABLE @@ -17781,6 +19885,7 @@ public interface WinError { // minutes and try again. // int DNS_ERROR_DP_NOT_AVAILABLE = 9905; + // DNS_ERROR_DP_FSMO_ERROR=0x000026b2 // // MessageId: DNS_ERROR_DP_FSMO_ERROR @@ -17792,6 +19897,7 @@ public interface WinError { // service the request or is not running Windows Server=2003. // int DNS_ERROR_DP_FSMO_ERROR = 9906; + // ///////////////////////////////////////////////// // =// // =End of DNS Error Codes=// @@ -17809,6 +19915,7 @@ public interface WinError { // and WinSock2.h, hence the IFDEF // int WSABASEERR = 10000; + // // MessageId: WSAEINTR // @@ -17817,6 +19924,7 @@ public interface WinError { // A blocking operation was interrupted by a call to WSACancelBlockingCall. // int WSAEINTR = 10004; + // // MessageId: WSAEBADF // @@ -17825,6 +19933,7 @@ public interface WinError { // The file handle supplied is not valid. // int WSAEBADF = 10009; + // // MessageId: WSAEACCES // @@ -17834,6 +19943,7 @@ public interface WinError { // permissions. // int WSAEACCES = 10013; + // // MessageId: WSAEFAULT // @@ -17843,6 +19953,7 @@ public interface WinError { // pointer argument in a call. // int WSAEFAULT = 10014; + // // MessageId: WSAEINVAL // @@ -17851,6 +19962,7 @@ public interface WinError { // An invalid argument was supplied. // int WSAEINVAL = 10022; + // // MessageId: WSAEMFILE // @@ -17859,6 +19971,7 @@ public interface WinError { // Too many open sockets. // int WSAEMFILE = 10024; + // // MessageId: WSAEWOULDBLOCK // @@ -17867,6 +19980,7 @@ public interface WinError { // A non-blocking socket operation could not be completed immediately. // int WSAEWOULDBLOCK = 10035; + // // MessageId: WSAEINPROGRESS // @@ -17875,6 +19989,7 @@ public interface WinError { // A blocking operation is currently executing. // int WSAEINPROGRESS = 10036; + // // MessageId: WSAEALREADY // @@ -17884,6 +19999,7 @@ public interface WinError { // operation in progress. // int WSAEALREADY = 10037; + // // MessageId: WSAENOTSOCK // @@ -17892,6 +20008,7 @@ public interface WinError { // An operation was attempted on something that is not a socket. // int WSAENOTSOCK = 10038; + // // MessageId: WSAEDESTADDRREQ // @@ -17900,6 +20017,7 @@ public interface WinError { // A required address was omitted from an operation on a socket. // int WSAEDESTADDRREQ = 10039; + // // MessageId: WSAEMSGSIZE // @@ -17910,6 +20028,7 @@ public interface WinError { // datagram into was smaller than the datagram itself. // int WSAEMSGSIZE = 10040; + // // MessageId: WSAEPROTOTYPE // @@ -17919,6 +20038,7 @@ public interface WinError { // support the semantics of the socket type requested. // int WSAEPROTOTYPE = 10041; + // // MessageId: WSAENOPROTOOPT // @@ -17928,6 +20048,7 @@ public interface WinError { // getsockopt or setsockopt call. // int WSAENOPROTOOPT = 10042; + // // MessageId: WSAEPROTONOSUPPORT // @@ -17937,6 +20058,7 @@ public interface WinError { // implementation for it exists. // int WSAEPROTONOSUPPORT = 10043; + // // MessageId: WSAESOCKTNOSUPPORT // @@ -17946,6 +20068,7 @@ public interface WinError { // family. // int WSAESOCKTNOSUPPORT = 10044; + // // MessageId: WSAEOPNOTSUPP // @@ -17955,6 +20078,7 @@ public interface WinError { // referenced. // int WSAEOPNOTSUPP = 10045; + // // MessageId: WSAEPFNOSUPPORT // @@ -17964,6 +20088,7 @@ public interface WinError { // implementation for it exists. // int WSAEPFNOSUPPORT = 10046; + // // MessageId: WSAEAFNOSUPPORT // @@ -17972,6 +20097,7 @@ public interface WinError { // An address incompatible with the requested protocol was used. // int WSAEAFNOSUPPORT = 10047; + // // MessageId: WSAEADDRINUSE // @@ -17981,6 +20107,7 @@ public interface WinError { // normally permitted. // int WSAEADDRINUSE = 10048; + // // MessageId: WSAEADDRNOTAVAIL // @@ -17989,6 +20116,7 @@ public interface WinError { // The requested address is not valid in its context. // int WSAEADDRNOTAVAIL = 10049; + // // MessageId: WSAENETDOWN // @@ -17997,6 +20125,7 @@ public interface WinError { // A socket operation encountered a dead network. // int WSAENETDOWN = 10050; + // // MessageId: WSAENETUNREACH // @@ -18005,6 +20134,7 @@ public interface WinError { // A socket operation was attempted to an unreachable network. // int WSAENETUNREACH = 10051; + // // MessageId: WSAENETRESET // @@ -18014,6 +20144,7 @@ public interface WinError { // failure while the operation was in progress. // int WSAENETRESET = 10052; + // // MessageId: WSAECONNABORTED // @@ -18023,6 +20154,7 @@ public interface WinError { // machine. // int WSAECONNABORTED = 10053; + // // MessageId: WSAECONNRESET // @@ -18031,6 +20163,7 @@ public interface WinError { // An existing connection was forcibly closed by the remote host. // int WSAECONNRESET = 10054; + // // MessageId: WSAENOBUFS // @@ -18040,6 +20173,7 @@ public interface WinError { // sufficient buffer space or because a queue was full. // int WSAENOBUFS = 10055; + // // MessageId: WSAEISCONN // @@ -18048,6 +20182,7 @@ public interface WinError { // A connect request was made on an already connected socket. // int WSAEISCONN = 10056; + // // MessageId: WSAENOTCONN // @@ -18058,6 +20193,7 @@ public interface WinError { // no address was supplied. // int WSAENOTCONN = 10057; + // // MessageId: WSAESHUTDOWN // @@ -18067,6 +20203,7 @@ public interface WinError { // already been shut down in that direction with a previous shutdown call. // int WSAESHUTDOWN = 10058; + // // MessageId: WSAETOOMANYREFS // @@ -18075,6 +20212,7 @@ public interface WinError { // Too many references to some kernel object. // int WSAETOOMANYREFS = 10059; + // // MessageId: WSAETIMEDOUT // @@ -18085,6 +20223,7 @@ public interface WinError { // connected host has failed to respond. // int WSAETIMEDOUT = 10060; + // // MessageId: WSAECONNREFUSED // @@ -18094,6 +20233,7 @@ public interface WinError { // it. // int WSAECONNREFUSED = 10061; + // // MessageId: WSAELOOP // @@ -18102,6 +20242,7 @@ public interface WinError { // Cannot translate name. // int WSAELOOP = 10062; + // // MessageId: WSAENAMETOOLONG // @@ -18110,6 +20251,7 @@ public interface WinError { // Name component or name was too long. // int WSAENAMETOOLONG = 10063; + // // MessageId: WSAEHOSTDOWN // @@ -18118,6 +20260,7 @@ public interface WinError { // A socket operation failed because the destination host was down. // int WSAEHOSTDOWN = 10064; + // // MessageId: WSAEHOSTUNREACH // @@ -18126,6 +20269,7 @@ public interface WinError { // A socket operation was attempted to an unreachable host. // int WSAEHOSTUNREACH = 10065; + // // MessageId: WSAENOTEMPTY // @@ -18134,6 +20278,7 @@ public interface WinError { // Cannot remove a directory that is not empty. // int WSAENOTEMPTY = 10066; + // // MessageId: WSAEPROCLIM // @@ -18143,6 +20288,7 @@ public interface WinError { // applications that may use it simultaneously. // int WSAEPROCLIM = 10067; + // // MessageId: WSAEUSERS // @@ -18151,6 +20297,7 @@ public interface WinError { // Ran out of quota. // int WSAEUSERS = 10068; + // // MessageId: WSAEDQUOT // @@ -18159,6 +20306,7 @@ public interface WinError { // Ran out of disk quota. // int WSAEDQUOT = 10069; + // // MessageId: WSAESTALE // @@ -18167,6 +20315,7 @@ public interface WinError { // File handle reference is no longer available. // int WSAESTALE = 10070; + // // MessageId: WSAEREMOTE // @@ -18175,6 +20324,7 @@ public interface WinError { // Item is not available locally. // int WSAEREMOTE = 10071; + // // MessageId: WSASYSNOTREADY // @@ -18184,6 +20334,7 @@ public interface WinError { // uses to provide network services is currently unavailable. // int WSASYSNOTREADY = 10091; + // // MessageId: WSAVERNOTSUPPORTED // @@ -18192,6 +20343,7 @@ public interface WinError { // The Windows Sockets version requested is not supported. // int WSAVERNOTSUPPORTED = 10092; + // // MessageId: WSANOTINITIALISED // @@ -18200,6 +20352,7 @@ public interface WinError { // Either the application has not called WSAStartup, or WSAStartup failed. // int WSANOTINITIALISED = 10093; + // // MessageId: WSAEDISCON // @@ -18209,6 +20362,7 @@ public interface WinError { // initiated a graceful shutdown sequence. // int WSAEDISCON = 10101; + // // MessageId: WSAENOMORE // @@ -18217,6 +20371,7 @@ public interface WinError { // No more results can be returned by WSALookupServiceNext. // int WSAENOMORE = 10102; + // // MessageId: WSAECANCELLED // @@ -18226,6 +20381,7 @@ public interface WinError { // processing. The call has been canceled. // int WSAECANCELLED = 10103; + // // MessageId: WSAEINVALIDPROCTABLE // @@ -18234,6 +20390,7 @@ public interface WinError { // The procedure call table is invalid. // int WSAEINVALIDPROCTABLE = 10104; + // // MessageId: WSAEINVALIDPROVIDER // @@ -18242,6 +20399,7 @@ public interface WinError { // The requested service provider is invalid. // int WSAEINVALIDPROVIDER = 10105; + // // MessageId: WSAEPROVIDERFAILEDINIT // @@ -18250,6 +20408,7 @@ public interface WinError { // The requested service provider could not be loaded or initialized. // int WSAEPROVIDERFAILEDINIT = 10106; + // // MessageId: WSASYSCALLFAILURE // @@ -18258,6 +20417,7 @@ public interface WinError { // A system call that should never fail has failed. // int WSASYSCALLFAILURE = 10107; + // // MessageId: WSASERVICE_NOT_FOUND // @@ -18267,6 +20427,7 @@ public interface WinError { // name space. // int WSASERVICE_NOT_FOUND = 10108; + // // MessageId: WSATYPE_NOT_FOUND // @@ -18275,6 +20436,7 @@ public interface WinError { // The specified class was not found. // int WSATYPE_NOT_FOUND = 10109; + // // MessageId: WSA_E_NO_MORE // @@ -18283,6 +20445,7 @@ public interface WinError { // No more results can be returned by WSALookupServiceNext. // int WSA_E_NO_MORE = 10110; + // // MessageId: WSA_E_CANCELLED // @@ -18292,6 +20455,7 @@ public interface WinError { // processing. The call has been canceled. // int WSA_E_CANCELLED = 10111; + // // MessageId: WSAEREFUSED // @@ -18300,6 +20464,7 @@ public interface WinError { // A database query failed because it was actively refused. // int WSAEREFUSED = 10112; + // // MessageId: WSAHOST_NOT_FOUND // @@ -18308,6 +20473,7 @@ public interface WinError { // No such host is known. // int WSAHOST_NOT_FOUND = 11001; + // // MessageId: WSATRY_AGAIN // @@ -18318,6 +20484,7 @@ public interface WinError { // server. // int WSATRY_AGAIN = 11002; + // // MessageId: WSANO_RECOVERY // @@ -18326,6 +20493,7 @@ public interface WinError { // A non-recoverable error occurred during a database lookup. // int WSANO_RECOVERY = 11003; + // // MessageId: WSANO_DATA // @@ -18334,6 +20502,7 @@ public interface WinError { // The requested name is valid, but no data of the requested type was found. // int WSANO_DATA = 11004; + // // MessageId: WSA_QOS_RECEIVERS // @@ -18342,6 +20511,7 @@ public interface WinError { // At least one reserve has arrived. // int WSA_QOS_RECEIVERS = 11005; + // // MessageId: WSA_QOS_SENDERS // @@ -18350,6 +20520,7 @@ public interface WinError { // At least one path has arrived. // int WSA_QOS_SENDERS = 11006; + // // MessageId: WSA_QOS_NO_SENDERS // @@ -18358,6 +20529,7 @@ public interface WinError { // There are no senders. // int WSA_QOS_NO_SENDERS = 11007; + // // MessageId: WSA_QOS_NO_RECEIVERS // @@ -18366,6 +20538,7 @@ public interface WinError { // There are no receivers. // int WSA_QOS_NO_RECEIVERS = 11008; + // // MessageId: WSA_QOS_REQUEST_CONFIRMED // @@ -18374,6 +20547,7 @@ public interface WinError { // Reserve has been confirmed. // int WSA_QOS_REQUEST_CONFIRMED = 11009; + // // MessageId: WSA_QOS_ADMISSION_FAILURE // @@ -18382,6 +20556,7 @@ public interface WinError { // Error due to lack of resources. // int WSA_QOS_ADMISSION_FAILURE = 11010; + // // MessageId: WSA_QOS_POLICY_FAILURE // @@ -18390,6 +20565,7 @@ public interface WinError { // Rejected for administrative reasons - bad credentials. // int WSA_QOS_POLICY_FAILURE = 11011; + // // MessageId: WSA_QOS_BAD_STYLE // @@ -18398,6 +20574,7 @@ public interface WinError { // Unknown or conflicting style. // int WSA_QOS_BAD_STYLE = 11012; + // // MessageId: WSA_QOS_BAD_OBJECT // @@ -18407,6 +20584,7 @@ public interface WinError { // general. // int WSA_QOS_BAD_OBJECT = 11013; + // // MessageId: WSA_QOS_TRAFFIC_CTRL_ERROR // @@ -18415,6 +20593,7 @@ public interface WinError { // Problem with some part of the flowspec. // int WSA_QOS_TRAFFIC_CTRL_ERROR = 11014; + // // MessageId: WSA_QOS_GENERIC_ERROR // @@ -18423,6 +20602,7 @@ public interface WinError { // General QOS error. // int WSA_QOS_GENERIC_ERROR = 11015; + // // MessageId: WSA_QOS_ESERVICETYPE // @@ -18431,6 +20611,7 @@ public interface WinError { // An invalid or unrecognized service type was found in the flowspec. // int WSA_QOS_ESERVICETYPE = 11016; + // // MessageId: WSA_QOS_EFLOWSPEC // @@ -18439,6 +20620,7 @@ public interface WinError { // An invalid or inconsistent flowspec was found in the QOS structure. // int WSA_QOS_EFLOWSPEC = 11017; + // // MessageId: WSA_QOS_EPROVSPECBUF // @@ -18447,6 +20629,7 @@ public interface WinError { // Invalid QOS provider-specific buffer. // int WSA_QOS_EPROVSPECBUF = 11018; + // // MessageId: WSA_QOS_EFILTERSTYLE // @@ -18455,6 +20638,7 @@ public interface WinError { // An invalid QOS filter style was used. // int WSA_QOS_EFILTERSTYLE = 11019; + // // MessageId: WSA_QOS_EFILTERTYPE // @@ -18463,6 +20647,7 @@ public interface WinError { // An invalid QOS filter type was used. // int WSA_QOS_EFILTERTYPE = 11020; + // // MessageId: WSA_QOS_EFILTERCOUNT // @@ -18472,6 +20657,7 @@ public interface WinError { // FLOWDESCRIPTOR. // int WSA_QOS_EFILTERCOUNT = 11021; + // // MessageId: WSA_QOS_EOBJLENGTH // @@ -18481,6 +20667,7 @@ public interface WinError { // provider-specific buffer. // int WSA_QOS_EOBJLENGTH = 11022; + // // MessageId: WSA_QOS_EFLOWCOUNT // @@ -18490,6 +20677,7 @@ public interface WinError { // structure. // int WSA_QOS_EFLOWCOUNT = 11023; + // // MessageId: WSA_QOS_EUNKOWNPSOBJ // @@ -18498,6 +20686,7 @@ public interface WinError { // An unrecognized object was found in the QOS provider-specific buffer. // int WSA_QOS_EUNKOWNPSOBJ = 11024; + // // MessageId: WSA_QOS_EPOLICYOBJ // @@ -18506,6 +20695,7 @@ public interface WinError { // An invalid policy object was found in the QOS provider-specific buffer. // int WSA_QOS_EPOLICYOBJ = 11025; + // // MessageId: WSA_QOS_EFLOWDESC // @@ -18514,6 +20704,7 @@ public interface WinError { // An invalid QOS flow descriptor was found in the flow descriptor list. // int WSA_QOS_EFLOWDESC = 11026; + // // MessageId: WSA_QOS_EPSFLOWSPEC // @@ -18523,6 +20714,7 @@ public interface WinError { // specific buffer. // int WSA_QOS_EPSFLOWSPEC = 11027; + // // MessageId: WSA_QOS_EPSFILTERSPEC // @@ -18531,6 +20723,7 @@ public interface WinError { // An invalid FILTERSPEC was found in the QOS provider-specific buffer. // int WSA_QOS_EPSFILTERSPEC = 11028; + // // MessageId: WSA_QOS_ESDMODEOBJ // @@ -18540,6 +20733,7 @@ public interface WinError { // specific buffer. // int WSA_QOS_ESDMODEOBJ = 11029; + // // MessageId: WSA_QOS_ESHAPERATEOBJ // @@ -18549,6 +20743,7 @@ public interface WinError { // buffer. // int WSA_QOS_ESHAPERATEOBJ = 11030; + // // MessageId: WSA_QOS_RESERVED_PETYPE // @@ -18557,6 +20752,7 @@ public interface WinError { // A reserved policy element was found in the QOS provider-specific buffer. // int WSA_QOS_RESERVED_PETYPE = 11031; + // ///////////////////////////////////////////////// // =End of WinSock Error Codes=// // =// @@ -18582,6 +20778,7 @@ public interface WinError { // The specified quick mode policy already exists. // int ERROR_IPSEC_QM_POLICY_EXISTS = 13000; + // // MessageId: ERROR_IPSEC_QM_POLICY_NOT_FOUND // @@ -18590,6 +20787,7 @@ public interface WinError { // The specified quick mode policy was not found. // int ERROR_IPSEC_QM_POLICY_NOT_FOUND = 13001; + // // MessageId: ERROR_IPSEC_QM_POLICY_IN_USE // @@ -18598,6 +20796,7 @@ public interface WinError { // The specified quick mode policy is being used. // int ERROR_IPSEC_QM_POLICY_IN_USE = 13002; + // // MessageId: ERROR_IPSEC_MM_POLICY_EXISTS // @@ -18606,6 +20805,7 @@ public interface WinError { // The specified main mode policy already exists. // int ERROR_IPSEC_MM_POLICY_EXISTS = 13003; + // // MessageId: ERROR_IPSEC_MM_POLICY_NOT_FOUND // @@ -18614,6 +20814,7 @@ public interface WinError { // The specified main mode policy was not found // int ERROR_IPSEC_MM_POLICY_NOT_FOUND = 13004; + // // MessageId: ERROR_IPSEC_MM_POLICY_IN_USE // @@ -18622,6 +20823,7 @@ public interface WinError { // The specified main mode policy is being used. // int ERROR_IPSEC_MM_POLICY_IN_USE = 13005; + // // MessageId: ERROR_IPSEC_MM_FILTER_EXISTS // @@ -18630,6 +20832,7 @@ public interface WinError { // The specified main mode filter already exists. // int ERROR_IPSEC_MM_FILTER_EXISTS = 13006; + // // MessageId: ERROR_IPSEC_MM_FILTER_NOT_FOUND // @@ -18638,6 +20841,7 @@ public interface WinError { // The specified main mode filter was not found. // int ERROR_IPSEC_MM_FILTER_NOT_FOUND = 13007; + // // MessageId: ERROR_IPSEC_TRANSPORT_FILTER_EXISTS // @@ -18646,6 +20850,7 @@ public interface WinError { // The specified transport mode filter already exists. // int ERROR_IPSEC_TRANSPORT_FILTER_EXISTS = 13008; + // // MessageId: ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND // @@ -18654,6 +20859,7 @@ public interface WinError { // The specified transport mode filter does not exist. // int ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND = 13009; + // // MessageId: ERROR_IPSEC_MM_AUTH_EXISTS // @@ -18662,6 +20868,7 @@ public interface WinError { // The specified main mode authentication list exists. // int ERROR_IPSEC_MM_AUTH_EXISTS = 13010; + // // MessageId: ERROR_IPSEC_MM_AUTH_NOT_FOUND // @@ -18670,6 +20877,7 @@ public interface WinError { // The specified main mode authentication list was not found. // int ERROR_IPSEC_MM_AUTH_NOT_FOUND = 13011; + // // MessageId: ERROR_IPSEC_MM_AUTH_IN_USE // @@ -18678,6 +20886,7 @@ public interface WinError { // The specified main mode authentication list is being used. // int ERROR_IPSEC_MM_AUTH_IN_USE = 13012; + // // MessageId: ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND // @@ -18686,6 +20895,7 @@ public interface WinError { // The specified default main mode policy was not found. // int ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 13013; + // // MessageId: ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND // @@ -18694,6 +20904,7 @@ public interface WinError { // The specified default main mode authentication list was not found. // int ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 13014; + // // MessageId: ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND // @@ -18702,6 +20913,7 @@ public interface WinError { // The specified default quick mode policy was not found. // int ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 13015; + // // MessageId: ERROR_IPSEC_TUNNEL_FILTER_EXISTS // @@ -18710,6 +20922,7 @@ public interface WinError { // The specified tunnel mode filter exists. // int ERROR_IPSEC_TUNNEL_FILTER_EXISTS = 13016; + // // MessageId: ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND // @@ -18718,6 +20931,7 @@ public interface WinError { // The specified tunnel mode filter was not found. // int ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND = 13017; + // // MessageId: ERROR_IPSEC_MM_FILTER_PENDING_DELETION // @@ -18726,6 +20940,7 @@ public interface WinError { // The Main Mode filter is pending deletion. // int ERROR_IPSEC_MM_FILTER_PENDING_DELETION = 13018; + // // MessageId: ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION // @@ -18734,6 +20949,7 @@ public interface WinError { // The transport filter is pending deletion. // int ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 13019; + // // MessageId: ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION // @@ -18742,6 +20958,7 @@ public interface WinError { // The tunnel filter is pending deletion. // int ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION = 13020; + // // MessageId: ERROR_IPSEC_MM_POLICY_PENDING_DELETION // @@ -18750,6 +20967,7 @@ public interface WinError { // The Main Mode policy is pending deletion. // int ERROR_IPSEC_MM_POLICY_PENDING_DELETION = 13021; + // // MessageId: ERROR_IPSEC_MM_AUTH_PENDING_DELETION // @@ -18758,6 +20976,7 @@ public interface WinError { // The Main Mode authentication bundle is pending deletion. // int ERROR_IPSEC_MM_AUTH_PENDING_DELETION = 13022; + // // MessageId: ERROR_IPSEC_QM_POLICY_PENDING_DELETION // @@ -18766,6 +20985,7 @@ public interface WinError { // The Quick Mode policy is pending deletion. // int ERROR_IPSEC_QM_POLICY_PENDING_DELETION = 13023; + // // MessageId: WARNING_IPSEC_MM_POLICY_PRUNED // @@ -18775,6 +20995,7 @@ public interface WinError { // offers are not supported. // int WARNING_IPSEC_MM_POLICY_PRUNED = 13024; + // // MessageId: WARNING_IPSEC_QM_POLICY_PRUNED // @@ -18784,6 +21005,7 @@ public interface WinError { // offers are not supported. // int WARNING_IPSEC_QM_POLICY_PRUNED = 13025; + // // MessageId: ERROR_IPSEC_IKE_NEG_STATUS_BEGIN // @@ -18792,6 +21014,7 @@ public interface WinError { // ERROR_IPSEC_IKE_NEG_STATUS_BEGIN // int ERROR_IPSEC_IKE_NEG_STATUS_BEGIN = 13800; + // // MessageId: ERROR_IPSEC_IKE_AUTH_FAIL // @@ -18800,6 +21023,7 @@ public interface WinError { // IKE authentication credentials are unacceptable // int ERROR_IPSEC_IKE_AUTH_FAIL = 13801; + // // MessageId: ERROR_IPSEC_IKE_ATTRIB_FAIL // @@ -18808,6 +21032,7 @@ public interface WinError { // IKE security attributes are unacceptable // int ERROR_IPSEC_IKE_ATTRIB_FAIL = 13802; + // // MessageId: ERROR_IPSEC_IKE_NEGOTIATION_PENDING // @@ -18816,6 +21041,7 @@ public interface WinError { // IKE Negotiation in progress // int ERROR_IPSEC_IKE_NEGOTIATION_PENDING = 13803; + // // MessageId: ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR // @@ -18824,6 +21050,7 @@ public interface WinError { // General processing error // int ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR = 13804; + // // MessageId: ERROR_IPSEC_IKE_TIMED_OUT // @@ -18832,6 +21059,7 @@ public interface WinError { // Negotiation timed out // int ERROR_IPSEC_IKE_TIMED_OUT = 13805; + // // MessageId: ERROR_IPSEC_IKE_NO_CERT // @@ -18842,6 +21070,7 @@ public interface WinError { // appropriate Certificate Store. // int ERROR_IPSEC_IKE_NO_CERT = 13806; + // // MessageId: ERROR_IPSEC_IKE_SA_DELETED // @@ -18850,6 +21079,7 @@ public interface WinError { // IKE SA deleted by peer before establishment completed // int ERROR_IPSEC_IKE_SA_DELETED = 13807; + // // MessageId: ERROR_IPSEC_IKE_SA_REAPED // @@ -18858,6 +21088,7 @@ public interface WinError { // IKE SA deleted before establishment completed // int ERROR_IPSEC_IKE_SA_REAPED = 13808; + // // MessageId: ERROR_IPSEC_IKE_MM_ACQUIRE_DROP // @@ -18866,6 +21097,7 @@ public interface WinError { // Negotiation request sat in Queue too long // int ERROR_IPSEC_IKE_MM_ACQUIRE_DROP = 13809; + // // MessageId: ERROR_IPSEC_IKE_QM_ACQUIRE_DROP // @@ -18874,6 +21106,7 @@ public interface WinError { // Negotiation request sat in Queue too long // int ERROR_IPSEC_IKE_QM_ACQUIRE_DROP = 13810; + // // MessageId: ERROR_IPSEC_IKE_QUEUE_DROP_MM // @@ -18882,6 +21115,7 @@ public interface WinError { // Negotiation request sat in Queue too long // int ERROR_IPSEC_IKE_QUEUE_DROP_MM = 13811; + // // MessageId: ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM // @@ -18890,6 +21124,7 @@ public interface WinError { // Negotiation request sat in Queue too long // int ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM = 13812; + // // MessageId: ERROR_IPSEC_IKE_DROP_NO_RESPONSE // @@ -18898,6 +21133,7 @@ public interface WinError { // No response from peer // int ERROR_IPSEC_IKE_DROP_NO_RESPONSE = 13813; + // // MessageId: ERROR_IPSEC_IKE_MM_DELAY_DROP // @@ -18906,6 +21142,7 @@ public interface WinError { // Negotiation took too long // int ERROR_IPSEC_IKE_MM_DELAY_DROP = 13814; + // // MessageId: ERROR_IPSEC_IKE_QM_DELAY_DROP // @@ -18914,6 +21151,7 @@ public interface WinError { // Negotiation took too long // int ERROR_IPSEC_IKE_QM_DELAY_DROP = 13815; + // // MessageId: ERROR_IPSEC_IKE_ERROR // @@ -18922,6 +21160,7 @@ public interface WinError { // Unknown error occurred // int ERROR_IPSEC_IKE_ERROR = 13816; + // // MessageId: ERROR_IPSEC_IKE_CRL_FAILED // @@ -18930,6 +21169,7 @@ public interface WinError { // Certificate Revocation Check failed // int ERROR_IPSEC_IKE_CRL_FAILED = 13817; + // // MessageId: ERROR_IPSEC_IKE_INVALID_KEY_USAGE // @@ -18938,6 +21178,7 @@ public interface WinError { // Invalid certificate key usage // int ERROR_IPSEC_IKE_INVALID_KEY_USAGE = 13818; + // // MessageId: ERROR_IPSEC_IKE_INVALID_CERT_TYPE // @@ -18946,6 +21187,7 @@ public interface WinError { // Invalid certificate type // int ERROR_IPSEC_IKE_INVALID_CERT_TYPE = 13819; + // // MessageId: ERROR_IPSEC_IKE_NO_PRIVATE_KEY // @@ -18957,6 +21199,7 @@ public interface WinError { // has a private key. // int ERROR_IPSEC_IKE_NO_PRIVATE_KEY = 13820; + // // MessageId: ERROR_IPSEC_IKE_DH_FAIL // @@ -18965,6 +21208,7 @@ public interface WinError { // Failure in Diffie-Helman computation // int ERROR_IPSEC_IKE_DH_FAIL = 13822; + // // MessageId: ERROR_IPSEC_IKE_INVALID_HEADER // @@ -18973,6 +21217,7 @@ public interface WinError { // Invalid header // int ERROR_IPSEC_IKE_INVALID_HEADER = 13824; + // // MessageId: ERROR_IPSEC_IKE_NO_POLICY // @@ -18981,6 +21226,7 @@ public interface WinError { // No policy configured // int ERROR_IPSEC_IKE_NO_POLICY = 13825; + // // MessageId: ERROR_IPSEC_IKE_INVALID_SIGNATURE // @@ -18989,6 +21235,7 @@ public interface WinError { // Failed to verify signature // int ERROR_IPSEC_IKE_INVALID_SIGNATURE = 13826; + // // MessageId: ERROR_IPSEC_IKE_KERBEROS_ERROR // @@ -18997,6 +21244,7 @@ public interface WinError { // Failed to authenticate using kerberos // int ERROR_IPSEC_IKE_KERBEROS_ERROR = 13827; + // // MessageId: ERROR_IPSEC_IKE_NO_PUBLIC_KEY // @@ -19005,6 +21253,7 @@ public interface WinError { // Peer's certificate did not have a public key // int ERROR_IPSEC_IKE_NO_PUBLIC_KEY = 13828; + // These must stay as a unit. // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR @@ -19014,6 +21263,7 @@ public interface WinError { // Error processing error payload // int ERROR_IPSEC_IKE_PROCESS_ERR = 13829; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_SA // @@ -19022,6 +21272,7 @@ public interface WinError { // Error processing SA payload // int ERROR_IPSEC_IKE_PROCESS_ERR_SA = 13830; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_PROP // @@ -19030,6 +21281,7 @@ public interface WinError { // Error processing Proposal payload // int ERROR_IPSEC_IKE_PROCESS_ERR_PROP = 13831; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_TRANS // @@ -19038,6 +21290,7 @@ public interface WinError { // Error processing Transform payload // int ERROR_IPSEC_IKE_PROCESS_ERR_TRANS = 13832; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_KE // @@ -19046,6 +21299,7 @@ public interface WinError { // Error processing KE payload // int ERROR_IPSEC_IKE_PROCESS_ERR_KE = 13833; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_ID // @@ -19054,6 +21308,7 @@ public interface WinError { // Error processing ID payload // int ERROR_IPSEC_IKE_PROCESS_ERR_ID = 13834; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_CERT // @@ -19062,6 +21317,7 @@ public interface WinError { // Error processing Cert payload // int ERROR_IPSEC_IKE_PROCESS_ERR_CERT = 13835; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ // @@ -19070,6 +21326,7 @@ public interface WinError { // Error processing Certificate Request payload // int ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ = 13836; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_HASH // @@ -19078,6 +21335,7 @@ public interface WinError { // Error processing Hash payload // int ERROR_IPSEC_IKE_PROCESS_ERR_HASH = 13837; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_SIG // @@ -19086,6 +21344,7 @@ public interface WinError { // Error processing Signature payload // int ERROR_IPSEC_IKE_PROCESS_ERR_SIG = 13838; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_NONCE // @@ -19094,6 +21353,7 @@ public interface WinError { // Error processing Nonce payload // int ERROR_IPSEC_IKE_PROCESS_ERR_NONCE = 13839; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY // @@ -19102,6 +21362,7 @@ public interface WinError { // Error processing Notify payload // int ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY = 13840; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_DELETE // @@ -19110,6 +21371,7 @@ public interface WinError { // Error processing Delete Payload // int ERROR_IPSEC_IKE_PROCESS_ERR_DELETE = 13841; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR // @@ -19118,6 +21380,7 @@ public interface WinError { // Error processing VendorId payload // int ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR = 13842; + // // MessageId: ERROR_IPSEC_IKE_INVALID_PAYLOAD // @@ -19126,6 +21389,7 @@ public interface WinError { // Invalid payload received // int ERROR_IPSEC_IKE_INVALID_PAYLOAD = 13843; + // // MessageId: ERROR_IPSEC_IKE_LOAD_SOFT_SA // @@ -19134,6 +21398,7 @@ public interface WinError { // Soft SA loaded // int ERROR_IPSEC_IKE_LOAD_SOFT_SA = 13844; + // // MessageId: ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN // @@ -19142,6 +21407,7 @@ public interface WinError { // Soft SA torn down // int ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN = 13845; + // // MessageId: ERROR_IPSEC_IKE_INVALID_COOKIE // @@ -19150,6 +21416,7 @@ public interface WinError { // Invalid cookie received. // int ERROR_IPSEC_IKE_INVALID_COOKIE = 13846; + // // MessageId: ERROR_IPSEC_IKE_NO_PEER_CERT // @@ -19158,6 +21425,7 @@ public interface WinError { // Peer failed to send valid machine certificate // int ERROR_IPSEC_IKE_NO_PEER_CERT = 13847; + // // MessageId: ERROR_IPSEC_IKE_PEER_CRL_FAILED // @@ -19166,6 +21434,7 @@ public interface WinError { // Certification Revocation check of peer's certificate failed // int ERROR_IPSEC_IKE_PEER_CRL_FAILED = 13848; + // // MessageId: ERROR_IPSEC_IKE_POLICY_CHANGE // @@ -19174,6 +21443,7 @@ public interface WinError { // New policy invalidated SAs formed with old policy // int ERROR_IPSEC_IKE_POLICY_CHANGE = 13849; + // // MessageId: ERROR_IPSEC_IKE_NO_MM_POLICY // @@ -19182,6 +21452,7 @@ public interface WinError { // There is no available Main Mode IKE policy. // int ERROR_IPSEC_IKE_NO_MM_POLICY = 13850; + // // MessageId: ERROR_IPSEC_IKE_NOTCBPRIV // @@ -19190,6 +21461,7 @@ public interface WinError { // Failed to enabled TCB privilege. // int ERROR_IPSEC_IKE_NOTCBPRIV = 13851; + // // MessageId: ERROR_IPSEC_IKE_SECLOADFAIL // @@ -19198,6 +21470,7 @@ public interface WinError { // Failed to load SECURITY.DLL. // int ERROR_IPSEC_IKE_SECLOADFAIL = 13852; + // // MessageId: ERROR_IPSEC_IKE_FAILSSPINIT // @@ -19206,6 +21479,7 @@ public interface WinError { // Failed to obtain security function table dispatch address from SSPI. // int ERROR_IPSEC_IKE_FAILSSPINIT = 13853; + // // MessageId: ERROR_IPSEC_IKE_FAILQUERYSSP // @@ -19214,6 +21488,7 @@ public interface WinError { // Failed to query Kerberos package to obtain max token size. // int ERROR_IPSEC_IKE_FAILQUERYSSP = 13854; + // // MessageId: ERROR_IPSEC_IKE_SRVACQFAIL // @@ -19225,6 +21500,7 @@ public interface WinError { // computer is a member of a workgroup. // int ERROR_IPSEC_IKE_SRVACQFAIL = 13855; + // // MessageId: ERROR_IPSEC_IKE_SRVQUERYCRED // @@ -19234,6 +21510,7 @@ public interface WinError { // service (QueryCredentialsAttributes). // int ERROR_IPSEC_IKE_SRVQUERYCRED = 13856; + // // MessageId: ERROR_IPSEC_IKE_GETSPIFAIL // @@ -19244,6 +21521,7 @@ public interface WinError { // filter. Check your policy to verify the filters. // int ERROR_IPSEC_IKE_GETSPIFAIL = 13857; + // // MessageId: ERROR_IPSEC_IKE_INVALID_FILTER // @@ -19252,6 +21530,7 @@ public interface WinError { // Given filter is invalid // int ERROR_IPSEC_IKE_INVALID_FILTER = 13858; + // // MessageId: ERROR_IPSEC_IKE_OUT_OF_MEMORY // @@ -19260,6 +21539,7 @@ public interface WinError { // Memory allocation failed. // int ERROR_IPSEC_IKE_OUT_OF_MEMORY = 13859; + // // MessageId: ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED // @@ -19270,6 +21550,7 @@ public interface WinError { // problem persists, reduce the load on the faulting machine. // int ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 13860; + // // MessageId: ERROR_IPSEC_IKE_INVALID_POLICY // @@ -19278,6 +21559,7 @@ public interface WinError { // Invalid policy // int ERROR_IPSEC_IKE_INVALID_POLICY = 13861; + // // MessageId: ERROR_IPSEC_IKE_UNKNOWN_DOI // @@ -19286,6 +21568,7 @@ public interface WinError { // Invalid DOI // int ERROR_IPSEC_IKE_UNKNOWN_DOI = 13862; + // // MessageId: ERROR_IPSEC_IKE_INVALID_SITUATION // @@ -19294,6 +21577,7 @@ public interface WinError { // Invalid situation // int ERROR_IPSEC_IKE_INVALID_SITUATION = 13863; + // // MessageId: ERROR_IPSEC_IKE_DH_FAILURE // @@ -19302,6 +21586,7 @@ public interface WinError { // Diffie-Hellman failure // int ERROR_IPSEC_IKE_DH_FAILURE = 13864; + // // MessageId: ERROR_IPSEC_IKE_INVALID_GROUP // @@ -19310,6 +21595,7 @@ public interface WinError { // Invalid Diffie-Hellman group // int ERROR_IPSEC_IKE_INVALID_GROUP = 13865; + // // MessageId: ERROR_IPSEC_IKE_ENCRYPT // @@ -19318,6 +21604,7 @@ public interface WinError { // Error encrypting payload // int ERROR_IPSEC_IKE_ENCRYPT = 13866; + // // MessageId: ERROR_IPSEC_IKE_DECRYPT // @@ -19326,6 +21613,7 @@ public interface WinError { // Error decrypting payload // int ERROR_IPSEC_IKE_DECRYPT = 13867; + // // MessageId: ERROR_IPSEC_IKE_POLICY_MATCH // @@ -19334,6 +21622,7 @@ public interface WinError { // Policy match error // int ERROR_IPSEC_IKE_POLICY_MATCH = 13868; + // // MessageId: ERROR_IPSEC_IKE_UNSUPPORTED_ID // @@ -19342,6 +21631,7 @@ public interface WinError { // Unsupported ID // int ERROR_IPSEC_IKE_UNSUPPORTED_ID = 13869; + // // MessageId: ERROR_IPSEC_IKE_INVALID_HASH // @@ -19350,6 +21640,7 @@ public interface WinError { // Hash verification failed // int ERROR_IPSEC_IKE_INVALID_HASH = 13870; + // // MessageId: ERROR_IPSEC_IKE_INVALID_HASH_ALG // @@ -19358,6 +21649,7 @@ public interface WinError { // Invalid hash algorithm // int ERROR_IPSEC_IKE_INVALID_HASH_ALG = 13871; + // // MessageId: ERROR_IPSEC_IKE_INVALID_HASH_SIZE // @@ -19366,6 +21658,7 @@ public interface WinError { // Invalid hash size // int ERROR_IPSEC_IKE_INVALID_HASH_SIZE = 13872; + // // MessageId: ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG // @@ -19374,6 +21667,7 @@ public interface WinError { // Invalid encryption algorithm // int ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG = 13873; + // // MessageId: ERROR_IPSEC_IKE_INVALID_AUTH_ALG // @@ -19382,6 +21676,7 @@ public interface WinError { // Invalid authentication algorithm // int ERROR_IPSEC_IKE_INVALID_AUTH_ALG = 13874; + // // MessageId: ERROR_IPSEC_IKE_INVALID_SIG // @@ -19390,6 +21685,7 @@ public interface WinError { // Invalid certificate signature // int ERROR_IPSEC_IKE_INVALID_SIG = 13875; + // // MessageId: ERROR_IPSEC_IKE_LOAD_FAILED // @@ -19398,6 +21694,7 @@ public interface WinError { // Load failed // int ERROR_IPSEC_IKE_LOAD_FAILED = 13876; + // // MessageId: ERROR_IPSEC_IKE_RPC_DELETE // @@ -19406,6 +21703,7 @@ public interface WinError { // Deleted via RPC call // int ERROR_IPSEC_IKE_RPC_DELETE = 13877; + // // MessageId: ERROR_IPSEC_IKE_BENIGN_REINIT // @@ -19414,6 +21712,7 @@ public interface WinError { // Temporary state created to perform reinit. This is not a real failure. // int ERROR_IPSEC_IKE_BENIGN_REINIT = 13878; + // // MessageId: ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY // @@ -19424,6 +21723,7 @@ public interface WinError { // machine. // int ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 13879; + // // MessageId: ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN // @@ -19433,6 +21733,7 @@ public interface WinError { // requirements. // int ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881; + // // MessageId: ERROR_IPSEC_IKE_MM_LIMIT // @@ -19441,6 +21742,7 @@ public interface WinError { // Max number of established MM SAs to peer exceeded. // int ERROR_IPSEC_IKE_MM_LIMIT = 13882; + // // MessageId: ERROR_IPSEC_IKE_NEGOTIATION_DISABLED // @@ -19449,6 +21751,7 @@ public interface WinError { // IKE received a policy that disables negotiation. // int ERROR_IPSEC_IKE_NEGOTIATION_DISABLED = 13883; + // // MessageId: ERROR_IPSEC_IKE_QM_LIMIT // @@ -19458,6 +21761,7 @@ public interface WinError { // started. // int ERROR_IPSEC_IKE_QM_LIMIT = 13884; + // // MessageId: ERROR_IPSEC_IKE_MM_EXPIRED // @@ -19466,6 +21770,7 @@ public interface WinError { // Main mode SA lifetime expired or peer sent a main mode delete. // int ERROR_IPSEC_IKE_MM_EXPIRED = 13885; + // // MessageId: ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID // @@ -19474,6 +21779,7 @@ public interface WinError { // Main mode SA assumed to be invalid because peer stopped responding. // int ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID = 13886; + // // MessageId: ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH // @@ -19482,6 +21788,7 @@ public interface WinError { // Certificate doesn't chain to a trusted root in IPsec policy. // int ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH = 13887; + // // MessageId: ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID // @@ -19490,6 +21797,7 @@ public interface WinError { // Received unexpected message ID. // int ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID = 13888; + // // MessageId: ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD // @@ -19498,6 +21806,7 @@ public interface WinError { // Received invalid authentication offers. // int ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD = 13889; + // // MessageId: ERROR_IPSEC_IKE_DOS_COOKIE_SENT // @@ -19506,6 +21815,7 @@ public interface WinError { // Sent DOS cookie notify to intiator. // int ERROR_IPSEC_IKE_DOS_COOKIE_SENT = 13890; + // // MessageId: ERROR_IPSEC_IKE_SHUTTING_DOWN // @@ -19514,6 +21824,7 @@ public interface WinError { // IKE service is shutting down. // int ERROR_IPSEC_IKE_SHUTTING_DOWN = 13891; + // // MessageId: ERROR_IPSEC_IKE_CGA_AUTH_FAILED // @@ -19522,6 +21833,7 @@ public interface WinError { // Could not verify binding between CGA address and certificate. // int ERROR_IPSEC_IKE_CGA_AUTH_FAILED = 13892; + // // MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_NATOA // @@ -19530,6 +21842,7 @@ public interface WinError { // Error processing NatOA payload. // int ERROR_IPSEC_IKE_PROCESS_ERR_NATOA = 13893; + // // MessageId: ERROR_IPSEC_IKE_INVALID_MM_FOR_QM // @@ -19538,6 +21851,7 @@ public interface WinError { // Parameters of the main mode are invalid for this quick mode. // int ERROR_IPSEC_IKE_INVALID_MM_FOR_QM = 13894; + // // MessageId: ERROR_IPSEC_IKE_QM_EXPIRED // @@ -19546,6 +21860,7 @@ public interface WinError { // Quick mode SA was expired by IPsec driver. // int ERROR_IPSEC_IKE_QM_EXPIRED = 13895; + // // MessageId: ERROR_IPSEC_IKE_TOO_MANY_FILTERS // @@ -19554,6 +21869,7 @@ public interface WinError { // Too many dynamically added IKEEXT filters were detected. // int ERROR_IPSEC_IKE_TOO_MANY_FILTERS = 13896; + // // MessageId: ERROR_IPSEC_IKE_NEG_STATUS_END // @@ -19562,6 +21878,7 @@ public interface WinError { // ERROR_IPSEC_IKE_NEG_STATUS_END // int ERROR_IPSEC_IKE_NEG_STATUS_END = 13897; + // // Following error codes are returned by IPsec kernel. // @@ -19573,6 +21890,7 @@ public interface WinError { // The SPI in the packet does not match a valid IPsec SA. // int ERROR_IPSEC_BAD_SPI = 13910; + // // MessageId: ERROR_IPSEC_SA_LIFETIME_EXPIRED // @@ -19581,6 +21899,7 @@ public interface WinError { // Packet was received on an IPsec SA whose lifetime has expired. // int ERROR_IPSEC_SA_LIFETIME_EXPIRED = 13911; + // // MessageId: ERROR_IPSEC_WRONG_SA // @@ -19590,6 +21909,7 @@ public interface WinError { // characteristics. // int ERROR_IPSEC_WRONG_SA = 13912; + // // MessageId: ERROR_IPSEC_REPLAY_CHECK_FAILED // @@ -19598,6 +21918,7 @@ public interface WinError { // Packet sequence number replay check failed. // int ERROR_IPSEC_REPLAY_CHECK_FAILED = 13913; + // // MessageId: ERROR_IPSEC_INVALID_PACKET // @@ -19606,6 +21927,7 @@ public interface WinError { // IPsec header and/or trailer in the packet is invalid. // int ERROR_IPSEC_INVALID_PACKET = 13914; + // // MessageId: ERROR_IPSEC_INTEGRITY_CHECK_FAILED // @@ -19614,6 +21936,7 @@ public interface WinError { // IPsec integrity check failed. // int ERROR_IPSEC_INTEGRITY_CHECK_FAILED = 13915; + // // MessageId: ERROR_IPSEC_CLEAR_TEXT_DROP // @@ -19622,6 +21945,7 @@ public interface WinError { // IPsec dropped a clear text packet. // int ERROR_IPSEC_CLEAR_TEXT_DROP = 13916; + // ///////////////////////////////////////////////// // =// // =End of IPSec Error codes=// @@ -19642,6 +21966,7 @@ public interface WinError { // The requested section was not present in the activation context. // int ERROR_SXS_SECTION_NOT_FOUND = 14000; + // // MessageId: ERROR_SXS_CANT_GEN_ACTCTX // @@ -19652,6 +21977,7 @@ public interface WinError { // detail. // int ERROR_SXS_CANT_GEN_ACTCTX = 14001; + // // MessageId: ERROR_SXS_INVALID_ACTCTXDATA_FORMAT // @@ -19660,6 +21986,7 @@ public interface WinError { // The application binding data format is invalid. // int ERROR_SXS_INVALID_ACTCTXDATA_FORMAT = 14002; + // // MessageId: ERROR_SXS_ASSEMBLY_NOT_FOUND // @@ -19668,6 +21995,7 @@ public interface WinError { // The referenced assembly is not installed on your system. // int ERROR_SXS_ASSEMBLY_NOT_FOUND = 14003; + // // MessageId: ERROR_SXS_MANIFEST_FORMAT_ERROR // @@ -19677,6 +22005,7 @@ public interface WinError { // information. // int ERROR_SXS_MANIFEST_FORMAT_ERROR = 14004; + // // MessageId: ERROR_SXS_MANIFEST_PARSE_ERROR // @@ -19685,6 +22014,7 @@ public interface WinError { // The manifest file contains one or more syntax errors. // int ERROR_SXS_MANIFEST_PARSE_ERROR = 14005; + // // MessageId: ERROR_SXS_ACTIVATION_CONTEXT_DISABLED // @@ -19693,6 +22023,7 @@ public interface WinError { // The application attempted to activate a disabled activation context. // int ERROR_SXS_ACTIVATION_CONTEXT_DISABLED = 14006; + // // MessageId: ERROR_SXS_KEY_NOT_FOUND // @@ -19701,6 +22032,7 @@ public interface WinError { // The requested lookup key was not found in any active activation context. // int ERROR_SXS_KEY_NOT_FOUND = 14007; + // // MessageId: ERROR_SXS_VERSION_CONFLICT // @@ -19710,6 +22042,7 @@ public interface WinError { // component version already active. // int ERROR_SXS_VERSION_CONFLICT = 14008; + // // MessageId: ERROR_SXS_WRONG_SECTION_TYPE // @@ -19719,6 +22052,7 @@ public interface WinError { // API used. // int ERROR_SXS_WRONG_SECTION_TYPE = 14009; + // // MessageId: ERROR_SXS_THREAD_QUERIES_DISABLED // @@ -19728,6 +22062,7 @@ public interface WinError { // for the current thread of execution. // int ERROR_SXS_THREAD_QUERIES_DISABLED = 14010; + // // MessageId: ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET // @@ -19737,6 +22072,7 @@ public interface WinError { // the process default activation context was already set. // int ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET = 14011; + // // MessageId: ERROR_SXS_UNKNOWN_ENCODING_GROUP // @@ -19745,6 +22081,7 @@ public interface WinError { // The encoding group identifier specified is not recognized. // int ERROR_SXS_UNKNOWN_ENCODING_GROUP = 14012; + // // MessageId: ERROR_SXS_UNKNOWN_ENCODING // @@ -19753,6 +22090,7 @@ public interface WinError { // The encoding requested is not recognized. // int ERROR_SXS_UNKNOWN_ENCODING = 14013; + // // MessageId: ERROR_SXS_INVALID_XML_NAMESPACE_URI // @@ -19761,6 +22099,7 @@ public interface WinError { // The manifest contains a reference to an invalid URI. // int ERROR_SXS_INVALID_XML_NAMESPACE_URI = 14014; + // // MessageId: ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED // @@ -19770,6 +22109,7 @@ public interface WinError { // which is not installed // int ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14015; + // // MessageId: ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED // @@ -19779,6 +22119,7 @@ public interface WinError { // dependent assembly which is not installed // int ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14016; + // // MessageId: ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE // @@ -19788,6 +22129,7 @@ public interface WinError { // valid. // int ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 14017; + // // MessageId: ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE // @@ -19797,6 +22139,7 @@ public interface WinError { // the assembly element. // int ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 14018; + // // MessageId: ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE // @@ -19806,6 +22149,7 @@ public interface WinError { // but its value is not "urn:schemas-microsoft-com:asm.v1". // int ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 14019; + // // MessageId: ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT // @@ -19814,6 +22158,7 @@ public interface WinError { // The private manifest probed has crossed reparse-point-associated path // int ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 14020; + // // MessageId: ERROR_SXS_DUPLICATE_DLL_NAME // @@ -19823,6 +22168,7 @@ public interface WinError { // application manifest have files by the same name. // int ERROR_SXS_DUPLICATE_DLL_NAME = 14021; + // // MessageId: ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME // @@ -19832,6 +22178,7 @@ public interface WinError { // application manifest have window classes with the same name. // int ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME = 14022; + // // MessageId: ERROR_SXS_DUPLICATE_CLSID // @@ -19841,6 +22188,7 @@ public interface WinError { // application manifest have the same COM server CLSIDs. // int ERROR_SXS_DUPLICATE_CLSID = 14023; + // // MessageId: ERROR_SXS_DUPLICATE_IID // @@ -19850,6 +22198,7 @@ public interface WinError { // application manifest have proxies for the same COM interface IIDs. // int ERROR_SXS_DUPLICATE_IID = 14024; + // // MessageId: ERROR_SXS_DUPLICATE_TLBID // @@ -19859,6 +22208,7 @@ public interface WinError { // application manifest have the same COM type library TLBIDs. // int ERROR_SXS_DUPLICATE_TLBID = 14025; + // // MessageId: ERROR_SXS_DUPLICATE_PROGID // @@ -19868,6 +22218,7 @@ public interface WinError { // application manifest have the same COM ProgIDs. // int ERROR_SXS_DUPLICATE_PROGID = 14026; + // // MessageId: ERROR_SXS_DUPLICATE_ASSEMBLY_NAME // @@ -19878,6 +22229,7 @@ public interface WinError { // is not permitted. // int ERROR_SXS_DUPLICATE_ASSEMBLY_NAME = 14027; + // // MessageId: ERROR_SXS_FILE_HASH_MISMATCH // @@ -19887,6 +22239,7 @@ public interface WinError { // the component manifest. // int ERROR_SXS_FILE_HASH_MISMATCH = 14028; + // // MessageId: ERROR_SXS_POLICY_PARSE_ERROR // @@ -19895,6 +22248,7 @@ public interface WinError { // The policy manifest contains one or more syntax errors. // int ERROR_SXS_POLICY_PARSE_ERROR = 14029; + // // MessageId: ERROR_SXS_XML_E_MISSINGQUOTE // @@ -19904,6 +22258,7 @@ public interface WinError { // quote character was found. // int ERROR_SXS_XML_E_MISSINGQUOTE = 14030; + // // MessageId: ERROR_SXS_XML_E_COMMENTSYNTAX // @@ -19912,6 +22267,7 @@ public interface WinError { // Manifest Parse Error : Incorrect syntax was used in a comment. // int ERROR_SXS_XML_E_COMMENTSYNTAX = 14031; + // // MessageId: ERROR_SXS_XML_E_BADSTARTNAMECHAR // @@ -19920,6 +22276,7 @@ public interface WinError { // Manifest Parse Error : A name was started with an invalid character. // int ERROR_SXS_XML_E_BADSTARTNAMECHAR = 14032; + // // MessageId: ERROR_SXS_XML_E_BADNAMECHAR // @@ -19928,6 +22285,7 @@ public interface WinError { // Manifest Parse Error : A name contained an invalid character. // int ERROR_SXS_XML_E_BADNAMECHAR = 14033; + // // MessageId: ERROR_SXS_XML_E_BADCHARINSTRING // @@ -19936,6 +22294,7 @@ public interface WinError { // Manifest Parse Error : A string literal contained an invalid character. // int ERROR_SXS_XML_E_BADCHARINSTRING = 14034; + // // MessageId: ERROR_SXS_XML_E_XMLDECLSYNTAX // @@ -19944,6 +22303,7 @@ public interface WinError { // Manifest Parse Error : Invalid syntax for an xml declaration. // int ERROR_SXS_XML_E_XMLDECLSYNTAX = 14035; + // // MessageId: ERROR_SXS_XML_E_BADCHARDATA // @@ -19952,6 +22312,7 @@ public interface WinError { // Manifest Parse Error : An Invalid character was found in text content. // int ERROR_SXS_XML_E_BADCHARDATA = 14036; + // // MessageId: ERROR_SXS_XML_E_MISSINGWHITESPACE // @@ -19960,6 +22321,7 @@ public interface WinError { // Manifest Parse Error : Required white space was missing. // int ERROR_SXS_XML_E_MISSINGWHITESPACE = 14037; + // // MessageId: ERROR_SXS_XML_E_EXPECTINGTAGEND // @@ -19968,6 +22330,7 @@ public interface WinError { // Manifest Parse Error : The character '>' was expected. // int ERROR_SXS_XML_E_EXPECTINGTAGEND = 14038; + // // MessageId: ERROR_SXS_XML_E_MISSINGSEMICOLON // @@ -19976,6 +22339,7 @@ public interface WinError { // Manifest Parse Error : A semi colon character was expected. // int ERROR_SXS_XML_E_MISSINGSEMICOLON = 14039; + // // MessageId: ERROR_SXS_XML_E_UNBALANCEDPAREN // @@ -19984,6 +22348,7 @@ public interface WinError { // Manifest Parse Error : Unbalanced parentheses. // int ERROR_SXS_XML_E_UNBALANCEDPAREN = 14040; + // // MessageId: ERROR_SXS_XML_E_INTERNALERROR // @@ -19992,6 +22357,7 @@ public interface WinError { // Manifest Parse Error : Internal error. // int ERROR_SXS_XML_E_INTERNALERROR = 14041; + // // MessageId: ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE // @@ -20000,6 +22366,7 @@ public interface WinError { // Manifest Parse Error : Whitespace is not allowed at this location. // int ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE = 14042; + // // MessageId: ERROR_SXS_XML_E_INCOMPLETE_ENCODING // @@ -20009,6 +22376,7 @@ public interface WinError { // encoding. // int ERROR_SXS_XML_E_INCOMPLETE_ENCODING = 14043; + // // MessageId: ERROR_SXS_XML_E_MISSING_PAREN // @@ -20017,6 +22385,7 @@ public interface WinError { // Manifest Parse Error : Missing parenthesis. // int ERROR_SXS_XML_E_MISSING_PAREN = 14044; + // // MessageId: ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE // @@ -20026,6 +22395,7 @@ public interface WinError { // \") is missing. // int ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE = 14045; + // // MessageId: ERROR_SXS_XML_E_MULTIPLE_COLONS // @@ -20034,6 +22404,7 @@ public interface WinError { // Manifest Parse Error : Multiple colons are not allowed in a name. // int ERROR_SXS_XML_E_MULTIPLE_COLONS = 14046; + // // MessageId: ERROR_SXS_XML_E_INVALID_DECIMAL // @@ -20042,6 +22413,7 @@ public interface WinError { // Manifest Parse Error : Invalid character for decimal digit. // int ERROR_SXS_XML_E_INVALID_DECIMAL = 14047; + // // MessageId: ERROR_SXS_XML_E_INVALID_HEXIDECIMAL // @@ -20050,6 +22422,7 @@ public interface WinError { // Manifest Parse Error : Invalid character for hexidecimal digit. // int ERROR_SXS_XML_E_INVALID_HEXIDECIMAL = 14048; + // // MessageId: ERROR_SXS_XML_E_INVALID_UNICODE // @@ -20058,6 +22431,7 @@ public interface WinError { // Manifest Parse Error : Invalid unicode character value for this platform. // int ERROR_SXS_XML_E_INVALID_UNICODE = 14049; + // // MessageId: ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK // @@ -20066,6 +22440,7 @@ public interface WinError { // Manifest Parse Error : Expecting whitespace or '?'. // int ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK = 14050; + // // MessageId: ERROR_SXS_XML_E_UNEXPECTEDENDTAG // @@ -20074,6 +22449,7 @@ public interface WinError { // Manifest Parse Error : End tag was not expected at this location. // int ERROR_SXS_XML_E_UNEXPECTEDENDTAG = 14051; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDTAG // @@ -20082,6 +22458,7 @@ public interface WinError { // Manifest Parse Error : The following tags were not closed: %1. // int ERROR_SXS_XML_E_UNCLOSEDTAG = 14052; + // // MessageId: ERROR_SXS_XML_E_DUPLICATEATTRIBUTE // @@ -20090,6 +22467,7 @@ public interface WinError { // Manifest Parse Error : Duplicate attribute. // int ERROR_SXS_XML_E_DUPLICATEATTRIBUTE = 14053; + // // MessageId: ERROR_SXS_XML_E_MULTIPLEROOTS // @@ -20099,6 +22477,7 @@ public interface WinError { // document. // int ERROR_SXS_XML_E_MULTIPLEROOTS = 14054; + // // MessageId: ERROR_SXS_XML_E_INVALIDATROOTLEVEL // @@ -20107,6 +22486,7 @@ public interface WinError { // Manifest Parse Error : Invalid at the top level of the document. // int ERROR_SXS_XML_E_INVALIDATROOTLEVEL = 14055; + // // MessageId: ERROR_SXS_XML_E_BADXMLDECL // @@ -20115,6 +22495,7 @@ public interface WinError { // Manifest Parse Error : Invalid xml declaration. // int ERROR_SXS_XML_E_BADXMLDECL = 14056; + // // MessageId: ERROR_SXS_XML_E_MISSINGROOT // @@ -20123,6 +22504,7 @@ public interface WinError { // Manifest Parse Error : XML document must have a top level element. // int ERROR_SXS_XML_E_MISSINGROOT = 14057; + // // MessageId: ERROR_SXS_XML_E_UNEXPECTEDEOF // @@ -20131,6 +22513,7 @@ public interface WinError { // Manifest Parse Error : Unexpected end of file. // int ERROR_SXS_XML_E_UNEXPECTEDEOF = 14058; + // // MessageId: ERROR_SXS_XML_E_BADPEREFINSUBSET // @@ -20140,6 +22523,7 @@ public interface WinError { // declarations in an internal subset. // int ERROR_SXS_XML_E_BADPEREFINSUBSET = 14059; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDSTARTTAG // @@ -20148,6 +22532,7 @@ public interface WinError { // Manifest Parse Error : Element was not closed. // int ERROR_SXS_XML_E_UNCLOSEDSTARTTAG = 14060; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDENDTAG // @@ -20156,6 +22541,7 @@ public interface WinError { // Manifest Parse Error : End element was missing the character '>'. // int ERROR_SXS_XML_E_UNCLOSEDENDTAG = 14061; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDSTRING // @@ -20164,6 +22550,7 @@ public interface WinError { // Manifest Parse Error : A string literal was not closed. // int ERROR_SXS_XML_E_UNCLOSEDSTRING = 14062; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDCOMMENT // @@ -20172,6 +22559,7 @@ public interface WinError { // Manifest Parse Error : A comment was not closed. // int ERROR_SXS_XML_E_UNCLOSEDCOMMENT = 14063; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDDECL // @@ -20180,6 +22568,7 @@ public interface WinError { // Manifest Parse Error : A declaration was not closed. // int ERROR_SXS_XML_E_UNCLOSEDDECL = 14064; + // // MessageId: ERROR_SXS_XML_E_UNCLOSEDCDATA // @@ -20188,6 +22577,7 @@ public interface WinError { // Manifest Parse Error : A CDATA section was not closed. // int ERROR_SXS_XML_E_UNCLOSEDCDATA = 14065; + // // MessageId: ERROR_SXS_XML_E_RESERVEDNAMESPACE // @@ -20197,6 +22587,7 @@ public interface WinError { // the reserved string "xml". // int ERROR_SXS_XML_E_RESERVEDNAMESPACE = 14066; + // // MessageId: ERROR_SXS_XML_E_INVALIDENCODING // @@ -20205,6 +22596,7 @@ public interface WinError { // Manifest Parse Error : System does not support the specified encoding. // int ERROR_SXS_XML_E_INVALIDENCODING = 14067; + // // MessageId: ERROR_SXS_XML_E_INVALIDSWITCH // @@ -20214,6 +22606,7 @@ public interface WinError { // not supported. // int ERROR_SXS_XML_E_INVALIDSWITCH = 14068; + // // MessageId: ERROR_SXS_XML_E_BADXMLCASE // @@ -20222,6 +22615,7 @@ public interface WinError { // Manifest Parse Error : The name 'xml' is reserved and must be lower case. // int ERROR_SXS_XML_E_BADXMLCASE = 14069; + // // MessageId: ERROR_SXS_XML_E_INVALID_STANDALONE // @@ -20231,6 +22625,7 @@ public interface WinError { // or 'no'. // int ERROR_SXS_XML_E_INVALID_STANDALONE = 14070; + // // MessageId: ERROR_SXS_XML_E_UNEXPECTED_STANDALONE // @@ -20240,6 +22635,7 @@ public interface WinError { // external entities. // int ERROR_SXS_XML_E_UNEXPECTED_STANDALONE = 14071; + // // MessageId: ERROR_SXS_XML_E_INVALID_VERSION // @@ -20248,6 +22644,7 @@ public interface WinError { // Manifest Parse Error : Invalid version number. // int ERROR_SXS_XML_E_INVALID_VERSION = 14072; + // // MessageId: ERROR_SXS_XML_E_MISSINGEQUALS // @@ -20257,6 +22654,7 @@ public interface WinError { // attribute value. // int ERROR_SXS_XML_E_MISSINGEQUALS = 14073; + // // MessageId: ERROR_SXS_PROTECTION_RECOVERY_FAILED // @@ -20265,6 +22663,7 @@ public interface WinError { // Assembly Protection Error : Unable to recover the specified assembly. // int ERROR_SXS_PROTECTION_RECOVERY_FAILED = 14074; + // // MessageId: ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT // @@ -20274,6 +22673,7 @@ public interface WinError { // to be allowed. // int ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 14075; + // // MessageId: ERROR_SXS_PROTECTION_CATALOG_NOT_VALID // @@ -20283,6 +22683,7 @@ public interface WinError { // does not match the assembly's manifest. // int ERROR_SXS_PROTECTION_CATALOG_NOT_VALID = 14076; + // // MessageId: ERROR_SXS_UNTRANSLATABLE_HRESULT // @@ -20291,6 +22692,7 @@ public interface WinError { // An HRESULT could not be translated to a corresponding Win32 error code. // int ERROR_SXS_UNTRANSLATABLE_HRESULT = 14077; + // // MessageId: ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING // @@ -20299,6 +22701,7 @@ public interface WinError { // Assembly Protection Error : The catalog for an assembly is missing. // int ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING = 14078; + // // MessageId: ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE // @@ -20308,6 +22711,7 @@ public interface WinError { // must be present in this context. // int ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 14079; + // // MessageId: ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME // @@ -20317,6 +22721,7 @@ public interface WinError { // contain characters not permitted in XML names. // int ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 14080; + // // MessageId: ERROR_SXS_ASSEMBLY_MISSING // @@ -20325,6 +22730,7 @@ public interface WinError { // The referenced assembly could not be found. // int ERROR_SXS_ASSEMBLY_MISSING = 14081; + // // MessageId: ERROR_SXS_CORRUPT_ACTIVATION_STACK // @@ -20334,6 +22740,7 @@ public interface WinError { // execution is corrupt. // int ERROR_SXS_CORRUPT_ACTIVATION_STACK = 14082; + // // MessageId: ERROR_SXS_CORRUPTION // @@ -20343,6 +22750,7 @@ public interface WinError { // corrupt. // int ERROR_SXS_CORRUPTION = 14083; + // // MessageId: ERROR_SXS_EARLY_DEACTIVATION // @@ -20352,6 +22760,7 @@ public interface WinError { // activated one. // int ERROR_SXS_EARLY_DEACTIVATION = 14084; + // // MessageId: ERROR_SXS_INVALID_DEACTIVATION // @@ -20361,6 +22770,7 @@ public interface WinError { // thread of execution. // int ERROR_SXS_INVALID_DEACTIVATION = 14085; + // // MessageId: ERROR_SXS_MULTIPLE_DEACTIVATION // @@ -20369,6 +22779,7 @@ public interface WinError { // The activation context being deactivated has already been deactivated. // int ERROR_SXS_MULTIPLE_DEACTIVATION = 14086; + // // MessageId: ERROR_SXS_PROCESS_TERMINATION_REQUESTED // @@ -20378,6 +22789,7 @@ public interface WinError { // process. // int ERROR_SXS_PROCESS_TERMINATION_REQUESTED = 14087; + // // MessageId: ERROR_SXS_RELEASE_ACTIVATION_CONTEXT // @@ -20387,6 +22799,7 @@ public interface WinError { // context. // int ERROR_SXS_RELEASE_ACTIVATION_CONTEXT = 14088; + // // MessageId: ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY // @@ -20395,6 +22808,7 @@ public interface WinError { // The activation context of system default assembly could not be generated. // int ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY = 14089; + // // MessageId: ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE // @@ -20403,6 +22817,7 @@ public interface WinError { // The value of an attribute in an identity is not within the legal range. // int ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE = 14090; + // // MessageId: ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME // @@ -20411,6 +22826,7 @@ public interface WinError { // The name of an attribute in an identity is not within the legal range. // int ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME = 14091; + // // MessageId: ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE // @@ -20419,6 +22835,7 @@ public interface WinError { // An identity contains two definitions for the same attribute. // int ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE = 14092; + // // MessageId: ERROR_SXS_IDENTITY_PARSE_ERROR // @@ -20429,6 +22846,7 @@ public interface WinError { // attribute value. // int ERROR_SXS_IDENTITY_PARSE_ERROR = 14093; + // // MessageId: ERROR_MALFORMED_SUBSTITUTION_STRING // @@ -20440,6 +22858,7 @@ public interface WinError { // found. // int ERROR_MALFORMED_SUBSTITUTION_STRING = 14094; + // // MessageId: ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN // @@ -20448,6 +22867,7 @@ public interface WinError { // The public key token does not correspond to the public key specified. // int ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN = 14095; + // // MessageId: ERROR_UNMAPPED_SUBSTITUTION_STRING // @@ -20456,6 +22876,7 @@ public interface WinError { // A substitution string had no mapping. // int ERROR_UNMAPPED_SUBSTITUTION_STRING = 14096; + // // MessageId: ERROR_SXS_ASSEMBLY_NOT_LOCKED // @@ -20464,6 +22885,7 @@ public interface WinError { // The component must be locked before making the request. // int ERROR_SXS_ASSEMBLY_NOT_LOCKED = 14097; + // // MessageId: ERROR_SXS_COMPONENT_STORE_CORRUPT // @@ -20472,6 +22894,7 @@ public interface WinError { // The component store has been corrupted. // int ERROR_SXS_COMPONENT_STORE_CORRUPT = 14098; + // // MessageId: ERROR_ADVANCED_INSTALLER_FAILED // @@ -20480,6 +22903,7 @@ public interface WinError { // An advanced installer failed during setup or servicing. // int ERROR_ADVANCED_INSTALLER_FAILED = 14099; + // // MessageId: ERROR_XML_ENCODING_MISMATCH // @@ -20489,6 +22913,7 @@ public interface WinError { // used in the document. // int ERROR_XML_ENCODING_MISMATCH = 14100; + // // MessageId: ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT // @@ -20498,6 +22923,7 @@ public interface WinError { // different. // int ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT = 14101; + // // MessageId: ERROR_SXS_IDENTITIES_DIFFERENT // @@ -20506,6 +22932,7 @@ public interface WinError { // The component identities are different. // int ERROR_SXS_IDENTITIES_DIFFERENT = 14102; + // // MessageId: ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT // @@ -20514,6 +22941,7 @@ public interface WinError { // The assembly is not a deployment. // int ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT = 14103; + // // MessageId: ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY // @@ -20522,6 +22950,7 @@ public interface WinError { // The file is not a part of the assembly. // int ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY = 14104; + // // MessageId: ERROR_SXS_MANIFEST_TOO_BIG // @@ -20530,6 +22959,7 @@ public interface WinError { // The size of the manifest exceeds the maximum allowed. // int ERROR_SXS_MANIFEST_TOO_BIG = 14105; + // // MessageId: ERROR_SXS_SETTING_NOT_REGISTERED // @@ -20538,6 +22968,7 @@ public interface WinError { // The setting is not registered. // int ERROR_SXS_SETTING_NOT_REGISTERED = 14106; + // // MessageId: ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE // @@ -20546,6 +22977,7 @@ public interface WinError { // One or more required members of the transaction are not present. // int ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE = 14107; + // // MessageId: ERROR_SMI_PRIMITIVE_INSTALLER_FAILED // @@ -20554,6 +22986,7 @@ public interface WinError { // The SMI primitive installer failed during setup or servicing. // int ERROR_SMI_PRIMITIVE_INSTALLER_FAILED = 14108; + // // MessageId: ERROR_GENERIC_COMMAND_FAILED // @@ -20562,6 +22995,7 @@ public interface WinError { // A generic command executable returned a result that indicates failure. // int ERROR_GENERIC_COMMAND_FAILED = 14109; + // // MessageId: ERROR_SXS_FILE_HASH_MISSING // @@ -20570,6 +23004,7 @@ public interface WinError { // A component is missing file verification information in its manifest. // int ERROR_SXS_FILE_HASH_MISSING = 14110; + // ///////////////////////////////////////////////// // =// // =End of Side By Side Error Codes // @@ -20590,6 +23025,7 @@ public interface WinError { // The specified channel path is invalid. // int ERROR_EVT_INVALID_CHANNEL_PATH = 15000; + // // MessageId: ERROR_EVT_INVALID_QUERY // @@ -20598,6 +23034,7 @@ public interface WinError { // The specified query is invalid. // int ERROR_EVT_INVALID_QUERY = 15001; + // // MessageId: ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND // @@ -20606,6 +23043,7 @@ public interface WinError { // The publisher metadata cannot be found in the resource. // int ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND = 15002; + // // MessageId: ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND // @@ -20615,6 +23053,7 @@ public interface WinError { // (error =%1). // int ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND = 15003; + // // MessageId: ERROR_EVT_INVALID_PUBLISHER_NAME // @@ -20623,6 +23062,7 @@ public interface WinError { // The specified publisher name is invalid. // int ERROR_EVT_INVALID_PUBLISHER_NAME = 15004; + // // MessageId: ERROR_EVT_INVALID_EVENT_DATA // @@ -20632,6 +23072,7 @@ public interface WinError { // template definition in the publisher's manifest // int ERROR_EVT_INVALID_EVENT_DATA = 15005; + // // MessageId: ERROR_EVT_CHANNEL_NOT_FOUND // @@ -20640,6 +23081,7 @@ public interface WinError { // The specified channel could not be found. Check channel configuration. // int ERROR_EVT_CHANNEL_NOT_FOUND = 15007; + // // MessageId: ERROR_EVT_MALFORMED_XML_TEXT // @@ -20649,6 +23091,7 @@ public interface WinError { // details. // int ERROR_EVT_MALFORMED_XML_TEXT = 15008; + // // MessageId: ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL // @@ -20659,6 +23102,7 @@ public interface WinError { // cannot be subscribed to. // int ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL = 15009; + // // MessageId: ERROR_EVT_CONFIGURATION_ERROR // @@ -20667,6 +23111,7 @@ public interface WinError { // Configuration error. // int ERROR_EVT_CONFIGURATION_ERROR = 15010; + // // MessageId: ERROR_EVT_QUERY_RESULT_STALE // @@ -20678,6 +23123,7 @@ public interface WinError { // query. // int ERROR_EVT_QUERY_RESULT_STALE = 15011; + // // MessageId: ERROR_EVT_QUERY_RESULT_INVALID_POSITION // @@ -20686,6 +23132,7 @@ public interface WinError { // Query result is currently at an invalid position. // int ERROR_EVT_QUERY_RESULT_INVALID_POSITION = 15012; + // // MessageId: ERROR_EVT_NON_VALIDATING_MSXML // @@ -20694,6 +23141,7 @@ public interface WinError { // Registered MSXML doesn't support validation. // int ERROR_EVT_NON_VALIDATING_MSXML = 15013; + // // MessageId: ERROR_EVT_FILTER_ALREADYSCOPED // @@ -20704,6 +23152,7 @@ public interface WinError { // change of scope operation. // int ERROR_EVT_FILTER_ALREADYSCOPED = 15014; + // // MessageId: ERROR_EVT_FILTER_NOTELTSET // @@ -20713,6 +23162,7 @@ public interface WinError { // element set. // int ERROR_EVT_FILTER_NOTELTSET = 15015; + // // MessageId: ERROR_EVT_FILTER_INVARG // @@ -20722,6 +23172,7 @@ public interface WinError { // nodes or variables and right hand side arguments must be constants. // int ERROR_EVT_FILTER_INVARG = 15016; + // // MessageId: ERROR_EVT_FILTER_INVTEST // @@ -20732,6 +23183,7 @@ public interface WinError { // node set identified by the preceeding node set can be evaluated. // int ERROR_EVT_FILTER_INVTEST = 15017; + // // MessageId: ERROR_EVT_FILTER_INVTYPE // @@ -20740,6 +23192,7 @@ public interface WinError { // This data type is currently unsupported. // int ERROR_EVT_FILTER_INVTYPE = 15018; + // // MessageId: ERROR_EVT_FILTER_PARSEERR // @@ -20748,6 +23201,7 @@ public interface WinError { // A syntax error occurred at position %1!d! // int ERROR_EVT_FILTER_PARSEERR = 15019; + // // MessageId: ERROR_EVT_FILTER_UNSUPPORTEDOP // @@ -20756,6 +23210,7 @@ public interface WinError { // This operator is unsupported by this implementation of the filter. // int ERROR_EVT_FILTER_UNSUPPORTEDOP = 15020; + // // MessageId: ERROR_EVT_FILTER_UNEXPECTEDTOKEN // @@ -20764,6 +23219,7 @@ public interface WinError { // The token encountered was unexpected. // int ERROR_EVT_FILTER_UNEXPECTEDTOKEN = 15021; + // // MessageId: ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL // @@ -20774,6 +23230,7 @@ public interface WinError { // requested operation. // int ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL = 15022; + // // MessageId: ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE // @@ -20784,6 +23241,7 @@ public interface WinError { // this type of channel. // int ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE = 15023; + // // MessageId: ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE // @@ -20794,6 +23252,7 @@ public interface WinError { // this type of publisher. // int ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE = 15024; + // // MessageId: ERROR_EVT_CHANNEL_CANNOT_ACTIVATE // @@ -20802,6 +23261,7 @@ public interface WinError { // The channel fails to activate. // int ERROR_EVT_CHANNEL_CANNOT_ACTIVATE = 15025; + // // MessageId: ERROR_EVT_FILTER_TOO_COMPLEX // @@ -20811,6 +23271,7 @@ public interface WinError { // split it into two or more simple expressions. // int ERROR_EVT_FILTER_TOO_COMPLEX = 15026; + // // MessageId: ERROR_EVT_MESSAGE_NOT_FOUND // @@ -20820,6 +23281,7 @@ public interface WinError { // string/message table // int ERROR_EVT_MESSAGE_NOT_FOUND = 15027; + // // MessageId: ERROR_EVT_MESSAGE_ID_NOT_FOUND // @@ -20828,6 +23290,7 @@ public interface WinError { // The message id for the desired message could not be found. // int ERROR_EVT_MESSAGE_ID_NOT_FOUND = 15028; + // // MessageId: ERROR_EVT_UNRESOLVED_VALUE_INSERT // @@ -20836,6 +23299,7 @@ public interface WinError { // The substitution string for insert index (%1) could not be found. // int ERROR_EVT_UNRESOLVED_VALUE_INSERT = 15029; + // // MessageId: ERROR_EVT_UNRESOLVED_PARAMETER_INSERT // @@ -20844,6 +23308,7 @@ public interface WinError { // The description string for parameter reference (%1) could not be found. // int ERROR_EVT_UNRESOLVED_PARAMETER_INSERT = 15030; + // // MessageId: ERROR_EVT_MAX_INSERTS_REACHED // @@ -20852,6 +23317,7 @@ public interface WinError { // The maximum number of replacements has been reached. // int ERROR_EVT_MAX_INSERTS_REACHED = 15031; + // // MessageId: ERROR_EVT_EVENT_DEFINITION_NOT_FOUND // @@ -20860,6 +23326,7 @@ public interface WinError { // The event definition could not be found for event id (%1). // int ERROR_EVT_EVENT_DEFINITION_NOT_FOUND = 15032; + // // MessageId: ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND // @@ -20868,6 +23335,7 @@ public interface WinError { // The locale specific resource for the desired message is not present. // int ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND = 15033; + // // MessageId: ERROR_EVT_VERSION_TOO_OLD // @@ -20876,6 +23344,7 @@ public interface WinError { // The resource is too old to be compatible. // int ERROR_EVT_VERSION_TOO_OLD = 15034; + // // MessageId: ERROR_EVT_VERSION_TOO_NEW // @@ -20884,6 +23353,7 @@ public interface WinError { // The resource is too new to be compatible. // int ERROR_EVT_VERSION_TOO_NEW = 15035; + // // MessageId: ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY // @@ -20892,6 +23362,7 @@ public interface WinError { // The channel at index %1!d! of the query can't be opened. // int ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY = 15036; + // // MessageId: ERROR_EVT_PUBLISHER_DISABLED // @@ -20902,6 +23373,7 @@ public interface WinError { // or upgraded. // int ERROR_EVT_PUBLISHER_DISABLED = 15037; + // // MessageId: ERROR_EVT_FILTER_OUT_OF_RANGE // @@ -20910,6 +23382,7 @@ public interface WinError { // Attempted to create a numeric type that is outside of its valid range. // int ERROR_EVT_FILTER_OUT_OF_RANGE = 15038; + // ///////////////////////////////////////////////// // =// // =Start of Wecsvc Error codes=// @@ -20924,6 +23397,7 @@ public interface WinError { // The subscription fails to activate. // int ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE = 15080; + // // MessageId: ERROR_EC_LOG_DISABLED // @@ -20934,6 +23408,7 @@ public interface WinError { // can be activated. // int ERROR_EC_LOG_DISABLED = 15081; + // // MessageId: ERROR_EC_CIRCULAR_FORWARDING // @@ -20943,6 +23418,7 @@ public interface WinError { // subscription can't contain target log of the subscription. // int ERROR_EC_CIRCULAR_FORWARDING = 15082; + // // MessageId: ERROR_EC_CREDSTORE_FULL // @@ -20951,6 +23427,7 @@ public interface WinError { // The credential store that is used to save credentials is full. // int ERROR_EC_CREDSTORE_FULL = 15083; + // // MessageId: ERROR_EC_CRED_NOT_FOUND // @@ -20960,6 +23437,7 @@ public interface WinError { // store. // int ERROR_EC_CRED_NOT_FOUND = 15084; + // // MessageId: ERROR_EC_NO_ACTIVE_CHANNEL // @@ -20968,6 +23446,7 @@ public interface WinError { // No active channel is found for the query. // int ERROR_EC_NO_ACTIVE_CHANNEL = 15085; + // ///////////////////////////////////////////////// // =// // =Start of MUI Error codes=// @@ -20982,6 +23461,7 @@ public interface WinError { // The resource loader failed to find MUI file. // int ERROR_MUI_FILE_NOT_FOUND = 15100; + // // MessageId: ERROR_MUI_INVALID_FILE // @@ -20991,6 +23471,7 @@ public interface WinError { // validation. // int ERROR_MUI_INVALID_FILE = 15101; + // // MessageId: ERROR_MUI_INVALID_RC_CONFIG // @@ -21000,6 +23481,7 @@ public interface WinError { // missing required item. // int ERROR_MUI_INVALID_RC_CONFIG = 15102; + // // MessageId: ERROR_MUI_INVALID_LOCALE_NAME // @@ -21008,6 +23490,7 @@ public interface WinError { // The RC Manifest has invalid culture name. // int ERROR_MUI_INVALID_LOCALE_NAME = 15103; + // // MessageId: ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME // @@ -21016,6 +23499,7 @@ public interface WinError { // The RC Manifest has invalid ultimatefallback name. // int ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME = 15104; + // // MessageId: ERROR_MUI_FILE_NOT_LOADED // @@ -21024,6 +23508,7 @@ public interface WinError { // The resource loader cache doesn't have loaded MUI entry. // int ERROR_MUI_FILE_NOT_LOADED = 15105; + // // MessageId: ERROR_RESOURCE_ENUM_USER_STOP // @@ -21032,6 +23517,7 @@ public interface WinError { // User stopped resource enumeration. // int ERROR_RESOURCE_ENUM_USER_STOP = 15106; + // // MessageId: ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED // @@ -21040,6 +23526,7 @@ public interface WinError { // UI language installation failed. // int ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED = 15107; + // // MessageId: ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME // @@ -21048,6 +23535,7 @@ public interface WinError { // Locale installation failed. // int ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME = 15108; + // ///////////////////////////////////////////////// // =// // Start of Monitor Configuration API error codes// @@ -21063,6 +23551,7 @@ public interface WinError { // with the ACCESS.bus=3.0, DDC/CI=1.1 or MCCS=2 Revision=1 specification. // int ERROR_MCA_INVALID_CAPABILITIES_STRING = 15200; + // // MessageId: ERROR_MCA_INVALID_VCP_VERSION // @@ -21072,6 +23561,7 @@ public interface WinError { // value. // int ERROR_MCA_INVALID_VCP_VERSION = 15201; + // // MessageId: ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION // @@ -21081,6 +23571,7 @@ public interface WinError { // support. // int ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION = 15202; + // // MessageId: ERROR_MCA_MCCS_VERSION_MISMATCH // @@ -21091,6 +23582,7 @@ public interface WinError { // used. // int ERROR_MCA_MCCS_VERSION_MISMATCH = 15203; + // // MessageId: ERROR_MCA_UNSUPPORTED_MCCS_VERSION // @@ -21101,6 +23593,7 @@ public interface WinError { // specification. // int ERROR_MCA_UNSUPPORTED_MCCS_VERSION = 15204; + // // MessageId: ERROR_MCA_INTERNAL_ERROR // @@ -21109,6 +23602,7 @@ public interface WinError { // An internal Monitor Configuration API error occurred. // int ERROR_MCA_INTERNAL_ERROR = 15205; + // // MessageId: ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED // @@ -21120,6 +23614,7 @@ public interface WinError { // specification. // int ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED = 15206; + // // MessageId: ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE // @@ -21130,6 +23625,7 @@ public interface WinError { // monitor violated the MCCS=2.0 or MCCS=2.0 Revision=1 specification. // int ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE = 15207; + // //////////////////////////////////////////////// // =// // End of Monitor Configuration API error codes // @@ -21153,6 +23649,7 @@ public interface WinError { // criteria. // int ERROR_AMBIGUOUS_SYSTEM_DEVICE = 15250; + // // MessageId: ERROR_SYSTEM_DEVICE_NOT_FOUND // @@ -21161,6 +23658,7 @@ public interface WinError { // The requested system device cannot be found. // int ERROR_SYSTEM_DEVICE_NOT_FOUND = 15299; + // ////////////////////////////////// // =// // COM Error Codes=// @@ -21214,15 +23712,19 @@ public interface WinError { // Severity values // int SEVERITY_SUCCESS = 0; + int SEVERITY_ERROR = 1; + // // Define bits here so macros are guaranteed to work int FACILITY_NT_BIT = 0x10000000; + // ---------------------- HRESULT value definitions ----------------- // // HRESULT definitions // int NOERROR = 0; + // // Error definitions follow // @@ -21240,6 +23742,7 @@ public interface WinError { // Catastrophic failure // int E_UNEXPECTED = 0x8000FFFF; + // // MessageId: E_NOTIMPL // @@ -21248,6 +23751,7 @@ public interface WinError { // Not implemented // int E_NOTIMPL = 0x80004001; + // // MessageId: E_OUTOFMEMORY // @@ -21256,6 +23760,7 @@ public interface WinError { // Ran out of memory // int E_OUTOFMEMORY = 0x8007000E; + // // MessageId: E_INVALIDARG // @@ -21264,6 +23769,7 @@ public interface WinError { // One or more arguments are invalid // int E_INVALIDARG = 0x80070057; + // // MessageId: E_NOINTERFACE // @@ -21272,6 +23778,7 @@ public interface WinError { // No such interface supported // int E_NOINTERFACE = 0x80004002; + // // MessageId: E_POINTER // @@ -21280,6 +23787,7 @@ public interface WinError { // Invalid pointer // int E_POINTER = 0x80004003; + // // MessageId: E_HANDLE // @@ -21288,6 +23796,7 @@ public interface WinError { // Invalid handle // int E_HANDLE = 0x80070006; + // // MessageId: E_ABORT // @@ -21296,6 +23805,7 @@ public interface WinError { // Operation aborted // int E_ABORT = 0x80004004; + // // MessageId: E_FAIL // @@ -21304,6 +23814,7 @@ public interface WinError { // Unspecified error // int E_FAIL = 0x80004005; + // // MessageId: E_ACCESSDENIED // @@ -21312,6 +23823,7 @@ public interface WinError { // General access denied error // int E_ACCESSDENIED = 0x80070005; + // // MessageId: E_PENDING // @@ -21320,6 +23832,7 @@ public interface WinError { // The data necessary to complete this operation is not yet available. // int E_PENDING = 0x8000000A; + // // MessageId: CO_E_INIT_TLS // @@ -21328,6 +23841,7 @@ public interface WinError { // Thread local storage failure // int CO_E_INIT_TLS = 0x80004006; + // // MessageId: CO_E_INIT_SHARED_ALLOCATOR // @@ -21336,6 +23850,7 @@ public interface WinError { // Get shared memory allocator failure // int CO_E_INIT_SHARED_ALLOCATOR = 0x80004007; + // // MessageId: CO_E_INIT_MEMORY_ALLOCATOR // @@ -21344,6 +23859,7 @@ public interface WinError { // Get memory allocator failure // int CO_E_INIT_MEMORY_ALLOCATOR = 0x80004008; + // // MessageId: CO_E_INIT_CLASS_CACHE // @@ -21352,6 +23868,7 @@ public interface WinError { // Unable to initialize class cache // int CO_E_INIT_CLASS_CACHE = 0x80004009; + // // MessageId: CO_E_INIT_RPC_CHANNEL // @@ -21360,6 +23877,7 @@ public interface WinError { // Unable to initialize RPC services // int CO_E_INIT_RPC_CHANNEL = 0x8000400A; + // // MessageId: CO_E_INIT_TLS_SET_CHANNEL_CONTROL // @@ -21368,6 +23886,7 @@ public interface WinError { // Cannot set thread local storage channel control // int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = 0x8000400B; + // // MessageId: CO_E_INIT_TLS_CHANNEL_CONTROL // @@ -21376,6 +23895,7 @@ public interface WinError { // Could not allocate thread local storage channel control // int CO_E_INIT_TLS_CHANNEL_CONTROL = 0x8000400C; + // // MessageId: CO_E_INIT_UNACCEPTED_USER_ALLOCATOR // @@ -21384,6 +23904,7 @@ public interface WinError { // The user supplied memory allocator is unacceptable // int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = 0x8000400D; + // // MessageId: CO_E_INIT_SCM_MUTEX_EXISTS // @@ -21392,6 +23913,7 @@ public interface WinError { // The OLE service mutex already exists // int CO_E_INIT_SCM_MUTEX_EXISTS = 0x8000400E; + // // MessageId: CO_E_INIT_SCM_FILE_MAPPING_EXISTS // @@ -21400,6 +23922,7 @@ public interface WinError { // The OLE service file mapping already exists // int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = 0x8000400F; + // // MessageId: CO_E_INIT_SCM_MAP_VIEW_OF_FILE // @@ -21408,6 +23931,7 @@ public interface WinError { // Unable to map view of file for OLE service // int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = 0x80004010; + // // MessageId: CO_E_INIT_SCM_EXEC_FAILURE // @@ -21416,6 +23940,7 @@ public interface WinError { // Failure attempting to launch OLE service // int CO_E_INIT_SCM_EXEC_FAILURE = 0x80004011; + // // MessageId: CO_E_INIT_ONLY_SINGLE_THREADED // @@ -21425,6 +23950,7 @@ public interface WinError { // threaded // int CO_E_INIT_ONLY_SINGLE_THREADED = 0x80004012; + // // MessageId: CO_E_CANT_REMOTE // @@ -21433,6 +23959,7 @@ public interface WinError { // A Remote activation was necessary but was not allowed // int CO_E_CANT_REMOTE = 0x80004013; + // // MessageId: CO_E_BAD_SERVER_NAME // @@ -21442,6 +23969,7 @@ public interface WinError { // invalid // int CO_E_BAD_SERVER_NAME = 0x80004014; + // // MessageId: CO_E_WRONG_SERVER_IDENTITY // @@ -21450,6 +23978,7 @@ public interface WinError { // The class is configured to run as a security id different from the caller // int CO_E_WRONG_SERVER_IDENTITY = 0x80004015; + // // MessageId: CO_E_OLE1DDE_DISABLED // @@ -21458,6 +23987,7 @@ public interface WinError { // Use of Ole1 services requiring DDE windows is disabled // int CO_E_OLE1DDE_DISABLED = 0x80004016; + // // MessageId: CO_E_RUNAS_SYNTAX // @@ -21467,6 +23997,7 @@ public interface WinError { // name> // int CO_E_RUNAS_SYNTAX = 0x80004017; + // // MessageId: CO_E_CREATEPROCESS_FAILURE // @@ -21475,6 +24006,7 @@ public interface WinError { // The server process could not be started. The pathname may be incorrect. // int CO_E_CREATEPROCESS_FAILURE = 0x80004018; + // // MessageId: CO_E_RUNAS_CREATEPROCESS_FAILURE // @@ -21484,6 +24016,7 @@ public interface WinError { // pathname may be incorrect or unavailable. // int CO_E_RUNAS_CREATEPROCESS_FAILURE = 0x80004019; + // // MessageId: CO_E_RUNAS_LOGON_FAILURE // @@ -21493,6 +24026,7 @@ public interface WinError { // is incorrect. Check the username and password. // int CO_E_RUNAS_LOGON_FAILURE = 0x8000401A; + // // MessageId: CO_E_LAUNCH_PERMSSION_DENIED // @@ -21501,6 +24035,7 @@ public interface WinError { // The client is not allowed to launch this server. // int CO_E_LAUNCH_PERMSSION_DENIED = 0x8000401B; + // // MessageId: CO_E_START_SERVICE_FAILURE // @@ -21509,6 +24044,7 @@ public interface WinError { // The service providing this server could not be started. // int CO_E_START_SERVICE_FAILURE = 0x8000401C; + // // MessageId: CO_E_REMOTE_COMMUNICATION_FAILURE // @@ -21518,6 +24054,7 @@ public interface WinError { // server. // int CO_E_REMOTE_COMMUNICATION_FAILURE = 0x8000401D; + // // MessageId: CO_E_SERVER_START_TIMEOUT // @@ -21526,6 +24063,7 @@ public interface WinError { // The server did not respond after being launched. // int CO_E_SERVER_START_TIMEOUT = 0x8000401E; + // // MessageId: CO_E_CLSREG_INCONSISTENT // @@ -21535,6 +24073,7 @@ public interface WinError { // incomplete. // int CO_E_CLSREG_INCONSISTENT = 0x8000401F; + // // MessageId: CO_E_IIDREG_INCONSISTENT // @@ -21544,6 +24083,7 @@ public interface WinError { // incomplete. // int CO_E_IIDREG_INCONSISTENT = 0x80004020; + // // MessageId: CO_E_NOT_SUPPORTED // @@ -21552,6 +24092,7 @@ public interface WinError { // The operation attempted is not supported. // int CO_E_NOT_SUPPORTED = 0x80004021; + // // MessageId: CO_E_RELOAD_DLL // @@ -21560,6 +24101,7 @@ public interface WinError { // A dll must be loaded. // int CO_E_RELOAD_DLL = 0x80004022; + // // MessageId: CO_E_MSI_ERROR // @@ -21568,6 +24110,7 @@ public interface WinError { // A Microsoft Software Installer error was encountered. // int CO_E_MSI_ERROR = 0x80004023; + // // MessageId: CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT // @@ -21577,6 +24120,7 @@ public interface WinError { // specified. // int CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT = 0x80004024; + // // MessageId: CO_E_SERVER_PAUSED // @@ -21585,6 +24129,7 @@ public interface WinError { // Activations on the server are paused. // int CO_E_SERVER_PAUSED = 0x80004025; + // // MessageId: CO_E_SERVER_NOT_PAUSED // @@ -21593,6 +24138,7 @@ public interface WinError { // Activations on the server are not paused. // int CO_E_SERVER_NOT_PAUSED = 0x80004026; + // // MessageId: CO_E_CLASS_DISABLED // @@ -21601,6 +24147,7 @@ public interface WinError { // The component or application containing the component has been disabled. // int CO_E_CLASS_DISABLED = 0x80004027; + // // MessageId: CO_E_CLRNOTAVAILABLE // @@ -21609,6 +24156,7 @@ public interface WinError { // The common language runtime is not available // int CO_E_CLRNOTAVAILABLE = 0x80004028; + // // MessageId: CO_E_ASYNC_WORK_REJECTED // @@ -21617,6 +24165,7 @@ public interface WinError { // The thread-pool rejected the submitted asynchronous work. // int CO_E_ASYNC_WORK_REJECTED = 0x80004029; + // // MessageId: CO_E_SERVER_INIT_TIMEOUT // @@ -21625,6 +24174,7 @@ public interface WinError { // The server started, but did not finish initializing in a timely fashion. // int CO_E_SERVER_INIT_TIMEOUT = 0x8000402A; + // // MessageId: CO_E_NO_SECCTX_IN_ACTIVATE // @@ -21634,6 +24184,7 @@ public interface WinError { // inside IObjectControl.Activate. // int CO_E_NO_SECCTX_IN_ACTIVATE = 0x8000402B; + // // MessageId: CO_E_TRACKER_CONFIG // @@ -21642,6 +24193,7 @@ public interface WinError { // The provided tracker configuration is invalid // int CO_E_TRACKER_CONFIG = 0x80004030; + // // MessageId: CO_E_THREADPOOL_CONFIG // @@ -21650,6 +24202,7 @@ public interface WinError { // The provided thread pool configuration is invalid // int CO_E_THREADPOOL_CONFIG = 0x80004031; + // // MessageId: CO_E_SXS_CONFIG // @@ -21658,6 +24211,7 @@ public interface WinError { // The provided side-by-side configuration is invalid // int CO_E_SXS_CONFIG = 0x80004032; + // // MessageId: CO_E_MALFORMED_SPN // @@ -21667,11 +24221,14 @@ public interface WinError { // malformed. // int CO_E_MALFORMED_SPN = 0x80004033; + // // Success codes // HRESULT S_OK = new HRESULT(0); + HRESULT S_FALSE = new HRESULT(1); + // ****************** // FACILITY_ITF // ****************** @@ -21683,9 +24240,13 @@ public interface WinError { // Generic OLE errors that may be returned by many inerfaces // int OLE_E_FIRST = 0x80040000; + int OLE_E_LAST = 0x800400FF; + int OLE_S_FIRST = 0x00040000; + int OLE_S_LAST = 0x000400FF; + // // Old OLE errors // @@ -21697,6 +24258,7 @@ public interface WinError { // Invalid OLEVERB structure // int OLE_E_OLEVERB = 0x80040000; + // // MessageId: OLE_E_ADVF // @@ -21705,6 +24267,7 @@ public interface WinError { // Invalid advise flags // int OLE_E_ADVF = 0x80040001; + // // MessageId: OLE_E_ENUM_NOMORE // @@ -21713,6 +24276,7 @@ public interface WinError { // Can't enumerate any more, because the associated data is missing // int OLE_E_ENUM_NOMORE = 0x80040002; + // // MessageId: OLE_E_ADVISENOTSUPPORTED // @@ -21721,6 +24285,7 @@ public interface WinError { // This implementation doesn't take advises // int OLE_E_ADVISENOTSUPPORTED = 0x80040003; + // // MessageId: OLE_E_NOCONNECTION // @@ -21729,6 +24294,7 @@ public interface WinError { // There is no connection for this connection ID // int OLE_E_NOCONNECTION = 0x80040004; + // // MessageId: OLE_E_NOTRUNNING // @@ -21737,6 +24303,7 @@ public interface WinError { // Need to run the object to perform this operation // int OLE_E_NOTRUNNING = 0x80040005; + // // MessageId: OLE_E_NOCACHE // @@ -21745,6 +24312,7 @@ public interface WinError { // There is no cache to operate on // int OLE_E_NOCACHE = 0x80040006; + // // MessageId: OLE_E_BLANK // @@ -21753,6 +24321,7 @@ public interface WinError { // Uninitialized object // int OLE_E_BLANK = 0x80040007; + // // MessageId: OLE_E_CLASSDIFF // @@ -21761,6 +24330,7 @@ public interface WinError { // Linked object's source class has changed // int OLE_E_CLASSDIFF = 0x80040008; + // // MessageId: OLE_E_CANT_GETMONIKER // @@ -21769,6 +24339,7 @@ public interface WinError { // Not able to get the moniker of the object // int OLE_E_CANT_GETMONIKER = 0x80040009; + // // MessageId: OLE_E_CANT_BINDTOSOURCE // @@ -21777,6 +24348,7 @@ public interface WinError { // Not able to bind to the source // int OLE_E_CANT_BINDTOSOURCE = 0x8004000A; + // // MessageId: OLE_E_STATIC // @@ -21785,6 +24357,7 @@ public interface WinError { // Object is static; operation not allowed // int OLE_E_STATIC = 0x8004000B; + // // MessageId: OLE_E_PROMPTSAVECANCELLED // @@ -21793,6 +24366,7 @@ public interface WinError { // User canceled out of save dialog // int OLE_E_PROMPTSAVECANCELLED = 0x8004000C; + // // MessageId: OLE_E_INVALIDRECT // @@ -21801,6 +24375,7 @@ public interface WinError { // Invalid rectangle // int OLE_E_INVALIDRECT = 0x8004000D; + // // MessageId: OLE_E_WRONGCOMPOBJ // @@ -21809,6 +24384,7 @@ public interface WinError { // compobj.dll is too old for the ole2.dll initialized // int OLE_E_WRONGCOMPOBJ = 0x8004000E; + // // MessageId: OLE_E_INVALIDHWND // @@ -21817,6 +24393,7 @@ public interface WinError { // Invalid window handle // int OLE_E_INVALIDHWND = 0x8004000F; + // // MessageId: OLE_E_NOT_INPLACEACTIVE // @@ -21825,6 +24402,7 @@ public interface WinError { // Object is not in any of the inplace active states // int OLE_E_NOT_INPLACEACTIVE = 0x80040010; + // // MessageId: OLE_E_CANTCONVERT // @@ -21833,6 +24411,7 @@ public interface WinError { // Not able to convert object // int OLE_E_CANTCONVERT = 0x80040011; + // // MessageId: OLE_E_NOSTORAGE // @@ -21841,6 +24420,7 @@ public interface WinError { // Not able to perform the operation because object is not given storage yet // int OLE_E_NOSTORAGE = 0x80040012; + // // MessageId: DV_E_FORMATETC // @@ -21849,6 +24429,7 @@ public interface WinError { // Invalid FORMATETC structure // int DV_E_FORMATETC = 0x80040064; + // // MessageId: DV_E_DVTARGETDEVICE // @@ -21857,6 +24438,7 @@ public interface WinError { // Invalid DVTARGETDEVICE structure // int DV_E_DVTARGETDEVICE = 0x80040065; + // // MessageId: DV_E_STGMEDIUM // @@ -21865,6 +24447,7 @@ public interface WinError { // Invalid STDGMEDIUM structure // int DV_E_STGMEDIUM = 0x80040066; + // // MessageId: DV_E_STATDATA // @@ -21873,6 +24456,7 @@ public interface WinError { // Invalid STATDATA structure // int DV_E_STATDATA = 0x80040067; + // // MessageId: DV_E_LINDEX // @@ -21881,6 +24465,7 @@ public interface WinError { // Invalid lindex // int DV_E_LINDEX = 0x80040068; + // // MessageId: DV_E_TYMED // @@ -21889,6 +24474,7 @@ public interface WinError { // Invalid tymed // int DV_E_TYMED = 0x80040069; + // // MessageId: DV_E_CLIPFORMAT // @@ -21897,6 +24483,7 @@ public interface WinError { // Invalid clipboard format // int DV_E_CLIPFORMAT = 0x8004006A; + // // MessageId: DV_E_DVASPECT // @@ -21905,6 +24492,7 @@ public interface WinError { // Invalid aspect(s) // int DV_E_DVASPECT = 0x8004006B; + // // MessageId: DV_E_DVTARGETDEVICE_SIZE // @@ -21913,6 +24501,7 @@ public interface WinError { // tdSize parameter of the DVTARGETDEVICE structure is invalid // int DV_E_DVTARGETDEVICE_SIZE = 0x8004006C; + // // MessageId: DV_E_NOIVIEWOBJECT // @@ -21921,10 +24510,15 @@ public interface WinError { // Object doesn't support IViewObject interface // int DV_E_NOIVIEWOBJECT = 0x8004006D; + int DRAGDROP_E_FIRST = 0x80040100; + int DRAGDROP_E_LAST = 0x8004010F; + int DRAGDROP_S_FIRST = 0x00040100; + int DRAGDROP_S_LAST = 0x0004010F; + // // MessageId: DRAGDROP_E_NOTREGISTERED // @@ -21933,6 +24527,7 @@ public interface WinError { // Trying to revoke a drop target that has not been registered // int DRAGDROP_E_NOTREGISTERED = 0x80040100; + // // MessageId: DRAGDROP_E_ALREADYREGISTERED // @@ -21941,6 +24536,7 @@ public interface WinError { // This window has already been registered as a drop target // int DRAGDROP_E_ALREADYREGISTERED = 0x80040101; + // // MessageId: DRAGDROP_E_INVALIDHWND // @@ -21949,10 +24545,15 @@ public interface WinError { // Invalid window handle // int DRAGDROP_E_INVALIDHWND = 0x80040102; + int CLASSFACTORY_E_FIRST = 0x80040110; + int CLASSFACTORY_E_LAST = 0x8004011F; + int CLASSFACTORY_S_FIRST = 0x00040110; + int CLASSFACTORY_S_LAST = 0x0004011F; + // // MessageId: CLASS_E_NOAGGREGATION // @@ -21961,6 +24562,7 @@ public interface WinError { // Class does not support aggregation (or class object is remote) // int CLASS_E_NOAGGREGATION = 0x80040110; + // // MessageId: CLASS_E_CLASSNOTAVAILABLE // @@ -21969,6 +24571,7 @@ public interface WinError { // ClassFactory cannot supply requested class // int CLASS_E_CLASSNOTAVAILABLE = 0x80040111; + // // MessageId: CLASS_E_NOTLICENSED // @@ -21977,18 +24580,31 @@ public interface WinError { // Class is not licensed for use // int CLASS_E_NOTLICENSED = 0x80040112; + int MARSHAL_E_FIRST = 0x80040120; + int MARSHAL_E_LAST = 0x8004012F; + int MARSHAL_S_FIRST = 0x00040120; + int MARSHAL_S_LAST = 0x0004012F; + int DATA_E_FIRST = 0x80040130; + int DATA_E_LAST = 0x8004013F; + int DATA_S_FIRST = 0x00040130; + int DATA_S_LAST = 0x0004013F; + int VIEW_E_FIRST = 0x80040140; + int VIEW_E_LAST = 0x8004014F; + int VIEW_S_FIRST = 0x00040140; + int VIEW_S_LAST = 0x0004014F; + // // MessageId: VIEW_E_DRAW // @@ -21997,10 +24613,15 @@ public interface WinError { // Error drawing view // int VIEW_E_DRAW = 0x80040140; + int REGDB_E_FIRST = 0x80040150; + int REGDB_E_LAST = 0x8004015F; + int REGDB_S_FIRST = 0x00040150; + int REGDB_S_LAST = 0x0004015F; + // // MessageId: REGDB_E_READREGDB // @@ -22009,6 +24630,7 @@ public interface WinError { // Could not read key from registry // int REGDB_E_READREGDB = 0x80040150; + // // MessageId: REGDB_E_WRITEREGDB // @@ -22017,6 +24639,7 @@ public interface WinError { // Could not write key to registry // int REGDB_E_WRITEREGDB = 0x80040151; + // // MessageId: REGDB_E_KEYMISSING // @@ -22025,6 +24648,7 @@ public interface WinError { // Could not find the key in the registry // int REGDB_E_KEYMISSING = 0x80040152; + // // MessageId: REGDB_E_INVALIDVALUE // @@ -22033,6 +24657,7 @@ public interface WinError { // Invalid value for registry // int REGDB_E_INVALIDVALUE = 0x80040153; + // // MessageId: REGDB_E_CLASSNOTREG // @@ -22041,6 +24666,7 @@ public interface WinError { // Class not registered // int REGDB_E_CLASSNOTREG = 0x80040154; + // // MessageId: REGDB_E_IIDNOTREG // @@ -22049,6 +24675,7 @@ public interface WinError { // Interface not registered // int REGDB_E_IIDNOTREG = 0x80040155; + // // MessageId: REGDB_E_BADTHREADINGMODEL // @@ -22057,8 +24684,11 @@ public interface WinError { // Threading model entry is not valid // int REGDB_E_BADTHREADINGMODEL = 0x80040156; + int CAT_E_FIRST = 0x80040160; + int CAT_E_LAST = 0x80040161; + // // MessageId: CAT_E_CATIDNOEXIST // @@ -22067,6 +24697,7 @@ public interface WinError { // CATID does not exist // int CAT_E_CATIDNOEXIST = 0x80040160; + // // MessageId: CAT_E_NODESCRIPTION // @@ -22075,13 +24706,16 @@ public interface WinError { // Description not found // int CAT_E_NODESCRIPTION = 0x80040161; + // ////////////////////////////////// // =// // Class Store Error Codes // // =// // ////////////////////////////////// int CS_E_FIRST = 0x80040164; + int CS_E_LAST = 0x8004016F; + // // MessageId: CS_E_PACKAGE_NOTFOUND // @@ -22091,6 +24725,7 @@ public interface WinError { // meets this criteria. // int CS_E_PACKAGE_NOTFOUND = 0x80040164; + // // MessageId: CS_E_NOT_DELETABLE // @@ -22100,6 +24735,7 @@ public interface WinError { // installation data in the Active Directory. // int CS_E_NOT_DELETABLE = 0x80040165; + // // MessageId: CS_E_CLASS_NOTFOUND // @@ -22109,6 +24745,7 @@ public interface WinError { // Directory. // int CS_E_CLASS_NOTFOUND = 0x80040166; + // // MessageId: CS_E_INVALID_VERSION // @@ -22117,6 +24754,7 @@ public interface WinError { // The software installation data in the Active Directory is corrupt. // int CS_E_INVALID_VERSION = 0x80040167; + // // MessageId: CS_E_NO_CLASSSTORE // @@ -22125,6 +24763,7 @@ public interface WinError { // There is no software installation data in the Active Directory. // int CS_E_NO_CLASSSTORE = 0x80040168; + // // MessageId: CS_E_OBJECT_NOTFOUND // @@ -22133,6 +24772,7 @@ public interface WinError { // There is no software installation data object in the Active Directory. // int CS_E_OBJECT_NOTFOUND = 0x80040169; + // // MessageId: CS_E_OBJECT_ALREADY_EXISTS // @@ -22142,6 +24782,7 @@ public interface WinError { // exists. // int CS_E_OBJECT_ALREADY_EXISTS = 0x8004016A; + // // MessageId: CS_E_INVALID_PATH // @@ -22151,6 +24792,7 @@ public interface WinError { // correct. // int CS_E_INVALID_PATH = 0x8004016B; + // // MessageId: CS_E_NETWORK_ERROR // @@ -22159,6 +24801,7 @@ public interface WinError { // A network error interrupted the operation. // int CS_E_NETWORK_ERROR = 0x8004016C; + // // MessageId: CS_E_ADMIN_LIMIT_EXCEEDED // @@ -22168,6 +24811,7 @@ public interface WinError { // Administrator. // int CS_E_ADMIN_LIMIT_EXCEEDED = 0x8004016D; + // // MessageId: CS_E_SCHEMA_MISMATCH // @@ -22177,6 +24821,7 @@ public interface WinError { // does not match the required schema. // int CS_E_SCHEMA_MISMATCH = 0x8004016E; + // // MessageId: CS_E_INTERNAL_ERROR // @@ -22186,10 +24831,15 @@ public interface WinError { // Directory. // int CS_E_INTERNAL_ERROR = 0x8004016F; + int CACHE_E_FIRST = 0x80040170; + int CACHE_E_LAST = 0x8004017F; + int CACHE_S_FIRST = 0x00040170; + int CACHE_S_LAST = 0x0004017F; + // // MessageId: CACHE_E_NOCACHE_UPDATED // @@ -22198,10 +24848,15 @@ public interface WinError { // Cache not updated // int CACHE_E_NOCACHE_UPDATED = 0x80040170; + int OLEOBJ_E_FIRST = 0x80040180; + int OLEOBJ_E_LAST = 0x8004018F; + int OLEOBJ_S_FIRST = 0x00040180; + int OLEOBJ_S_LAST = 0x0004018F; + // // MessageId: OLEOBJ_E_NOVERBS // @@ -22210,6 +24865,7 @@ public interface WinError { // No verbs for OLE object // int OLEOBJ_E_NOVERBS = 0x80040180; + // // MessageId: OLEOBJ_E_INVALIDVERB // @@ -22218,10 +24874,15 @@ public interface WinError { // Invalid verb for OLE object // int OLEOBJ_E_INVALIDVERB = 0x80040181; + int CLIENTSITE_E_FIRST = 0x80040190; + int CLIENTSITE_E_LAST = 0x8004019F; + int CLIENTSITE_S_FIRST = 0x00040190; + int CLIENTSITE_S_LAST = 0x0004019F; + // // MessageId: INPLACE_E_NOTUNDOABLE // @@ -22230,6 +24891,7 @@ public interface WinError { // Undo is not available // int INPLACE_E_NOTUNDOABLE = 0x800401A0; + // // MessageId: INPLACE_E_NOTOOLSPACE // @@ -22238,18 +24900,31 @@ public interface WinError { // Space for tools is not available // int INPLACE_E_NOTOOLSPACE = 0x800401A1; + int INPLACE_E_FIRST = 0x800401A0; + int INPLACE_E_LAST = 0x800401AF; + int INPLACE_S_FIRST = 0x000401A0; + int INPLACE_S_LAST = 0x000401AF; + int ENUM_E_FIRST = 0x800401B0; + int ENUM_E_LAST = 0x800401BF; + int ENUM_S_FIRST = 0x000401B0; + int ENUM_S_LAST = 0x000401BF; + int CONVERT10_E_FIRST = 0x800401C0; + int CONVERT10_E_LAST = 0x800401CF; + int CONVERT10_S_FIRST = 0x000401C0; + int CONVERT10_S_LAST = 0x000401CF; + // // MessageId: CONVERT10_E_OLESTREAM_GET // @@ -22258,6 +24933,7 @@ public interface WinError { // OLESTREAM Get method failed // int CONVERT10_E_OLESTREAM_GET = 0x800401C0; + // // MessageId: CONVERT10_E_OLESTREAM_PUT // @@ -22266,6 +24942,7 @@ public interface WinError { // OLESTREAM Put method failed // int CONVERT10_E_OLESTREAM_PUT = 0x800401C1; + // // MessageId: CONVERT10_E_OLESTREAM_FMT // @@ -22274,6 +24951,7 @@ public interface WinError { // Contents of the OLESTREAM not in correct format // int CONVERT10_E_OLESTREAM_FMT = 0x800401C2; + // // MessageId: CONVERT10_E_OLESTREAM_BITMAP_TO_DIB // @@ -22283,6 +24961,7 @@ public interface WinError { // DIB // int CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = 0x800401C3; + // // MessageId: CONVERT10_E_STG_FMT // @@ -22291,6 +24970,7 @@ public interface WinError { // Contents of the IStorage not in correct format // int CONVERT10_E_STG_FMT = 0x800401C4; + // // MessageId: CONVERT10_E_STG_NO_STD_STREAM // @@ -22299,6 +24979,7 @@ public interface WinError { // Contents of IStorage is missing one of the standard streams // int CONVERT10_E_STG_NO_STD_STREAM = 0x800401C5; + // // MessageId: CONVERT10_E_STG_DIB_TO_BITMAP // @@ -22306,13 +24987,18 @@ public interface WinError { // // There was an error in a Windows GDI call while converting the DIB to a // bitmap. - // + // // int CONVERT10_E_STG_DIB_TO_BITMAP = 0x800401C6; + int CLIPBRD_E_FIRST = 0x800401D0; + int CLIPBRD_E_LAST = 0x800401DF; + int CLIPBRD_S_FIRST = 0x000401D0; + int CLIPBRD_S_LAST = 0x000401DF; + // // MessageId: CLIPBRD_E_CANT_OPEN // @@ -22321,6 +25007,7 @@ public interface WinError { // OpenClipboard Failed // int CLIPBRD_E_CANT_OPEN = 0x800401D0; + // // MessageId: CLIPBRD_E_CANT_EMPTY // @@ -22329,6 +25016,7 @@ public interface WinError { // EmptyClipboard Failed // int CLIPBRD_E_CANT_EMPTY = 0x800401D1; + // // MessageId: CLIPBRD_E_CANT_SET // @@ -22337,6 +25025,7 @@ public interface WinError { // SetClipboard Failed // int CLIPBRD_E_CANT_SET = 0x800401D2; + // // MessageId: CLIPBRD_E_BAD_DATA // @@ -22345,6 +25034,7 @@ public interface WinError { // Data on clipboard is invalid // int CLIPBRD_E_BAD_DATA = 0x800401D3; + // // MessageId: CLIPBRD_E_CANT_CLOSE // @@ -22353,10 +25043,15 @@ public interface WinError { // CloseClipboard Failed // int CLIPBRD_E_CANT_CLOSE = 0x800401D4; + int MK_E_FIRST = 0x800401E0; + int MK_E_LAST = 0x800401EF; + int MK_S_FIRST = 0x000401E0; + int MK_S_LAST = 0x000401EF; + // // MessageId: MK_E_CONNECTMANUALLY // @@ -22365,6 +25060,7 @@ public interface WinError { // Moniker needs to be connected manually // int MK_E_CONNECTMANUALLY = 0x800401E0; + // // MessageId: MK_E_EXCEEDEDDEADLINE // @@ -22373,6 +25069,7 @@ public interface WinError { // Operation exceeded deadline // int MK_E_EXCEEDEDDEADLINE = 0x800401E1; + // // MessageId: MK_E_NEEDGENERIC // @@ -22381,6 +25078,7 @@ public interface WinError { // Moniker needs to be generic // int MK_E_NEEDGENERIC = 0x800401E2; + // // MessageId: MK_E_UNAVAILABLE // @@ -22389,6 +25087,7 @@ public interface WinError { // Operation unavailable // int MK_E_UNAVAILABLE = 0x800401E3; + // // MessageId: MK_E_SYNTAX // @@ -22397,6 +25096,7 @@ public interface WinError { // Invalid syntax // int MK_E_SYNTAX = 0x800401E4; + // // MessageId: MK_E_NOOBJECT // @@ -22405,6 +25105,7 @@ public interface WinError { // No object for moniker // int MK_E_NOOBJECT = 0x800401E5; + // // MessageId: MK_E_INVALIDEXTENSION // @@ -22413,6 +25114,7 @@ public interface WinError { // Bad extension for file // int MK_E_INVALIDEXTENSION = 0x800401E6; + // // MessageId: MK_E_INTERMEDIATEINTERFACENOTSUPPORTED // @@ -22421,6 +25123,7 @@ public interface WinError { // Intermediate operation failed // int MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = 0x800401E7; + // // MessageId: MK_E_NOTBINDABLE // @@ -22429,6 +25132,7 @@ public interface WinError { // Moniker is not bindable // int MK_E_NOTBINDABLE = 0x800401E8; + // // MessageId: MK_E_NOTBOUND // @@ -22437,6 +25141,7 @@ public interface WinError { // Moniker is not bound // int MK_E_NOTBOUND = 0x800401E9; + // // MessageId: MK_E_CANTOPENFILE // @@ -22445,6 +25150,7 @@ public interface WinError { // Moniker cannot open file // int MK_E_CANTOPENFILE = 0x800401EA; + // // MessageId: MK_E_MUSTBOTHERUSER // @@ -22453,6 +25159,7 @@ public interface WinError { // User input required for operation to succeed // int MK_E_MUSTBOTHERUSER = 0x800401EB; + // // MessageId: MK_E_NOINVERSE // @@ -22461,6 +25168,7 @@ public interface WinError { // Moniker class has no inverse // int MK_E_NOINVERSE = 0x800401EC; + // // MessageId: MK_E_NOSTORAGE // @@ -22469,6 +25177,7 @@ public interface WinError { // Moniker does not refer to storage // int MK_E_NOSTORAGE = 0x800401ED; + // // MessageId: MK_E_NOPREFIX // @@ -22477,6 +25186,7 @@ public interface WinError { // No common prefix // int MK_E_NOPREFIX = 0x800401EE; + // // MessageId: MK_E_ENUMERATION_FAILED // @@ -22485,10 +25195,15 @@ public interface WinError { // Moniker could not be enumerated // int MK_E_ENUMERATION_FAILED = 0x800401EF; + int CO_E_FIRST = 0x800401F0; + int CO_E_LAST = 0x800401FF; + int CO_S_FIRST = 0x000401F0; + int CO_S_LAST = 0x000401FF; + // // MessageId: CO_E_NOTINITIALIZED // @@ -22497,6 +25212,7 @@ public interface WinError { // CoInitialize has not been called. // int CO_E_NOTINITIALIZED = 0x800401F0; + // // MessageId: CO_E_ALREADYINITIALIZED // @@ -22505,6 +25221,7 @@ public interface WinError { // CoInitialize has already been called. // int CO_E_ALREADYINITIALIZED = 0x800401F1; + // // MessageId: CO_E_CANTDETERMINECLASS // @@ -22513,6 +25230,7 @@ public interface WinError { // Class of object cannot be determined // int CO_E_CANTDETERMINECLASS = 0x800401F2; + // // MessageId: CO_E_CLASSSTRING // @@ -22521,6 +25239,7 @@ public interface WinError { // Invalid class string // int CO_E_CLASSSTRING = 0x800401F3; + // // MessageId: CO_E_IIDSTRING // @@ -22529,6 +25248,7 @@ public interface WinError { // Invalid interface string // int CO_E_IIDSTRING = 0x800401F4; + // // MessageId: CO_E_APPNOTFOUND // @@ -22537,6 +25257,7 @@ public interface WinError { // Application not found // int CO_E_APPNOTFOUND = 0x800401F5; + // // MessageId: CO_E_APPSINGLEUSE // @@ -22545,6 +25266,7 @@ public interface WinError { // Application cannot be run more than once // int CO_E_APPSINGLEUSE = 0x800401F6; + // // MessageId: CO_E_ERRORINAPP // @@ -22553,6 +25275,7 @@ public interface WinError { // Some error in application program // int CO_E_ERRORINAPP = 0x800401F7; + // // MessageId: CO_E_DLLNOTFOUND // @@ -22561,6 +25284,7 @@ public interface WinError { // DLL for class not found // int CO_E_DLLNOTFOUND = 0x800401F8; + // // MessageId: CO_E_ERRORINDLL // @@ -22569,6 +25293,7 @@ public interface WinError { // Error in the DLL // int CO_E_ERRORINDLL = 0x800401F9; + // // MessageId: CO_E_WRONGOSFORAPP // @@ -22577,6 +25302,7 @@ public interface WinError { // Wrong OS or OS version for application // int CO_E_WRONGOSFORAPP = 0x800401FA; + // // MessageId: CO_E_OBJNOTREG // @@ -22585,6 +25311,7 @@ public interface WinError { // Object is not registered // int CO_E_OBJNOTREG = 0x800401FB; + // // MessageId: CO_E_OBJISREG // @@ -22593,6 +25320,7 @@ public interface WinError { // Object is already registered // int CO_E_OBJISREG = 0x800401FC; + // // MessageId: CO_E_OBJNOTCONNECTED // @@ -22601,6 +25329,7 @@ public interface WinError { // Object is not connected to server // int CO_E_OBJNOTCONNECTED = 0x800401FD; + // // MessageId: CO_E_APPDIDNTREG // @@ -22609,6 +25338,7 @@ public interface WinError { // Application was launched but it didn't register a class factory // int CO_E_APPDIDNTREG = 0x800401FE; + // // MessageId: CO_E_RELEASED // @@ -22617,10 +25347,15 @@ public interface WinError { // Object has been released // int CO_E_RELEASED = 0x800401FF; + int EVENT_E_FIRST = 0x80040200; + int EVENT_E_LAST = 0x8004021F; + int EVENT_S_FIRST = 0x00040200; + int EVENT_S_LAST = 0x0004021F; + // // MessageId: EVENT_S_SOME_SUBSCRIBERS_FAILED // @@ -22629,6 +25364,7 @@ public interface WinError { // An event was able to invoke some but not all of the subscribers // int EVENT_S_SOME_SUBSCRIBERS_FAILED = 0x00040200; + // // MessageId: EVENT_E_ALL_SUBSCRIBERS_FAILED // @@ -22637,6 +25373,7 @@ public interface WinError { // An event was unable to invoke any of the subscribers // int EVENT_E_ALL_SUBSCRIBERS_FAILED = 0x80040201; + // // MessageId: EVENT_S_NOSUBSCRIBERS // @@ -22645,6 +25382,7 @@ public interface WinError { // An event was delivered but there were no subscribers // int EVENT_S_NOSUBSCRIBERS = 0x00040202; + // // MessageId: EVENT_E_QUERYSYNTAX // @@ -22653,6 +25391,7 @@ public interface WinError { // A syntax error occurred trying to evaluate a query string // int EVENT_E_QUERYSYNTAX = 0x80040203; + // // MessageId: EVENT_E_QUERYFIELD // @@ -22661,6 +25400,7 @@ public interface WinError { // An invalid field name was used in a query string // int EVENT_E_QUERYFIELD = 0x80040204; + // // MessageId: EVENT_E_INTERNALEXCEPTION // @@ -22669,6 +25409,7 @@ public interface WinError { // An unexpected exception was raised // int EVENT_E_INTERNALEXCEPTION = 0x80040205; + // // MessageId: EVENT_E_INTERNALERROR // @@ -22677,6 +25418,7 @@ public interface WinError { // An unexpected internal error was detected // int EVENT_E_INTERNALERROR = 0x80040206; + // // MessageId: EVENT_E_INVALID_PER_USER_SID // @@ -22685,6 +25427,7 @@ public interface WinError { // The owner SID on a per-user subscription doesn't exist // int EVENT_E_INVALID_PER_USER_SID = 0x80040207; + // // MessageId: EVENT_E_USER_EXCEPTION // @@ -22693,6 +25436,7 @@ public interface WinError { // A user-supplied component or subscriber raised an exception // int EVENT_E_USER_EXCEPTION = 0x80040208; + // // MessageId: EVENT_E_TOO_MANY_METHODS // @@ -22701,6 +25445,7 @@ public interface WinError { // An interface has too many methods to fire events from // int EVENT_E_TOO_MANY_METHODS = 0x80040209; + // // MessageId: EVENT_E_MISSING_EVENTCLASS // @@ -22709,6 +25454,7 @@ public interface WinError { // A subscription cannot be stored unless its event class already exists // int EVENT_E_MISSING_EVENTCLASS = 0x8004020A; + // // MessageId: EVENT_E_NOT_ALL_REMOVED // @@ -22717,6 +25463,7 @@ public interface WinError { // Not all the objects requested could be removed // int EVENT_E_NOT_ALL_REMOVED = 0x8004020B; + // // MessageId: EVENT_E_COMPLUS_NOT_INSTALLED // @@ -22725,6 +25472,7 @@ public interface WinError { // COM+ is required for this operation, but is not installed // int EVENT_E_COMPLUS_NOT_INSTALLED = 0x8004020C; + // // MessageId: EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT // @@ -22734,6 +25482,7 @@ public interface WinError { // SDK // int EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT = 0x8004020D; + // // MessageId: EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT // @@ -22742,6 +25491,7 @@ public interface WinError { // Cannot modify or delete an object that was added using the COM+ Admin SDK // int EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT = 0x8004020E; + // // MessageId: EVENT_E_INVALID_EVENT_CLASS_PARTITION // @@ -22750,6 +25500,7 @@ public interface WinError { // The event class for this subscription is in an invalid partition // int EVENT_E_INVALID_EVENT_CLASS_PARTITION = 0x8004020F; + // // MessageId: EVENT_E_PER_USER_SID_NOT_LOGGED_ON // @@ -22759,10 +25510,15 @@ public interface WinError { // specified // int EVENT_E_PER_USER_SID_NOT_LOGGED_ON = 0x80040210; + int XACT_E_FIRST = 0x8004D000; + int XACT_E_LAST = 0x8004D029; + int XACT_S_FIRST = 0x0004D000; + int XACT_S_LAST = 0x0004D010; + // // MessageId: XACT_E_ALREADYOTHERSINGLEPHASE // @@ -22772,6 +25528,7 @@ public interface WinError { // transaction. // int XACT_E_ALREADYOTHERSINGLEPHASE = 0x8004D000; + // // MessageId: XACT_E_CANTRETAIN // @@ -22780,6 +25537,7 @@ public interface WinError { // A retaining commit or abort is not supported // int XACT_E_CANTRETAIN = 0x8004D001; + // // MessageId: XACT_E_COMMITFAILED // @@ -22789,6 +25547,7 @@ public interface WinError { // was aborted. // int XACT_E_COMMITFAILED = 0x8004D002; + // // MessageId: XACT_E_COMMITPREVENTED // @@ -22798,6 +25557,7 @@ public interface WinError { // application did not initiate the transaction. // int XACT_E_COMMITPREVENTED = 0x8004D003; + // // MessageId: XACT_E_HEURISTICABORT // @@ -22806,6 +25566,7 @@ public interface WinError { // Instead of committing, the resource heuristically aborted. // int XACT_E_HEURISTICABORT = 0x8004D004; + // // MessageId: XACT_E_HEURISTICCOMMIT // @@ -22814,6 +25575,7 @@ public interface WinError { // Instead of aborting, the resource heuristically committed. // int XACT_E_HEURISTICCOMMIT = 0x8004D005; + // // MessageId: XACT_E_HEURISTICDAMAGE // @@ -22823,6 +25585,7 @@ public interface WinError { // aborted, likely because of heuristic decisions. // int XACT_E_HEURISTICDAMAGE = 0x8004D006; + // // MessageId: XACT_E_HEURISTICDANGER // @@ -22832,6 +25595,7 @@ public interface WinError { // may have been aborted, likely because of heuristic decisions. // int XACT_E_HEURISTICDANGER = 0x8004D007; + // // MessageId: XACT_E_ISOLATIONLEVEL // @@ -22840,6 +25604,7 @@ public interface WinError { // The requested isolation level is not valid or supported. // int XACT_E_ISOLATIONLEVEL = 0x8004D008; + // // MessageId: XACT_E_NOASYNC // @@ -22849,6 +25614,7 @@ public interface WinError { // this method. // int XACT_E_NOASYNC = 0x8004D009; + // // MessageId: XACT_E_NOENLIST // @@ -22857,6 +25623,7 @@ public interface WinError { // Unable to enlist in the transaction. // int XACT_E_NOENLIST = 0x8004D00A; + // // MessageId: XACT_E_NOISORETAIN // @@ -22867,6 +25634,7 @@ public interface WinError { // implementation, or isoF;ags was not equal to zero. // int XACT_E_NOISORETAIN = 0x8004D00B; + // // MessageId: XACT_E_NORESOURCE // @@ -22875,6 +25643,7 @@ public interface WinError { // There is no resource presently associated with this enlistment // int XACT_E_NORESOURCE = 0x8004D00C; + // // MessageId: XACT_E_NOTCURRENT // @@ -22884,6 +25653,7 @@ public interface WinError { // concurrency control in at least one of the resource managers. // int XACT_E_NOTCURRENT = 0x8004D00D; + // // MessageId: XACT_E_NOTRANSACTION // @@ -22893,6 +25663,7 @@ public interface WinError { // aborted // int XACT_E_NOTRANSACTION = 0x8004D00E; + // // MessageId: XACT_E_NOTSUPPORTED // @@ -22901,6 +25672,7 @@ public interface WinError { // An invalid combination of F;ags was specified // int XACT_E_NOTSUPPORTED = 0x8004D00F; + // // MessageId: XACT_E_UNKNOWNRMGRID // @@ -22910,6 +25682,7 @@ public interface WinError { // transaction manager. // int XACT_E_UNKNOWNRMGRID = 0x8004D010; + // // MessageId: XACT_E_WRONGSTATE // @@ -22918,6 +25691,7 @@ public interface WinError { // This method was called in the wrong state // int XACT_E_WRONGSTATE = 0x8004D011; + // // MessageId: XACT_E_WRONGUOW // @@ -22927,6 +25701,7 @@ public interface WinError { // the resource manager. // int XACT_E_WRONGUOW = 0x8004D012; + // // MessageId: XACT_E_XTIONEXISTS // @@ -22935,6 +25710,7 @@ public interface WinError { // An enlistment in a transaction already exists. // int XACT_E_XTIONEXISTS = 0x8004D013; + // // MessageId: XACT_E_NOIMPORTOBJECT // @@ -22943,6 +25719,7 @@ public interface WinError { // An import object for the transaction could not be found. // int XACT_E_NOIMPORTOBJECT = 0x8004D014; + // // MessageId: XACT_E_INVALIDCOOKIE // @@ -22951,6 +25728,7 @@ public interface WinError { // The transaction cookie is invalid. // int XACT_E_INVALIDCOOKIE = 0x8004D015; + // // MessageId: XACT_E_INDOUBT // @@ -22960,6 +25738,7 @@ public interface WinError { // a transaction manager or resource manager has failed // int XACT_E_INDOUBT = 0x8004D016; + // // MessageId: XACT_E_NOTIMEOUT // @@ -22968,6 +25747,7 @@ public interface WinError { // A time-out was specified, but time-outs are not supported. // int XACT_E_NOTIMEOUT = 0x8004D017; + // // MessageId: XACT_E_ALREADYINPROGRESS // @@ -22976,6 +25756,7 @@ public interface WinError { // The requested operation is already in progress for the transaction. // int XACT_E_ALREADYINPROGRESS = 0x8004D018; + // // MessageId: XACT_E_ABORTED // @@ -22984,6 +25765,7 @@ public interface WinError { // The transaction has already been aborted. // int XACT_E_ABORTED = 0x8004D019; + // // MessageId: XACT_E_LOGFULL // @@ -22992,6 +25774,7 @@ public interface WinError { // The Transaction Manager returned a log full error. // int XACT_E_LOGFULL = 0x8004D01A; + // // MessageId: XACT_E_TMNOTAVAILABLE // @@ -23000,6 +25783,7 @@ public interface WinError { // The Transaction Manager is not available. // int XACT_E_TMNOTAVAILABLE = 0x8004D01B; + // // MessageId: XACT_E_CONNECTION_DOWN // @@ -23008,6 +25792,7 @@ public interface WinError { // A connection with the transaction manager was lost. // int XACT_E_CONNECTION_DOWN = 0x8004D01C; + // // MessageId: XACT_E_CONNECTION_DENIED // @@ -23017,6 +25802,7 @@ public interface WinError { // denied. // int XACT_E_CONNECTION_DENIED = 0x8004D01D; + // // MessageId: XACT_E_REENLISTTIMEOUT // @@ -23025,6 +25811,7 @@ public interface WinError { // Resource manager reenlistment to determine transaction status timed out. // int XACT_E_REENLISTTIMEOUT = 0x8004D01E; + // // MessageId: XACT_E_TIP_CONNECT_FAILED // @@ -23034,6 +25821,7 @@ public interface WinError { // TIP transaction manager. // int XACT_E_TIP_CONNECT_FAILED = 0x8004D01F; + // // MessageId: XACT_E_TIP_PROTOCOL_ERROR // @@ -23043,6 +25831,7 @@ public interface WinError { // transaction manager. // int XACT_E_TIP_PROTOCOL_ERROR = 0x8004D020; + // // MessageId: XACT_E_TIP_PULL_FAILED // @@ -23052,6 +25841,7 @@ public interface WinError { // TIP transaction manager. // int XACT_E_TIP_PULL_FAILED = 0x8004D021; + // // MessageId: XACT_E_DEST_TMNOTAVAILABLE // @@ -23060,6 +25850,7 @@ public interface WinError { // The Transaction Manager on the destination machine is not available. // int XACT_E_DEST_TMNOTAVAILABLE = 0x8004D022; + // // MessageId: XACT_E_TIP_DISABLED // @@ -23068,6 +25859,7 @@ public interface WinError { // The Transaction Manager has disabled its support for TIP. // int XACT_E_TIP_DISABLED = 0x8004D023; + // // MessageId: XACT_E_NETWORK_TX_DISABLED // @@ -23077,6 +25869,7 @@ public interface WinError { // transactions. // int XACT_E_NETWORK_TX_DISABLED = 0x8004D024; + // // MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED // @@ -23086,6 +25879,7 @@ public interface WinError { // remote/network transactions. // int XACT_E_PARTNER_NETWORK_TX_DISABLED = 0x8004D025; + // // MessageId: XACT_E_XA_TX_DISABLED // @@ -23094,6 +25888,7 @@ public interface WinError { // The transaction manager has disabled its support for XA transactions. // int XACT_E_XA_TX_DISABLED = 0x8004D026; + // // MessageId: XACT_E_UNABLE_TO_READ_DTC_CONFIG // @@ -23102,6 +25897,7 @@ public interface WinError { // MSDTC was unable to read its configuration information. // int XACT_E_UNABLE_TO_READ_DTC_CONFIG = 0x8004D027; + // // MessageId: XACT_E_UNABLE_TO_LOAD_DTC_PROXY // @@ -23110,6 +25906,7 @@ public interface WinError { // MSDTC was unable to load the dtc proxy dll. // int XACT_E_UNABLE_TO_LOAD_DTC_PROXY = 0x8004D028; + // // MessageId: XACT_E_ABORTING // @@ -23118,6 +25915,7 @@ public interface WinError { // The local transaction has aborted. // int XACT_E_ABORTING = 0x8004D029; + // // TXF & CRM errors start=4d080. // @@ -23128,6 +25926,7 @@ public interface WinError { // XACT_E_CLERKNOTFOUND // int XACT_E_CLERKNOTFOUND = 0x8004D080; + // // MessageId: XACT_E_CLERKEXISTS // @@ -23136,6 +25935,7 @@ public interface WinError { // XACT_E_CLERKEXISTS // int XACT_E_CLERKEXISTS = 0x8004D081; + // // MessageId: XACT_E_RECOVERYINPROGRESS // @@ -23144,6 +25944,7 @@ public interface WinError { // XACT_E_RECOVERYINPROGRESS // int XACT_E_RECOVERYINPROGRESS = 0x8004D082; + // // MessageId: XACT_E_TRANSACTIONCLOSED // @@ -23152,6 +25953,7 @@ public interface WinError { // XACT_E_TRANSACTIONCLOSED // int XACT_E_TRANSACTIONCLOSED = 0x8004D083; + // // MessageId: XACT_E_INVALIDLSN // @@ -23160,6 +25962,7 @@ public interface WinError { // XACT_E_INVALIDLSN // int XACT_E_INVALIDLSN = 0x8004D084; + // // MessageId: XACT_E_REPLAYREQUEST // @@ -23168,6 +25971,7 @@ public interface WinError { // XACT_E_REPLAYREQUEST // int XACT_E_REPLAYREQUEST = 0x8004D085; + // Begin XACT_DTC_CONSTANTS enumerated values defined in txdtc.h // SymbolicName=XACT_E_CONNECTION_REQUEST_DENIED // @@ -23332,6 +26136,7 @@ public interface WinError { // outcome is not known yet. // int XACT_S_ASYNC = 0x0004D000; + // // MessageId: XACT_S_DEFECT // @@ -23340,6 +26145,7 @@ public interface WinError { // XACT_S_DEFECT // int XACT_S_DEFECT = 0x0004D001; + // // MessageId: XACT_S_READONLY // @@ -23348,6 +26154,7 @@ public interface WinError { // The method call succeeded because the transaction was read-only. // int XACT_S_READONLY = 0x0004D002; + // // MessageId: XACT_S_SOMENORETAIN // @@ -23358,6 +26165,7 @@ public interface WinError { // because they could not support abort-retaining semantics // int XACT_S_SOMENORETAIN = 0x0004D003; + // // MessageId: XACT_S_OKINFORM // @@ -23367,6 +26175,7 @@ public interface WinError { // to look if any other sinks make further changes. // int XACT_S_OKINFORM = 0x0004D004; + // // MessageId: XACT_S_MADECHANGESCONTENT // @@ -23376,6 +26185,7 @@ public interface WinError { // made to one or more resources during this call. // int XACT_S_MADECHANGESCONTENT = 0x0004D005; + // // MessageId: XACT_S_MADECHANGESINFORM // @@ -23386,6 +26196,7 @@ public interface WinError { // this sink wants another chance to look // int XACT_S_MADECHANGESINFORM = 0x0004D006; + // // MessageId: XACT_S_ALLNORETAIN // @@ -23395,6 +26206,7 @@ public interface WinError { // non-retaining. // int XACT_S_ALLNORETAIN = 0x0004D007; + // // MessageId: XACT_S_ABORTING // @@ -23403,6 +26215,7 @@ public interface WinError { // An abort operation was already in progress. // int XACT_S_ABORTING = 0x0004D008; + // // MessageId: XACT_S_SINGLEPHASE // @@ -23412,6 +26225,7 @@ public interface WinError { // transaction. // int XACT_S_SINGLEPHASE = 0x0004D009; + // // MessageId: XACT_S_LOCALLY_OK // @@ -23420,6 +26234,7 @@ public interface WinError { // The local transaction has not aborted. // int XACT_S_LOCALLY_OK = 0x0004D00A; + // // MessageId: XACT_S_LASTRESOURCEMANAGER // @@ -23429,10 +26244,15 @@ public interface WinError { // manager) for the transaction. // int XACT_S_LASTRESOURCEMANAGER = 0x0004D010; + int CONTEXT_E_FIRST = 0x8004E000; + int CONTEXT_E_LAST = 0x8004E02F; + int CONTEXT_S_FIRST = 0x0004E000; + int CONTEXT_S_LAST = 0x0004E02F; + // // MessageId: CONTEXT_E_ABORTED // @@ -23441,6 +26261,7 @@ public interface WinError { // The root transaction wanted to commit, but transaction aborted // int CONTEXT_E_ABORTED = 0x8004E002; + // // MessageId: CONTEXT_E_ABORTING // @@ -23450,6 +26271,7 @@ public interface WinError { // has already aborted or in the process of aborting. // int CONTEXT_E_ABORTING = 0x8004E003; + // // MessageId: CONTEXT_E_NOCONTEXT // @@ -23458,6 +26280,7 @@ public interface WinError { // There is no MTS object context // int CONTEXT_E_NOCONTEXT = 0x8004E004; + // // MessageId: CONTEXT_E_WOULD_DEADLOCK // @@ -23467,6 +26290,7 @@ public interface WinError { // would cause a deadlock to occur. // int CONTEXT_E_WOULD_DEADLOCK = 0x8004E005; + // // MessageId: CONTEXT_E_SYNCH_TIMEOUT // @@ -23476,6 +26300,7 @@ public interface WinError { // out waiting to enter the context. // int CONTEXT_E_SYNCH_TIMEOUT = 0x8004E006; + // // MessageId: CONTEXT_E_OLDREF // @@ -23485,6 +26310,7 @@ public interface WinError { // has already committed or aborted. // int CONTEXT_E_OLDREF = 0x8004E007; + // // MessageId: CONTEXT_E_ROLENOTFOUND // @@ -23493,6 +26319,7 @@ public interface WinError { // The specified role was not configured for the application // int CONTEXT_E_ROLENOTFOUND = 0x8004E00C; + // // MessageId: CONTEXT_E_TMNOTAVAILABLE // @@ -23502,6 +26329,7 @@ public interface WinError { // Coordinator // int CONTEXT_E_TMNOTAVAILABLE = 0x8004E00F; + // // MessageId: CO_E_ACTIVATIONFAILED // @@ -23510,6 +26338,7 @@ public interface WinError { // An unexpected error occurred during COM+ Activation. // int CO_E_ACTIVATIONFAILED = 0x8004E021; + // // MessageId: CO_E_ACTIVATIONFAILED_EVENTLOGGED // @@ -23518,6 +26347,7 @@ public interface WinError { // COM+ Activation failed. Check the event log for more information // int CO_E_ACTIVATIONFAILED_EVENTLOGGED = 0x8004E022; + // // MessageId: CO_E_ACTIVATIONFAILED_CATALOGERROR // @@ -23526,6 +26356,7 @@ public interface WinError { // COM+ Activation failed due to a catalog or configuration error. // int CO_E_ACTIVATIONFAILED_CATALOGERROR = 0x8004E023; + // // MessageId: CO_E_ACTIVATIONFAILED_TIMEOUT // @@ -23535,6 +26366,7 @@ public interface WinError { // the specified amount of time. // int CO_E_ACTIVATIONFAILED_TIMEOUT = 0x8004E024; + // // MessageId: CO_E_INITIALIZATIONFAILED // @@ -23544,6 +26376,7 @@ public interface WinError { // the event log for more information. // int CO_E_INITIALIZATIONFAILED = 0x8004E025; + // // MessageId: CONTEXT_E_NOJIT // @@ -23553,6 +26386,7 @@ public interface WinError { // it is not // int CONTEXT_E_NOJIT = 0x8004E026; + // // MessageId: CONTEXT_E_NOTRANSACTION // @@ -23562,6 +26396,7 @@ public interface WinError { // Transaction, and it does not // int CONTEXT_E_NOTRANSACTION = 0x8004E027; + // // MessageId: CO_E_THREADINGMODEL_CHANGED // @@ -23571,6 +26406,7 @@ public interface WinError { // Application. Please re-install component. // int CO_E_THREADINGMODEL_CHANGED = 0x8004E028; + // // MessageId: CO_E_NOIISINTRINSICS // @@ -23579,6 +26415,7 @@ public interface WinError { // IIS intrinsics not available. Start your work with IIS. // int CO_E_NOIISINTRINSICS = 0x8004E029; + // // MessageId: CO_E_NOCOOKIES // @@ -23587,6 +26424,7 @@ public interface WinError { // An attempt to write a cookie failed. // int CO_E_NOCOOKIES = 0x8004E02A; + // // MessageId: CO_E_DBERROR // @@ -23595,6 +26433,7 @@ public interface WinError { // An attempt to use a database generated a database specific error. // int CO_E_DBERROR = 0x8004E02B; + // // MessageId: CO_E_NOTPOOLED // @@ -23603,6 +26442,7 @@ public interface WinError { // The COM+ component you created must use object pooling to work. // int CO_E_NOTPOOLED = 0x8004E02C; + // // MessageId: CO_E_NOTCONSTRUCTED // @@ -23612,6 +26452,7 @@ public interface WinError { // correctly. // int CO_E_NOTCONSTRUCTED = 0x8004E02D; + // // MessageId: CO_E_NOSYNCHRONIZATION // @@ -23621,6 +26462,7 @@ public interface WinError { // it. // int CO_E_NOSYNCHRONIZATION = 0x8004E02E; + // // MessageId: CO_E_ISOLEVELMISMATCH // @@ -23631,6 +26473,7 @@ public interface WinError { // transaction. The creation failed. // int CO_E_ISOLEVELMISMATCH = 0x8004E02F; + // // MessageId: CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED // @@ -23641,6 +26484,7 @@ public interface WinError { // Cross-context calls cannot be made while inside of a transaction scope. // int CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED = 0x8004E030; + // // MessageId: CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED // @@ -23650,6 +26494,7 @@ public interface WinError { // corresponding call to ExitTransactionScope before returning. // int CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED = 0x8004E031; + // // Old OLE Success Codes // @@ -23661,6 +26506,7 @@ public interface WinError { // Use the registry database to provide the requested information // int OLE_S_USEREG = 0x00040000; + // // MessageId: OLE_S_STATIC // @@ -23669,6 +26515,7 @@ public interface WinError { // Success, but static // int OLE_S_STATIC = 0x00040001; + // // MessageId: OLE_S_MAC_CLIPFORMAT // @@ -23677,6 +26524,7 @@ public interface WinError { // Macintosh clipboard format // int OLE_S_MAC_CLIPFORMAT = 0x00040002; + // // MessageId: DRAGDROP_S_DROP // @@ -23685,6 +26533,7 @@ public interface WinError { // Successful drop took place // int DRAGDROP_S_DROP = 0x00040100; + // // MessageId: DRAGDROP_S_CANCEL // @@ -23693,6 +26542,7 @@ public interface WinError { // Drag-drop operation canceled // int DRAGDROP_S_CANCEL = 0x00040101; + // // MessageId: DRAGDROP_S_USEDEFAULTCURSORS // @@ -23701,6 +26551,7 @@ public interface WinError { // Use the default cursor // int DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102; + // // MessageId: DATA_S_SAMEFORMATETC // @@ -23709,6 +26560,7 @@ public interface WinError { // Data has same FORMATETC // int DATA_S_SAMEFORMATETC = 0x00040130; + // // MessageId: VIEW_S_ALREADY_FROZEN // @@ -23717,6 +26569,7 @@ public interface WinError { // View is already frozen // int VIEW_S_ALREADY_FROZEN = 0x00040140; + // // MessageId: CACHE_S_FORMATETC_NOTSUPPORTED // @@ -23725,6 +26578,7 @@ public interface WinError { // FORMATETC not supported // int CACHE_S_FORMATETC_NOTSUPPORTED = 0x00040170; + // // MessageId: CACHE_S_SAMECACHE // @@ -23733,6 +26587,7 @@ public interface WinError { // Same cache // int CACHE_S_SAMECACHE = 0x00040171; + // // MessageId: CACHE_S_SOMECACHES_NOTUPDATED // @@ -23741,6 +26596,7 @@ public interface WinError { // Some cache(s) not updated // int CACHE_S_SOMECACHES_NOTUPDATED = 0x00040172; + // // MessageId: OLEOBJ_S_INVALIDVERB // @@ -23749,6 +26605,7 @@ public interface WinError { // Invalid verb for OLE object // int OLEOBJ_S_INVALIDVERB = 0x00040180; + // // MessageId: OLEOBJ_S_CANNOT_DOVERB_NOW // @@ -23757,6 +26614,7 @@ public interface WinError { // Verb number is valid but verb cannot be done now // int OLEOBJ_S_CANNOT_DOVERB_NOW = 0x00040181; + // // MessageId: OLEOBJ_S_INVALIDHWND // @@ -23765,6 +26623,7 @@ public interface WinError { // Invalid window handle passed // int OLEOBJ_S_INVALIDHWND = 0x00040182; + // // MessageId: INPLACE_S_TRUNCATED // @@ -23773,6 +26632,7 @@ public interface WinError { // Message is too long; some of it had to be truncated before displaying // int INPLACE_S_TRUNCATED = 0x000401A0; + // // MessageId: CONVERT10_S_NO_PRESENTATION // @@ -23781,6 +26641,7 @@ public interface WinError { // Unable to convert OLESTREAM to IStorage // int CONVERT10_S_NO_PRESENTATION = 0x000401C0; + // // MessageId: MK_S_REDUCED_TO_SELF // @@ -23789,6 +26650,7 @@ public interface WinError { // Moniker reduced to itself // int MK_S_REDUCED_TO_SELF = 0x000401E2; + // // MessageId: MK_S_ME // @@ -23797,6 +26659,7 @@ public interface WinError { // Common prefix is this moniker // int MK_S_ME = 0x000401E4; + // // MessageId: MK_S_HIM // @@ -23805,6 +26668,7 @@ public interface WinError { // Common prefix is input moniker // int MK_S_HIM = 0x000401E5; + // // MessageId: MK_S_US // @@ -23813,6 +26677,7 @@ public interface WinError { // Common prefix is both monikers // int MK_S_US = 0x000401E6; + // // MessageId: MK_S_MONIKERALREADYREGISTERED // @@ -23821,6 +26686,7 @@ public interface WinError { // Moniker is already registered in running object table // int MK_S_MONIKERALREADYREGISTERED = 0x000401E7; + // // Task Scheduler errors // @@ -23832,6 +26698,7 @@ public interface WinError { // The task is ready to run at its next scheduled time. // int SCHED_S_TASK_READY = 0x00041300; + // // MessageId: SCHED_S_TASK_RUNNING // @@ -23840,6 +26707,7 @@ public interface WinError { // The task is currently running. // int SCHED_S_TASK_RUNNING = 0x00041301; + // // MessageId: SCHED_S_TASK_DISABLED // @@ -23849,6 +26717,7 @@ public interface WinError { // disabled. // int SCHED_S_TASK_DISABLED = 0x00041302; + // // MessageId: SCHED_S_TASK_HAS_NOT_RUN // @@ -23857,6 +26726,7 @@ public interface WinError { // The task has not yet run. // int SCHED_S_TASK_HAS_NOT_RUN = 0x00041303; + // // MessageId: SCHED_S_TASK_NO_MORE_RUNS // @@ -23865,6 +26735,7 @@ public interface WinError { // There are no more runs scheduled for this task. // int SCHED_S_TASK_NO_MORE_RUNS = 0x00041304; + // // MessageId: SCHED_S_TASK_NOT_SCHEDULED // @@ -23874,6 +26745,7 @@ public interface WinError { // schedule have not been set. // int SCHED_S_TASK_NOT_SCHEDULED = 0x00041305; + // // MessageId: SCHED_S_TASK_TERMINATED // @@ -23882,6 +26754,7 @@ public interface WinError { // The last run of the task was terminated by the user. // int SCHED_S_TASK_TERMINATED = 0x00041306; + // // MessageId: SCHED_S_TASK_NO_VALID_TRIGGERS // @@ -23891,6 +26764,7 @@ public interface WinError { // not set. // int SCHED_S_TASK_NO_VALID_TRIGGERS = 0x00041307; + // // MessageId: SCHED_S_EVENT_TRIGGER // @@ -23899,6 +26773,7 @@ public interface WinError { // Event triggers don't have set run times. // int SCHED_S_EVENT_TRIGGER = 0x00041308; + // // MessageId: SCHED_E_TRIGGER_NOT_FOUND // @@ -23907,6 +26782,7 @@ public interface WinError { // Trigger not found. // int SCHED_E_TRIGGER_NOT_FOUND = 0x80041309; + // // MessageId: SCHED_E_TASK_NOT_READY // @@ -23916,6 +26792,7 @@ public interface WinError { // been set. // int SCHED_E_TASK_NOT_READY = 0x8004130A; + // // MessageId: SCHED_E_TASK_NOT_RUNNING // @@ -23924,6 +26801,7 @@ public interface WinError { // There is no running instance of the task. // int SCHED_E_TASK_NOT_RUNNING = 0x8004130B; + // // MessageId: SCHED_E_SERVICE_NOT_INSTALLED // @@ -23932,6 +26810,7 @@ public interface WinError { // The Task Scheduler Service is not installed on this computer. // int SCHED_E_SERVICE_NOT_INSTALLED = 0x8004130C; + // // MessageId: SCHED_E_CANNOT_OPEN_TASK // @@ -23940,6 +26819,7 @@ public interface WinError { // The task object could not be opened. // int SCHED_E_CANNOT_OPEN_TASK = 0x8004130D; + // // MessageId: SCHED_E_INVALID_TASK // @@ -23948,6 +26828,7 @@ public interface WinError { // The object is either an invalid task object or is not a task object. // int SCHED_E_INVALID_TASK = 0x8004130E; + // // MessageId: SCHED_E_ACCOUNT_INFORMATION_NOT_SET // @@ -23957,6 +26838,7 @@ public interface WinError { // database for the task indicated. // int SCHED_E_ACCOUNT_INFORMATION_NOT_SET = 0x8004130F; + // // MessageId: SCHED_E_ACCOUNT_NAME_NOT_FOUND // @@ -23965,6 +26847,7 @@ public interface WinError { // Unable to establish existence of the account specified. // int SCHED_E_ACCOUNT_NAME_NOT_FOUND = 0x80041310; + // // MessageId: SCHED_E_ACCOUNT_DBASE_CORRUPT // @@ -23974,6 +26857,7 @@ public interface WinError { // database has been reset. // int SCHED_E_ACCOUNT_DBASE_CORRUPT = 0x80041311; + // // MessageId: SCHED_E_NO_SECURITY_SERVICES // @@ -23982,6 +26866,7 @@ public interface WinError { // Task Scheduler security services are available only on Windows NT. // int SCHED_E_NO_SECURITY_SERVICES = 0x80041312; + // // MessageId: SCHED_E_UNKNOWN_OBJECT_VERSION // @@ -23990,6 +26875,7 @@ public interface WinError { // The task object version is either unsupported or invalid. // int SCHED_E_UNKNOWN_OBJECT_VERSION = 0x80041313; + // // MessageId: SCHED_E_UNSUPPORTED_ACCOUNT_OPTION // @@ -23999,6 +26885,7 @@ public interface WinError { // settings and run time options. // int SCHED_E_UNSUPPORTED_ACCOUNT_OPTION = 0x80041314; + // // MessageId: SCHED_E_SERVICE_NOT_RUNNING // @@ -24007,6 +26894,7 @@ public interface WinError { // The Task Scheduler Service is not running. // int SCHED_E_SERVICE_NOT_RUNNING = 0x80041315; + // // MessageId: SCHED_E_UNEXPECTEDNODE // @@ -24015,6 +26903,7 @@ public interface WinError { // The task XML contains an unexpected node. // int SCHED_E_UNEXPECTEDNODE = 0x80041316; + // // MessageId: SCHED_E_NAMESPACE // @@ -24024,6 +26913,7 @@ public interface WinError { // namespace. // int SCHED_E_NAMESPACE = 0x80041317; + // // MessageId: SCHED_E_INVALIDVALUE // @@ -24033,6 +26923,7 @@ public interface WinError { // range. // int SCHED_E_INVALIDVALUE = 0x80041318; + // // MessageId: SCHED_E_MISSINGNODE // @@ -24041,6 +26932,7 @@ public interface WinError { // The task XML is missing a required element or attribute. // int SCHED_E_MISSINGNODE = 0x80041319; + // // MessageId: SCHED_E_MALFORMEDXML // @@ -24049,6 +26941,7 @@ public interface WinError { // The task XML is malformed. // int SCHED_E_MALFORMEDXML = 0x8004131A; + // // MessageId: SCHED_S_SOME_TRIGGERS_FAILED // @@ -24058,6 +26951,7 @@ public interface WinError { // task. // int SCHED_S_SOME_TRIGGERS_FAILED = 0x0004131B; + // // MessageId: SCHED_S_BATCH_LOGON_PROBLEM // @@ -24067,6 +26961,7 @@ public interface WinError { // needs to be enabled for the task principal. // int SCHED_S_BATCH_LOGON_PROBLEM = 0x0004131C; + // // MessageId: SCHED_E_TOO_MANY_NODES // @@ -24075,6 +26970,7 @@ public interface WinError { // The task XML contains too many nodes of the same type. // int SCHED_E_TOO_MANY_NODES = 0x8004131D; + // // MessageId: SCHED_E_PAST_END_BOUNDARY // @@ -24083,6 +26979,7 @@ public interface WinError { // The task cannot be started after the trigger's end boundary. // int SCHED_E_PAST_END_BOUNDARY = 0x8004131E; + // // MessageId: SCHED_E_ALREADY_RUNNING // @@ -24091,6 +26988,7 @@ public interface WinError { // An instance of this task is already running. // int SCHED_E_ALREADY_RUNNING = 0x8004131F; + // // MessageId: SCHED_E_USER_NOT_LOGGED_ON // @@ -24099,6 +26997,7 @@ public interface WinError { // The task will not run because the user is not logged on. // int SCHED_E_USER_NOT_LOGGED_ON = 0x80041320; + // // MessageId: SCHED_E_INVALID_TASK_HASH // @@ -24107,6 +27006,7 @@ public interface WinError { // The task image is corrupt or has been tampered with. // int SCHED_E_INVALID_TASK_HASH = 0x80041321; + // // MessageId: SCHED_E_SERVICE_NOT_AVAILABLE // @@ -24115,6 +27015,7 @@ public interface WinError { // The Task Scheduler service is not available. // int SCHED_E_SERVICE_NOT_AVAILABLE = 0x80041322; + // // MessageId: SCHED_E_SERVICE_TOO_BUSY // @@ -24124,6 +27025,7 @@ public interface WinError { // again later. // int SCHED_E_SERVICE_TOO_BUSY = 0x80041323; + // // MessageId: SCHED_E_TASK_ATTEMPTED // @@ -24133,6 +27035,7 @@ public interface WinError { // not run due to one of the constraints in the task definition. // int SCHED_E_TASK_ATTEMPTED = 0x80041324; + // // MessageId: SCHED_S_TASK_QUEUED // @@ -24141,6 +27044,7 @@ public interface WinError { // The Task Scheduler service has asked the task to run. // int SCHED_S_TASK_QUEUED = 0x00041325; + // // MessageId: SCHED_E_TASK_DISABLED // @@ -24149,6 +27053,7 @@ public interface WinError { // The task is disabled. // int SCHED_E_TASK_DISABLED = 0x80041326; + // // MessageId: SCHED_E_TASK_NOT_V1_COMPAT // @@ -24158,6 +27063,7 @@ public interface WinError { // Windows. // int SCHED_E_TASK_NOT_V1_COMPAT = 0x80041327; + // // MessageId: SCHED_E_START_ON_DEMAND // @@ -24166,6 +27072,7 @@ public interface WinError { // The task settings do not allow the task to start on demand. // int SCHED_E_START_ON_DEMAND = 0x80041328; + // ****************** // FACILITY_WINDOWS // ****************** @@ -24181,6 +27088,7 @@ public interface WinError { // Attempt to create a class object failed // int CO_E_CLASS_CREATE_FAILED = 0x80080001; + // // MessageId: CO_E_SCM_ERROR // @@ -24189,6 +27097,7 @@ public interface WinError { // OLE service could not bind object // int CO_E_SCM_ERROR = 0x80080002; + // // MessageId: CO_E_SCM_RPC_FAILURE // @@ -24197,6 +27106,7 @@ public interface WinError { // RPC communication failed with OLE service // int CO_E_SCM_RPC_FAILURE = 0x80080003; + // // MessageId: CO_E_BAD_PATH // @@ -24205,6 +27115,7 @@ public interface WinError { // Bad path to object // int CO_E_BAD_PATH = 0x80080004; + // // MessageId: CO_E_SERVER_EXEC_FAILURE // @@ -24213,6 +27124,7 @@ public interface WinError { // Server execution failed // int CO_E_SERVER_EXEC_FAILURE = 0x80080005; + // // MessageId: CO_E_OBJSRV_RPC_FAILURE // @@ -24221,6 +27133,7 @@ public interface WinError { // OLE service could not communicate with the object server // int CO_E_OBJSRV_RPC_FAILURE = 0x80080006; + // // MessageId: MK_E_NO_NORMALIZED // @@ -24229,6 +27142,7 @@ public interface WinError { // Moniker path could not be normalized // int MK_E_NO_NORMALIZED = 0x80080007; + // // MessageId: CO_E_SERVER_STOPPING // @@ -24237,6 +27151,7 @@ public interface WinError { // Object server is stopping when OLE service contacts it // int CO_E_SERVER_STOPPING = 0x80080008; + // // MessageId: MEM_E_INVALID_ROOT // @@ -24245,6 +27160,7 @@ public interface WinError { // An invalid root block pointer was specified // int MEM_E_INVALID_ROOT = 0x80080009; + // // MessageId: MEM_E_INVALID_LINK // @@ -24253,6 +27169,7 @@ public interface WinError { // An allocation chain contained an invalid link pointer // int MEM_E_INVALID_LINK = 0x80080010; + // // MessageId: MEM_E_INVALID_SIZE // @@ -24261,6 +27178,7 @@ public interface WinError { // The requested allocation size was too large // int MEM_E_INVALID_SIZE = 0x80080011; + // // MessageId: CO_S_NOTALLINTERFACES // @@ -24269,6 +27187,7 @@ public interface WinError { // Not all the requested interfaces were available // int CO_S_NOTALLINTERFACES = 0x00080012; + // // MessageId: CO_S_MACHINENAMENOTFOUND // @@ -24277,6 +27196,7 @@ public interface WinError { // The specified machine name was not found in the cache. // int CO_S_MACHINENAMENOTFOUND = 0x00080013; + // // MessageId: CO_E_MISSING_DISPLAYNAME // @@ -24285,6 +27205,7 @@ public interface WinError { // The activation requires a display name to be present under the CLSID key. // int CO_E_MISSING_DISPLAYNAME = 0x80080015; + // // MessageId: CO_E_RUNAS_VALUE_MUST_BE_AAA // @@ -24294,6 +27215,7 @@ public interface WinError { // Activate As Activator. // int CO_E_RUNAS_VALUE_MUST_BE_AAA = 0x80080016; + // // MessageId: CO_E_ELEVATION_DISABLED // @@ -24302,6 +27224,7 @@ public interface WinError { // The class is not configured to support Elevated activation. // int CO_E_ELEVATION_DISABLED = 0x80080017; + // ****************** // FACILITY_DISPATCH // ****************** @@ -24313,6 +27236,7 @@ public interface WinError { // Unknown interface. // int DISP_E_UNKNOWNINTERFACE = 0x80020001; + // // MessageId: DISP_E_MEMBERNOTFOUND // @@ -24321,6 +27245,7 @@ public interface WinError { // Member not found. // int DISP_E_MEMBERNOTFOUND = 0x80020003; + // // MessageId: DISP_E_PARAMNOTFOUND // @@ -24329,6 +27254,7 @@ public interface WinError { // Parameter not found. // int DISP_E_PARAMNOTFOUND = 0x80020004; + // // MessageId: DISP_E_TYPEMISMATCH // @@ -24337,6 +27263,7 @@ public interface WinError { // Type mismatch. // int DISP_E_TYPEMISMATCH = 0x80020005; + // // MessageId: DISP_E_UNKNOWNNAME // @@ -24345,6 +27272,7 @@ public interface WinError { // Unknown name. // int DISP_E_UNKNOWNNAME = 0x80020006; + // // MessageId: DISP_E_NONAMEDARGS // @@ -24353,6 +27281,7 @@ public interface WinError { // No named arguments. // int DISP_E_NONAMEDARGS = 0x80020007; + // // MessageId: DISP_E_BADVARTYPE // @@ -24361,6 +27290,7 @@ public interface WinError { // Bad variable type. // int DISP_E_BADVARTYPE = 0x80020008; + // // MessageId: DISP_E_EXCEPTION // @@ -24369,6 +27299,7 @@ public interface WinError { // Exception occurred. // int DISP_E_EXCEPTION = 0x80020009; + // // MessageId: DISP_E_OVERF;OW // @@ -24377,6 +27308,7 @@ public interface WinError { // Out of present range. // int DISP_E_OVERFLOW = 0x8002000A; + // // MessageId: DISP_E_BADINDEX // @@ -24385,6 +27317,7 @@ public interface WinError { // Invalid index. // int DISP_E_BADINDEX = 0x8002000B; + // // MessageId: DISP_E_UNKNOWNLCID // @@ -24393,6 +27326,7 @@ public interface WinError { // Unknown language. // int DISP_E_UNKNOWNLCID = 0x8002000C; + // // MessageId: DISP_E_ARRAYISLOCKED // @@ -24401,6 +27335,7 @@ public interface WinError { // Memory is locked. // int DISP_E_ARRAYISLOCKED = 0x8002000D; + // // MessageId: DISP_E_BADPARAMCOUNT // @@ -24409,6 +27344,7 @@ public interface WinError { // Invalid number of parameters. // int DISP_E_BADPARAMCOUNT = 0x8002000E; + // // MessageId: DISP_E_PARAMNOTOPTIONAL // @@ -24417,6 +27353,7 @@ public interface WinError { // Parameter not optional. // int DISP_E_PARAMNOTOPTIONAL = 0x8002000F; + // // MessageId: DISP_E_BADCALLEE // @@ -24425,6 +27362,7 @@ public interface WinError { // Invalid callee. // int DISP_E_BADCALLEE = 0x80020010; + // // MessageId: DISP_E_NOTACOLLECTION // @@ -24433,6 +27371,7 @@ public interface WinError { // Does not support a collection. // int DISP_E_NOTACOLLECTION = 0x80020011; + // // MessageId: DISP_E_DIVBYZERO // @@ -24441,6 +27380,7 @@ public interface WinError { // Division by zero. // int DISP_E_DIVBYZERO = 0x80020012; + // // MessageId: DISP_E_BUFFERTOOSMALL // @@ -24449,6 +27389,7 @@ public interface WinError { // Buffer too small // int DISP_E_BUFFERTOOSMALL = 0x80020013; + // // MessageId: TYPE_E_BUFFERTOOSMALL // @@ -24457,6 +27398,7 @@ public interface WinError { // Buffer too small. // int TYPE_E_BUFFERTOOSMALL = 0x80028016; + // // MessageId: TYPE_E_FIELDNOTFOUND // @@ -24465,6 +27407,7 @@ public interface WinError { // Field name not defined in the record. // int TYPE_E_FIELDNOTFOUND = 0x80028017; + // // MessageId: TYPE_E_INVDATAREAD // @@ -24473,6 +27416,7 @@ public interface WinError { // Old format or invalid type library. // int TYPE_E_INVDATAREAD = 0x80028018; + // // MessageId: TYPE_E_UNSUPFORMAT // @@ -24481,6 +27425,7 @@ public interface WinError { // Old format or invalid type library. // int TYPE_E_UNSUPFORMAT = 0x80028019; + // // MessageId: TYPE_E_REGISTRYACCESS // @@ -24489,6 +27434,7 @@ public interface WinError { // Error accessing the OLE registry. // int TYPE_E_REGISTRYACCESS = 0x8002801C; + // // MessageId: TYPE_E_LIBNOTREGISTERED // @@ -24497,6 +27443,7 @@ public interface WinError { // Library not registered. // int TYPE_E_LIBNOTREGISTERED = 0x8002801D; + // // MessageId: TYPE_E_UNDEFINEDTYPE // @@ -24505,6 +27452,7 @@ public interface WinError { // Bound to unknown type. // int TYPE_E_UNDEFINEDTYPE = 0x80028027; + // // MessageId: TYPE_E_QUALIFIEDNAMEDISALLOWED // @@ -24513,6 +27461,7 @@ public interface WinError { // Qualified name disallowed. // int TYPE_E_QUALIFIEDNAMEDISALLOWED = 0x80028028; + // // MessageId: TYPE_E_INVALIDSTATE // @@ -24521,6 +27470,7 @@ public interface WinError { // Invalid forward reference, or reference to uncompiled type. // int TYPE_E_INVALIDSTATE = 0x80028029; + // // MessageId: TYPE_E_WRONGTYPEKIND // @@ -24529,6 +27479,7 @@ public interface WinError { // Type mismatch. // int TYPE_E_WRONGTYPEKIND = 0x8002802A; + // // MessageId: TYPE_E_ELEMENTNOTFOUND // @@ -24537,6 +27488,7 @@ public interface WinError { // Element not found. // int TYPE_E_ELEMENTNOTFOUND = 0x8002802B; + // // MessageId: TYPE_E_AMBIGUOUSNAME // @@ -24545,6 +27497,7 @@ public interface WinError { // Ambiguous name. // int TYPE_E_AMBIGUOUSNAME = 0x8002802C; + // // MessageId: TYPE_E_NAMECONF;ICT // @@ -24553,6 +27506,7 @@ public interface WinError { // Name already exists in the library. // int TYPE_E_NAMECONFLICT = 0x8002802D; + // // MessageId: TYPE_E_UNKNOWNLCID // @@ -24561,6 +27515,7 @@ public interface WinError { // Unknown LCID. // int TYPE_E_UNKNOWNLCID = 0x8002802E; + // // MessageId: TYPE_E_DLLFUNCTIONNOTFOUND // @@ -24569,6 +27524,7 @@ public interface WinError { // Function not defined in specified DLL. // int TYPE_E_DLLFUNCTIONNOTFOUND = 0x8002802F; + // // MessageId: TYPE_E_BADMODULEKIND // @@ -24577,6 +27533,7 @@ public interface WinError { // Wrong module kind for the operation. // int TYPE_E_BADMODULEKIND = 0x800288BD; + // // MessageId: TYPE_E_SIZETOOBIG // @@ -24585,6 +27542,7 @@ public interface WinError { // Size may not exceed=64K. // int TYPE_E_SIZETOOBIG = 0x800288C5; + // // MessageId: TYPE_E_DUPLICATEID // @@ -24593,6 +27551,7 @@ public interface WinError { // Duplicate ID in inheritance hierarchy. // int TYPE_E_DUPLICATEID = 0x800288C6; + // // MessageId: TYPE_E_INVALIDID // @@ -24601,6 +27560,7 @@ public interface WinError { // Incorrect inheritance depth in standard OLE hmember. // int TYPE_E_INVALIDID = 0x800288CF; + // // MessageId: TYPE_E_TYPEMISMATCH // @@ -24609,6 +27569,7 @@ public interface WinError { // Type mismatch. // int TYPE_E_TYPEMISMATCH = 0x80028CA0; + // // MessageId: TYPE_E_OUTOFBOUNDS // @@ -24617,6 +27578,7 @@ public interface WinError { // Invalid number of arguments. // int TYPE_E_OUTOFBOUNDS = 0x80028CA1; + // // MessageId: TYPE_E_IOERROR // @@ -24625,6 +27587,7 @@ public interface WinError { // I/O Error. // int TYPE_E_IOERROR = 0x80028CA2; + // // MessageId: TYPE_E_CANTCREATETMPFILE // @@ -24633,6 +27596,7 @@ public interface WinError { // Error creating unique tmp file. // int TYPE_E_CANTCREATETMPFILE = 0x80028CA3; + // // MessageId: TYPE_E_CANTLOADLIBRARY // @@ -24641,6 +27605,7 @@ public interface WinError { // Error loading type library/DLL. // int TYPE_E_CANTLOADLIBRARY = 0x80029C4A; + // // MessageId: TYPE_E_INCONSISTENTPROPFUNCS // @@ -24649,6 +27614,7 @@ public interface WinError { // Inconsistent property functions. // int TYPE_E_INCONSISTENTPROPFUNCS = 0x80029C83; + // // MessageId: TYPE_E_CIRCULARTYPE // @@ -24657,6 +27623,7 @@ public interface WinError { // Circular dependency between types/modules. // int TYPE_E_CIRCULARTYPE = 0x80029C84; + // ****************** // FACILITY_STORAGE // ****************** @@ -24668,6 +27635,7 @@ public interface WinError { // Unable to perform requested operation. // int STG_E_INVALIDFUNCTION = 0x80030001; + // // MessageId: STG_E_FILENOTFOUND // @@ -24676,6 +27644,7 @@ public interface WinError { // %1 could not be found. // int STG_E_FILENOTFOUND = 0x80030002; + // // MessageId: STG_E_PATHNOTFOUND // @@ -24684,6 +27653,7 @@ public interface WinError { // The path %1 could not be found. // int STG_E_PATHNOTFOUND = 0x80030003; + // // MessageId: STG_E_TOOMANYOPENFILES // @@ -24692,6 +27662,7 @@ public interface WinError { // There are insufficient resources to open another file. // int STG_E_TOOMANYOPENFILES = 0x80030004; + // // MessageId: STG_E_ACCESSDENIED // @@ -24700,6 +27671,7 @@ public interface WinError { // Access Denied. // int STG_E_ACCESSDENIED = 0x80030005; + // // MessageId: STG_E_INVALIDHANDLE // @@ -24708,6 +27680,7 @@ public interface WinError { // Attempted an operation on an invalid object. // int STG_E_INVALIDHANDLE = 0x80030006; + // // MessageId: STG_E_INSUFFICIENTMEMORY // @@ -24716,6 +27689,7 @@ public interface WinError { // There is insufficient memory available to complete operation. // int STG_E_INSUFFICIENTMEMORY = 0x80030008; + // // MessageId: STG_E_INVALIDPOINTER // @@ -24724,6 +27698,7 @@ public interface WinError { // Invalid pointer error. // int STG_E_INVALIDPOINTER = 0x80030009; + // // MessageId: STG_E_NOMOREFILES // @@ -24732,6 +27707,7 @@ public interface WinError { // There are no more entries to return. // int STG_E_NOMOREFILES = 0x80030012; + // // MessageId: STG_E_DISKISWRITEPROTECTED // @@ -24740,6 +27716,7 @@ public interface WinError { // Disk is write-protected. // int STG_E_DISKISWRITEPROTECTED = 0x80030013; + // // MessageId: STG_E_SEEKERROR // @@ -24748,6 +27725,7 @@ public interface WinError { // An error occurred during a seek operation. // int STG_E_SEEKERROR = 0x80030019; + // // MessageId: STG_E_WRITEFAULT // @@ -24756,6 +27734,7 @@ public interface WinError { // A disk error occurred during a write operation. // int STG_E_WRITEFAULT = 0x8003001D; + // // MessageId: STG_E_READFAULT // @@ -24764,6 +27743,7 @@ public interface WinError { // A disk error occurred during a read operation. // int STG_E_READFAULT = 0x8003001E; + // // MessageId: STG_E_SHAREVIOLATION // @@ -24772,6 +27752,7 @@ public interface WinError { // A share violation has occurred. // int STG_E_SHAREVIOLATION = 0x80030020; + // // MessageId: STG_E_LOCKVIOLATION // @@ -24780,6 +27761,7 @@ public interface WinError { // A lock violation has occurred. // int STG_E_LOCKVIOLATION = 0x80030021; + // // MessageId: STG_E_FILEALREADYEXISTS // @@ -24788,6 +27770,7 @@ public interface WinError { // %1 already exists. // int STG_E_FILEALREADYEXISTS = 0x80030050; + // // MessageId: STG_E_INVALIDPARAMETER // @@ -24796,6 +27779,7 @@ public interface WinError { // Invalid parameter error. // int STG_E_INVALIDPARAMETER = 0x80030057; + // // MessageId: STG_E_MEDIUMFULL // @@ -24804,6 +27788,7 @@ public interface WinError { // There is insufficient disk space to complete operation. // int STG_E_MEDIUMFULL = 0x80030070; + // // MessageId: STG_E_PROPSETMISMATCHED // @@ -24812,6 +27797,7 @@ public interface WinError { // Illegal write of non-simple property to simple property set. // int STG_E_PROPSETMISMATCHED = 0x800300F0; + // // MessageId: STG_E_ABNORMALAPIEXIT // @@ -24820,6 +27806,7 @@ public interface WinError { // An API call exited abnormally. // int STG_E_ABNORMALAPIEXIT = 0x800300FA; + // // MessageId: STG_E_INVALIDHEADER // @@ -24828,6 +27815,7 @@ public interface WinError { // The file %1 is not a valid compound file. // int STG_E_INVALIDHEADER = 0x800300FB; + // // MessageId: STG_E_INVALIDNAME // @@ -24836,6 +27824,7 @@ public interface WinError { // The name %1 is not valid. // int STG_E_INVALIDNAME = 0x800300FC; + // // MessageId: STG_E_UNKNOWN // @@ -24844,6 +27833,7 @@ public interface WinError { // An unexpected error occurred. // int STG_E_UNKNOWN = 0x800300FD; + // // MessageId: STG_E_UNIMPLEMENTEDFUNCTION // @@ -24852,6 +27842,7 @@ public interface WinError { // That function is not implemented. // int STG_E_UNIMPLEMENTEDFUNCTION = 0x800300FE; + // // MessageId: STG_E_INVALIDF;AG // @@ -24860,6 +27851,7 @@ public interface WinError { // Invalid F;ag error. // int STG_E_INVALIDFLAG = 0x800300FF; + // // MessageId: STG_E_INUSE // @@ -24868,6 +27860,7 @@ public interface WinError { // Attempted to use an object that is busy. // int STG_E_INUSE = 0x80030100; + // // MessageId: STG_E_NOTCURRENT // @@ -24876,6 +27869,7 @@ public interface WinError { // The storage has been changed since the last commit. // int STG_E_NOTCURRENT = 0x80030101; + // // MessageId: STG_E_REVERTED // @@ -24884,6 +27878,7 @@ public interface WinError { // Attempted to use an object that has ceased to exist. // int STG_E_REVERTED = 0x80030102; + // // MessageId: STG_E_CANTSAVE // @@ -24892,6 +27887,7 @@ public interface WinError { // Can't save. // int STG_E_CANTSAVE = 0x80030103; + // // MessageId: STG_E_OLDFORMAT // @@ -24901,6 +27897,7 @@ public interface WinError { // storage. // int STG_E_OLDFORMAT = 0x80030104; + // // MessageId: STG_E_OLDDLL // @@ -24909,6 +27906,7 @@ public interface WinError { // The compound file %1 was produced with a newer version of storage. // int STG_E_OLDDLL = 0x80030105; + // // MessageId: STG_E_SHAREREQUIRED // @@ -24917,6 +27915,7 @@ public interface WinError { // Share.exe or equivalent is required for operation. // int STG_E_SHAREREQUIRED = 0x80030106; + // // MessageId: STG_E_NOTFILEBASEDSTORAGE // @@ -24925,6 +27924,7 @@ public interface WinError { // Illegal operation called on non-file based storage. // int STG_E_NOTFILEBASEDSTORAGE = 0x80030107; + // // MessageId: STG_E_EXTANTMARSHALLINGS // @@ -24933,6 +27933,7 @@ public interface WinError { // Illegal operation called on object with extant marshallings. // int STG_E_EXTANTMARSHALLINGS = 0x80030108; + // // MessageId: STG_E_DOCFILECORRUPT // @@ -24941,6 +27942,7 @@ public interface WinError { // The docfile has been corrupted. // int STG_E_DOCFILECORRUPT = 0x80030109; + // // MessageId: STG_E_BADBASEADDRESS // @@ -24949,6 +27951,7 @@ public interface WinError { // OLE32.DLL has been loaded at the wrong address. // int STG_E_BADBASEADDRESS = 0x80030110; + // // MessageId: STG_E_DOCFILETOOLARGE // @@ -24957,6 +27960,7 @@ public interface WinError { // The compound file is too large for the current implementation // int STG_E_DOCFILETOOLARGE = 0x80030111; + // // MessageId: STG_E_NOTSIMPLEFORMAT // @@ -24965,6 +27969,7 @@ public interface WinError { // The compound file was not created with the STGM_SIMPLE F;ag // int STG_E_NOTSIMPLEFORMAT = 0x80030112; + // // MessageId: STG_E_INCOMPLETE // @@ -24973,6 +27978,7 @@ public interface WinError { // The file download was aborted abnormally. The file is incomplete. // int STG_E_INCOMPLETE = 0x80030201; + // // MessageId: STG_E_TERMINATED // @@ -24981,6 +27987,7 @@ public interface WinError { // The file download has been terminated. // int STG_E_TERMINATED = 0x80030202; + // // MessageId: STG_S_CONVERTED // @@ -24989,6 +27996,7 @@ public interface WinError { // The underlying file was converted to compound file format. // int STG_S_CONVERTED = 0x00030200; + // // MessageId: STG_S_BLOCK // @@ -24997,6 +28005,7 @@ public interface WinError { // The storage operation should block until more data is available. // int STG_S_BLOCK = 0x00030201; + // // MessageId: STG_S_RETRYNOW // @@ -25005,6 +28014,7 @@ public interface WinError { // The storage operation should retry immediately. // int STG_S_RETRYNOW = 0x00030202; + // // MessageId: STG_S_MONITORING // @@ -25013,6 +28023,7 @@ public interface WinError { // The notified event sink will not inF;uence the storage operation. // int STG_S_MONITORING = 0x00030203; + // // MessageId: STG_S_MULTIPLEOPENS // @@ -25021,6 +28032,7 @@ public interface WinError { // Multiple opens prevent consolidated. (commit succeeded). // int STG_S_MULTIPLEOPENS = 0x00030204; + // // MessageId: STG_S_CONSOLIDATIONFAILED // @@ -25029,6 +28041,7 @@ public interface WinError { // Consolidation of the storage file failed. (commit succeeded). // int STG_S_CONSOLIDATIONFAILED = 0x00030205; + // // MessageId: STG_S_CANNOTCONSOLIDATE // @@ -25040,10 +28053,10 @@ public interface WinError { /* * ++ - * + * * MessageId's 0x0305 - 0x031f (inclusive) are reserved for **STORAGE** copy * protection errors. - * + * * -- */ // @@ -25054,6 +28067,7 @@ public interface WinError { // Generic Copy Protection Error. // int STG_E_STATUS_COPY_PROTECTION_FAILURE = 0x80030305; + // // MessageId: STG_E_CSS_AUTHENTICATION_FAILURE // @@ -25062,6 +28076,7 @@ public interface WinError { // Copy Protection Error - DVD CSS Authentication failed. // int STG_E_CSS_AUTHENTICATION_FAILURE = 0x80030306; + // // MessageId: STG_E_CSS_KEY_NOT_PRESENT // @@ -25070,6 +28085,7 @@ public interface WinError { // Copy Protection Error - The given sector does not have a valid CSS key. // int STG_E_CSS_KEY_NOT_PRESENT = 0x80030307; + // // MessageId: STG_E_CSS_KEY_NOT_ESTABLISHED // @@ -25078,6 +28094,7 @@ public interface WinError { // Copy Protection Error - DVD session key not established. // int STG_E_CSS_KEY_NOT_ESTABLISHED = 0x80030308; + // // MessageId: STG_E_CSS_SCRAMBLED_SECTOR // @@ -25086,6 +28103,7 @@ public interface WinError { // Copy Protection Error - The read failed because the sector is encrypted. // int STG_E_CSS_SCRAMBLED_SECTOR = 0x80030309; + // // MessageId: STG_E_CSS_REGION_MISMATCH // @@ -25095,6 +28113,7 @@ public interface WinError { // the region setting of the drive. // int STG_E_CSS_REGION_MISMATCH = 0x8003030A; + // // MessageId: STG_E_RESETS_EXHAUSTED // @@ -25107,10 +28126,10 @@ public interface WinError { /* * ++ - * + * * MessageId's 0x0305 - 0x031f (inclusive) are reserved for **STORAGE** copy * protection errors. - * + * * -- */ // ****************** @@ -25127,6 +28146,7 @@ public interface WinError { // Call was rejected by callee. // int RPC_E_CALL_REJECTED = 0x80010001; + // // MessageId: RPC_E_CALL_CANCELED // @@ -25135,6 +28155,7 @@ public interface WinError { // Call was canceled by the message filter. // int RPC_E_CALL_CANCELED = 0x80010002; + // // MessageId: RPC_E_CANTPOST_INSENDCALL // @@ -25144,6 +28165,7 @@ public interface WinError { // out via PostMessage. // int RPC_E_CANTPOST_INSENDCALL = 0x80010003; + // // MessageId: RPC_E_CANTCALLOUT_INASYNCCALL // @@ -25153,6 +28175,7 @@ public interface WinError { // outgoing call on behalf of this call. // int RPC_E_CANTCALLOUT_INASYNCCALL = 0x80010004; + // // MessageId: RPC_E_CANTCALLOUT_INEXTERNALCALL // @@ -25161,6 +28184,7 @@ public interface WinError { // It is illegal to call out while inside message filter. // int RPC_E_CANTCALLOUT_INEXTERNALCALL = 0x80010005; + // // MessageId: RPC_E_CONNECTION_TERMINATED // @@ -25170,6 +28194,7 @@ public interface WinError { // more. Other connections are still valid. // int RPC_E_CONNECTION_TERMINATED = 0x80010006; + // // MessageId: RPC_E_SERVER_DIED // @@ -25179,6 +28204,7 @@ public interface WinError { // disappeared; all connections are invalid. The call may have executed. // int RPC_E_SERVER_DIED = 0x80010007; + // // MessageId: RPC_E_CLIENT_DIED // @@ -25188,6 +28214,7 @@ public interface WinError { // a call. // int RPC_E_CLIENT_DIED = 0x80010008; + // // MessageId: RPC_E_INVALID_DATAPACKET // @@ -25196,6 +28223,7 @@ public interface WinError { // The data packet with the marshalled parameter data is incorrect. // int RPC_E_INVALID_DATAPACKET = 0x80010009; + // // MessageId: RPC_E_CANTTRANSMIT_CALL // @@ -25205,6 +28233,7 @@ public interface WinError { // not emptied after yielding. // int RPC_E_CANTTRANSMIT_CALL = 0x8001000A; + // // MessageId: RPC_E_CLIENT_CANTMARSHAL_DATA // @@ -25213,6 +28242,7 @@ public interface WinError { // The client (caller) cannot marshall the parameter data - low memory, etc. // int RPC_E_CLIENT_CANTMARSHAL_DATA = 0x8001000B; + // // MessageId: RPC_E_CLIENT_CANTUNMARSHAL_DATA // @@ -25221,6 +28251,7 @@ public interface WinError { // The client (caller) cannot unmarshall the return data - low memory, etc. // int RPC_E_CLIENT_CANTUNMARSHAL_DATA = 0x8001000C; + // // MessageId: RPC_E_SERVER_CANTMARSHAL_DATA // @@ -25229,6 +28260,7 @@ public interface WinError { // The server (callee) cannot marshall the return data - low memory, etc. // int RPC_E_SERVER_CANTMARSHAL_DATA = 0x8001000D; + // // MessageId: RPC_E_SERVER_CANTUNMARSHAL_DATA // @@ -25238,6 +28270,7 @@ public interface WinError { // etc. // int RPC_E_SERVER_CANTUNMARSHAL_DATA = 0x8001000E; + // // MessageId: RPC_E_INVALID_DATA // @@ -25246,6 +28279,7 @@ public interface WinError { // Received data is invalid; could be server or client data. // int RPC_E_INVALID_DATA = 0x8001000F; + // // MessageId: RPC_E_INVALID_PARAMETER // @@ -25254,6 +28288,7 @@ public interface WinError { // A particular parameter is invalid and cannot be (un)marshalled. // int RPC_E_INVALID_PARAMETER = 0x80010010; + // // MessageId: RPC_E_CANTCALLOUT_AGAIN // @@ -25262,6 +28297,7 @@ public interface WinError { // There is no second outgoing call on same channel in DDE conversation. // int RPC_E_CANTCALLOUT_AGAIN = 0x80010011; + // // MessageId: RPC_E_SERVER_DIED_DNE // @@ -25271,6 +28307,7 @@ public interface WinError { // disappeared; all connections are invalid. The call did not execute. // int RPC_E_SERVER_DIED_DNE = 0x80010012; + // // MessageId: RPC_E_SYS_CALL_FAILED // @@ -25279,6 +28316,7 @@ public interface WinError { // System call failed. // int RPC_E_SYS_CALL_FAILED = 0x80010100; + // // MessageId: RPC_E_OUT_OF_RESOURCES // @@ -25287,6 +28325,7 @@ public interface WinError { // Could not allocate some required resource (memory, events, ...) // int RPC_E_OUT_OF_RESOURCES = 0x80010101; + // // MessageId: RPC_E_ATTEMPTED_MULTITHREAD // @@ -25295,6 +28334,7 @@ public interface WinError { // Attempted to make calls on more than one thread in single threaded mode. // int RPC_E_ATTEMPTED_MULTITHREAD = 0x80010102; + // // MessageId: RPC_E_NOT_REGISTERED // @@ -25303,6 +28343,7 @@ public interface WinError { // The requested interface is not registered on the server object. // int RPC_E_NOT_REGISTERED = 0x80010103; + // // MessageId: RPC_E_FAULT // @@ -25312,6 +28353,7 @@ public interface WinError { // the server. // int RPC_E_FAULT = 0x80010104; + // // MessageId: RPC_E_SERVERFAULT // @@ -25320,6 +28362,7 @@ public interface WinError { // The server threw an exception. // int RPC_E_SERVERFAULT = 0x80010105; + // // MessageId: RPC_E_CHANGED_MODE // @@ -25328,6 +28371,7 @@ public interface WinError { // Cannot change thread mode after it is set. // int RPC_E_CHANGED_MODE = 0x80010106; + // // MessageId: RPC_E_INVALIDMETHOD // @@ -25336,6 +28380,7 @@ public interface WinError { // The method called does not exist on the server. // int RPC_E_INVALIDMETHOD = 0x80010107; + // // MessageId: RPC_E_DISCONNECTED // @@ -25344,6 +28389,7 @@ public interface WinError { // The object invoked has disconnected from its clients. // int RPC_E_DISCONNECTED = 0x80010108; + // // MessageId: RPC_E_RETRY // @@ -25352,6 +28398,7 @@ public interface WinError { // The object invoked chose not to process the call now. Try again later. // int RPC_E_RETRY = 0x80010109; + // // MessageId: RPC_E_SERVERCALL_RETRYLATER // @@ -25360,6 +28407,7 @@ public interface WinError { // The message filter indicated that the application is busy. // int RPC_E_SERVERCALL_RETRYLATER = 0x8001010A; + // // MessageId: RPC_E_SERVERCALL_REJECTED // @@ -25368,6 +28416,7 @@ public interface WinError { // The message filter rejected the call. // int RPC_E_SERVERCALL_REJECTED = 0x8001010B; + // // MessageId: RPC_E_INVALID_CALLDATA // @@ -25376,6 +28425,7 @@ public interface WinError { // A call control interfaces was called with invalid data. // int RPC_E_INVALID_CALLDATA = 0x8001010C; + // // MessageId: RPC_E_CANTCALLOUT_ININPUTSYNCCALL // @@ -25385,6 +28435,7 @@ public interface WinError { // input-synchronous call. // int RPC_E_CANTCALLOUT_ININPUTSYNCCALL = 0x8001010D; + // // MessageId: RPC_E_WRONG_THREAD // @@ -25394,6 +28445,7 @@ public interface WinError { // thread. // int RPC_E_WRONG_THREAD = 0x8001010E; + // // MessageId: RPC_E_THREAD_NOT_INIT // @@ -25402,6 +28454,7 @@ public interface WinError { // CoInitialize has not been called on the current thread. // int RPC_E_THREAD_NOT_INIT = 0x8001010F; + // // MessageId: RPC_E_VERSION_MISMATCH // @@ -25410,6 +28463,7 @@ public interface WinError { // The version of OLE on the client and server machines does not match. // int RPC_E_VERSION_MISMATCH = 0x80010110; + // // MessageId: RPC_E_INVALID_HEADER // @@ -25418,6 +28472,7 @@ public interface WinError { // OLE received a packet with an invalid header. // int RPC_E_INVALID_HEADER = 0x80010111; + // // MessageId: RPC_E_INVALID_EXTENSION // @@ -25426,6 +28481,7 @@ public interface WinError { // OLE received a packet with an invalid extension. // int RPC_E_INVALID_EXTENSION = 0x80010112; + // // MessageId: RPC_E_INVALID_IPID // @@ -25434,6 +28490,7 @@ public interface WinError { // The requested object or interface does not exist. // int RPC_E_INVALID_IPID = 0x80010113; + // // MessageId: RPC_E_INVALID_OBJECT // @@ -25442,6 +28499,7 @@ public interface WinError { // The requested object does not exist. // int RPC_E_INVALID_OBJECT = 0x80010114; + // // MessageId: RPC_S_CALLPENDING // @@ -25450,6 +28508,7 @@ public interface WinError { // OLE has sent a request and is waiting for a reply. // int RPC_S_CALLPENDING = 0x80010115; + // // MessageId: RPC_S_WAITONTIMER // @@ -25458,6 +28517,7 @@ public interface WinError { // OLE is waiting before retrying a request. // int RPC_S_WAITONTIMER = 0x80010116; + // // MessageId: RPC_E_CALL_COMPLETE // @@ -25466,6 +28526,7 @@ public interface WinError { // Call context cannot be accessed after call completed. // int RPC_E_CALL_COMPLETE = 0x80010117; + // // MessageId: RPC_E_UNSECURE_CALL // @@ -25474,6 +28535,7 @@ public interface WinError { // Impersonate on unsecure calls is not supported. // int RPC_E_UNSECURE_CALL = 0x80010118; + // // MessageId: RPC_E_TOO_LATE // @@ -25483,6 +28545,7 @@ public interface WinError { // unmarshalled. It cannot be changed once initialized. // int RPC_E_TOO_LATE = 0x80010119; + // // MessageId: RPC_E_NO_GOOD_SECURITY_PACKAGES // @@ -25493,6 +28556,7 @@ public interface WinError { // and server. // int RPC_E_NO_GOOD_SECURITY_PACKAGES = 0x8001011A; + // // MessageId: RPC_E_ACCESS_DENIED // @@ -25501,6 +28565,7 @@ public interface WinError { // Access is denied. // int RPC_E_ACCESS_DENIED = 0x8001011B; + // // MessageId: RPC_E_REMOTE_DISABLED // @@ -25509,6 +28574,7 @@ public interface WinError { // Remote calls are not allowed for this process. // int RPC_E_REMOTE_DISABLED = 0x8001011C; + // // MessageId: RPC_E_INVALID_OBJREF // @@ -25518,6 +28584,7 @@ public interface WinError { // format. // int RPC_E_INVALID_OBJREF = 0x8001011D; + // // MessageId: RPC_E_NO_CONTEXT // @@ -25527,6 +28594,7 @@ public interface WinError { // marshalled calls and on the client side of the call. // int RPC_E_NO_CONTEXT = 0x8001011E; + // // MessageId: RPC_E_TIMEOUT // @@ -25535,6 +28603,7 @@ public interface WinError { // This operation returned because the timeout period expired. // int RPC_E_TIMEOUT = 0x8001011F; + // // MessageId: RPC_E_NO_SYNC // @@ -25543,6 +28612,7 @@ public interface WinError { // There are no synchronize objects to wait on. // int RPC_E_NO_SYNC = 0x80010120; + // // MessageId: RPC_E_FULLSIC_REQUIRED // @@ -25551,6 +28621,7 @@ public interface WinError { // Full subject issuer chain SSL principal name expected from the server. // int RPC_E_FULLSIC_REQUIRED = 0x80010121; + // // MessageId: RPC_E_INVALID_STD_NAME // @@ -25559,6 +28630,7 @@ public interface WinError { // Principal name is not a valid MSSTD name. // int RPC_E_INVALID_STD_NAME = 0x80010122; + // // MessageId: CO_E_FAILEDTOIMPERSONATE // @@ -25567,6 +28639,7 @@ public interface WinError { // Unable to impersonate DCOM client // int CO_E_FAILEDTOIMPERSONATE = 0x80010123; + // // MessageId: CO_E_FAILEDTOGETSECCTX // @@ -25575,6 +28648,7 @@ public interface WinError { // Unable to obtain server's security context // int CO_E_FAILEDTOGETSECCTX = 0x80010124; + // // MessageId: CO_E_FAILEDTOOPENTHREADTOKEN // @@ -25583,6 +28657,7 @@ public interface WinError { // Unable to open the access token of the current thread // int CO_E_FAILEDTOOPENTHREADTOKEN = 0x80010125; + // // MessageId: CO_E_FAILEDTOGETTOKENINFO // @@ -25591,6 +28666,7 @@ public interface WinError { // Unable to obtain user info from an access token // int CO_E_FAILEDTOGETTOKENINFO = 0x80010126; + // // MessageId: CO_E_TRUSTEEDOESNTMATCHCLIENT // @@ -25600,6 +28676,7 @@ public interface WinError { // trustee provided to the method // int CO_E_TRUSTEEDOESNTMATCHCLIENT = 0x80010127; + // // MessageId: CO_E_FAILEDTOQUERYCLIENTBLANKET // @@ -25608,6 +28685,7 @@ public interface WinError { // Unable to obtain the client's security blanket // int CO_E_FAILEDTOQUERYCLIENTBLANKET = 0x80010128; + // // MessageId: CO_E_FAILEDTOSETDACL // @@ -25616,6 +28694,7 @@ public interface WinError { // Unable to set a discretionary ACL into a security descriptor // int CO_E_FAILEDTOSETDACL = 0x80010129; + // // MessageId: CO_E_ACCESSCHECKFAILED // @@ -25624,6 +28703,7 @@ public interface WinError { // The system function, AccessCheck, returned false // int CO_E_ACCESSCHECKFAILED = 0x8001012A; + // // MessageId: CO_E_NETACCESSAPIFAILED // @@ -25632,6 +28712,7 @@ public interface WinError { // Either NetAccessDel or NetAccessAdd returned an error code. // int CO_E_NETACCESSAPIFAILED = 0x8001012B; + // // MessageId: CO_E_WRONGTRUSTEENAMESYNTAX // @@ -25641,6 +28722,7 @@ public interface WinError { // \ syntax and it was not the "*" string // int CO_E_WRONGTRUSTEENAMESYNTAX = 0x8001012C; + // // MessageId: CO_E_INVALIDSID // @@ -25649,6 +28731,7 @@ public interface WinError { // One of the security identifiers provided by the user was invalid // int CO_E_INVALIDSID = 0x8001012D; + // // MessageId: CO_E_CONVERSIONFAILED // @@ -25658,6 +28741,7 @@ public interface WinError { // string // int CO_E_CONVERSIONFAILED = 0x8001012E; + // // MessageId: CO_E_NOMATCHINGSIDFOUND // @@ -25667,6 +28751,7 @@ public interface WinError { // provided by the user // int CO_E_NOMATCHINGSIDFOUND = 0x8001012F; + // // MessageId: CO_E_LOOKUPACCSIDFAILED // @@ -25675,6 +28760,7 @@ public interface WinError { // The system function, LookupAccountSID, failed // int CO_E_LOOKUPACCSIDFAILED = 0x80010130; + // // MessageId: CO_E_NOMATCHINGNAMEFOUND // @@ -25684,6 +28770,7 @@ public interface WinError { // provided by the user // int CO_E_NOMATCHINGNAMEFOUND = 0x80010131; + // // MessageId: CO_E_LOOKUPACCNAMEFAILED // @@ -25692,6 +28779,7 @@ public interface WinError { // The system function, LookupAccountName, failed // int CO_E_LOOKUPACCNAMEFAILED = 0x80010132; + // // MessageId: CO_E_SETSERLHNDLFAILED // @@ -25700,6 +28788,7 @@ public interface WinError { // Unable to set or reset a serialization handle // int CO_E_SETSERLHNDLFAILED = 0x80010133; + // // MessageId: CO_E_FAILEDTOGETWINDIR // @@ -25708,6 +28797,7 @@ public interface WinError { // Unable to obtain the Windows directory // int CO_E_FAILEDTOGETWINDIR = 0x80010134; + // // MessageId: CO_E_PATHTOOLONG // @@ -25716,6 +28806,7 @@ public interface WinError { // Path too long // int CO_E_PATHTOOLONG = 0x80010135; + // // MessageId: CO_E_FAILEDTOGENUUID // @@ -25724,6 +28815,7 @@ public interface WinError { // Unable to generate a uuid. // int CO_E_FAILEDTOGENUUID = 0x80010136; + // // MessageId: CO_E_FAILEDTOCREATEFILE // @@ -25732,6 +28824,7 @@ public interface WinError { // Unable to create file // int CO_E_FAILEDTOCREATEFILE = 0x80010137; + // // MessageId: CO_E_FAILEDTOCLOSEHANDLE // @@ -25740,6 +28833,7 @@ public interface WinError { // Unable to close a serialization handle or a file handle. // int CO_E_FAILEDTOCLOSEHANDLE = 0x80010138; + // // MessageId: CO_E_EXCEEDSYSACLLIMIT // @@ -25748,6 +28842,7 @@ public interface WinError { // The number of ACEs in an ACL exceeds the system limit. // int CO_E_EXCEEDSYSACLLIMIT = 0x80010139; + // // MessageId: CO_E_ACESINWRONGORDER // @@ -25757,6 +28852,7 @@ public interface WinError { // ACEs in the stream. // int CO_E_ACESINWRONGORDER = 0x8001013A; + // // MessageId: CO_E_INCOMPATIBLESTREAMVERSION // @@ -25766,6 +28862,7 @@ public interface WinError { // implementation of IAccessControl // int CO_E_INCOMPATIBLESTREAMVERSION = 0x8001013B; + // // MessageId: CO_E_FAILEDTOOPENPROCESSTOKEN // @@ -25774,6 +28871,7 @@ public interface WinError { // Unable to open the access token of the server process // int CO_E_FAILEDTOOPENPROCESSTOKEN = 0x8001013C; + // // MessageId: CO_E_DECODEFAILED // @@ -25782,6 +28880,7 @@ public interface WinError { // Unable to decode the ACL in the stream provided by the user // int CO_E_DECODEFAILED = 0x8001013D; + // // MessageId: CO_E_ACNOTINITIALIZED // @@ -25790,6 +28889,7 @@ public interface WinError { // The COM IAccessControl object is not initialized // int CO_E_ACNOTINITIALIZED = 0x8001013F; + // // MessageId: CO_E_CANCEL_DISABLED // @@ -25798,6 +28898,7 @@ public interface WinError { // Call Cancellation is disabled // int CO_E_CANCEL_DISABLED = 0x80010140; + // // MessageId: RPC_E_UNEXPECTED // @@ -25806,6 +28907,7 @@ public interface WinError { // An internal error occurred. // int RPC_E_UNEXPECTED = 0x8001FFFF; + // //////////////////////////////////// // =// // Additional Security Status Codes // @@ -25821,6 +28923,7 @@ public interface WinError { // The specified event is currently not being audited. // int ERROR_AUDITING_DISABLED = 0xC0090001; + // // MessageId: ERROR_ALL_SIDS_FILTERED // @@ -25829,6 +28932,7 @@ public interface WinError { // The SID filtering operation removed all SIDs. // int ERROR_ALL_SIDS_FILTERED = 0xC0090002; + // // MessageId: ERROR_BIZRULES_NOT_ENABLED // @@ -25837,6 +28941,7 @@ public interface WinError { // Business rule scripts are disabled for the calling application. // int ERROR_BIZRULES_NOT_ENABLED = 0xC0090003; + // /////////////////////////////////////////// // =// // end of Additional Security Status Codes // @@ -25855,6 +28960,7 @@ public interface WinError { // Bad UID. // int NTE_BAD_UID = 0x80090001; + // // MessageId: NTE_BAD_HASH // @@ -25863,6 +28969,7 @@ public interface WinError { // Bad Hash. // int NTE_BAD_HASH = 0x80090002; + // // MessageId: NTE_BAD_KEY // @@ -25871,6 +28978,7 @@ public interface WinError { // Bad Key. // int NTE_BAD_KEY = 0x80090003; + // // MessageId: NTE_BAD_LEN // @@ -25879,6 +28987,7 @@ public interface WinError { // Bad Length. // int NTE_BAD_LEN = 0x80090004; + // // MessageId: NTE_BAD_DATA // @@ -25887,6 +28996,7 @@ public interface WinError { // Bad Data. // int NTE_BAD_DATA = 0x80090005; + // // MessageId: NTE_BAD_SIGNATURE // @@ -25895,6 +29005,7 @@ public interface WinError { // Invalid Signature. // int NTE_BAD_SIGNATURE = 0x80090006; + // // MessageId: NTE_BAD_VER // @@ -25903,6 +29014,7 @@ public interface WinError { // Bad Version of provider. // int NTE_BAD_VER = 0x80090007; + // // MessageId: NTE_BAD_ALGID // @@ -25911,6 +29023,7 @@ public interface WinError { // Invalid algorithm specified. // int NTE_BAD_ALGID = 0x80090008; + // // MessageId: NTE_BAD_F;AGS // @@ -25919,6 +29032,7 @@ public interface WinError { // Invalid F;ags specified. // int NTE_BAD_FLAGS = 0x80090009; + // // MessageId: NTE_BAD_TYPE // @@ -25927,6 +29041,7 @@ public interface WinError { // Invalid type specified. // int NTE_BAD_TYPE = 0x8009000A; + // // MessageId: NTE_BAD_KEY_STATE // @@ -25935,6 +29050,7 @@ public interface WinError { // Key not valid for use in specified state. // int NTE_BAD_KEY_STATE = 0x8009000B; + // // MessageId: NTE_BAD_HASH_STATE // @@ -25943,6 +29059,7 @@ public interface WinError { // Hash not valid for use in specified state. // int NTE_BAD_HASH_STATE = 0x8009000C; + // // MessageId: NTE_NO_KEY // @@ -25951,6 +29068,7 @@ public interface WinError { // Key does not exist. // int NTE_NO_KEY = 0x8009000D; + // // MessageId: NTE_NO_MEMORY // @@ -25959,6 +29077,7 @@ public interface WinError { // Insufficient memory available for the operation. // int NTE_NO_MEMORY = 0x8009000E; + // // MessageId: NTE_EXISTS // @@ -25967,6 +29086,7 @@ public interface WinError { // Object already exists. // int NTE_EXISTS = 0x8009000F; + // // MessageId: NTE_PERM // @@ -25975,6 +29095,7 @@ public interface WinError { // Access denied. // int NTE_PERM = 0x80090010; + // // MessageId: NTE_NOT_FOUND // @@ -25983,6 +29104,7 @@ public interface WinError { // Object was not found. // int NTE_NOT_FOUND = 0x80090011; + // // MessageId: NTE_DOUBLE_ENCRYPT // @@ -25991,6 +29113,7 @@ public interface WinError { // Data already encrypted. // int NTE_DOUBLE_ENCRYPT = 0x80090012; + // // MessageId: NTE_BAD_PROVIDER // @@ -25999,6 +29122,7 @@ public interface WinError { // Invalid provider specified. // int NTE_BAD_PROVIDER = 0x80090013; + // // MessageId: NTE_BAD_PROV_TYPE // @@ -26007,6 +29131,7 @@ public interface WinError { // Invalid provider type specified. // int NTE_BAD_PROV_TYPE = 0x80090014; + // // MessageId: NTE_BAD_PUBLIC_KEY // @@ -26015,6 +29140,7 @@ public interface WinError { // Provider's public key is invalid. // int NTE_BAD_PUBLIC_KEY = 0x80090015; + // // MessageId: NTE_BAD_KEYSET // @@ -26023,6 +29149,7 @@ public interface WinError { // Keyset does not exist // int NTE_BAD_KEYSET = 0x80090016; + // // MessageId: NTE_PROV_TYPE_NOT_DEF // @@ -26031,6 +29158,7 @@ public interface WinError { // Provider type not defined. // int NTE_PROV_TYPE_NOT_DEF = 0x80090017; + // // MessageId: NTE_PROV_TYPE_ENTRY_BAD // @@ -26039,6 +29167,7 @@ public interface WinError { // Provider type as registered is invalid. // int NTE_PROV_TYPE_ENTRY_BAD = 0x80090018; + // // MessageId: NTE_KEYSET_NOT_DEF // @@ -26047,6 +29176,7 @@ public interface WinError { // The keyset is not defined. // int NTE_KEYSET_NOT_DEF = 0x80090019; + // // MessageId: NTE_KEYSET_ENTRY_BAD // @@ -26055,6 +29185,7 @@ public interface WinError { // Keyset as registered is invalid. // int NTE_KEYSET_ENTRY_BAD = 0x8009001A; + // // MessageId: NTE_PROV_TYPE_NO_MATCH // @@ -26063,6 +29194,7 @@ public interface WinError { // Provider type does not match registered value. // int NTE_PROV_TYPE_NO_MATCH = 0x8009001B; + // // MessageId: NTE_SIGNATURE_FILE_BAD // @@ -26071,6 +29203,7 @@ public interface WinError { // The digital signature file is corrupt. // int NTE_SIGNATURE_FILE_BAD = 0x8009001C; + // // MessageId: NTE_PROVIDER_DLL_FAIL // @@ -26079,6 +29212,7 @@ public interface WinError { // Provider DLL failed to initialize correctly. // int NTE_PROVIDER_DLL_FAIL = 0x8009001D; + // // MessageId: NTE_PROV_DLL_NOT_FOUND // @@ -26087,6 +29221,7 @@ public interface WinError { // Provider DLL could not be found. // int NTE_PROV_DLL_NOT_FOUND = 0x8009001E; + // // MessageId: NTE_BAD_KEYSET_PARAM // @@ -26095,6 +29230,7 @@ public interface WinError { // The Keyset parameter is invalid. // int NTE_BAD_KEYSET_PARAM = 0x8009001F; + // // MessageId: NTE_FAIL // @@ -26103,6 +29239,7 @@ public interface WinError { // An internal error occurred. // int NTE_FAIL = 0x80090020; + // // MessageId: NTE_SYS_ERR // @@ -26111,6 +29248,7 @@ public interface WinError { // A base error occurred. // int NTE_SYS_ERR = 0x80090021; + // // MessageId: NTE_SILENT_CONTEXT // @@ -26120,6 +29258,7 @@ public interface WinError { // silent. // int NTE_SILENT_CONTEXT = 0x80090022; + // // MessageId: NTE_TOKEN_KEYSET_STORAGE_FULL // @@ -26129,6 +29268,7 @@ public interface WinError { // additional container. // int NTE_TOKEN_KEYSET_STORAGE_FULL = 0x80090023; + // // MessageId: NTE_TEMPORARY_PROFILE // @@ -26137,6 +29277,7 @@ public interface WinError { // The profile for the user is a temporary profile. // int NTE_TEMPORARY_PROFILE = 0x80090024; + // // MessageId: NTE_FIXEDPARAMETER // @@ -26146,6 +29287,7 @@ public interface WinError { // parameters. // int NTE_FIXEDPARAMETER = 0x80090025; + // // MessageId: NTE_INVALID_HANDLE // @@ -26154,6 +29296,7 @@ public interface WinError { // The supplied handle is invalid. // int NTE_INVALID_HANDLE = 0x80090026; + // // MessageId: NTE_INVALID_PARAMETER // @@ -26162,6 +29305,7 @@ public interface WinError { // The parameter is incorrect. // int NTE_INVALID_PARAMETER = 0x80090027; + // // MessageId: NTE_BUFFER_TOO_SMALL // @@ -26170,6 +29314,7 @@ public interface WinError { // The buffer supplied to a function was too small. // int NTE_BUFFER_TOO_SMALL = 0x80090028; + // // MessageId: NTE_NOT_SUPPORTED // @@ -26178,6 +29323,7 @@ public interface WinError { // The requested operation is not supported. // int NTE_NOT_SUPPORTED = 0x80090029; + // // MessageId: NTE_NO_MORE_ITEMS // @@ -26186,6 +29332,7 @@ public interface WinError { // No more data is available. // int NTE_NO_MORE_ITEMS = 0x8009002A; + // // MessageId: NTE_BUFFERS_OVERLAP // @@ -26194,6 +29341,7 @@ public interface WinError { // The supplied buffers overlap incorrectly. // int NTE_BUFFERS_OVERLAP = 0x8009002B; + // // MessageId: NTE_DECRYPTION_FAILURE // @@ -26202,6 +29350,7 @@ public interface WinError { // The specified data could not be decrypted. // int NTE_DECRYPTION_FAILURE = 0x8009002C; + // // MessageId: NTE_INTERNAL_ERROR // @@ -26210,6 +29359,7 @@ public interface WinError { // An internal consistency check failed. // int NTE_INTERNAL_ERROR = 0x8009002D; + // // MessageId: NTE_UI_REQUIRED // @@ -26218,6 +29368,7 @@ public interface WinError { // This operation requires input from the user. // int NTE_UI_REQUIRED = 0x8009002E; + // // MessageId: NTE_HMAC_NOT_SUPPORTED // @@ -26226,6 +29377,7 @@ public interface WinError { // The cryptographic provider does not support HMAC. // int NTE_HMAC_NOT_SUPPORTED = 0x8009002F; + // // MessageId: SEC_E_INSUFFICIENT_MEMORY // @@ -26234,6 +29386,7 @@ public interface WinError { // Not enough memory is available to complete this request // int SEC_E_INSUFFICIENT_MEMORY = 0x80090300; + // // MessageId: SEC_E_INVALID_HANDLE // @@ -26242,6 +29395,7 @@ public interface WinError { // The handle specified is invalid // int SEC_E_INVALID_HANDLE = 0x80090301; + // // MessageId: SEC_E_UNSUPPORTED_FUNCTION // @@ -26250,6 +29404,7 @@ public interface WinError { // The function requested is not supported // int SEC_E_UNSUPPORTED_FUNCTION = 0x80090302; + // // MessageId: SEC_E_TARGET_UNKNOWN // @@ -26258,6 +29413,7 @@ public interface WinError { // The specified target is unknown or unreachable // int SEC_E_TARGET_UNKNOWN = 0x80090303; + // // MessageId: SEC_E_INTERNAL_ERROR // @@ -26266,6 +29422,7 @@ public interface WinError { // The Local Security Authority cannot be contacted // int SEC_E_INTERNAL_ERROR = 0x80090304; + // // MessageId: SEC_E_SECPKG_NOT_FOUND // @@ -26274,6 +29431,7 @@ public interface WinError { // The requested security package does not exist // int SEC_E_SECPKG_NOT_FOUND = 0x80090305; + // // MessageId: SEC_E_NOT_OWNER // @@ -26282,6 +29440,7 @@ public interface WinError { // The caller is not the owner of the desired credentials // int SEC_E_NOT_OWNER = 0x80090306; + // // MessageId: SEC_E_CANNOT_INSTALL // @@ -26290,6 +29449,7 @@ public interface WinError { // The security package failed to initialize, and cannot be installed // int SEC_E_CANNOT_INSTALL = 0x80090307; + // // MessageId: SEC_E_INVALID_TOKEN // @@ -26298,6 +29458,7 @@ public interface WinError { // The token supplied to the function is invalid // int SEC_E_INVALID_TOKEN = 0x80090308; + // // MessageId: SEC_E_CANNOT_PACK // @@ -26307,6 +29468,7 @@ public interface WinError { // logon attempt has failed // int SEC_E_CANNOT_PACK = 0x80090309; + // // MessageId: SEC_E_QOP_NOT_SUPPORTED // @@ -26316,6 +29478,7 @@ public interface WinError { // package // int SEC_E_QOP_NOT_SUPPORTED = 0x8009030A; + // // MessageId: SEC_E_NO_IMPERSONATION // @@ -26324,6 +29487,7 @@ public interface WinError { // The security context does not allow impersonation of the client // int SEC_E_NO_IMPERSONATION = 0x8009030B; + // // MessageId: SEC_E_LOGON_DENIED // @@ -26332,6 +29496,7 @@ public interface WinError { // The logon attempt failed // int SEC_E_LOGON_DENIED = 0x8009030C; + // // MessageId: SEC_E_UNKNOWN_CREDENTIALS // @@ -26340,6 +29505,7 @@ public interface WinError { // The credentials supplied to the package were not recognized // int SEC_E_UNKNOWN_CREDENTIALS = 0x8009030D; + // // MessageId: SEC_E_NO_CREDENTIALS // @@ -26348,6 +29514,7 @@ public interface WinError { // No credentials are available in the security package // int SEC_E_NO_CREDENTIALS = 0x8009030E; + // // MessageId: SEC_E_MESSAGE_ALTERED // @@ -26356,6 +29523,7 @@ public interface WinError { // The message or signature supplied for verification has been altered // int SEC_E_MESSAGE_ALTERED = 0x8009030F; + // // MessageId: SEC_E_OUT_OF_SEQUENCE // @@ -26364,6 +29532,7 @@ public interface WinError { // The message supplied for verification is out of sequence // int SEC_E_OUT_OF_SEQUENCE = 0x80090310; + // // MessageId: SEC_E_NO_AUTHENTICATING_AUTHORITY // @@ -26372,6 +29541,7 @@ public interface WinError { // No authority could be contacted for authentication. // int SEC_E_NO_AUTHENTICATING_AUTHORITY = 0x80090311; + // // MessageId: SEC_I_CONTINUE_NEEDED // @@ -26381,6 +29551,7 @@ public interface WinError { // the context // int SEC_I_CONTINUE_NEEDED = 0x00090312; + // // MessageId: SEC_I_COMPLETE_NEEDED // @@ -26389,6 +29560,7 @@ public interface WinError { // The function completed successfully, but CompleteToken must be called // int SEC_I_COMPLETE_NEEDED = 0x00090313; + // // MessageId: SEC_I_COMPLETE_AND_CONTINUE // @@ -26398,6 +29570,7 @@ public interface WinError { // function must be called to complete the context // int SEC_I_COMPLETE_AND_CONTINUE = 0x00090314; + // // MessageId: SEC_I_LOCAL_LOGON // @@ -26407,6 +29580,7 @@ public interface WinError { // logon was made using locally known information // int SEC_I_LOCAL_LOGON = 0x00090315; + // // MessageId: SEC_E_BAD_PKGID // @@ -26415,6 +29589,7 @@ public interface WinError { // The requested security package does not exist // int SEC_E_BAD_PKGID = 0x80090316; + // // MessageId: SEC_E_CONTEXT_EXPIRED // @@ -26423,6 +29598,7 @@ public interface WinError { // The context has expired and can no longer be used. // int SEC_E_CONTEXT_EXPIRED = 0x80090317; + // // MessageId: SEC_I_CONTEXT_EXPIRED // @@ -26431,6 +29607,7 @@ public interface WinError { // The context has expired and can no longer be used. // int SEC_I_CONTEXT_EXPIRED = 0x00090317; + // // MessageId: SEC_E_INCOMPLETE_MESSAGE // @@ -26439,6 +29616,7 @@ public interface WinError { // The supplied message is incomplete. The signature was not verified. // int SEC_E_INCOMPLETE_MESSAGE = 0x80090318; + // // MessageId: SEC_E_INCOMPLETE_CREDENTIALS // @@ -26448,6 +29626,7 @@ public interface WinError { // The context could not be initialized. // int SEC_E_INCOMPLETE_CREDENTIALS = 0x80090320; + // // MessageId: SEC_E_BUFFER_TOO_SMALL // @@ -26456,6 +29635,7 @@ public interface WinError { // The buffers supplied to a function was too small. // int SEC_E_BUFFER_TOO_SMALL = 0x80090321; + // // MessageId: SEC_I_INCOMPLETE_CREDENTIALS // @@ -26465,6 +29645,7 @@ public interface WinError { // Additional information can be returned from the context. // int SEC_I_INCOMPLETE_CREDENTIALS = 0x00090320; + // // MessageId: SEC_I_RENEGOTIATE // @@ -26473,6 +29654,7 @@ public interface WinError { // The context data must be renegotiated with the peer. // int SEC_I_RENEGOTIATE = 0x00090321; + // // MessageId: SEC_E_WRONG_PRINCIPAL // @@ -26481,6 +29663,7 @@ public interface WinError { // The target principal name is incorrect. // int SEC_E_WRONG_PRINCIPAL = 0x80090322; + // // MessageId: SEC_I_NO_LSA_CONTEXT // @@ -26489,6 +29672,7 @@ public interface WinError { // There is no LSA mode context associated with this context. // int SEC_I_NO_LSA_CONTEXT = 0x00090323; + // // MessageId: SEC_E_TIME_SKEW // @@ -26497,6 +29681,7 @@ public interface WinError { // The clocks on the client and server machines are skewed. // int SEC_E_TIME_SKEW = 0x80090324; + // // MessageId: SEC_E_UNTRUSTED_ROOT // @@ -26505,6 +29690,7 @@ public interface WinError { // The certificate chain was issued by an authority that is not trusted. // int SEC_E_UNTRUSTED_ROOT = 0x80090325; + // // MessageId: SEC_E_ILLEGAL_MESSAGE // @@ -26513,6 +29699,7 @@ public interface WinError { // The message received was unexpected or badly formatted. // int SEC_E_ILLEGAL_MESSAGE = 0x80090326; + // // MessageId: SEC_E_CERT_UNKNOWN // @@ -26521,6 +29708,7 @@ public interface WinError { // An unknown error occurred while processing the certificate. // int SEC_E_CERT_UNKNOWN = 0x80090327; + // // MessageId: SEC_E_CERT_EXPIRED // @@ -26529,6 +29717,7 @@ public interface WinError { // The received certificate has expired. // int SEC_E_CERT_EXPIRED = 0x80090328; + // // MessageId: SEC_E_ENCRYPT_FAILURE // @@ -26537,15 +29726,17 @@ public interface WinError { // The specified data could not be encrypted. // int SEC_E_ENCRYPT_FAILURE = 0x80090329; + // // MessageId: SEC_E_DECRYPT_FAILURE // // MessageText: // // The specified data could not be decrypted. - // + // // int SEC_E_DECRYPT_FAILURE = 0x80090330; + // // MessageId: SEC_E_ALGORITHM_MISMATCH // @@ -26555,6 +29746,7 @@ public interface WinError { // common algorithm. // int SEC_E_ALGORITHM_MISMATCH = 0x80090331; + // // MessageId: SEC_E_SECURITY_QOS_FAILED // @@ -26564,6 +29756,7 @@ public interface WinError { // requested quality of service (e.g. mutual authentication or delegation). // int SEC_E_SECURITY_QOS_FAILED = 0x80090332; + // // MessageId: SEC_E_UNFINISHED_CONTEXT_DELETED // @@ -26573,6 +29766,7 @@ public interface WinError { // considered a logon failure. // int SEC_E_UNFINISHED_CONTEXT_DELETED = 0x80090333; + // // MessageId: SEC_E_NO_TGT_REPLY // @@ -26582,6 +29776,7 @@ public interface WinError { // user-to-user but didn't send a TGT reply. // int SEC_E_NO_TGT_REPLY = 0x80090334; + // // MessageId: SEC_E_NO_IP_ADDRESSES // @@ -26591,6 +29786,7 @@ public interface WinError { // not have any IP addresses. // int SEC_E_NO_IP_ADDRESSES = 0x80090335; + // // MessageId: SEC_E_WRONG_CREDENTIAL_HANDLE // @@ -26600,6 +29796,7 @@ public interface WinError { // with the security context. // int SEC_E_WRONG_CREDENTIAL_HANDLE = 0x80090336; + // // MessageId: SEC_E_CRYPTO_SYSTEM_INVALID // @@ -26609,6 +29806,7 @@ public interface WinError { // function is unavailable. // int SEC_E_CRYPTO_SYSTEM_INVALID = 0x80090337; + // // MessageId: SEC_E_MAX_REFERRALS_EXCEEDED // @@ -26617,6 +29815,7 @@ public interface WinError { // The number of maximum ticket referrals has been exceeded. // int SEC_E_MAX_REFERRALS_EXCEEDED = 0x80090338; + // // MessageId: SEC_E_MUST_BE_KDC // @@ -26626,6 +29825,7 @@ public interface WinError { // not. // int SEC_E_MUST_BE_KDC = 0x80090339; + // // MessageId: SEC_E_STRONG_CRYPTO_NOT_SUPPORTED // @@ -26635,6 +29835,7 @@ public interface WinError { // it is not supported on the local machine. // int SEC_E_STRONG_CRYPTO_NOT_SUPPORTED = 0x8009033A; + // // MessageId: SEC_E_TOO_MANY_PRINCIPALS // @@ -26643,6 +29844,7 @@ public interface WinError { // The KDC reply contained more than one principal name. // int SEC_E_TOO_MANY_PRINCIPALS = 0x8009033B; + // // MessageId: SEC_E_NO_PA_DATA // @@ -26652,6 +29854,7 @@ public interface WinError { // found. // int SEC_E_NO_PA_DATA = 0x8009033C; + // // MessageId: SEC_E_PKINIT_NAME_MISMATCH // @@ -26662,6 +29865,7 @@ public interface WinError { // in the logon request. Please contact your administrator. // int SEC_E_PKINIT_NAME_MISMATCH = 0x8009033D; + // // MessageId: SEC_E_SMARTCARD_LOGON_REQUIRED // @@ -26670,6 +29874,7 @@ public interface WinError { // Smartcard logon is required and was not used. // int SEC_E_SMARTCARD_LOGON_REQUIRED = 0x8009033E; + // // MessageId: SEC_E_SHUTDOWN_IN_PROGRESS // @@ -26678,6 +29883,7 @@ public interface WinError { // A system shutdown is in progress. // int SEC_E_SHUTDOWN_IN_PROGRESS = 0x8009033F; + // // MessageId: SEC_E_KDC_INVALID_REQUEST // @@ -26686,6 +29892,7 @@ public interface WinError { // An invalid request was sent to the KDC. // int SEC_E_KDC_INVALID_REQUEST = 0x80090340; + // // MessageId: SEC_E_KDC_UNABLE_TO_REFER // @@ -26694,6 +29901,7 @@ public interface WinError { // The KDC was unable to generate a referral for the service requested. // int SEC_E_KDC_UNABLE_TO_REFER = 0x80090341; + // // MessageId: SEC_E_KDC_UNKNOWN_ETYPE // @@ -26702,6 +29910,7 @@ public interface WinError { // The encryption type requested is not supported by the KDC. // int SEC_E_KDC_UNKNOWN_ETYPE = 0x80090342; + // // MessageId: SEC_E_UNSUPPORTED_PREAUTH // @@ -26711,6 +29920,7 @@ public interface WinError { // package. // int SEC_E_UNSUPPORTED_PREAUTH = 0x80090343; + // // MessageId: SEC_E_DELEGATION_REQUIRED // @@ -26721,6 +29931,7 @@ public interface WinError { // delegation. // int SEC_E_DELEGATION_REQUIRED = 0x80090345; + // // MessageId: SEC_E_BAD_BINDINGS // @@ -26729,6 +29940,7 @@ public interface WinError { // Client's supplied SSPI channel bindings were incorrect. // int SEC_E_BAD_BINDINGS = 0x80090346; + // // MessageId: SEC_E_MULTIPLE_ACCOUNTS // @@ -26737,6 +29949,7 @@ public interface WinError { // The received certificate was mapped to multiple accounts. // int SEC_E_MULTIPLE_ACCOUNTS = 0x80090347; + // // MessageId: SEC_E_NO_KERB_KEY // @@ -26745,6 +29958,7 @@ public interface WinError { // SEC_E_NO_KERB_KEY // int SEC_E_NO_KERB_KEY = 0x80090348; + // // MessageId: SEC_E_CERT_WRONG_USAGE // @@ -26753,6 +29967,7 @@ public interface WinError { // The certificate is not valid for the requested usage. // int SEC_E_CERT_WRONG_USAGE = 0x80090349; + // // MessageId: SEC_E_DOWNGRADE_DETECTED // @@ -26762,6 +29977,7 @@ public interface WinError { // ensure that you can contact the server that authenticated you. // int SEC_E_DOWNGRADE_DETECTED = 0x80090350; + // // MessageId: SEC_E_SMARTCARD_CERT_REVOKED // @@ -26772,6 +29988,7 @@ public interface WinError { // information in the event log. // int SEC_E_SMARTCARD_CERT_REVOKED = 0x80090351; + // // MessageId: SEC_E_ISSUING_CA_UNTRUSTED // @@ -26782,6 +29999,7 @@ public interface WinError { // administrator. // int SEC_E_ISSUING_CA_UNTRUSTED = 0x80090352; + // // MessageId: SEC_E_REVOCATION_OFF;INE_C // @@ -26792,6 +30010,7 @@ public interface WinError { // administrator. // int SEC_E_REVOCATION_OFFLINE_C = 0x80090353; + // // MessageId: SEC_E_PKINIT_CLIENT_FAILURE // @@ -26801,6 +30020,7 @@ public interface WinError { // contact your system administrator. // int SEC_E_PKINIT_CLIENT_FAILURE = 0x80090354; + // // MessageId: SEC_E_SMARTCARD_CERT_EXPIRED // @@ -26810,6 +30030,7 @@ public interface WinError { // contact your system administrator. // int SEC_E_SMARTCARD_CERT_EXPIRED = 0x80090355; + // // MessageId: SEC_E_NO_S4U_PROT_SUPPORT // @@ -26820,6 +30041,7 @@ public interface WinError { // service for user. // int SEC_E_NO_S4U_PROT_SUPPORT = 0x80090356; + // // MessageId: SEC_E_CROSSREALM_DELEGATION_FAILURE // @@ -26831,6 +30053,7 @@ public interface WinError { // to delegate to list. Please contact your administrator. // int SEC_E_CROSSREALM_DELEGATION_FAILURE = 0x80090357; + // // MessageId: SEC_E_REVOCATION_OFF;INE_KDC // @@ -26842,6 +30065,7 @@ public interface WinError { // administrator. // int SEC_E_REVOCATION_OFFLINE_KDC = 0x80090358; + // // MessageId: SEC_E_ISSUING_CA_UNTRUSTED_KDC // @@ -26853,6 +30077,7 @@ public interface WinError { // system administrator. // int SEC_E_ISSUING_CA_UNTRUSTED_KDC = 0x80090359; + // // MessageId: SEC_E_KDC_CERT_EXPIRED // @@ -26863,6 +30088,7 @@ public interface WinError { // event log. // int SEC_E_KDC_CERT_EXPIRED = 0x8009035A; + // // MessageId: SEC_E_KDC_CERT_REVOKED // @@ -26873,6 +30099,7 @@ public interface WinError { // your system event log. // int SEC_E_KDC_CERT_REVOKED = 0x8009035B; + // // MessageId: SEC_I_SIGNATURE_NEEDED // @@ -26881,6 +30108,7 @@ public interface WinError { // A signature operation must be performed before the user can authenticate. // int SEC_I_SIGNATURE_NEEDED = 0x0009035C; + // // MessageId: SEC_E_INVALID_PARAMETER // @@ -26889,6 +30117,7 @@ public interface WinError { // One or more of the parameters passed to the function was invalid. // int SEC_E_INVALID_PARAMETER = 0x8009035D; + // // MessageId: SEC_E_DELEGATION_POLICY // @@ -26897,6 +30126,7 @@ public interface WinError { // Client policy does not allow credential delegation to target server. // int SEC_E_DELEGATION_POLICY = 0x8009035E; + // // MessageId: SEC_E_POLICY_NLTM_ONLY // @@ -26906,6 +30136,7 @@ public interface WinError { // NLTM only authentication. // int SEC_E_POLICY_NLTM_ONLY = 0x8009035F; + // // MessageId: SEC_I_NO_RENEGOTIATION // @@ -26914,11 +30145,14 @@ public interface WinError { // The recipient rejected the renegotiation request. // int SEC_I_NO_RENEGOTIATION = 0x00090360; + // // Provided for backwards compatibility // int SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR; + int SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION; + // // MessageId: CRYPT_E_MSG_ERROR // @@ -26928,6 +30162,7 @@ public interface WinError { // message. // int CRYPT_E_MSG_ERROR = 0x80091001; + // // MessageId: CRYPT_E_UNKNOWN_ALGO // @@ -26936,6 +30171,7 @@ public interface WinError { // Unknown cryptographic algorithm. // int CRYPT_E_UNKNOWN_ALGO = 0x80091002; + // // MessageId: CRYPT_E_OID_FORMAT // @@ -26944,6 +30180,7 @@ public interface WinError { // The object identifier is poorly formatted. // int CRYPT_E_OID_FORMAT = 0x80091003; + // // MessageId: CRYPT_E_INVALID_MSG_TYPE // @@ -26952,6 +30189,7 @@ public interface WinError { // Invalid cryptographic message type. // int CRYPT_E_INVALID_MSG_TYPE = 0x80091004; + // // MessageId: CRYPT_E_UNEXPECTED_ENCODING // @@ -26960,6 +30198,7 @@ public interface WinError { // Unexpected cryptographic message encoding. // int CRYPT_E_UNEXPECTED_ENCODING = 0x80091005; + // // MessageId: CRYPT_E_AUTH_ATTR_MISSING // @@ -26969,6 +30208,7 @@ public interface WinError { // attribute. // int CRYPT_E_AUTH_ATTR_MISSING = 0x80091006; + // // MessageId: CRYPT_E_HASH_VALUE // @@ -26977,6 +30217,7 @@ public interface WinError { // The hash value is not correct. // int CRYPT_E_HASH_VALUE = 0x80091007; + // // MessageId: CRYPT_E_INVALID_INDEX // @@ -26985,6 +30226,7 @@ public interface WinError { // The index value is not valid. // int CRYPT_E_INVALID_INDEX = 0x80091008; + // // MessageId: CRYPT_E_ALREADY_DECRYPTED // @@ -26993,6 +30235,7 @@ public interface WinError { // The content of the cryptographic message has already been decrypted. // int CRYPT_E_ALREADY_DECRYPTED = 0x80091009; + // // MessageId: CRYPT_E_NOT_DECRYPTED // @@ -27001,6 +30244,7 @@ public interface WinError { // The content of the cryptographic message has not been decrypted yet. // int CRYPT_E_NOT_DECRYPTED = 0x8009100A; + // // MessageId: CRYPT_E_RECIPIENT_NOT_FOUND // @@ -27009,6 +30253,7 @@ public interface WinError { // The enveloped-data message does not contain the specified recipient. // int CRYPT_E_RECIPIENT_NOT_FOUND = 0x8009100B; + // // MessageId: CRYPT_E_CONTROL_TYPE // @@ -27017,6 +30262,7 @@ public interface WinError { // Invalid control type. // int CRYPT_E_CONTROL_TYPE = 0x8009100C; + // // MessageId: CRYPT_E_ISSUER_SERIALNUMBER // @@ -27025,6 +30271,7 @@ public interface WinError { // Invalid issuer and/or serial number. // int CRYPT_E_ISSUER_SERIALNUMBER = 0x8009100D; + // // MessageId: CRYPT_E_SIGNER_NOT_FOUND // @@ -27033,6 +30280,7 @@ public interface WinError { // Cannot find the original signer. // int CRYPT_E_SIGNER_NOT_FOUND = 0x8009100E; + // // MessageId: CRYPT_E_ATTRIBUTES_MISSING // @@ -27042,6 +30290,7 @@ public interface WinError { // attributes. // int CRYPT_E_ATTRIBUTES_MISSING = 0x8009100F; + // // MessageId: CRYPT_E_STREAM_MSG_NOT_READY // @@ -27050,6 +30299,7 @@ public interface WinError { // The streamed cryptographic message is not ready to return data. // int CRYPT_E_STREAM_MSG_NOT_READY = 0x80091010; + // // MessageId: CRYPT_E_STREAM_INSUFFICIENT_DATA // @@ -27059,6 +30309,7 @@ public interface WinError { // decode operation. // int CRYPT_E_STREAM_INSUFFICIENT_DATA = 0x80091011; + // // MessageId: CRYPT_I_NEW_PROTECTION_REQUIRED // @@ -27067,6 +30318,7 @@ public interface WinError { // The protected data needs to be re-protected. // int CRYPT_I_NEW_PROTECTION_REQUIRED = 0x00091012; + // // MessageId: CRYPT_E_BAD_LEN // @@ -27075,6 +30327,7 @@ public interface WinError { // The length specified for the output data was insufficient. // int CRYPT_E_BAD_LEN = 0x80092001; + // // MessageId: CRYPT_E_BAD_ENCODE // @@ -27083,6 +30336,7 @@ public interface WinError { // An error occurred during encode or decode operation. // int CRYPT_E_BAD_ENCODE = 0x80092002; + // // MessageId: CRYPT_E_FILE_ERROR // @@ -27091,6 +30345,7 @@ public interface WinError { // An error occurred while reading or writing to a file. // int CRYPT_E_FILE_ERROR = 0x80092003; + // // MessageId: CRYPT_E_NOT_FOUND // @@ -27099,6 +30354,7 @@ public interface WinError { // Cannot find object or property. // int CRYPT_E_NOT_FOUND = 0x80092004; + // // MessageId: CRYPT_E_EXISTS // @@ -27107,6 +30363,7 @@ public interface WinError { // The object or property already exists. // int CRYPT_E_EXISTS = 0x80092005; + // // MessageId: CRYPT_E_NO_PROVIDER // @@ -27115,6 +30372,7 @@ public interface WinError { // No provider was specified for the store or object. // int CRYPT_E_NO_PROVIDER = 0x80092006; + // // MessageId: CRYPT_E_SELF_SIGNED // @@ -27123,6 +30381,7 @@ public interface WinError { // The specified certificate is self signed. // int CRYPT_E_SELF_SIGNED = 0x80092007; + // // MessageId: CRYPT_E_DELETED_PREV // @@ -27131,6 +30390,7 @@ public interface WinError { // The previous certificate or CRL context was deleted. // int CRYPT_E_DELETED_PREV = 0x80092008; + // // MessageId: CRYPT_E_NO_MATCH // @@ -27139,6 +30399,7 @@ public interface WinError { // Cannot find the requested object. // int CRYPT_E_NO_MATCH = 0x80092009; + // // MessageId: CRYPT_E_UNEXPECTED_MSG_TYPE // @@ -27147,6 +30408,7 @@ public interface WinError { // The certificate does not have a property that references a private key. // int CRYPT_E_UNEXPECTED_MSG_TYPE = 0x8009200A; + // // MessageId: CRYPT_E_NO_KEY_PROPERTY // @@ -27155,6 +30417,7 @@ public interface WinError { // Cannot find the certificate and private key for decryption. // int CRYPT_E_NO_KEY_PROPERTY = 0x8009200B; + // // MessageId: CRYPT_E_NO_DECRYPT_CERT // @@ -27163,6 +30426,7 @@ public interface WinError { // Cannot find the certificate and private key to use for decryption. // int CRYPT_E_NO_DECRYPT_CERT = 0x8009200C; + // // MessageId: CRYPT_E_BAD_MSG // @@ -27172,6 +30436,7 @@ public interface WinError { // correctly. // int CRYPT_E_BAD_MSG = 0x8009200D; + // // MessageId: CRYPT_E_NO_SIGNER // @@ -27181,6 +30446,7 @@ public interface WinError { // signer index. // int CRYPT_E_NO_SIGNER = 0x8009200E; + // // MessageId: CRYPT_E_PENDING_CLOSE // @@ -27189,6 +30455,7 @@ public interface WinError { // Final closure is pending until additional frees or closes. // int CRYPT_E_PENDING_CLOSE = 0x8009200F; + // // MessageId: CRYPT_E_REVOKED // @@ -27197,6 +30464,7 @@ public interface WinError { // The certificate is revoked. // int CRYPT_E_REVOKED = 0x80092010; + // // MessageId: CRYPT_E_NO_REVOCATION_DLL // @@ -27205,6 +30473,7 @@ public interface WinError { // No Dll or exported function was found to verify revocation. // int CRYPT_E_NO_REVOCATION_DLL = 0x80092011; + // // MessageId: CRYPT_E_NO_REVOCATION_CHECK // @@ -27214,6 +30483,7 @@ public interface WinError { // certificate. // int CRYPT_E_NO_REVOCATION_CHECK = 0x80092012; + // // MessageId: CRYPT_E_REVOCATION_OFF;INE // @@ -27223,6 +30493,7 @@ public interface WinError { // revocation server was ofF;ine. // int CRYPT_E_REVOCATION_OFFLINE = 0x80092013; + // // MessageId: CRYPT_E_NOT_IN_REVOCATION_DATABASE // @@ -27231,6 +30502,7 @@ public interface WinError { // The certificate is not in the revocation server's database. // int CRYPT_E_NOT_IN_REVOCATION_DATABASE = 0x80092014; + // // MessageId: CRYPT_E_INVALID_NUMERIC_STRING // @@ -27239,6 +30511,7 @@ public interface WinError { // The string contains a non-numeric character. // int CRYPT_E_INVALID_NUMERIC_STRING = 0x80092020; + // // MessageId: CRYPT_E_INVALID_PRINTABLE_STRING // @@ -27247,6 +30520,7 @@ public interface WinError { // The string contains a non-printable character. // int CRYPT_E_INVALID_PRINTABLE_STRING = 0x80092021; + // // MessageId: CRYPT_E_INVALID_IA5_STRING // @@ -27255,6 +30529,7 @@ public interface WinError { // The string contains a character not in the=7 bit ASCII character set. // int CRYPT_E_INVALID_IA5_STRING = 0x80092022; + // // MessageId: CRYPT_E_INVALID_X500_STRING // @@ -27264,6 +30539,7 @@ public interface WinError { // delimiter. // int CRYPT_E_INVALID_X500_STRING = 0x80092023; + // // MessageId: CRYPT_E_NOT_CHAR_STRING // @@ -27274,6 +30550,7 @@ public interface WinError { // CERT_TDN_OCTED_STRING. // int CRYPT_E_NOT_CHAR_STRING = 0x80092024; + // // MessageId: CRYPT_E_FILERESIZED // @@ -27284,6 +30561,7 @@ public interface WinError { // be done. // int CRYPT_E_FILERESIZED = 0x80092025; + // // MessageId: CRYPT_E_SECURITY_SETTINGS // @@ -27293,6 +30571,7 @@ public interface WinError { // setting. // int CRYPT_E_SECURITY_SETTINGS = 0x80092026; + // // MessageId: CRYPT_E_NO_VERIFY_USAGE_DLL // @@ -27301,6 +30580,7 @@ public interface WinError { // No DLL or exported function was found to verify subject usage. // int CRYPT_E_NO_VERIFY_USAGE_DLL = 0x80092027; + // // MessageId: CRYPT_E_NO_VERIFY_USAGE_CHECK // @@ -27309,6 +30589,7 @@ public interface WinError { // The called function was unable to do a usage check on the subject. // int CRYPT_E_NO_VERIFY_USAGE_CHECK = 0x80092028; + // // MessageId: CRYPT_E_VERIFY_USAGE_OFF;INE // @@ -27318,6 +30599,7 @@ public interface WinError { // the usage check. // int CRYPT_E_VERIFY_USAGE_OFFLINE = 0x80092029; + // // MessageId: CRYPT_E_NOT_IN_CTL // @@ -27326,6 +30608,7 @@ public interface WinError { // The subject was not found in a Certificate Trust List (CT;. // int CRYPT_E_NOT_IN_CTL = 0x8009202A; + // // MessageId: CRYPT_E_NO_TRUSTED_SIGNER // @@ -27335,6 +30618,7 @@ public interface WinError { // list is trusted. // int CRYPT_E_NO_TRUSTED_SIGNER = 0x8009202B; + // // MessageId: CRYPT_E_MISSING_PUBKEY_PARA // @@ -27343,17 +30627,19 @@ public interface WinError { // The public key's algorithm parameters are missing. // int CRYPT_E_MISSING_PUBKEY_PARA = 0x8009202C; + // // MessageId: CRYPT_E_OSS_ERROR // // MessageText: // // OSS Certificate encode/decode error code base - // + // // See asn1code.h for a definition of the OSS runtime errors. The OSS // error values are offset by CRYPT_E_OSS_ERROR. // int CRYPT_E_OSS_ERROR = 0x80093000; + // // MessageId: OSS_MORE_BUF // @@ -27362,6 +30648,7 @@ public interface WinError { // OSS ASN.1 Error: Output Buffer is too small. // int OSS_MORE_BUF = 0x80093001; + // // MessageId: OSS_NEGATIVE_UINTEGER // @@ -27370,6 +30657,7 @@ public interface WinError { // OSS ASN.1 Error: Signed integer is encoded as a unsigned integer. // int OSS_NEGATIVE_UINTEGER = 0x80093002; + // // MessageId: OSS_PDU_RANGE // @@ -27378,6 +30666,7 @@ public interface WinError { // OSS ASN.1 Error: Unknown ASN.1 data type. // int OSS_PDU_RANGE = 0x80093003; + // // MessageId: OSS_MORE_INPUT // @@ -27387,6 +30676,7 @@ public interface WinError { // truncated. // int OSS_MORE_INPUT = 0x80093004; + // // MessageId: OSS_DATA_ERROR // @@ -27395,6 +30685,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_DATA_ERROR = 0x80093005; + // // MessageId: OSS_BAD_ARG // @@ -27403,6 +30694,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid argument. // int OSS_BAD_ARG = 0x80093006; + // // MessageId: OSS_BAD_VERSION // @@ -27411,6 +30703,7 @@ public interface WinError { // OSS ASN.1 Error: Encode/Decode version mismatch. // int OSS_BAD_VERSION = 0x80093007; + // // MessageId: OSS_OUT_MEMORY // @@ -27419,6 +30712,7 @@ public interface WinError { // OSS ASN.1 Error: Out of memory. // int OSS_OUT_MEMORY = 0x80093008; + // // MessageId: OSS_PDU_MISMATCH // @@ -27427,6 +30721,7 @@ public interface WinError { // OSS ASN.1 Error: Encode/Decode Error. // int OSS_PDU_MISMATCH = 0x80093009; + // // MessageId: OSS_LIMITED // @@ -27435,6 +30730,7 @@ public interface WinError { // OSS ASN.1 Error: Internal Error. // int OSS_LIMITED = 0x8009300A; + // // MessageId: OSS_BAD_PTR // @@ -27443,6 +30739,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_BAD_PTR = 0x8009300B; + // // MessageId: OSS_BAD_TIME // @@ -27451,6 +30748,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_BAD_TIME = 0x8009300C; + // // MessageId: OSS_INDEFINITE_NOT_SUPPORTED // @@ -27459,6 +30757,7 @@ public interface WinError { // OSS ASN.1 Error: Unsupported BER indefinite-length encoding. // int OSS_INDEFINITE_NOT_SUPPORTED = 0x8009300D; + // // MessageId: OSS_MEM_ERROR // @@ -27467,6 +30766,7 @@ public interface WinError { // OSS ASN.1 Error: Access violation. // int OSS_MEM_ERROR = 0x8009300E; + // // MessageId: OSS_BAD_TABLE // @@ -27475,6 +30775,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_BAD_TABLE = 0x8009300F; + // // MessageId: OSS_TOO_LONG // @@ -27483,6 +30784,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_TOO_LONG = 0x80093010; + // // MessageId: OSS_CONSTRAINT_VIOLATED // @@ -27491,6 +30793,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_CONSTRAINT_VIOLATED = 0x80093011; + // // MessageId: OSS_FATAL_ERROR // @@ -27499,6 +30802,7 @@ public interface WinError { // OSS ASN.1 Error: Internal Error. // int OSS_FATAL_ERROR = 0x80093012; + // // MessageId: OSS_ACCESS_SERIALIZATION_ERROR // @@ -27507,6 +30811,7 @@ public interface WinError { // OSS ASN.1 Error: Multi-threading conF;ict. // int OSS_ACCESS_SERIALIZATION_ERROR = 0x80093013; + // // MessageId: OSS_NULL_TBL // @@ -27515,6 +30820,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_NULL_TBL = 0x80093014; + // // MessageId: OSS_NULL_FCN // @@ -27523,6 +30829,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_NULL_FCN = 0x80093015; + // // MessageId: OSS_BAD_ENCRULES // @@ -27531,6 +30838,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_BAD_ENCRULES = 0x80093016; + // // MessageId: OSS_UNAVAIL_ENCRULES // @@ -27539,6 +30847,7 @@ public interface WinError { // OSS ASN.1 Error: Encode/Decode function not implemented. // int OSS_UNAVAIL_ENCRULES = 0x80093017; + // // MessageId: OSS_CANT_OPEN_TRACE_WINDOW // @@ -27547,6 +30856,7 @@ public interface WinError { // OSS ASN.1 Error: Trace file error. // int OSS_CANT_OPEN_TRACE_WINDOW = 0x80093018; + // // MessageId: OSS_UNIMPLEMENTED // @@ -27555,6 +30865,7 @@ public interface WinError { // OSS ASN.1 Error: Function not implemented. // int OSS_UNIMPLEMENTED = 0x80093019; + // // MessageId: OSS_OID_DLL_NOT_LINKED // @@ -27563,6 +30874,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_OID_DLL_NOT_LINKED = 0x8009301A; + // // MessageId: OSS_CANT_OPEN_TRACE_FILE // @@ -27571,6 +30883,7 @@ public interface WinError { // OSS ASN.1 Error: Trace file error. // int OSS_CANT_OPEN_TRACE_FILE = 0x8009301B; + // // MessageId: OSS_TRACE_FILE_ALREADY_OPEN // @@ -27579,6 +30892,7 @@ public interface WinError { // OSS ASN.1 Error: Trace file error. // int OSS_TRACE_FILE_ALREADY_OPEN = 0x8009301C; + // // MessageId: OSS_TABLE_MISMATCH // @@ -27587,6 +30901,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_TABLE_MISMATCH = 0x8009301D; + // // MessageId: OSS_TYPE_NOT_SUPPORTED // @@ -27595,6 +30910,7 @@ public interface WinError { // OSS ASN.1 Error: Invalid data. // int OSS_TYPE_NOT_SUPPORTED = 0x8009301E; + // // MessageId: OSS_REAL_DLL_NOT_LINKED // @@ -27603,6 +30919,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_REAL_DLL_NOT_LINKED = 0x8009301F; + // // MessageId: OSS_REAL_CODE_NOT_LINKED // @@ -27611,6 +30928,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_REAL_CODE_NOT_LINKED = 0x80093020; + // // MessageId: OSS_OUT_OF_RANGE // @@ -27619,6 +30937,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_OUT_OF_RANGE = 0x80093021; + // // MessageId: OSS_COPIER_DLL_NOT_LINKED // @@ -27627,6 +30946,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_COPIER_DLL_NOT_LINKED = 0x80093022; + // // MessageId: OSS_CONSTRAINT_DLL_NOT_LINKED // @@ -27635,6 +30955,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_CONSTRAINT_DLL_NOT_LINKED = 0x80093023; + // // MessageId: OSS_COMPARATOR_DLL_NOT_LINKED // @@ -27643,6 +30964,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_COMPARATOR_DLL_NOT_LINKED = 0x80093024; + // // MessageId: OSS_COMPARATOR_CODE_NOT_LINKED // @@ -27651,6 +30973,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_COMPARATOR_CODE_NOT_LINKED = 0x80093025; + // // MessageId: OSS_MEM_MGR_DLL_NOT_LINKED // @@ -27659,6 +30982,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_MEM_MGR_DLL_NOT_LINKED = 0x80093026; + // // MessageId: OSS_PDV_DLL_NOT_LINKED // @@ -27667,6 +30991,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_PDV_DLL_NOT_LINKED = 0x80093027; + // // MessageId: OSS_PDV_CODE_NOT_LINKED // @@ -27675,6 +31000,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_PDV_CODE_NOT_LINKED = 0x80093028; + // // MessageId: OSS_API_DLL_NOT_LINKED // @@ -27683,6 +31009,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_API_DLL_NOT_LINKED = 0x80093029; + // // MessageId: OSS_BERDER_DLL_NOT_LINKED // @@ -27691,6 +31018,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_BERDER_DLL_NOT_LINKED = 0x8009302A; + // // MessageId: OSS_PER_DLL_NOT_LINKED // @@ -27699,6 +31027,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_PER_DLL_NOT_LINKED = 0x8009302B; + // // MessageId: OSS_OPEN_TYPE_ERROR // @@ -27707,6 +31036,7 @@ public interface WinError { // OSS ASN.1 Error: Program link error. // int OSS_OPEN_TYPE_ERROR = 0x8009302C; + // // MessageId: OSS_MUTEX_NOT_CREATED // @@ -27715,6 +31045,7 @@ public interface WinError { // OSS ASN.1 Error: System resource error. // int OSS_MUTEX_NOT_CREATED = 0x8009302D; + // // MessageId: OSS_CANT_CLOSE_TRACE_FILE // @@ -27723,16 +31054,18 @@ public interface WinError { // OSS ASN.1 Error: Trace file error. // int OSS_CANT_CLOSE_TRACE_FILE = 0x8009302E; + // // MessageId: CRYPT_E_ASN1_ERROR // // MessageText: // // ASN1 Certificate encode/decode error code base. - // + // // The ASN1 error values are offset by CRYPT_E_ASN1_ERROR. // int CRYPT_E_ASN1_ERROR = 0x80093100; + // // MessageId: CRYPT_E_ASN1_INTERNAL // @@ -27741,6 +31074,7 @@ public interface WinError { // ASN1 internal encode or decode error. // int CRYPT_E_ASN1_INTERNAL = 0x80093101; + // // MessageId: CRYPT_E_ASN1_EOD // @@ -27749,6 +31083,7 @@ public interface WinError { // ASN1 unexpected end of data. // int CRYPT_E_ASN1_EOD = 0x80093102; + // // MessageId: CRYPT_E_ASN1_CORRUPT // @@ -27757,6 +31092,7 @@ public interface WinError { // ASN1 corrupted data. // int CRYPT_E_ASN1_CORRUPT = 0x80093103; + // // MessageId: CRYPT_E_ASN1_LARGE // @@ -27765,6 +31101,7 @@ public interface WinError { // ASN1 value too large. // int CRYPT_E_ASN1_LARGE = 0x80093104; + // // MessageId: CRYPT_E_ASN1_CONSTRAINT // @@ -27773,6 +31110,7 @@ public interface WinError { // ASN1 constraint violated. // int CRYPT_E_ASN1_CONSTRAINT = 0x80093105; + // // MessageId: CRYPT_E_ASN1_MEMORY // @@ -27781,6 +31119,7 @@ public interface WinError { // ASN1 out of memory. // int CRYPT_E_ASN1_MEMORY = 0x80093106; + // // MessageId: CRYPT_E_ASN1_OVERF;OW // @@ -27789,6 +31128,7 @@ public interface WinError { // ASN1 buffer overF;ow. // int CRYPT_E_ASN1_OVERFLOW = 0x80093107; + // // MessageId: CRYPT_E_ASN1_BADPDU // @@ -27797,6 +31137,7 @@ public interface WinError { // ASN1 function not supported for this PDU. // int CRYPT_E_ASN1_BADPDU = 0x80093108; + // // MessageId: CRYPT_E_ASN1_BADARGS // @@ -27805,6 +31146,7 @@ public interface WinError { // ASN1 bad arguments to function call. // int CRYPT_E_ASN1_BADARGS = 0x80093109; + // // MessageId: CRYPT_E_ASN1_BADREAL // @@ -27813,6 +31155,7 @@ public interface WinError { // ASN1 bad real value. // int CRYPT_E_ASN1_BADREAL = 0x8009310A; + // // MessageId: CRYPT_E_ASN1_BADTAG // @@ -27821,6 +31164,7 @@ public interface WinError { // ASN1 bad tag value met. // int CRYPT_E_ASN1_BADTAG = 0x8009310B; + // // MessageId: CRYPT_E_ASN1_CHOICE // @@ -27829,6 +31173,7 @@ public interface WinError { // ASN1 bad choice value. // int CRYPT_E_ASN1_CHOICE = 0x8009310C; + // // MessageId: CRYPT_E_ASN1_RULE // @@ -27837,6 +31182,7 @@ public interface WinError { // ASN1 bad encoding rule. // int CRYPT_E_ASN1_RULE = 0x8009310D; + // // MessageId: CRYPT_E_ASN1_UTF8 // @@ -27845,6 +31191,7 @@ public interface WinError { // ASN1 bad unicode (UTF8). // int CRYPT_E_ASN1_UTF8 = 0x8009310E; + // // MessageId: CRYPT_E_ASN1_PDU_TYPE // @@ -27853,6 +31200,7 @@ public interface WinError { // ASN1 bad PDU type. // int CRYPT_E_ASN1_PDU_TYPE = 0x80093133; + // // MessageId: CRYPT_E_ASN1_NYI // @@ -27861,6 +31209,7 @@ public interface WinError { // ASN1 not yet implemented. // int CRYPT_E_ASN1_NYI = 0x80093134; + // // MessageId: CRYPT_E_ASN1_EXTENDED // @@ -27869,6 +31218,7 @@ public interface WinError { // ASN1 skipped unknown extension(s). // int CRYPT_E_ASN1_EXTENDED = 0x80093201; + // // MessageId: CRYPT_E_ASN1_NOEOD // @@ -27877,6 +31227,7 @@ public interface WinError { // ASN1 end of data expected // int CRYPT_E_ASN1_NOEOD = 0x80093202; + // // MessageId: CERTSRV_E_BAD_REQUESTSUBJECT // @@ -27885,6 +31236,7 @@ public interface WinError { // The request subject name is invalid or too long. // int CERTSRV_E_BAD_REQUESTSUBJECT = 0x80094001; + // // MessageId: CERTSRV_E_NO_REQUEST // @@ -27893,6 +31245,7 @@ public interface WinError { // The request does not exist. // int CERTSRV_E_NO_REQUEST = 0x80094002; + // // MessageId: CERTSRV_E_BAD_REQUESTSTATUS // @@ -27901,6 +31254,7 @@ public interface WinError { // The request's current status does not allow this operation. // int CERTSRV_E_BAD_REQUESTSTATUS = 0x80094003; + // // MessageId: CERTSRV_E_PROPERTY_EMPTY // @@ -27909,6 +31263,7 @@ public interface WinError { // The requested property value is empty. // int CERTSRV_E_PROPERTY_EMPTY = 0x80094004; + // // MessageId: CERTSRV_E_INVALID_CA_CERTIFICATE // @@ -27917,6 +31272,7 @@ public interface WinError { // The certification authority's certificate contains invalid data. // int CERTSRV_E_INVALID_CA_CERTIFICATE = 0x80094005; + // // MessageId: CERTSRV_E_SERVER_SUSPENDED // @@ -27925,6 +31281,7 @@ public interface WinError { // Certificate service has been suspended for a database restore operation. // int CERTSRV_E_SERVER_SUSPENDED = 0x80094006; + // // MessageId: CERTSRV_E_ENCODING_LENGTH // @@ -27934,6 +31291,7 @@ public interface WinError { // incompatible with older enrollment software. // int CERTSRV_E_ENCODING_LENGTH = 0x80094007; + // // MessageId: CERTSRV_E_ROLECONF;ICT // @@ -27943,6 +31301,7 @@ public interface WinError { // certification authority is configured to enforce role separation. // int CERTSRV_E_ROLECONFLICT = 0x80094008; + // // MessageId: CERTSRV_E_RESTRICTEDOFFICER // @@ -27952,6 +31311,7 @@ public interface WinError { // manager that is allowed to manage certificates for the current requester. // int CERTSRV_E_RESTRICTEDOFFICER = 0x80094009; + // // MessageId: CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED // @@ -27961,6 +31321,7 @@ public interface WinError { // for key archival. // int CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED = 0x8009400A; + // // MessageId: CERTSRV_E_NO_VALID_KRA // @@ -27970,6 +31331,7 @@ public interface WinError { // one or more key recovery certificates. // int CERTSRV_E_NO_VALID_KRA = 0x8009400B; + // // MessageId: CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL // @@ -27979,6 +31341,7 @@ public interface WinError { // in an unauthenticated attribute in an outermost signature. // int CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL = 0x8009400C; + // // MessageId: CERTSRV_E_NO_CAADMIN_DEFINED // @@ -27988,6 +31351,7 @@ public interface WinError { // CA. // int CERTSRV_E_NO_CAADMIN_DEFINED = 0x8009400D; + // // MessageId: CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE // @@ -27996,6 +31360,7 @@ public interface WinError { // The request contains an invalid renewal certificate attribute. // int CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE = 0x8009400E; + // // MessageId: CERTSRV_E_NO_DB_SESSIONS // @@ -28006,6 +31371,7 @@ public interface WinError { // configured to allow additional sessions. // int CERTSRV_E_NO_DB_SESSIONS = 0x8009400F; + // // MessageId: CERTSRV_E_ALIGNMENT_FAULT // @@ -28014,6 +31380,7 @@ public interface WinError { // A memory reference caused a data alignment fault. // int CERTSRV_E_ALIGNMENT_FAULT = 0x80094010; + // // MessageId: CERTSRV_E_ENROLL_DENIED // @@ -28023,6 +31390,7 @@ public interface WinError { // user to enroll for certificates. // int CERTSRV_E_ENROLL_DENIED = 0x80094011; + // // MessageId: CERTSRV_E_TEMPLATE_DENIED // @@ -28032,6 +31400,7 @@ public interface WinError { // to enroll for this type of certificate. // int CERTSRV_E_TEMPLATE_DENIED = 0x80094012; + // // MessageId: CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE // @@ -28042,6 +31411,7 @@ public interface WinError { // for Active Directory access. // int CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE = 0x80094013; + // // MessageId: CERTSRV_E_UNSUPPORTED_CERT_TYPE // @@ -28050,6 +31420,7 @@ public interface WinError { // The requested certificate template is not supported by this CA. // int CERTSRV_E_UNSUPPORTED_CERT_TYPE = 0x80094800; + // // MessageId: CERTSRV_E_NO_CERT_TYPE // @@ -28058,6 +31429,7 @@ public interface WinError { // The request contains no certificate template information. // int CERTSRV_E_NO_CERT_TYPE = 0x80094801; + // // MessageId: CERTSRV_E_TEMPLATE_CONF;ICT // @@ -28066,6 +31438,7 @@ public interface WinError { // The request contains conF;icting template information. // int CERTSRV_E_TEMPLATE_CONFLICT = 0x80094802; + // // MessageId: CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED // @@ -28074,6 +31447,7 @@ public interface WinError { // The request is missing a required Subject Alternate name extension. // int CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED = 0x80094803; + // // MessageId: CERTSRV_E_ARCHIVED_KEY_REQUIRED // @@ -28082,6 +31456,7 @@ public interface WinError { // The request is missing a required private key for archival by the server. // int CERTSRV_E_ARCHIVED_KEY_REQUIRED = 0x80094804; + // // MessageId: CERTSRV_E_SMIME_REQUIRED // @@ -28090,6 +31465,7 @@ public interface WinError { // The request is missing a required SMIME capabilities extension. // int CERTSRV_E_SMIME_REQUIRED = 0x80094805; + // // MessageId: CERTSRV_E_BAD_RENEWAL_SUBJECT // @@ -28100,6 +31476,7 @@ public interface WinError { // to authorize the request. // int CERTSRV_E_BAD_RENEWAL_SUBJECT = 0x80094806; + // // MessageId: CERTSRV_E_BAD_TEMPLATE_VERSION // @@ -28109,6 +31486,7 @@ public interface WinError { // version. // int CERTSRV_E_BAD_TEMPLATE_VERSION = 0x80094807; + // // MessageId: CERTSRV_E_TEMPLATE_POLICY_REQUIRED // @@ -28117,6 +31495,7 @@ public interface WinError { // The template is missing a required signature policy attribute. // int CERTSRV_E_TEMPLATE_POLICY_REQUIRED = 0x80094808; + // // MessageId: CERTSRV_E_SIGNATURE_POLICY_REQUIRED // @@ -28125,6 +31504,7 @@ public interface WinError { // The request is missing required signature policy information. // int CERTSRV_E_SIGNATURE_POLICY_REQUIRED = 0x80094809; + // // MessageId: CERTSRV_E_SIGNATURE_COUNT // @@ -28133,6 +31513,7 @@ public interface WinError { // The request is missing one or more required signatures. // int CERTSRV_E_SIGNATURE_COUNT = 0x8009480A; + // // MessageId: CERTSRV_E_SIGNATURE_REJECTED // @@ -28143,6 +31524,7 @@ public interface WinError { // signatures. // int CERTSRV_E_SIGNATURE_REJECTED = 0x8009480B; + // // MessageId: CERTSRV_E_ISSUANCE_POLICY_REQUIRED // @@ -28151,6 +31533,7 @@ public interface WinError { // The request is missing one or more required signature issuance policies. // int CERTSRV_E_ISSUANCE_POLICY_REQUIRED = 0x8009480C; + // // MessageId: CERTSRV_E_SUBJECT_UPN_REQUIRED // @@ -28159,6 +31542,7 @@ public interface WinError { // The UPN is unavailable and cannot be added to the Subject Alternate name. // int CERTSRV_E_SUBJECT_UPN_REQUIRED = 0x8009480D; + // // MessageId: CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED // @@ -28168,6 +31552,7 @@ public interface WinError { // Subject Alternate name. // int CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED = 0x8009480E; + // // MessageId: CERTSRV_E_SUBJECT_DNS_REQUIRED // @@ -28177,6 +31562,7 @@ public interface WinError { // name. // int CERTSRV_E_SUBJECT_DNS_REQUIRED = 0x8009480F; + // // MessageId: CERTSRV_E_ARCHIVED_KEY_UNEXPECTED // @@ -28186,6 +31572,7 @@ public interface WinError { // archival is not enabled for the specified certificate template. // int CERTSRV_E_ARCHIVED_KEY_UNEXPECTED = 0x80094810; + // // MessageId: CERTSRV_E_KEY_LENGTH // @@ -28195,6 +31582,7 @@ public interface WinError { // certificate template. // int CERTSRV_E_KEY_LENGTH = 0x80094811; + // // MessageId: CERTSRV_E_SUBJECT_EMAIL_REQUIRED // @@ -28204,6 +31592,7 @@ public interface WinError { // Subject Alternate name. // int CERTSRV_E_SUBJECT_EMAIL_REQUIRED = 0x80094812; + // // MessageId: CERTSRV_E_UNKNOWN_CERT_TYPE // @@ -28213,6 +31602,7 @@ public interface WinError { // authority could not be found. // int CERTSRV_E_UNKNOWN_CERT_TYPE = 0x80094813; + // // MessageId: CERTSRV_E_CERT_TYPE_OVERLAP // @@ -28223,6 +31613,7 @@ public interface WinError { // certificate renewed. // int CERTSRV_E_CERT_TYPE_OVERLAP = 0x80094814; + // // MessageId: CERTSRV_E_TOO_MANY_SIGNATURES // @@ -28232,6 +31623,7 @@ public interface WinError { // signature is allowed. // int CERTSRV_E_TOO_MANY_SIGNATURES = 0x80094815; + // // The range 0x5000-0x51ff is reserved for XENROLL errors. // @@ -28243,6 +31635,7 @@ public interface WinError { // The key is not exportable. // int XENROLL_E_KEY_NOT_EXPORTABLE = 0x80095000; + // // MessageId: XENROLL_E_CANNOT_ADD_ROOT_CERT // @@ -28251,6 +31644,7 @@ public interface WinError { // You cannot add the root CA certificate into your local store. // int XENROLL_E_CANNOT_ADD_ROOT_CERT = 0x80095001; + // // MessageId: XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND // @@ -28259,6 +31653,7 @@ public interface WinError { // The key archival hash attribute was not found in the response. // int XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND = 0x80095002; + // // MessageId: XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH // @@ -28267,6 +31662,7 @@ public interface WinError { // An unexpected key archival hash attribute was found in the response. // int XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH = 0x80095003; + // // MessageId: XENROLL_E_RESPONSE_KA_HASH_MISMATCH // @@ -28276,6 +31672,7 @@ public interface WinError { // response. // int XENROLL_E_RESPONSE_KA_HASH_MISMATCH = 0x80095004; + // // MessageId: XENROLL_E_KEYSPEC_SMIME_MISMATCH // @@ -28284,6 +31681,7 @@ public interface WinError { // Signing certificate cannot include SMIME extension. // int XENROLL_E_KEYSPEC_SMIME_MISMATCH = 0x80095005; + // // MessageId: TRUST_E_SYSTEM_ERROR // @@ -28292,6 +31690,7 @@ public interface WinError { // A system-level error occurred while verifying trust. // int TRUST_E_SYSTEM_ERROR = 0x80096001; + // // MessageId: TRUST_E_NO_SIGNER_CERT // @@ -28300,6 +31699,7 @@ public interface WinError { // The certificate for the signer of the message is invalid or not found. // int TRUST_E_NO_SIGNER_CERT = 0x80096002; + // // MessageId: TRUST_E_COUNTER_SIGNER // @@ -28308,6 +31708,7 @@ public interface WinError { // One of the counter signatures was invalid. // int TRUST_E_COUNTER_SIGNER = 0x80096003; + // // MessageId: TRUST_E_CERT_SIGNATURE // @@ -28316,6 +31717,7 @@ public interface WinError { // The signature of the certificate cannot be verified. // int TRUST_E_CERT_SIGNATURE = 0x80096004; + // // MessageId: TRUST_E_TIME_STAMP // @@ -28325,6 +31727,7 @@ public interface WinError { // malformed. // int TRUST_E_TIME_STAMP = 0x80096005; + // // MessageId: TRUST_E_BAD_DIGEST // @@ -28333,6 +31736,7 @@ public interface WinError { // The digital signature of the object did not verify. // int TRUST_E_BAD_DIGEST = 0x80096010; + // // MessageId: TRUST_E_BASIC_CONSTRAINTS // @@ -28341,6 +31745,7 @@ public interface WinError { // A certificate's basic constraint extension has not been observed. // int TRUST_E_BASIC_CONSTRAINTS = 0x80096019; + // // MessageId: TRUST_E_FINANCIAL_CRITERIA // @@ -28350,6 +31755,7 @@ public interface WinError { // extensions. // int TRUST_E_FINANCIAL_CRITERIA = 0x8009601E; + // // Error codes for mssipotf.dll // Most of the error codes can only occur when an error occurs @@ -28364,6 +31770,7 @@ public interface WinError { // Tried to reference a part of the file outside the proper range. // int MSSIPOTF_E_OUTOFMEMRANGE = 0x80097001; + // // MessageId: MSSIPOTF_E_CANTGETOBJECT // @@ -28372,6 +31779,7 @@ public interface WinError { // Could not retrieve an object from the file. // int MSSIPOTF_E_CANTGETOBJECT = 0x80097002; + // // MessageId: MSSIPOTF_E_NOHEADTABLE // @@ -28380,6 +31788,7 @@ public interface WinError { // Could not find the head table in the file. // int MSSIPOTF_E_NOHEADTABLE = 0x80097003; + // // MessageId: MSSIPOTF_E_BAD_MAGICNUMBER // @@ -28388,6 +31797,7 @@ public interface WinError { // The magic number in the head table is incorrect. // int MSSIPOTF_E_BAD_MAGICNUMBER = 0x80097004; + // // MessageId: MSSIPOTF_E_BAD_OFFSET_TABLE // @@ -28396,6 +31806,7 @@ public interface WinError { // The offset table has incorrect values. // int MSSIPOTF_E_BAD_OFFSET_TABLE = 0x80097005; + // // MessageId: MSSIPOTF_E_TABLE_TAGORDER // @@ -28404,6 +31815,7 @@ public interface WinError { // Duplicate table tags or tags out of alphabetical order. // int MSSIPOTF_E_TABLE_TAGORDER = 0x80097006; + // // MessageId: MSSIPOTF_E_TABLE_LONGWORD // @@ -28412,6 +31824,7 @@ public interface WinError { // A table does not start on a long word boundary. // int MSSIPOTF_E_TABLE_LONGWORD = 0x80097007; + // // MessageId: MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT // @@ -28420,6 +31833,7 @@ public interface WinError { // First table does not appear after header information. // int MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT = 0x80097008; + // // MessageId: MSSIPOTF_E_TABLES_OVERLAP // @@ -28428,6 +31842,7 @@ public interface WinError { // Two or more tables overlap. // int MSSIPOTF_E_TABLES_OVERLAP = 0x80097009; + // // MessageId: MSSIPOTF_E_TABLE_PADBYTES // @@ -28436,6 +31851,7 @@ public interface WinError { // Too many pad bytes between tables or pad bytes are not 0. // int MSSIPOTF_E_TABLE_PADBYTES = 0x8009700A; + // // MessageId: MSSIPOTF_E_FILETOOSMALL // @@ -28444,6 +31860,7 @@ public interface WinError { // File is too small to contain the last table. // int MSSIPOTF_E_FILETOOSMALL = 0x8009700B; + // // MessageId: MSSIPOTF_E_TABLE_CHECKSUM // @@ -28452,6 +31869,7 @@ public interface WinError { // A table checksum is incorrect. // int MSSIPOTF_E_TABLE_CHECKSUM = 0x8009700C; + // // MessageId: MSSIPOTF_E_FILE_CHECKSUM // @@ -28460,6 +31878,7 @@ public interface WinError { // The file checksum is incorrect. // int MSSIPOTF_E_FILE_CHECKSUM = 0x8009700D; + // // MessageId: MSSIPOTF_E_FAILED_POLICY // @@ -28468,6 +31887,7 @@ public interface WinError { // The signature does not have the correct attributes for the policy. // int MSSIPOTF_E_FAILED_POLICY = 0x80097010; + // // MessageId: MSSIPOTF_E_FAILED_HINTS_CHECK // @@ -28476,6 +31896,7 @@ public interface WinError { // The file did not pass the hints check. // int MSSIPOTF_E_FAILED_HINTS_CHECK = 0x80097011; + // // MessageId: MSSIPOTF_E_NOT_OPENTYPE // @@ -28484,6 +31905,7 @@ public interface WinError { // The file is not an OpenType file. // int MSSIPOTF_E_NOT_OPENTYPE = 0x80097012; + // // MessageId: MSSIPOTF_E_FILE // @@ -28492,6 +31914,7 @@ public interface WinError { // Failed on a file operation (open, map, read, write). // int MSSIPOTF_E_FILE = 0x80097013; + // // MessageId: MSSIPOTF_E_CRYPT // @@ -28500,6 +31923,7 @@ public interface WinError { // A call to a CryptoAPI function failed. // int MSSIPOTF_E_CRYPT = 0x80097014; + // // MessageId: MSSIPOTF_E_BADVERSION // @@ -28508,6 +31932,7 @@ public interface WinError { // There is a bad version number in the file. // int MSSIPOTF_E_BADVERSION = 0x80097015; + // // MessageId: MSSIPOTF_E_DSIG_STRUCTURE // @@ -28516,6 +31941,7 @@ public interface WinError { // The structure of the DSIG table is incorrect. // int MSSIPOTF_E_DSIG_STRUCTURE = 0x80097016; + // // MessageId: MSSIPOTF_E_PCONST_CHECK // @@ -28524,6 +31950,7 @@ public interface WinError { // A check failed in a partially constant table. // int MSSIPOTF_E_PCONST_CHECK = 0x80097017; + // // MessageId: MSSIPOTF_E_STRUCTURE // @@ -28532,6 +31959,7 @@ public interface WinError { // Some kind of structural error. // int MSSIPOTF_E_STRUCTURE = 0x80097018; + // // MessageId: ERROR_CRED_REQUIRES_CONFIRMATION // @@ -28540,7 +31968,9 @@ public interface WinError { // The requested credential requires confirmation. // int ERROR_CRED_REQUIRES_CONFIRMATION = 0x80097019; + int NTE_OP_OK = 0; + // // Note that additional FACILITY_SSPI errors are in issperr.h // @@ -28555,6 +31985,7 @@ public interface WinError { // Unknown trust provider. // int TRUST_E_PROVIDER_UNKNOWN = 0x800B0001; + // // MessageId: TRUST_E_ACTION_UNKNOWN // @@ -28564,6 +31995,7 @@ public interface WinError { // trust provider. // int TRUST_E_ACTION_UNKNOWN = 0x800B0002; + // // MessageId: TRUST_E_SUBJECT_FORM_UNKNOWN // @@ -28573,6 +32005,7 @@ public interface WinError { // specified trust provider. // int TRUST_E_SUBJECT_FORM_UNKNOWN = 0x800B0003; + // // MessageId: TRUST_E_SUBJECT_NOT_TRUSTED // @@ -28581,6 +32014,7 @@ public interface WinError { // The subject is not trusted for the specified action. // int TRUST_E_SUBJECT_NOT_TRUSTED = 0x800B0004; + // // MessageId: DIGSIG_E_ENCODE // @@ -28589,6 +32023,7 @@ public interface WinError { // Error due to problem in ASN.1 encoding process. // int DIGSIG_E_ENCODE = 0x800B0005; + // // MessageId: DIGSIG_E_DECODE // @@ -28597,6 +32032,7 @@ public interface WinError { // Error due to problem in ASN.1 decoding process. // int DIGSIG_E_DECODE = 0x800B0006; + // // MessageId: DIGSIG_E_EXTENSIBILITY // @@ -28606,6 +32042,7 @@ public interface WinError { // versa. // int DIGSIG_E_EXTENSIBILITY = 0x800B0007; + // // MessageId: DIGSIG_E_CRYPTO // @@ -28614,6 +32051,7 @@ public interface WinError { // Unspecified cryptographic failure. // int DIGSIG_E_CRYPTO = 0x800B0008; + // // MessageId: PERSIST_E_SIZEDEFINITE // @@ -28622,6 +32060,7 @@ public interface WinError { // The size of the data could not be determined. // int PERSIST_E_SIZEDEFINITE = 0x800B0009; + // // MessageId: PERSIST_E_SIZEINDEFINITE // @@ -28630,6 +32069,7 @@ public interface WinError { // The size of the indefinite-sized data could not be determined. // int PERSIST_E_SIZEINDEFINITE = 0x800B000A; + // // MessageId: PERSIST_E_NOTSELFSIZING // @@ -28638,6 +32078,7 @@ public interface WinError { // This object does not read and write self-sizing data. // int PERSIST_E_NOTSELFSIZING = 0x800B000B; + // // MessageId: TRUST_E_NOSIGNATURE // @@ -28646,6 +32087,7 @@ public interface WinError { // No signature was present in the subject. // int TRUST_E_NOSIGNATURE = 0x800B0100; + // // MessageId: CERT_E_EXPIRED // @@ -28655,6 +32097,7 @@ public interface WinError { // against the current system clock or the timestamp in the signed file. // int CERT_E_EXPIRED = 0x800B0101; + // // MessageId: CERT_E_VALIDITYPERIODNESTING // @@ -28663,6 +32106,7 @@ public interface WinError { // The validity periods of the certification chain do not nest correctly. // int CERT_E_VALIDITYPERIODNESTING = 0x800B0102; + // // MessageId: CERT_E_ROLE // @@ -28672,6 +32116,7 @@ public interface WinError { // CA or visa versa. // int CERT_E_ROLE = 0x800B0103; + // // MessageId: CERT_E_PATHLENCONST // @@ -28680,6 +32125,7 @@ public interface WinError { // A path length constraint in the certification chain has been violated. // int CERT_E_PATHLENCONST = 0x800B0104; + // // MessageId: CERT_E_CRITICAL // @@ -28688,6 +32134,7 @@ public interface WinError { // A certificate contains an unknown extension that is marked 'critical'. // int CERT_E_CRITICAL = 0x800B0105; + // // MessageId: CERT_E_PURPOSE // @@ -28697,6 +32144,7 @@ public interface WinError { // its CA. // int CERT_E_PURPOSE = 0x800B0106; + // // MessageId: CERT_E_ISSUERCHAINING // @@ -28706,6 +32154,7 @@ public interface WinError { // certificate. // int CERT_E_ISSUERCHAINING = 0x800B0107; + // // MessageId: CERT_E_MALFORMED // @@ -28715,6 +32164,7 @@ public interface WinError { // such as a subject or issuer name. // int CERT_E_MALFORMED = 0x800B0108; + // // MessageId: CERT_E_UNTRUSTEDROOT // @@ -28724,6 +32174,7 @@ public interface WinError { // is not trusted by the trust provider. // int CERT_E_UNTRUSTEDROOT = 0x800B0109; + // // MessageId: CERT_E_CHAINING // @@ -28732,6 +32183,7 @@ public interface WinError { // A certificate chain could not be built to a trusted root authority. // int CERT_E_CHAINING = 0x800B010A; + // // MessageId: TRUST_E_FAIL // @@ -28740,6 +32192,7 @@ public interface WinError { // Generic trust failure. // int TRUST_E_FAIL = 0x800B010B; + // // MessageId: CERT_E_REVOKED // @@ -28748,6 +32201,7 @@ public interface WinError { // A certificate was explicitly revoked by its issuer. // int CERT_E_REVOKED = 0x800B010C; + // // MessageId: CERT_E_UNTRUSTEDTESTROOT // @@ -28757,6 +32211,7 @@ public interface WinError { // with the current policy settings. // int CERT_E_UNTRUSTEDTESTROOT = 0x800B010D; + // // MessageId: CERT_E_REVOCATION_FAILURE // @@ -28766,6 +32221,7 @@ public interface WinError { // be checked. // int CERT_E_REVOCATION_FAILURE = 0x800B010E; + // // MessageId: CERT_E_CN_NO_MATCH // @@ -28774,6 +32230,7 @@ public interface WinError { // The certificate's CN name does not match the passed value. // int CERT_E_CN_NO_MATCH = 0x800B010F; + // // MessageId: CERT_E_WRONG_USAGE // @@ -28782,6 +32239,7 @@ public interface WinError { // The certificate is not valid for the requested usage. // int CERT_E_WRONG_USAGE = 0x800B0110; + // // MessageId: TRUST_E_EXPLICIT_DISTRUST // @@ -28790,6 +32248,7 @@ public interface WinError { // The certificate was explicitly marked as untrusted by the user. // int TRUST_E_EXPLICIT_DISTRUST = 0x800B0111; + // // MessageId: CERT_E_UNTRUSTEDCA // @@ -28799,6 +32258,7 @@ public interface WinError { // is not trusted by the policy provider. // int CERT_E_UNTRUSTEDCA = 0x800B0112; + // // MessageId: CERT_E_INVALID_POLICY // @@ -28807,6 +32267,7 @@ public interface WinError { // The certificate has invalid policy. // int CERT_E_INVALID_POLICY = 0x800B0113; + // // MessageId: CERT_E_INVALID_NAME // @@ -28816,6 +32277,7 @@ public interface WinError { // permitted list or is explicitly excluded. // int CERT_E_INVALID_NAME = 0x800B0114; + // ***************** // FACILITY_SETUPAPI // ***************** @@ -28832,6 +32294,7 @@ public interface WinError { // section. // int SPAPI_E_EXPECTED_SECTION_NAME = 0x800F0000; + // // MessageId: SPAPI_E_BAD_SECTION_NAME_LINE // @@ -28841,6 +32304,7 @@ public interface WinError { // line by itself. // int SPAPI_E_BAD_SECTION_NAME_LINE = 0x800F0001; + // // MessageId: SPAPI_E_SECTION_NAME_TOO_LONG // @@ -28850,6 +32314,7 @@ public interface WinError { // name length. // int SPAPI_E_SECTION_NAME_TOO_LONG = 0x800F0002; + // // MessageId: SPAPI_E_GENERAL_SYNTAX // @@ -28858,6 +32323,7 @@ public interface WinError { // The syntax of the INF is invalid. // int SPAPI_E_GENERAL_SYNTAX = 0x800F0003; + // // MessageId: SPAPI_E_WRONG_INF_STYLE // @@ -28866,6 +32332,7 @@ public interface WinError { // The style of the INF is different than what was requested. // int SPAPI_E_WRONG_INF_STYLE = 0x800F0100; + // // MessageId: SPAPI_E_SECTION_NOT_FOUND // @@ -28874,6 +32341,7 @@ public interface WinError { // The required section was not found in the INF. // int SPAPI_E_SECTION_NOT_FOUND = 0x800F0101; + // // MessageId: SPAPI_E_LINE_NOT_FOUND // @@ -28882,6 +32350,7 @@ public interface WinError { // The required line was not found in the INF. // int SPAPI_E_LINE_NOT_FOUND = 0x800F0102; + // // MessageId: SPAPI_E_NO_BACKUP // @@ -28891,6 +32360,7 @@ public interface WinError { // backed up for uninstall. // int SPAPI_E_NO_BACKUP = 0x800F0103; + // // MessageId: SPAPI_E_NO_ASSOCIATED_CLASS // @@ -28900,6 +32370,7 @@ public interface WinError { // associated install class. // int SPAPI_E_NO_ASSOCIATED_CLASS = 0x800F0200; + // // MessageId: SPAPI_E_CLASS_MISMATCH // @@ -28909,6 +32380,7 @@ public interface WinError { // specified install class. // int SPAPI_E_CLASS_MISMATCH = 0x800F0201; + // // MessageId: SPAPI_E_DUPLICATE_FOUND // @@ -28918,6 +32390,7 @@ public interface WinError { // manually installed. // int SPAPI_E_DUPLICATE_FOUND = 0x800F0202; + // // MessageId: SPAPI_E_NO_DRIVER_SELECTED // @@ -28926,6 +32399,7 @@ public interface WinError { // There is no driver selected for the device information set or element. // int SPAPI_E_NO_DRIVER_SELECTED = 0x800F0203; + // // MessageId: SPAPI_E_KEY_DOES_NOT_EXIST // @@ -28934,6 +32408,7 @@ public interface WinError { // The requested device registry key does not exist. // int SPAPI_E_KEY_DOES_NOT_EXIST = 0x800F0204; + // // MessageId: SPAPI_E_INVALID_DEVINST_NAME // @@ -28942,6 +32417,7 @@ public interface WinError { // The device instance name is invalid. // int SPAPI_E_INVALID_DEVINST_NAME = 0x800F0205; + // // MessageId: SPAPI_E_INVALID_CLASS // @@ -28950,6 +32426,7 @@ public interface WinError { // The install class is not present or is invalid. // int SPAPI_E_INVALID_CLASS = 0x800F0206; + // // MessageId: SPAPI_E_DEVINST_ALREADY_EXISTS // @@ -28958,6 +32435,7 @@ public interface WinError { // The device instance cannot be created because it already exists. // int SPAPI_E_DEVINST_ALREADY_EXISTS = 0x800F0207; + // // MessageId: SPAPI_E_DEVINFO_NOT_REGISTERED // @@ -28967,6 +32445,7 @@ public interface WinError { // has not been registered. // int SPAPI_E_DEVINFO_NOT_REGISTERED = 0x800F0208; + // // MessageId: SPAPI_E_INVALID_REG_PROPERTY // @@ -28975,6 +32454,7 @@ public interface WinError { // The device property code is invalid. // int SPAPI_E_INVALID_REG_PROPERTY = 0x800F0209; + // // MessageId: SPAPI_E_NO_INF // @@ -28983,6 +32463,7 @@ public interface WinError { // The INF from which a driver list is to be built does not exist. // int SPAPI_E_NO_INF = 0x800F020A; + // // MessageId: SPAPI_E_NO_SUCH_DEVINST // @@ -28991,6 +32472,7 @@ public interface WinError { // The device instance does not exist in the hardware tree. // int SPAPI_E_NO_SUCH_DEVINST = 0x800F020B; + // // MessageId: SPAPI_E_CANT_LOAD_CLASS_ICON // @@ -28999,6 +32481,7 @@ public interface WinError { // The icon representing this install class cannot be loaded. // int SPAPI_E_CANT_LOAD_CLASS_ICON = 0x800F020C; + // // MessageId: SPAPI_E_INVALID_CLASS_INSTALLER // @@ -29007,6 +32490,7 @@ public interface WinError { // The class installer registry entry is invalid. // int SPAPI_E_INVALID_CLASS_INSTALLER = 0x800F020D; + // // MessageId: SPAPI_E_DI_DO_DEFAULT // @@ -29016,6 +32500,7 @@ public interface WinError { // performed for this installation request. // int SPAPI_E_DI_DO_DEFAULT = 0x800F020E; + // // MessageId: SPAPI_E_DI_NOFILECOPY // @@ -29024,6 +32509,7 @@ public interface WinError { // The operation does not require any files to be copied. // int SPAPI_E_DI_NOFILECOPY = 0x800F020F; + // // MessageId: SPAPI_E_INVALID_HWPROFILE // @@ -29032,6 +32518,7 @@ public interface WinError { // The specified hardware profile does not exist. // int SPAPI_E_INVALID_HWPROFILE = 0x800F0210; + // // MessageId: SPAPI_E_NO_DEVICE_SELECTED // @@ -29041,6 +32528,7 @@ public interface WinError { // information set. // int SPAPI_E_NO_DEVICE_SELECTED = 0x800F0211; + // // MessageId: SPAPI_E_DEVINFO_LIST_LOCKED // @@ -29050,6 +32538,7 @@ public interface WinError { // locked. // int SPAPI_E_DEVINFO_LIST_LOCKED = 0x800F0212; + // // MessageId: SPAPI_E_DEVINFO_DATA_LOCKED // @@ -29059,6 +32548,7 @@ public interface WinError { // is locked. // int SPAPI_E_DEVINFO_DATA_LOCKED = 0x800F0213; + // // MessageId: SPAPI_E_DI_BAD_PATH // @@ -29067,6 +32557,7 @@ public interface WinError { // The specified path does not contain any applicable device INFs. // int SPAPI_E_DI_BAD_PATH = 0x800F0214; + // // MessageId: SPAPI_E_NO_CLASSINSTALL_PARAMS // @@ -29076,6 +32567,7 @@ public interface WinError { // set or element. // int SPAPI_E_NO_CLASSINSTALL_PARAMS = 0x800F0215; + // // MessageId: SPAPI_E_FILEQUEUE_LOCKED // @@ -29084,6 +32576,7 @@ public interface WinError { // The operation cannot be performed because the file queue is locked. // int SPAPI_E_FILEQUEUE_LOCKED = 0x800F0216; + // // MessageId: SPAPI_E_BAD_SERVICE_INSTALLSECT // @@ -29092,6 +32585,7 @@ public interface WinError { // A service installation section in this INF is invalid. // int SPAPI_E_BAD_SERVICE_INSTALLSECT = 0x800F0217; + // // MessageId: SPAPI_E_NO_CLASS_DRIVER_LIST // @@ -29100,6 +32594,7 @@ public interface WinError { // There is no class driver list for the device information element. // int SPAPI_E_NO_CLASS_DRIVER_LIST = 0x800F0218; + // // MessageId: SPAPI_E_NO_ASSOCIATED_SERVICE // @@ -29109,6 +32604,7 @@ public interface WinError { // this device instance. // int SPAPI_E_NO_ASSOCIATED_SERVICE = 0x800F0219; + // // MessageId: SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE // @@ -29118,6 +32614,7 @@ public interface WinError { // interface class. // int SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE = 0x800F021A; + // // MessageId: SPAPI_E_DEVICE_INTERFACE_ACTIVE // @@ -29127,6 +32624,7 @@ public interface WinError { // currently active. // int SPAPI_E_DEVICE_INTERFACE_ACTIVE = 0x800F021B; + // // MessageId: SPAPI_E_DEVICE_INTERFACE_REMOVED // @@ -29136,6 +32634,7 @@ public interface WinError { // removed from the system. // int SPAPI_E_DEVICE_INTERFACE_REMOVED = 0x800F021C; + // // MessageId: SPAPI_E_BAD_INTERFACE_INSTALLSECT // @@ -29144,6 +32643,7 @@ public interface WinError { // An interface installation section in this INF is invalid. // int SPAPI_E_BAD_INTERFACE_INSTALLSECT = 0x800F021D; + // // MessageId: SPAPI_E_NO_SUCH_INTERFACE_CLASS // @@ -29152,6 +32652,7 @@ public interface WinError { // This interface class does not exist in the system. // int SPAPI_E_NO_SUCH_INTERFACE_CLASS = 0x800F021E; + // // MessageId: SPAPI_E_INVALID_REFERENCE_STRING // @@ -29160,6 +32661,7 @@ public interface WinError { // The reference string supplied for this interface device is invalid. // int SPAPI_E_INVALID_REFERENCE_STRING = 0x800F021F; + // // MessageId: SPAPI_E_INVALID_MACHINENAME // @@ -29168,6 +32670,7 @@ public interface WinError { // The specified machine name does not conform to UNC naming conventions. // int SPAPI_E_INVALID_MACHINENAME = 0x800F0220; + // // MessageId: SPAPI_E_REMOTE_COMM_FAILURE // @@ -29176,6 +32679,7 @@ public interface WinError { // A general remote communication error occurred. // int SPAPI_E_REMOTE_COMM_FAILURE = 0x800F0221; + // // MessageId: SPAPI_E_MACHINE_UNAVAILABLE // @@ -29185,6 +32689,7 @@ public interface WinError { // time. // int SPAPI_E_MACHINE_UNAVAILABLE = 0x800F0222; + // // MessageId: SPAPI_E_NO_CONFIGMGR_SERVICES // @@ -29193,6 +32698,7 @@ public interface WinError { // The Plug and Play service is not available on the remote machine. // int SPAPI_E_NO_CONFIGMGR_SERVICES = 0x800F0223; + // // MessageId: SPAPI_E_INVALID_PROPPAGE_PROVIDER // @@ -29201,6 +32707,7 @@ public interface WinError { // The property page provider registry entry is invalid. // int SPAPI_E_INVALID_PROPPAGE_PROVIDER = 0x800F0224; + // // MessageId: SPAPI_E_NO_SUCH_DEVICE_INTERFACE // @@ -29209,6 +32716,7 @@ public interface WinError { // The requested device interface is not present in the system. // int SPAPI_E_NO_SUCH_DEVICE_INTERFACE = 0x800F0225; + // // MessageId: SPAPI_E_DI_POSTPROCESSING_REQUIRED // @@ -29218,6 +32726,7 @@ public interface WinError { // installation is complete. // int SPAPI_E_DI_POSTPROCESSING_REQUIRED = 0x800F0226; + // // MessageId: SPAPI_E_INVALID_COINSTALLER // @@ -29226,6 +32735,7 @@ public interface WinError { // The device's co-installer is invalid. // int SPAPI_E_INVALID_COINSTALLER = 0x800F0227; + // // MessageId: SPAPI_E_NO_COMPAT_DRIVERS // @@ -29234,6 +32744,7 @@ public interface WinError { // There are no compatible drivers for this device. // int SPAPI_E_NO_COMPAT_DRIVERS = 0x800F0228; + // // MessageId: SPAPI_E_NO_DEVICE_ICON // @@ -29242,6 +32753,7 @@ public interface WinError { // There is no icon that represents this device or device type. // int SPAPI_E_NO_DEVICE_ICON = 0x800F0229; + // // MessageId: SPAPI_E_INVALID_INF_LOGCONFIG // @@ -29250,6 +32762,7 @@ public interface WinError { // A logical configuration specified in this INF is invalid. // int SPAPI_E_INVALID_INF_LOGCONFIG = 0x800F022A; + // // MessageId: SPAPI_E_DI_DONT_INSTALL // @@ -29259,6 +32772,7 @@ public interface WinError { // device. // int SPAPI_E_DI_DONT_INSTALL = 0x800F022B; + // // MessageId: SPAPI_E_INVALID_FILTER_DRIVER // @@ -29267,6 +32781,7 @@ public interface WinError { // One of the filter drivers installed for this device is invalid. // int SPAPI_E_INVALID_FILTER_DRIVER = 0x800F022C; + // // MessageId: SPAPI_E_NON_WINDOWS_NT_DRIVER // @@ -29275,6 +32790,7 @@ public interface WinError { // The driver selected for this device does not support Windows Vista. // int SPAPI_E_NON_WINDOWS_NT_DRIVER = 0x800F022D; + // // MessageId: SPAPI_E_NON_WINDOWS_DRIVER // @@ -29283,6 +32799,7 @@ public interface WinError { // The driver selected for this device does not support Windows. // int SPAPI_E_NON_WINDOWS_DRIVER = 0x800F022E; + // // MessageId: SPAPI_E_NO_CATALOG_FOR_OEM_INF // @@ -29291,6 +32808,7 @@ public interface WinError { // The third-party INF does not contain digital signature information. // int SPAPI_E_NO_CATALOG_FOR_OEM_INF = 0x800F022F; + // // MessageId: SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE // @@ -29300,6 +32818,7 @@ public interface WinError { // verification of digital signatures relative to other platforms. // int SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE = 0x800F0230; + // // MessageId: SPAPI_E_NOT_DISABLEABLE // @@ -29308,6 +32827,7 @@ public interface WinError { // The device cannot be disabled. // int SPAPI_E_NOT_DISABLEABLE = 0x800F0231; + // // MessageId: SPAPI_E_CANT_REMOVE_DEVINST // @@ -29316,6 +32836,7 @@ public interface WinError { // The device could not be dynamically removed. // int SPAPI_E_CANT_REMOVE_DEVINST = 0x800F0232; + // // MessageId: SPAPI_E_INVALID_TARGET // @@ -29324,6 +32845,7 @@ public interface WinError { // Cannot copy to specified target. // int SPAPI_E_INVALID_TARGET = 0x800F0233; + // // MessageId: SPAPI_E_DRIVER_NONNATIVE // @@ -29332,6 +32854,7 @@ public interface WinError { // Driver is not intended for this platform. // int SPAPI_E_DRIVER_NONNATIVE = 0x800F0234; + // // MessageId: SPAPI_E_IN_WOW64 // @@ -29340,6 +32863,7 @@ public interface WinError { // Operation not allowed in WOW64. // int SPAPI_E_IN_WOW64 = 0x800F0235; + // // MessageId: SPAPI_E_SET_SYSTEM_RESTORE_POINT // @@ -29349,6 +32873,7 @@ public interface WinError { // system restore point could be set. // int SPAPI_E_SET_SYSTEM_RESTORE_POINT = 0x800F0236; + // // MessageId: SPAPI_E_INCORRECTLY_COPIED_INF // @@ -29357,6 +32882,7 @@ public interface WinError { // An INF was copied into the Windows INF directory in an improper manner. // int SPAPI_E_INCORRECTLY_COPIED_INF = 0x800F0237; + // // MessageId: SPAPI_E_SCE_DISABLED // @@ -29366,6 +32892,7 @@ public interface WinError { // Embedded product. // int SPAPI_E_SCE_DISABLED = 0x800F0238; + // // MessageId: SPAPI_E_UNKNOWN_EXCEPTION // @@ -29374,6 +32901,7 @@ public interface WinError { // An unknown exception was encountered. // int SPAPI_E_UNKNOWN_EXCEPTION = 0x800F0239; + // // MessageId: SPAPI_E_PNP_REGISTRY_ERROR // @@ -29383,6 +32911,7 @@ public interface WinError { // database. // int SPAPI_E_PNP_REGISTRY_ERROR = 0x800F023A; + // // MessageId: SPAPI_E_REMOTE_REQUEST_UNSUPPORTED // @@ -29391,6 +32920,7 @@ public interface WinError { // The requested operation is not supported for a remote machine. // int SPAPI_E_REMOTE_REQUEST_UNSUPPORTED = 0x800F023B; + // // MessageId: SPAPI_E_NOT_AN_INSTALLED_OEM_INF // @@ -29399,6 +32929,7 @@ public interface WinError { // The specified file is not an installed OEM INF. // int SPAPI_E_NOT_AN_INSTALLED_OEM_INF = 0x800F023C; + // // MessageId: SPAPI_E_INF_IN_USE_BY_DEVICES // @@ -29407,6 +32938,7 @@ public interface WinError { // One or more devices are presently installed using the specified INF. // int SPAPI_E_INF_IN_USE_BY_DEVICES = 0x800F023D; + // // MessageId: SPAPI_E_DI_FUNCTION_OBSOLETE // @@ -29415,6 +32947,7 @@ public interface WinError { // The requested device install operation is obsolete. // int SPAPI_E_DI_FUNCTION_OBSOLETE = 0x800F023E; + // // MessageId: SPAPI_E_NO_AUTHENTICODE_CATALOG // @@ -29424,6 +32957,7 @@ public interface WinError { // catalog signed via Authenticode(tm). // int SPAPI_E_NO_AUTHENTICODE_CATALOG = 0x800F023F; + // // MessageId: SPAPI_E_AUTHENTICODE_DISALLOWED // @@ -29433,6 +32967,7 @@ public interface WinError { // specified INF. // int SPAPI_E_AUTHENTICODE_DISALLOWED = 0x800F0240; + // // MessageId: SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER // @@ -29442,6 +32977,7 @@ public interface WinError { // publisher. // int SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER = 0x800F0241; + // // MessageId: SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED // @@ -29451,6 +32987,7 @@ public interface WinError { // established as trusted. // int SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED = 0x800F0242; + // // MessageId: SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED // @@ -29460,6 +32997,7 @@ public interface WinError { // as trusted. // int SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED = 0x800F0243; + // // MessageId: SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH // @@ -29470,6 +33008,7 @@ public interface WinError { // version. // int SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH = 0x800F0244; + // // MessageId: SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE // @@ -29478,6 +33017,7 @@ public interface WinError { // The file may only be validated by a catalog signed via Authenticode(tm). // int SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE = 0x800F0245; + // // MessageId: SPAPI_E_DEVICE_INSTALLER_NOT_READY // @@ -29487,6 +33027,7 @@ public interface WinError { // this time. // int SPAPI_E_DEVICE_INSTALLER_NOT_READY = 0x800F0246; + // // MessageId: SPAPI_E_DRIVER_STORE_ADD_FAILED // @@ -29496,6 +33037,7 @@ public interface WinError { // store. // int SPAPI_E_DRIVER_STORE_ADD_FAILED = 0x800F0247; + // // MessageId: SPAPI_E_DEVICE_INSTALL_BLOCKED // @@ -29505,6 +33047,7 @@ public interface WinError { // your system administrator. // int SPAPI_E_DEVICE_INSTALL_BLOCKED = 0x800F0248; + // // MessageId: SPAPI_E_DRIVER_INSTALL_BLOCKED // @@ -29514,6 +33057,7 @@ public interface WinError { // your system administrator. // int SPAPI_E_DRIVER_INSTALL_BLOCKED = 0x800F0249; + // // MessageId: SPAPI_E_WRONG_INF_TYPE // @@ -29522,6 +33066,7 @@ public interface WinError { // The specified INF is the wrong type for this operation. // int SPAPI_E_WRONG_INF_TYPE = 0x800F024A; + // // MessageId: SPAPI_E_FILE_HASH_NOT_IN_CATALOG // @@ -29531,6 +33076,7 @@ public interface WinError { // file is likely corrupt or the victim of tampering. // int SPAPI_E_FILE_HASH_NOT_IN_CATALOG = 0x800F024B; + // // MessageId: SPAPI_E_DRIVER_STORE_DELETE_FAILED // @@ -29540,6 +33086,7 @@ public interface WinError { // store. // int SPAPI_E_DRIVER_STORE_DELETE_FAILED = 0x800F024C; + // // MessageId: SPAPI_E_UNRECOVERABLE_STACK_OVERF;OW // @@ -29548,6 +33095,7 @@ public interface WinError { // An unrecoverable stack overF;ow was encountered. // int SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW = 0x800F0300; + // // MessageId: SPAPI_E_ERROR_NOT_INSTALLED // @@ -29556,6 +33104,7 @@ public interface WinError { // No installed components were detected. // int SPAPI_E_ERROR_NOT_INSTALLED = 0x800F1000; + // ***************** // FACILITY_SCARD // ***************** @@ -29565,6 +33114,7 @@ public interface WinError { // == // int SCARD_S_SUCCESS = NO_ERROR; + // // MessageId: SCARD_F_INTERNAL_ERROR // @@ -29573,6 +33123,7 @@ public interface WinError { // An internal consistency check failed. // int SCARD_F_INTERNAL_ERROR = 0x80100001; + // // MessageId: SCARD_E_CANCELLED // @@ -29581,6 +33132,7 @@ public interface WinError { // The action was cancelled by an SCardCancel request. // int SCARD_E_CANCELLED = 0x80100002; + // // MessageId: SCARD_E_INVALID_HANDLE // @@ -29589,6 +33141,7 @@ public interface WinError { // The supplied handle was invalid. // int SCARD_E_INVALID_HANDLE = 0x80100003; + // // MessageId: SCARD_E_INVALID_PARAMETER // @@ -29597,6 +33150,7 @@ public interface WinError { // One or more of the supplied parameters could not be properly interpreted. // int SCARD_E_INVALID_PARAMETER = 0x80100004; + // // MessageId: SCARD_E_INVALID_TARGET // @@ -29605,6 +33159,7 @@ public interface WinError { // Registry startup information is missing or invalid. // int SCARD_E_INVALID_TARGET = 0x80100005; + // // MessageId: SCARD_E_NO_MEMORY // @@ -29613,6 +33168,7 @@ public interface WinError { // Not enough memory available to complete this command. // int SCARD_E_NO_MEMORY = 0x80100006; + // // MessageId: SCARD_F_WAITED_TOO_LONG // @@ -29621,6 +33177,7 @@ public interface WinError { // An internal consistency timer has expired. // int SCARD_F_WAITED_TOO_LONG = 0x80100007; + // // MessageId: SCARD_E_INSUFFICIENT_BUFFER // @@ -29630,6 +33187,7 @@ public interface WinError { // data. // int SCARD_E_INSUFFICIENT_BUFFER = 0x80100008; + // // MessageId: SCARD_E_UNKNOWN_READER // @@ -29638,6 +33196,7 @@ public interface WinError { // The specified reader name is not recognized. // int SCARD_E_UNKNOWN_READER = 0x80100009; + // // MessageId: SCARD_E_TIMEOUT // @@ -29646,6 +33205,7 @@ public interface WinError { // The user-specified timeout value has expired. // int SCARD_E_TIMEOUT = 0x8010000A; + // // MessageId: SCARD_E_SHARING_VIOLATION // @@ -29655,6 +33215,7 @@ public interface WinError { // outstanding. // int SCARD_E_SHARING_VIOLATION = 0x8010000B; + // // MessageId: SCARD_E_NO_SMARTCARD // @@ -29664,6 +33225,7 @@ public interface WinError { // the device. // int SCARD_E_NO_SMARTCARD = 0x8010000C; + // // MessageId: SCARD_E_UNKNOWN_CARD // @@ -29672,6 +33234,7 @@ public interface WinError { // The specified smart card name is not recognized. // int SCARD_E_UNKNOWN_CARD = 0x8010000D; + // // MessageId: SCARD_E_CANT_DISPOSE // @@ -29680,6 +33243,7 @@ public interface WinError { // The system could not dispose of the media in the requested manner. // int SCARD_E_CANT_DISPOSE = 0x8010000E; + // // MessageId: SCARD_E_PROTO_MISMATCH // @@ -29689,6 +33253,7 @@ public interface WinError { // use with the smart card. // int SCARD_E_PROTO_MISMATCH = 0x8010000F; + // // MessageId: SCARD_E_NOT_READY // @@ -29697,6 +33262,7 @@ public interface WinError { // The reader or smart card is not ready to accept commands. // int SCARD_E_NOT_READY = 0x80100010; + // // MessageId: SCARD_E_INVALID_VALUE // @@ -29706,6 +33272,7 @@ public interface WinError { // interpreted. // int SCARD_E_INVALID_VALUE = 0x80100011; + // // MessageId: SCARD_E_SYSTEM_CANCELLED // @@ -29715,6 +33282,7 @@ public interface WinError { // down. // int SCARD_E_SYSTEM_CANCELLED = 0x80100012; + // // MessageId: SCARD_F_COMM_ERROR // @@ -29723,6 +33291,7 @@ public interface WinError { // An internal communications error has been detected. // int SCARD_F_COMM_ERROR = 0x80100013; + // // MessageId: SCARD_F_UNKNOWN_ERROR // @@ -29731,6 +33300,7 @@ public interface WinError { // An internal error has been detected, but the source is unknown. // int SCARD_F_UNKNOWN_ERROR = 0x80100014; + // // MessageId: SCARD_E_INVALID_ATR // @@ -29739,6 +33309,7 @@ public interface WinError { // An ATR obtained from the registry is not a valid ATR string. // int SCARD_E_INVALID_ATR = 0x80100015; + // // MessageId: SCARD_E_NOT_TRANSACTED // @@ -29747,6 +33318,7 @@ public interface WinError { // An attempt was made to end a non-existent transaction. // int SCARD_E_NOT_TRANSACTED = 0x80100016; + // // MessageId: SCARD_E_READER_UNAVAILABLE // @@ -29755,6 +33327,7 @@ public interface WinError { // The specified reader is not currently available for use. // int SCARD_E_READER_UNAVAILABLE = 0x80100017; + // // MessageId: SCARD_P_SHUTDOWN // @@ -29763,6 +33336,7 @@ public interface WinError { // The operation has been aborted to allow the server application to exit. // int SCARD_P_SHUTDOWN = 0x80100018; + // // MessageId: SCARD_E_PCI_TOO_SMALL // @@ -29771,6 +33345,7 @@ public interface WinError { // The PCI Receive buffer was too small. // int SCARD_E_PCI_TOO_SMALL = 0x80100019; + // // MessageId: SCARD_E_READER_UNSUPPORTED // @@ -29779,6 +33354,7 @@ public interface WinError { // The reader driver does not meet minimal requirements for support. // int SCARD_E_READER_UNSUPPORTED = 0x8010001A; + // // MessageId: SCARD_E_DUPLICATE_READER // @@ -29787,6 +33363,7 @@ public interface WinError { // The reader driver did not produce a unique reader name. // int SCARD_E_DUPLICATE_READER = 0x8010001B; + // // MessageId: SCARD_E_CARD_UNSUPPORTED // @@ -29795,6 +33372,7 @@ public interface WinError { // The smart card does not meet minimal requirements for support. // int SCARD_E_CARD_UNSUPPORTED = 0x8010001C; + // // MessageId: SCARD_E_NO_SERVICE // @@ -29803,6 +33381,7 @@ public interface WinError { // The Smart card resource manager is not running. // int SCARD_E_NO_SERVICE = 0x8010001D; + // // MessageId: SCARD_E_SERVICE_STOPPED // @@ -29811,6 +33390,7 @@ public interface WinError { // The Smart card resource manager has shut down. // int SCARD_E_SERVICE_STOPPED = 0x8010001E; + // // MessageId: SCARD_E_UNEXPECTED // @@ -29819,6 +33399,7 @@ public interface WinError { // An unexpected card error has occurred. // int SCARD_E_UNEXPECTED = 0x8010001F; + // // MessageId: SCARD_E_ICC_INSTALLATION // @@ -29827,6 +33408,7 @@ public interface WinError { // No Primary Provider can be found for the smart card. // int SCARD_E_ICC_INSTALLATION = 0x80100020; + // // MessageId: SCARD_E_ICC_CREATEORDER // @@ -29835,6 +33417,7 @@ public interface WinError { // The requested order of object creation is not supported. // int SCARD_E_ICC_CREATEORDER = 0x80100021; + // // MessageId: SCARD_E_UNSUPPORTED_FEATURE // @@ -29843,6 +33426,7 @@ public interface WinError { // This smart card does not support the requested feature. // int SCARD_E_UNSUPPORTED_FEATURE = 0x80100022; + // // MessageId: SCARD_E_DIR_NOT_FOUND // @@ -29851,6 +33435,7 @@ public interface WinError { // The identified directory does not exist in the smart card. // int SCARD_E_DIR_NOT_FOUND = 0x80100023; + // // MessageId: SCARD_E_FILE_NOT_FOUND // @@ -29859,6 +33444,7 @@ public interface WinError { // The identified file does not exist in the smart card. // int SCARD_E_FILE_NOT_FOUND = 0x80100024; + // // MessageId: SCARD_E_NO_DIR // @@ -29867,6 +33453,7 @@ public interface WinError { // The supplied path does not represent a smart card directory. // int SCARD_E_NO_DIR = 0x80100025; + // // MessageId: SCARD_E_NO_FILE // @@ -29875,6 +33462,7 @@ public interface WinError { // The supplied path does not represent a smart card file. // int SCARD_E_NO_FILE = 0x80100026; + // // MessageId: SCARD_E_NO_ACCESS // @@ -29883,6 +33471,7 @@ public interface WinError { // Access is denied to this file. // int SCARD_E_NO_ACCESS = 0x80100027; + // // MessageId: SCARD_E_WRITE_TOO_MANY // @@ -29891,6 +33480,7 @@ public interface WinError { // The smartcard does not have enough memory to store the information. // int SCARD_E_WRITE_TOO_MANY = 0x80100028; + // // MessageId: SCARD_E_BAD_SEEK // @@ -29899,6 +33489,7 @@ public interface WinError { // There was an error trying to set the smart card file object pointer. // int SCARD_E_BAD_SEEK = 0x80100029; + // // MessageId: SCARD_E_INVALID_CHV // @@ -29907,6 +33498,7 @@ public interface WinError { // The supplied PIN is incorrect. // int SCARD_E_INVALID_CHV = 0x8010002A; + // // MessageId: SCARD_E_UNKNOWN_RES_MNG // @@ -29915,6 +33507,7 @@ public interface WinError { // An unrecognized error code was returned from a layered component. // int SCARD_E_UNKNOWN_RES_MNG = 0x8010002B; + // // MessageId: SCARD_E_NO_SUCH_CERTIFICATE // @@ -29923,6 +33516,7 @@ public interface WinError { // The requested certificate does not exist. // int SCARD_E_NO_SUCH_CERTIFICATE = 0x8010002C; + // // MessageId: SCARD_E_CERTIFICATE_UNAVAILABLE // @@ -29931,6 +33525,7 @@ public interface WinError { // The requested certificate could not be obtained. // int SCARD_E_CERTIFICATE_UNAVAILABLE = 0x8010002D; + // // MessageId: SCARD_E_NO_READERS_AVAILABLE // @@ -29939,6 +33534,7 @@ public interface WinError { // Cannot find a smart card reader. // int SCARD_E_NO_READERS_AVAILABLE = 0x8010002E; + // // MessageId: SCARD_E_COMM_DATA_LOST // @@ -29948,6 +33544,7 @@ public interface WinError { // operation. // int SCARD_E_COMM_DATA_LOST = 0x8010002F; + // // MessageId: SCARD_E_NO_KEY_CONTAINER // @@ -29956,6 +33553,7 @@ public interface WinError { // The requested key container does not exist on the smart card. // int SCARD_E_NO_KEY_CONTAINER = 0x80100030; + // // MessageId: SCARD_E_SERVER_TOO_BUSY // @@ -29964,6 +33562,7 @@ public interface WinError { // The Smart card resource manager is too busy to complete this operation. // int SCARD_E_SERVER_TOO_BUSY = 0x80100031; + // // These are warning codes. // @@ -29976,6 +33575,7 @@ public interface WinError { // configuration conF;icts. // int SCARD_W_UNSUPPORTED_CARD = 0x80100065; + // // MessageId: SCARD_W_UNRESPONSIVE_CARD // @@ -29984,6 +33584,7 @@ public interface WinError { // The smart card is not responding to a reset. // int SCARD_W_UNRESPONSIVE_CARD = 0x80100066; + // // MessageId: SCARD_W_UNPOWERED_CARD // @@ -29993,6 +33594,7 @@ public interface WinError { // is not possible. // int SCARD_W_UNPOWERED_CARD = 0x80100067; + // // MessageId: SCARD_W_RESET_CARD // @@ -30002,6 +33604,7 @@ public interface WinError { // invalid. // int SCARD_W_RESET_CARD = 0x80100068; + // // MessageId: SCARD_W_REMOVED_CARD // @@ -30011,6 +33614,7 @@ public interface WinError { // possible. // int SCARD_W_REMOVED_CARD = 0x80100069; + // // MessageId: SCARD_W_SECURITY_VIOLATION // @@ -30019,6 +33623,7 @@ public interface WinError { // Access was denied because of a security violation. // int SCARD_W_SECURITY_VIOLATION = 0x8010006A; + // // MessageId: SCARD_W_WRONG_CHV // @@ -30027,6 +33632,7 @@ public interface WinError { // The card cannot be accessed because the wrong PIN was presented. // int SCARD_W_WRONG_CHV = 0x8010006B; + // // MessageId: SCARD_W_CHV_BLOCKED // @@ -30036,6 +33642,7 @@ public interface WinError { // attempts has been reached. // int SCARD_W_CHV_BLOCKED = 0x8010006C; + // // MessageId: SCARD_W_EOF // @@ -30044,6 +33651,7 @@ public interface WinError { // The end of the smart card file has been reached. // int SCARD_W_EOF = 0x8010006D; + // // MessageId: SCARD_W_CANCELLED_BY_USER // @@ -30052,6 +33660,7 @@ public interface WinError { // The action was cancelled by the user. // int SCARD_W_CANCELLED_BY_USER = 0x8010006E; + // // MessageId: SCARD_W_CARD_NOT_AUTHENTICATED // @@ -30060,6 +33669,7 @@ public interface WinError { // No PIN was presented to the smart card. // int SCARD_W_CARD_NOT_AUTHENTICATED = 0x8010006F; + // // MessageId: SCARD_W_CACHE_ITEM_NOT_FOUND // @@ -30068,6 +33678,7 @@ public interface WinError { // The requested item could not be found in the cache. // int SCARD_W_CACHE_ITEM_NOT_FOUND = 0x80100070; + // // MessageId: SCARD_W_CACHE_ITEM_STALE // @@ -30076,6 +33687,7 @@ public interface WinError { // The requested cache item is too old and was deleted from the cache. // int SCARD_W_CACHE_ITEM_STALE = 0x80100071; + // // MessageId: SCARD_W_CACHE_ITEM_TOO_BIG // @@ -30085,6 +33697,7 @@ public interface WinError { // cache. // int SCARD_W_CACHE_ITEM_TOO_BIG = 0x80100072; + // ***************** // FACILITY_COMPLUS // ***************** @@ -30111,6 +33724,7 @@ public interface WinError { // may have more detail // int COMADMIN_E_OBJECTERRORS = 0x80110401; + // // MessageId: COMADMIN_E_OBJECTINVALID // @@ -30119,6 +33733,7 @@ public interface WinError { // One or more of the object's properties are missing or invalid // int COMADMIN_E_OBJECTINVALID = 0x80110402; + // // MessageId: COMADMIN_E_KEYMISSING // @@ -30127,6 +33742,7 @@ public interface WinError { // The object was not found in the catalog // int COMADMIN_E_KEYMISSING = 0x80110403; + // // MessageId: COMADMIN_E_ALREADYINSTALLED // @@ -30135,6 +33751,7 @@ public interface WinError { // The object is already registered // int COMADMIN_E_ALREADYINSTALLED = 0x80110404; + // // MessageId: COMADMIN_E_APP_FILE_WRITEFAIL // @@ -30143,6 +33760,7 @@ public interface WinError { // Error occurred writing to the application file // int COMADMIN_E_APP_FILE_WRITEFAIL = 0x80110407; + // // MessageId: COMADMIN_E_APP_FILE_READFAIL // @@ -30151,6 +33769,7 @@ public interface WinError { // Error occurred reading the application file // int COMADMIN_E_APP_FILE_READFAIL = 0x80110408; + // // MessageId: COMADMIN_E_APP_FILE_VERSION // @@ -30159,6 +33778,7 @@ public interface WinError { // Invalid version number in application file // int COMADMIN_E_APP_FILE_VERSION = 0x80110409; + // // MessageId: COMADMIN_E_BADPATH // @@ -30167,6 +33787,7 @@ public interface WinError { // The file path is invalid // int COMADMIN_E_BADPATH = 0x8011040A; + // // MessageId: COMADMIN_E_APPLICATIONEXISTS // @@ -30175,6 +33796,7 @@ public interface WinError { // The application is already installed // int COMADMIN_E_APPLICATIONEXISTS = 0x8011040B; + // // MessageId: COMADMIN_E_ROLEEXISTS // @@ -30183,6 +33805,7 @@ public interface WinError { // The role already exists // int COMADMIN_E_ROLEEXISTS = 0x8011040C; + // // MessageId: COMADMIN_E_CANTCOPYFILE // @@ -30191,6 +33814,7 @@ public interface WinError { // An error occurred copying the file // int COMADMIN_E_CANTCOPYFILE = 0x8011040D; + // // MessageId: COMADMIN_E_NOUSER // @@ -30199,6 +33823,7 @@ public interface WinError { // One or more users are not valid // int COMADMIN_E_NOUSER = 0x8011040F; + // // MessageId: COMADMIN_E_INVALIDUSERIDS // @@ -30207,6 +33832,7 @@ public interface WinError { // One or more users in the application file are not valid // int COMADMIN_E_INVALIDUSERIDS = 0x80110410; + // // MessageId: COMADMIN_E_NOREGISTRYCLSID // @@ -30215,6 +33841,7 @@ public interface WinError { // The component's CLSID is missing or corrupt // int COMADMIN_E_NOREGISTRYCLSID = 0x80110411; + // // MessageId: COMADMIN_E_BADREGISTRYPROGID // @@ -30223,6 +33850,7 @@ public interface WinError { // The component's progID is missing or corrupt // int COMADMIN_E_BADREGISTRYPROGID = 0x80110412; + // // MessageId: COMADMIN_E_AUTHENTICATIONLEVEL // @@ -30231,6 +33859,7 @@ public interface WinError { // Unable to set required authentication level for update request // int COMADMIN_E_AUTHENTICATIONLEVEL = 0x80110413; + // // MessageId: COMADMIN_E_USERPASSWDNOTVALID // @@ -30239,6 +33868,7 @@ public interface WinError { // The identity or password set on the application is not valid // int COMADMIN_E_USERPASSWDNOTVALID = 0x80110414; + // // MessageId: COMADMIN_E_CLSIDORIIDMISMATCH // @@ -30247,6 +33877,7 @@ public interface WinError { // Application file CLSIDs or IIDs do not match corresponding DLLs // int COMADMIN_E_CLSIDORIIDMISMATCH = 0x80110418; + // // MessageId: COMADMIN_E_REMOTEINTERFACE // @@ -30255,6 +33886,7 @@ public interface WinError { // Interface information is either missing or changed // int COMADMIN_E_REMOTEINTERFACE = 0x80110419; + // // MessageId: COMADMIN_E_DLLREGISTERSERVER // @@ -30263,6 +33895,7 @@ public interface WinError { // DllRegisterServer failed on component install // int COMADMIN_E_DLLREGISTERSERVER = 0x8011041A; + // // MessageId: COMADMIN_E_NOSERVERSHARE // @@ -30271,6 +33904,7 @@ public interface WinError { // No server file share available // int COMADMIN_E_NOSERVERSHARE = 0x8011041B; + // // MessageId: COMADMIN_E_DLLLOADFAILED // @@ -30279,6 +33913,7 @@ public interface WinError { // DLL could not be loaded // int COMADMIN_E_DLLLOADFAILED = 0x8011041D; + // // MessageId: COMADMIN_E_BADREGISTRYLIBID // @@ -30287,6 +33922,7 @@ public interface WinError { // The registered TypeLib ID is not valid // int COMADMIN_E_BADREGISTRYLIBID = 0x8011041E; + // // MessageId: COMADMIN_E_APPDIRNOTFOUND // @@ -30295,6 +33931,7 @@ public interface WinError { // Application install directory not found // int COMADMIN_E_APPDIRNOTFOUND = 0x8011041F; + // // MessageId: COMADMIN_E_REGISTRARFAILED // @@ -30303,6 +33940,7 @@ public interface WinError { // Errors occurred while in the component registrar // int COMADMIN_E_REGISTRARFAILED = 0x80110423; + // // MessageId: COMADMIN_E_COMPFILE_DOESNOTEXIST // @@ -30311,6 +33949,7 @@ public interface WinError { // The file does not exist // int COMADMIN_E_COMPFILE_DOESNOTEXIST = 0x80110424; + // // MessageId: COMADMIN_E_COMPFILE_LOADDLLFAIL // @@ -30319,6 +33958,7 @@ public interface WinError { // The DLL could not be loaded // int COMADMIN_E_COMPFILE_LOADDLLFAIL = 0x80110425; + // // MessageId: COMADMIN_E_COMPFILE_GETCLASSOBJ // @@ -30327,6 +33967,7 @@ public interface WinError { // GetClassObject failed in the DLL // int COMADMIN_E_COMPFILE_GETCLASSOBJ = 0x80110426; + // // MessageId: COMADMIN_E_COMPFILE_CLASSNOTAVAIL // @@ -30335,6 +33976,7 @@ public interface WinError { // The DLL does not support the components listed in the TypeLib // int COMADMIN_E_COMPFILE_CLASSNOTAVAIL = 0x80110427; + // // MessageId: COMADMIN_E_COMPFILE_BADTLB // @@ -30343,6 +33985,7 @@ public interface WinError { // The TypeLib could not be loaded // int COMADMIN_E_COMPFILE_BADTLB = 0x80110428; + // // MessageId: COMADMIN_E_COMPFILE_NOTINSTALLABLE // @@ -30351,6 +33994,7 @@ public interface WinError { // The file does not contain components or component information // int COMADMIN_E_COMPFILE_NOTINSTALLABLE = 0x80110429; + // // MessageId: COMADMIN_E_NOTCHANGEABLE // @@ -30359,6 +34003,7 @@ public interface WinError { // Changes to this object and its sub-objects have been disabled // int COMADMIN_E_NOTCHANGEABLE = 0x8011042A; + // // MessageId: COMADMIN_E_NOTDELETEABLE // @@ -30367,6 +34012,7 @@ public interface WinError { // The delete function has been disabled for this object // int COMADMIN_E_NOTDELETEABLE = 0x8011042B; + // // MessageId: COMADMIN_E_SESSION // @@ -30375,6 +34021,7 @@ public interface WinError { // The server catalog version is not supported // int COMADMIN_E_SESSION = 0x8011042C; + // // MessageId: COMADMIN_E_COMP_MOVE_LOCKED // @@ -30385,6 +34032,7 @@ public interface WinError { // changes // int COMADMIN_E_COMP_MOVE_LOCKED = 0x8011042D; + // // MessageId: COMADMIN_E_COMP_MOVE_BAD_DEST // @@ -30394,6 +34042,7 @@ public interface WinError { // exists // int COMADMIN_E_COMP_MOVE_BAD_DEST = 0x8011042E; + // // MessageId: COMADMIN_E_REGISTERTLB // @@ -30402,6 +34051,7 @@ public interface WinError { // The system was unable to register the TypeLib // int COMADMIN_E_REGISTERTLB = 0x80110430; + // // MessageId: COMADMIN_E_SYSTEMAPP // @@ -30410,6 +34060,7 @@ public interface WinError { // This operation cannot be performed on the system application // int COMADMIN_E_SYSTEMAPP = 0x80110433; + // // MessageId: COMADMIN_E_COMPFILE_NOREGISTRAR // @@ -30418,6 +34069,7 @@ public interface WinError { // The component registrar referenced in this file is not available // int COMADMIN_E_COMPFILE_NOREGISTRAR = 0x80110434; + // // MessageId: COMADMIN_E_COREQCOMPINSTALLED // @@ -30426,6 +34078,7 @@ public interface WinError { // A component in the same DLL is already installed // int COMADMIN_E_COREQCOMPINSTALLED = 0x80110435; + // // MessageId: COMADMIN_E_SERVICENOTINSTALLED // @@ -30434,6 +34087,7 @@ public interface WinError { // The service is not installed // int COMADMIN_E_SERVICENOTINSTALLED = 0x80110436; + // // MessageId: COMADMIN_E_PROPERTYSAVEFAILED // @@ -30443,6 +34097,7 @@ public interface WinError { // other // int COMADMIN_E_PROPERTYSAVEFAILED = 0x80110437; + // // MessageId: COMADMIN_E_OBJECTEXISTS // @@ -30451,6 +34106,7 @@ public interface WinError { // The object you are attempting to add or rename already exists // int COMADMIN_E_OBJECTEXISTS = 0x80110438; + // // MessageId: COMADMIN_E_COMPONENTEXISTS // @@ -30459,6 +34115,7 @@ public interface WinError { // The component already exists // int COMADMIN_E_COMPONENTEXISTS = 0x80110439; + // // MessageId: COMADMIN_E_REGFILE_CORRUPT // @@ -30467,6 +34124,7 @@ public interface WinError { // The registration file is corrupt // int COMADMIN_E_REGFILE_CORRUPT = 0x8011043B; + // // MessageId: COMADMIN_E_PROPERTY_OVERF;OW // @@ -30475,6 +34133,7 @@ public interface WinError { // The property value is too large // int COMADMIN_E_PROPERTY_OVERFLOW = 0x8011043C; + // // MessageId: COMADMIN_E_NOTINREGISTRY // @@ -30483,6 +34142,7 @@ public interface WinError { // Object was not found in registry // int COMADMIN_E_NOTINREGISTRY = 0x8011043E; + // // MessageId: COMADMIN_E_OBJECTNOTPOOLABLE // @@ -30491,6 +34151,7 @@ public interface WinError { // This object is not poolable // int COMADMIN_E_OBJECTNOTPOOLABLE = 0x8011043F; + // // MessageId: COMADMIN_E_APPLID_MATCHES_CLSID // @@ -30500,6 +34161,7 @@ public interface WinError { // on this machine // int COMADMIN_E_APPLID_MATCHES_CLSID = 0x80110446; + // // MessageId: COMADMIN_E_ROLE_DOES_NOT_EXIST // @@ -30509,6 +34171,7 @@ public interface WinError { // application // int COMADMIN_E_ROLE_DOES_NOT_EXIST = 0x80110447; + // // MessageId: COMADMIN_E_START_APP_NEEDS_COMPONENTS // @@ -30518,6 +34181,7 @@ public interface WinError { // application // int COMADMIN_E_START_APP_NEEDS_COMPONENTS = 0x80110448; + // // MessageId: COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM // @@ -30526,6 +34190,7 @@ public interface WinError { // This operation is not enabled on this platform // int COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM = 0x80110449; + // // MessageId: COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY // @@ -30534,6 +34199,7 @@ public interface WinError { // Application Proxy is not exportable // int COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY = 0x8011044A; + // // MessageId: COMADMIN_E_CAN_NOT_START_APP // @@ -30543,6 +34209,7 @@ public interface WinError { // an application proxy // int COMADMIN_E_CAN_NOT_START_APP = 0x8011044B; + // // MessageId: COMADMIN_E_CAN_NOT_EXPORT_SYS_APP // @@ -30551,6 +34218,7 @@ public interface WinError { // System application is not exportable // int COMADMIN_E_CAN_NOT_EXPORT_SYS_APP = 0x8011044C; + // // MessageId: COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT // @@ -30559,6 +34227,7 @@ public interface WinError { // Cannot subscribe to this component (the component may have been imported) // int COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT = 0x8011044D; + // // MessageId: COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER // @@ -30567,6 +34236,7 @@ public interface WinError { // An event class cannot also be a subscriber component // int COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER = 0x8011044E; + // // MessageId: COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE // @@ -30575,6 +34245,7 @@ public interface WinError { // Library applications and application proxies are incompatible // int COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE = 0x8011044F; + // // MessageId: COMADMIN_E_BASE_PARTITION_ONLY // @@ -30583,6 +34254,7 @@ public interface WinError { // This function is valid for the base partition only // int COMADMIN_E_BASE_PARTITION_ONLY = 0x80110450; + // // MessageId: COMADMIN_E_START_APP_DISABLED // @@ -30591,6 +34263,7 @@ public interface WinError { // You cannot start an application that has been disabled // int COMADMIN_E_START_APP_DISABLED = 0x80110451; + // // MessageId: COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME // @@ -30599,6 +34272,7 @@ public interface WinError { // The specified partition name is already in use on this computer // int COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME = 0x80110457; + // // MessageId: COMADMIN_E_CAT_INVALID_PARTITION_NAME // @@ -30608,6 +34282,7 @@ public interface WinError { // least one visible character // int COMADMIN_E_CAT_INVALID_PARTITION_NAME = 0x80110458; + // // MessageId: COMADMIN_E_CAT_PARTITION_IN_USE // @@ -30617,6 +34292,7 @@ public interface WinError { // one or more users // int COMADMIN_E_CAT_PARTITION_IN_USE = 0x80110459; + // // MessageId: COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES // @@ -30626,6 +34302,7 @@ public interface WinError { // partition have the same file name // int COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES = 0x8011045A; + // // MessageId: COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED // @@ -30635,6 +34312,7 @@ public interface WinError { // installed into a non-base partition // int COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED = 0x8011045B; + // // MessageId: COMADMIN_E_AMBIGUOUS_APPLICATION_NAME // @@ -30644,6 +34322,7 @@ public interface WinError { // application id // int COMADMIN_E_AMBIGUOUS_APPLICATION_NAME = 0x8011045C; + // // MessageId: COMADMIN_E_AMBIGUOUS_PARTITION_NAME // @@ -30652,6 +34331,7 @@ public interface WinError { // The partition name is not unique and cannot be resolved to a partition id // int COMADMIN_E_AMBIGUOUS_PARTITION_NAME = 0x8011045D; + // // MessageId: COMADMIN_E_REGDB_NOTINITIALIZED // @@ -30660,6 +34340,7 @@ public interface WinError { // The COM+ registry database has not been initialized // int COMADMIN_E_REGDB_NOTINITIALIZED = 0x80110472; + // // MessageId: COMADMIN_E_REGDB_NOTOPEN // @@ -30668,6 +34349,7 @@ public interface WinError { // The COM+ registry database is not open // int COMADMIN_E_REGDB_NOTOPEN = 0x80110473; + // // MessageId: COMADMIN_E_REGDB_SYSTEMERR // @@ -30676,6 +34358,7 @@ public interface WinError { // The COM+ registry database detected a system error // int COMADMIN_E_REGDB_SYSTEMERR = 0x80110474; + // // MessageId: COMADMIN_E_REGDB_ALREADYRUNNING // @@ -30684,6 +34367,7 @@ public interface WinError { // The COM+ registry database is already running // int COMADMIN_E_REGDB_ALREADYRUNNING = 0x80110475; + // // MessageId: COMADMIN_E_MIG_VERSIONNOTSUPPORTED // @@ -30692,6 +34376,7 @@ public interface WinError { // This version of the COM+ registry database cannot be migrated // int COMADMIN_E_MIG_VERSIONNOTSUPPORTED = 0x80110480; + // // MessageId: COMADMIN_E_MIG_SCHEMANOTFOUND // @@ -30701,6 +34386,7 @@ public interface WinError { // database // int COMADMIN_E_MIG_SCHEMANOTFOUND = 0x80110481; + // // MessageId: COMADMIN_E_CAT_BITNESSMISMATCH // @@ -30709,6 +34395,7 @@ public interface WinError { // There was a type mismatch between binaries // int COMADMIN_E_CAT_BITNESSMISMATCH = 0x80110482; + // // MessageId: COMADMIN_E_CAT_UNACCEPTABLEBITNESS // @@ -30717,6 +34404,7 @@ public interface WinError { // A binary of unknown or invalid type was provided // int COMADMIN_E_CAT_UNACCEPTABLEBITNESS = 0x80110483; + // // MessageId: COMADMIN_E_CAT_WRONGAPPBITNESS // @@ -30725,6 +34413,7 @@ public interface WinError { // There was a type mismatch between a binary and an application // int COMADMIN_E_CAT_WRONGAPPBITNESS = 0x80110484; + // // MessageId: COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED // @@ -30733,6 +34422,7 @@ public interface WinError { // The application cannot be paused or resumed // int COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED = 0x80110485; + // // MessageId: COMADMIN_E_CAT_SERVERFAULT // @@ -30741,6 +34431,7 @@ public interface WinError { // The COM+ Catalog Server threw an exception during execution // int COMADMIN_E_CAT_SERVERFAULT = 0x80110486; + // // COMPLUS Queued component errors // @@ -30753,6 +34444,7 @@ public interface WinError { // moniker // int COMQC_E_APPLICATION_NOT_QUEUED = 0x80110600; + // // MessageId: COMQC_E_NO_QUEUEABLE_INTERFACES // @@ -30762,6 +34454,7 @@ public interface WinError { // queued component instance with the "queue" moniker // int COMQC_E_NO_QUEUEABLE_INTERFACES = 0x80110601; + // // MessageId: COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE // @@ -30770,6 +34463,7 @@ public interface WinError { // MSMQ is required for the requested operation and is not installed // int COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE = 0x80110602; + // // MessageId: COMQC_E_NO_IPERSISTSTREAM // @@ -30778,6 +34472,7 @@ public interface WinError { // Unable to marshal an interface that does not support IPersistStream // int COMQC_E_NO_IPERSISTSTREAM = 0x80110603; + // // MessageId: COMQC_E_BAD_MESSAGE // @@ -30786,6 +34481,7 @@ public interface WinError { // The message is improperly formatted or was damaged in transit // int COMQC_E_BAD_MESSAGE = 0x80110604; + // // MessageId: COMQC_E_UNAUTHENTICATED // @@ -30795,6 +34491,7 @@ public interface WinError { // only authenticated messages // int COMQC_E_UNAUTHENTICATED = 0x80110605; + // // MessageId: COMQC_E_UNTRUSTED_ENQUEUER // @@ -30804,6 +34501,7 @@ public interface WinError { // role // int COMQC_E_UNTRUSTED_ENQUEUER = 0x80110606; + // // The range 0x700-0x7ff is reserved for MSDTC errors. // @@ -30816,6 +34514,7 @@ public interface WinError { // Coordinator // int MSDTC_E_DUPLICATE_RESOURCE = 0x80110701; + // // More COMADMIN errors from 0x8** // @@ -30828,6 +34527,7 @@ public interface WinError { // parent collection // int COMADMIN_E_OBJECT_PARENT_MISSING = 0x80110808; + // // MessageId: COMADMIN_E_OBJECT_DOES_NOT_EXIST // @@ -30836,6 +34536,7 @@ public interface WinError { // One of the specified objects cannot be found // int COMADMIN_E_OBJECT_DOES_NOT_EXIST = 0x80110809; + // // MessageId: COMADMIN_E_APP_NOT_RUNNING // @@ -30844,6 +34545,7 @@ public interface WinError { // The specified application is not currently running // int COMADMIN_E_APP_NOT_RUNNING = 0x8011080A; + // // MessageId: COMADMIN_E_INVALID_PARTITION // @@ -30852,6 +34554,7 @@ public interface WinError { // The partition(s) specified are not valid. // int COMADMIN_E_INVALID_PARTITION = 0x8011080B; + // // MessageId: COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE // @@ -30860,6 +34563,7 @@ public interface WinError { // COM+ applications that run as NT service may not be pooled or recycled // int COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE = 0x8011080D; + // // MessageId: COMADMIN_E_USER_IN_SET // @@ -30868,6 +34572,7 @@ public interface WinError { // One or more users are already assigned to a local partition set. // int COMADMIN_E_USER_IN_SET = 0x8011080E; + // // MessageId: COMADMIN_E_CANTRECYCLELIBRARYAPPS // @@ -30876,6 +34581,7 @@ public interface WinError { // Library applications may not be recycled. // int COMADMIN_E_CANTRECYCLELIBRARYAPPS = 0x8011080F; + // // MessageId: COMADMIN_E_CANTRECYCLESERVICEAPPS // @@ -30884,6 +34590,7 @@ public interface WinError { // Applications running as NT services may not be recycled. // int COMADMIN_E_CANTRECYCLESERVICEAPPS = 0x80110811; + // // MessageId: COMADMIN_E_PROCESSALREADYRECYCLED // @@ -30892,6 +34599,7 @@ public interface WinError { // The process has already been recycled. // int COMADMIN_E_PROCESSALREADYRECYCLED = 0x80110812; + // // MessageId: COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED // @@ -30900,6 +34608,7 @@ public interface WinError { // A paused process may not be recycled. // int COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED = 0x80110813; + // // MessageId: COMADMIN_E_CANTMAKEINPROCSERVICE // @@ -30908,6 +34617,7 @@ public interface WinError { // Library applications may not be NT services. // int COMADMIN_E_CANTMAKEINPROCSERVICE = 0x80110814; + // // MessageId: COMADMIN_E_PROGIDINUSEBYCLSID // @@ -30917,6 +34627,7 @@ public interface WinError { // use by another registered CLSID. // int COMADMIN_E_PROGIDINUSEBYCLSID = 0x80110815; + // // MessageId: COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET // @@ -30925,6 +34636,7 @@ public interface WinError { // The partition specified as default is not a member of the partition set. // int COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET = 0x80110816; + // // MessageId: COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED // @@ -30933,6 +34645,7 @@ public interface WinError { // A recycled process may not be paused. // int COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED = 0x80110817; + // // MessageId: COMADMIN_E_PARTITION_ACCESSDENIED // @@ -30941,6 +34654,7 @@ public interface WinError { // Access to the specified partition is denied. // int COMADMIN_E_PARTITION_ACCESSDENIED = 0x80110818; + // // MessageId: COMADMIN_E_PARTITION_MSI_ONLY // @@ -30949,6 +34663,7 @@ public interface WinError { // Only Application Files (*.MSI files) can be installed into partitions. // int COMADMIN_E_PARTITION_MSI_ONLY = 0x80110819; + // // MessageId: COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT // @@ -30958,6 +34673,7 @@ public interface WinError { // to=1.0 format. // int COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT = 0x8011081A; + // // MessageId: COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS // @@ -30966,6 +34682,7 @@ public interface WinError { // Legacy components may not exist in non-base partitions. // int COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS = 0x8011081B; + // // MessageId: COMADMIN_E_COMP_MOVE_SOURCE // @@ -30975,6 +34692,7 @@ public interface WinError { // application proxy or a non-changeable application // int COMADMIN_E_COMP_MOVE_SOURCE = 0x8011081C; + // // MessageId: COMADMIN_E_COMP_MOVE_DEST // @@ -30984,6 +34702,7 @@ public interface WinError { // application proxy or a non-changeable application // int COMADMIN_E_COMP_MOVE_DEST = 0x8011081D; + // // MessageId: COMADMIN_E_COMP_MOVE_PRIVATE // @@ -30993,6 +34712,7 @@ public interface WinError { // or to the base partition // int COMADMIN_E_COMP_MOVE_PRIVATE = 0x8011081E; + // // MessageId: COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET // @@ -31002,6 +34722,7 @@ public interface WinError { // removed. // int COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET = 0x8011081F; + // // MessageId: COMADMIN_E_CANNOT_ALIAS_EVENTCLASS // @@ -31010,6 +34731,7 @@ public interface WinError { // Alas, Event Class components cannot be aliased. // int COMADMIN_E_CANNOT_ALIAS_EVENTCLASS = 0x80110820; + // // MessageId: COMADMIN_E_PRIVATE_ACCESSDENIED // @@ -31018,6 +34740,7 @@ public interface WinError { // Access is denied because the component is private. // int COMADMIN_E_PRIVATE_ACCESSDENIED = 0x80110821; + // // MessageId: COMADMIN_E_SAFERINVALID // @@ -31026,6 +34749,7 @@ public interface WinError { // The specified SAFER level is invalid. // int COMADMIN_E_SAFERINVALID = 0x80110822; + // // MessageId: COMADMIN_E_REGISTRY_ACCESSDENIED // @@ -31034,6 +34758,7 @@ public interface WinError { // The specified user cannot write to the system registry // int COMADMIN_E_REGISTRY_ACCESSDENIED = 0x80110823; + // // MessageId: COMADMIN_E_PARTITIONS_DISABLED // @@ -31042,6 +34767,7 @@ public interface WinError { // COM+ partitions are currently disabled. // int COMADMIN_E_PARTITIONS_DISABLED = 0x80110824; + // // MessageId: ERROR_FLT_IO_COMPLETE // @@ -31050,6 +34776,7 @@ public interface WinError { // The IO was completed by a filter. // int ERROR_FLT_IO_COMPLETE = 0x001F0001; + // // MessageId: ERROR_FLT_NO_HANDLER_DEFINED // @@ -31058,6 +34785,7 @@ public interface WinError { // A handler was not defined by the filter for this operation. // int ERROR_FLT_NO_HANDLER_DEFINED = 0x801F0001; + // // MessageId: ERROR_FLT_CONTEXT_ALREADY_DEFINED // @@ -31066,6 +34794,7 @@ public interface WinError { // A context is already defined for this object. // int ERROR_FLT_CONTEXT_ALREADY_DEFINED = 0x801F0002; + // // MessageId: ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST // @@ -31074,6 +34803,7 @@ public interface WinError { // Asynchronous requests are not valid for this operation. // int ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST = 0x801F0003; + // // MessageId: ERROR_FLT_DISALLOW_FAST_IO // @@ -31082,6 +34812,7 @@ public interface WinError { // Disallow the Fast IO path for this operation. // int ERROR_FLT_DISALLOW_FAST_IO = 0x801F0004; + // // MessageId: ERROR_FLT_INVALID_NAME_REQUEST // @@ -31091,6 +34822,7 @@ public interface WinError { // at this time. // int ERROR_FLT_INVALID_NAME_REQUEST = 0x801F0005; + // // MessageId: ERROR_FLT_NOT_SAFE_TO_POST_OPERATION // @@ -31100,6 +34832,7 @@ public interface WinError { // safe at this time because it could lead to a system deadlock. // int ERROR_FLT_NOT_SAFE_TO_POST_OPERATION = 0x801F0006; + // // MessageId: ERROR_FLT_NOT_INITIALIZED // @@ -31109,6 +34842,7 @@ public interface WinError { // Make sure that the Filter Manager is getting loaded as a driver. // int ERROR_FLT_NOT_INITIALIZED = 0x801F0007; + // // MessageId: ERROR_FLT_FILTER_NOT_READY // @@ -31118,6 +34852,7 @@ public interface WinError { // finished initializing (FLTStartFiltering has not been called). // int ERROR_FLT_FILTER_NOT_READY = 0x801F0008; + // // MessageId: ERROR_FLT_POST_OPERATION_CLEANUP // @@ -31128,6 +34863,7 @@ public interface WinError { // completed by the lower drivers. // int ERROR_FLT_POST_OPERATION_CLEANUP = 0x801F0009; + // // MessageId: ERROR_FLT_INTERNAL_ERROR // @@ -31138,6 +34874,7 @@ public interface WinError { // filter returning an invalid value from a pre-operation callback. // int ERROR_FLT_INTERNAL_ERROR = 0x801F000A; + // // MessageId: ERROR_FLT_DELETING_OBJECT // @@ -31147,6 +34884,7 @@ public interface WinError { // therefore the action requested cannot be completed at this time. // int ERROR_FLT_DELETING_OBJECT = 0x801F000B; + // // MessageId: ERROR_FLT_MUST_BE_NONPAGED_POOL // @@ -31155,6 +34893,7 @@ public interface WinError { // Non-paged pool must be used for this type of context. // int ERROR_FLT_MUST_BE_NONPAGED_POOL = 0x801F000C; + // // MessageId: ERROR_FLT_DUPLICATE_ENTRY // @@ -31163,6 +34902,7 @@ public interface WinError { // A duplicate handler definition has been provided for an operation. // int ERROR_FLT_DUPLICATE_ENTRY = 0x801F000D; + // // MessageId: ERROR_FLT_CBDQ_DISABLED // @@ -31171,6 +34911,7 @@ public interface WinError { // The callback data queue has been disabled. // int ERROR_FLT_CBDQ_DISABLED = 0x801F000E; + // // MessageId: ERROR_FLT_DO_NOT_ATTACH // @@ -31179,6 +34920,7 @@ public interface WinError { // Do not attach the filter to the volume at this time. // int ERROR_FLT_DO_NOT_ATTACH = 0x801F000F; + // // MessageId: ERROR_FLT_DO_NOT_DETACH // @@ -31187,6 +34929,7 @@ public interface WinError { // Do not detach the filter from the volume at this time. // int ERROR_FLT_DO_NOT_DETACH = 0x801F0010; + // // MessageId: ERROR_FLT_INSTANCE_ALTITUDE_COLLISION // @@ -31195,6 +34938,7 @@ public interface WinError { // An instance already exists at this altitude on the volume specified. // int ERROR_FLT_INSTANCE_ALTITUDE_COLLISION = 0x801F0011; + // // MessageId: ERROR_FLT_INSTANCE_NAME_COLLISION // @@ -31203,6 +34947,7 @@ public interface WinError { // An instance already exists with this name on the volume specified. // int ERROR_FLT_INSTANCE_NAME_COLLISION = 0x801F0012; + // // MessageId: ERROR_FLT_FILTER_NOT_FOUND // @@ -31211,6 +34956,7 @@ public interface WinError { // The system could not find the filter specified. // int ERROR_FLT_FILTER_NOT_FOUND = 0x801F0013; + // // MessageId: ERROR_FLT_VOLUME_NOT_FOUND // @@ -31219,6 +34965,7 @@ public interface WinError { // The system could not find the volume specified. // int ERROR_FLT_VOLUME_NOT_FOUND = 0x801F0014; + // // MessageId: ERROR_FLT_INSTANCE_NOT_FOUND // @@ -31227,6 +34974,7 @@ public interface WinError { // The system could not find the instance specified. // int ERROR_FLT_INSTANCE_NOT_FOUND = 0x801F0015; + // // MessageId: ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND // @@ -31236,6 +34984,7 @@ public interface WinError { // request. // int ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND = 0x801F0016; + // // MessageId: ERROR_FLT_INVALID_CONTEXT_REGISTRATION // @@ -31244,6 +34993,7 @@ public interface WinError { // An invalid parameter was specified during context registration. // int ERROR_FLT_INVALID_CONTEXT_REGISTRATION = 0x801F0017; + // // MessageId: ERROR_FLT_NAME_CACHE_MISS // @@ -31253,6 +35003,7 @@ public interface WinError { // not be retrieved from the file system. // int ERROR_FLT_NAME_CACHE_MISS = 0x801F0018; + // // MessageId: ERROR_FLT_NO_DEVICE_OBJECT // @@ -31261,6 +35012,7 @@ public interface WinError { // The requested device object does not exist for the given volume. // int ERROR_FLT_NO_DEVICE_OBJECT = 0x801F0019; + // // MessageId: ERROR_FLT_VOLUME_ALREADY_MOUNTED // @@ -31269,6 +35021,7 @@ public interface WinError { // The specified volume is already mounted. // int ERROR_FLT_VOLUME_ALREADY_MOUNTED = 0x801F001A; + // // MessageId: ERROR_FLT_ALREADY_ENLISTED // @@ -31277,6 +35030,7 @@ public interface WinError { // The specified Transaction Context is already enlisted in a transaction // int ERROR_FLT_ALREADY_ENLISTED = 0x801F001B; + // // MessageId: ERROR_FLT_CONTEXT_ALREADY_LINKED // @@ -31285,6 +35039,7 @@ public interface WinError { // The specifiec context is already attached to another object // int ERROR_FLT_CONTEXT_ALREADY_LINKED = 0x801F001C; + // // MessageId: ERROR_FLT_NO_WAITER_FOR_REPLY // @@ -31293,6 +35048,7 @@ public interface WinError { // No waiter is present for the filter's reply to this message. // int ERROR_FLT_NO_WAITER_FOR_REPLY = 0x801F0020; + // // == // Facility Graphics Error Messages @@ -31325,6 +35081,7 @@ public interface WinError { // you a chance to report this failure to Microsoft. // int ERROR_HUNG_DISPLAY_DRIVER_THREAD = 0x80260001; + // // Desktop Window Manager errors {0x3000..0x3fff} // @@ -31338,6 +35095,7 @@ public interface WinError { // disabled. // int DWM_E_COMPOSITIONDISABLED = 0x80263001; + // // MessageId: DWM_E_REMOTING_NOT_SUPPORTED // @@ -31347,6 +35105,7 @@ public interface WinError { // The operation is not supported while running in a remote session. // int DWM_E_REMOTING_NOT_SUPPORTED = 0x80263002; + // // MessageId: DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE // @@ -31357,6 +35116,7 @@ public interface WinError { // DirectX present. // int DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE = 0x80263003; + // // MessageId: DWM_E_NOT_QUEUING_PRESENTS // @@ -31366,6 +35126,7 @@ public interface WinError { // The window specified is not currently using queued presents. // int DWM_E_NOT_QUEUING_PRESENTS = 0x80263004; + // // Monitor class function driver errors {0x1000..0x1fff} // @@ -31377,6 +35138,7 @@ public interface WinError { // Monitor descriptor could not be obtained. // int ERROR_MONITOR_NO_DESCRIPTOR = 0x80261001; + // // MessageId: ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT // @@ -31386,6 +35148,7 @@ public interface WinError { // release. // int ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT = 0x80261002; + // // MessageId: ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM // @@ -31394,6 +35157,7 @@ public interface WinError { // Checksum of the obtained monitor descriptor is invalid. // int ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM = 0xC0261003; + // // MessageId: ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK // @@ -31402,6 +35166,7 @@ public interface WinError { // Monitor descriptor contains an invalid standard timing block. // int ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK = 0xC0261004; + // // MessageId: ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED // @@ -31411,6 +35176,7 @@ public interface WinError { // subclasses. // int ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED = 0xC0261005; + // // MessageId: ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK // @@ -31420,6 +35186,7 @@ public interface WinError { // monitor's detailed serial number. // int ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK = 0xC0261006; + // // MessageId: ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK // @@ -31429,6 +35196,7 @@ public interface WinError { // monitor's user friendly name. // int ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK = 0xC0261007; + // // MessageId: ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA // @@ -31438,6 +35206,7 @@ public interface WinError { // region. // int ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA = 0xC0261008; + // // MessageId: ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK // @@ -31446,6 +35215,7 @@ public interface WinError { // Monitor descriptor contains an invalid detailed timing block. // int ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK = 0xC0261009; + // // Windows Graphics Kernel Subsystem errors {0x2000..0x2fff} // @@ -31462,6 +35232,7 @@ public interface WinError { // allocation. // int ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER = 0xC0262000; + // // MessageId: ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER // @@ -31471,6 +35242,7 @@ public interface WinError { // operation. // int ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER = 0xC0262001; + // // MessageId: ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER // @@ -31479,6 +35251,7 @@ public interface WinError { // Specified display adapter handle is invalid. // int ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER = 0xC0262002; + // // MessageId: ERROR_GRAPHICS_ADAPTER_WAS_RESET // @@ -31487,6 +35260,7 @@ public interface WinError { // Specified display adapter and all of its state has been reset. // int ERROR_GRAPHICS_ADAPTER_WAS_RESET = 0xC0262003; + // // MessageId: ERROR_GRAPHICS_INVALID_DRIVER_MODEL // @@ -31495,6 +35269,7 @@ public interface WinError { // The driver stack doesn't match the expected driver model. // int ERROR_GRAPHICS_INVALID_DRIVER_MODEL = 0xC0262004; + // // MessageId: ERROR_GRAPHICS_PRESENT_MODE_CHANGED // @@ -31503,6 +35278,7 @@ public interface WinError { // Present happened but ended up into the changed desktop mode // int ERROR_GRAPHICS_PRESENT_MODE_CHANGED = 0xC0262005; + // // MessageId: ERROR_GRAPHICS_PRESENT_OCCLUDED // @@ -31511,6 +35287,7 @@ public interface WinError { // Nothing to present due to desktop occlusion // int ERROR_GRAPHICS_PRESENT_OCCLUDED = 0xC0262006; + // // MessageId: ERROR_GRAPHICS_PRESENT_DENIED // @@ -31519,6 +35296,7 @@ public interface WinError { // Not able to present due to denial of desktop access // int ERROR_GRAPHICS_PRESENT_DENIED = 0xC0262007; + // // MessageId: ERROR_GRAPHICS_CANNOTCOLORCONVERT // @@ -31527,6 +35305,7 @@ public interface WinError { // Not able to present with color convertion // int ERROR_GRAPHICS_CANNOTCOLORCONVERT = 0xC0262008; + // // MessageId: ERROR_GRAPHICS_DRIVER_MISMATCH // @@ -31536,6 +35315,7 @@ public interface WinError { // mode driver. // int ERROR_GRAPHICS_DRIVER_MISMATCH = 0xC0262009; + // // MessageId: ERROR_GRAPHICS_PARTIAL_DATA_POPULATED // @@ -31547,6 +35327,7 @@ public interface WinError { // populated buffer's content (interface specific). // int ERROR_GRAPHICS_PARTIAL_DATA_POPULATED = 0x4026200A; + // // Video Memory Manager (VidMM) subsystem errors {0x2100..0x21ff} // @@ -31558,6 +35339,7 @@ public interface WinError { // Not enough video memory available to complete the operation. // int ERROR_GRAPHICS_NO_VIDEO_MEMORY = 0xC0262100; + // // MessageId: ERROR_GRAPHICS_CANT_LOCK_MEMORY // @@ -31566,6 +35348,7 @@ public interface WinError { // Couldn't probe and lock the underlying memory of an allocation. // int ERROR_GRAPHICS_CANT_LOCK_MEMORY = 0xC0262101; + // // MessageId: ERROR_GRAPHICS_ALLOCATION_BUSY // @@ -31574,6 +35357,7 @@ public interface WinError { // The allocation is currently busy. // int ERROR_GRAPHICS_ALLOCATION_BUSY = 0xC0262102; + // // MessageId: ERROR_GRAPHICS_TOO_MANY_REFERENCES // @@ -31583,6 +35367,7 @@ public interface WinError { // and can't be reference further. // int ERROR_GRAPHICS_TOO_MANY_REFERENCES = 0xC0262103; + // // MessageId: ERROR_GRAPHICS_TRY_AGAIN_LATER // @@ -31592,6 +35377,7 @@ public interface WinError { // The problem should be tried again later. // int ERROR_GRAPHICS_TRY_AGAIN_LATER = 0xC0262104; + // // MessageId: ERROR_GRAPHICS_TRY_AGAIN_NOW // @@ -31601,6 +35387,7 @@ public interface WinError { // The problem should be tried again immediately. // int ERROR_GRAPHICS_TRY_AGAIN_NOW = 0xC0262105; + // // MessageId: ERROR_GRAPHICS_ALLOCATION_INVALID // @@ -31609,6 +35396,7 @@ public interface WinError { // The allocation is invalid. // int ERROR_GRAPHICS_ALLOCATION_INVALID = 0xC0262106; + // // MessageId: ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE // @@ -31617,6 +35405,7 @@ public interface WinError { // No more unswizzling aperture are currently available. // int ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE = 0xC0262107; + // // MessageId: ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED // @@ -31625,6 +35414,7 @@ public interface WinError { // The current allocation can't be unswizzled by an aperture. // int ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED = 0xC0262108; + // // MessageId: ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION // @@ -31633,6 +35423,7 @@ public interface WinError { // The request failed because a pinned allocation can't be evicted. // int ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION = 0xC0262109; + // // MessageId: ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE // @@ -31642,6 +35433,7 @@ public interface WinError { // specified operation. // int ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE = 0xC0262110; + // // MessageId: ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION // @@ -31650,6 +35442,7 @@ public interface WinError { // A locked allocation can't be used in the current command buffer. // int ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION = 0xC0262111; + // // MessageId: ERROR_GRAPHICS_ALLOCATION_CLOSED // @@ -31658,6 +35451,7 @@ public interface WinError { // The allocation being referenced has been closed permanently. // int ERROR_GRAPHICS_ALLOCATION_CLOSED = 0xC0262112; + // // MessageId: ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE // @@ -31666,6 +35460,7 @@ public interface WinError { // An invalid allocation instance is being referenced. // int ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE = 0xC0262113; + // // MessageId: ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE // @@ -31674,6 +35469,7 @@ public interface WinError { // An invalid allocation handle is being referenced. // int ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE = 0xC0262114; + // // MessageId: ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE // @@ -31682,6 +35478,7 @@ public interface WinError { // The allocation being referenced doesn't belong to the current device. // int ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE = 0xC0262115; + // // MessageId: ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST // @@ -31690,6 +35487,7 @@ public interface WinError { // The specified allocation lost its content. // int ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST = 0xC0262116; + // // Video GPU Scheduler (VidSch) subsystem errors {0x2200..0x22ff} // @@ -31702,6 +35500,7 @@ public interface WinError { // be scheduled. // int ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE = 0xC0262200; + // // Video Present Network Management (VidPNMgr) subsystem errors // {0x2300..0x23ff} @@ -31714,6 +35513,7 @@ public interface WinError { // Specified VidPN topology is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY = 0xC0262300; + // // MessageId: ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED // @@ -31723,6 +35523,7 @@ public interface WinError { // the display adapter. // int ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED = 0xC0262301; + // // MessageId: ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED // @@ -31732,6 +35533,7 @@ public interface WinError { // adapter at this time, due to current allocation of its resources. // int ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED = 0xC0262302; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN // @@ -31740,6 +35542,7 @@ public interface WinError { // Specified VidPN handle is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN = 0xC0262303; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE // @@ -31748,6 +35551,7 @@ public interface WinError { // Specified video present source is invalid. // int ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE = 0xC0262304; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET // @@ -31756,6 +35560,7 @@ public interface WinError { // Specified video present target is invalid. // int ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET = 0xC0262305; + // // MessageId: ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED // @@ -31765,6 +35570,7 @@ public interface WinError { // pinned modes are not cofunctiona;. // int ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED = 0xC0262306; + // // MessageId: ERROR_GRAPHICS_MODE_NOT_PINNED // @@ -31773,6 +35579,7 @@ public interface WinError { // No mode is pinned on the specified VidPN source/target. // int ERROR_GRAPHICS_MODE_NOT_PINNED = 0x00262307; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET // @@ -31781,6 +35588,7 @@ public interface WinError { // Specified VidPN source mode set is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET = 0xC0262308; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET // @@ -31789,6 +35597,7 @@ public interface WinError { // Specified VidPN target mode set is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET = 0xC0262309; + // // MessageId: ERROR_GRAPHICS_INVALID_FREQUENCY // @@ -31797,6 +35606,7 @@ public interface WinError { // Specified video signal frequency is invalid. // int ERROR_GRAPHICS_INVALID_FREQUENCY = 0xC026230A; + // // MessageId: ERROR_GRAPHICS_INVALID_ACTIVE_REGION // @@ -31805,6 +35615,7 @@ public interface WinError { // Specified video signal active region is invalid. // int ERROR_GRAPHICS_INVALID_ACTIVE_REGION = 0xC026230B; + // // MessageId: ERROR_GRAPHICS_INVALID_TOTAL_REGION // @@ -31813,6 +35624,7 @@ public interface WinError { // Specified video signal total region is invalid. // int ERROR_GRAPHICS_INVALID_TOTAL_REGION = 0xC026230C; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE // @@ -31821,6 +35633,7 @@ public interface WinError { // Specified video present source mode is invalid. // int ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE = 0xC0262310; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE // @@ -31829,6 +35642,7 @@ public interface WinError { // Specified video present target mode is invalid. // int ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE = 0xC0262311; + // // MessageId: ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET // @@ -31838,6 +35652,7 @@ public interface WinError { // enumeration. // int ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET = 0xC0262312; + // // MessageId: ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY // @@ -31846,6 +35661,7 @@ public interface WinError { // Specified video present path is already in VidPN's topology. // int ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY = 0xC0262313; + // // MessageId: ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET // @@ -31854,6 +35670,7 @@ public interface WinError { // Specified mode is already in the mode set. // int ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET = 0xC0262314; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET // @@ -31862,6 +35679,7 @@ public interface WinError { // Specified video present source set is invalid. // int ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET = 0xC0262315; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET // @@ -31870,6 +35688,7 @@ public interface WinError { // Specified video present target set is invalid. // int ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET = 0xC0262316; + // // MessageId: ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET // @@ -31879,6 +35698,7 @@ public interface WinError { // set. // int ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET = 0xC0262317; + // // MessageId: ERROR_GRAPHICS_TARGET_ALREADY_IN_SET // @@ -31888,6 +35708,7 @@ public interface WinError { // set. // int ERROR_GRAPHICS_TARGET_ALREADY_IN_SET = 0xC0262318; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH // @@ -31896,6 +35717,7 @@ public interface WinError { // Specified VidPN present path is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH = 0xC0262319; + // // MessageId: ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY // @@ -31905,6 +35727,7 @@ public interface WinError { // topology. // int ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY = 0xC026231A; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET // @@ -31913,6 +35736,7 @@ public interface WinError { // Specified monitor frequency range set is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET = 0xC026231B; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE // @@ -31921,6 +35745,7 @@ public interface WinError { // Specified monitor frequency range is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE = 0xC026231C; + // // MessageId: ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET // @@ -31930,6 +35755,7 @@ public interface WinError { // set. // int ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET = 0xC026231D; + // // MessageId: ERROR_GRAPHICS_NO_PREFERRED_MODE // @@ -31938,6 +35764,7 @@ public interface WinError { // Specified mode set does not specify preference for one of its modes. // int ERROR_GRAPHICS_NO_PREFERRED_MODE = 0x0026231E; + // // MessageId: ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET // @@ -31947,6 +35774,7 @@ public interface WinError { // range set. // int ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET = 0xC026231F; + // // MessageId: ERROR_GRAPHICS_STALE_MODESET // @@ -31955,6 +35783,7 @@ public interface WinError { // Specified mode set is stale. Please reacquire the new mode set. // int ERROR_GRAPHICS_STALE_MODESET = 0xC0262320; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET // @@ -31963,6 +35792,7 @@ public interface WinError { // Specified monitor source mode set is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET = 0xC0262321; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE // @@ -31971,6 +35801,7 @@ public interface WinError { // Specified monitor source mode is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE = 0xC0262322; + // // MessageId: ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN // @@ -31981,6 +35812,7 @@ public interface WinError { // configuration. // int ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN = 0xC0262323; + // // MessageId: ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE // @@ -31989,6 +35821,7 @@ public interface WinError { // ID of the specified mode is already used by another mode in the set. // int ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE = 0xC0262324; + // // MessageId: ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION // @@ -31998,6 +35831,7 @@ public interface WinError { // adapter and the monitor connected to it. // int ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION = 0xC0262325; + // // MessageId: ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES // @@ -32007,6 +35841,7 @@ public interface WinError { // number of video present sources. // int ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES = 0xC0262326; + // // MessageId: ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY // @@ -32015,6 +35850,7 @@ public interface WinError { // Specified present path is not in VidPN's topology. // int ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY = 0xC0262327; + // // MessageId: ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE // @@ -32023,6 +35859,7 @@ public interface WinError { // Display adapter must have at least one video present source. // int ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE = 0xC0262328; + // // MessageId: ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET // @@ -32031,6 +35868,7 @@ public interface WinError { // Display adapter must have at least one video present target. // int ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET = 0xC0262329; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET // @@ -32039,6 +35877,7 @@ public interface WinError { // Specified monitor descriptor set is invalid. // int ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET = 0xC026232A; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR // @@ -32047,6 +35886,7 @@ public interface WinError { // Specified monitor descriptor is invalid. // int ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR = 0xC026232B; + // // MessageId: ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET // @@ -32055,6 +35895,7 @@ public interface WinError { // Specified descriptor is not in the specified monitor descriptor set. // int ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET = 0xC026232C; + // // MessageId: ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET // @@ -32063,6 +35904,7 @@ public interface WinError { // Specified descriptor is already in the specified monitor descriptor set. // int ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET = 0xC026232D; + // // MessageId: ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE // @@ -32072,6 +35914,7 @@ public interface WinError { // descriptor in the set. // int ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE = 0xC026232E; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE // @@ -32080,6 +35923,7 @@ public interface WinError { // Specified video present target subset type is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE = 0xC026232F; + // // MessageId: ERROR_GRAPHICS_RESOURCES_NOT_RELATED // @@ -32089,6 +35933,7 @@ public interface WinError { // defined by the interface semantics. // int ERROR_GRAPHICS_RESOURCES_NOT_RELATED = 0xC0262330; + // // MessageId: ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE // @@ -32098,6 +35943,7 @@ public interface WinError { // source in the set. // int ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE = 0xC0262331; + // // MessageId: ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE // @@ -32107,6 +35953,7 @@ public interface WinError { // target in the set. // int ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE = 0xC0262332; + // // MessageId: ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET // @@ -32116,6 +35963,7 @@ public interface WinError { // target to connect it to. // int ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET = 0xC0262333; + // // MessageId: ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER // @@ -32124,6 +35972,7 @@ public interface WinError { // Newly arrived monitor could not be associated with a display adapter. // int ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER = 0xC0262334; + // // MessageId: ERROR_GRAPHICS_NO_VIDPNMGR // @@ -32132,6 +35981,7 @@ public interface WinError { // Display adapter in question does not have an associated VidPN manager. // int ERROR_GRAPHICS_NO_VIDPNMGR = 0xC0262335; + // // MessageId: ERROR_GRAPHICS_NO_ACTIVE_VIDPN // @@ -32141,6 +35991,7 @@ public interface WinError { // VidPN. // int ERROR_GRAPHICS_NO_ACTIVE_VIDPN = 0xC0262336; + // // MessageId: ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY // @@ -32149,6 +36000,7 @@ public interface WinError { // Specified VidPN topology is stale. Please reacquire the new topology. // int ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY = 0xC0262337; + // // MessageId: ERROR_GRAPHICS_MONITOR_NOT_CONNECTED // @@ -32157,6 +36009,7 @@ public interface WinError { // There is no monitor connected on the specified video present target. // int ERROR_GRAPHICS_MONITOR_NOT_CONNECTED = 0xC0262338; + // // MessageId: ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY // @@ -32165,6 +36018,7 @@ public interface WinError { // Specified source is not part of the specified VidPN's topology. // int ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY = 0xC0262339; + // // MessageId: ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE // @@ -32173,6 +36027,7 @@ public interface WinError { // Specified primary surface size is invalid. // int ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE = 0xC026233A; + // // MessageId: ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE // @@ -32181,6 +36036,7 @@ public interface WinError { // Specified visible region size is invalid. // int ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE = 0xC026233B; + // // MessageId: ERROR_GRAPHICS_INVALID_STRIDE // @@ -32189,6 +36045,7 @@ public interface WinError { // Specified stride is invalid. // int ERROR_GRAPHICS_INVALID_STRIDE = 0xC026233C; + // // MessageId: ERROR_GRAPHICS_INVALID_PIXELFORMAT // @@ -32197,6 +36054,7 @@ public interface WinError { // Specified pixel format is invalid. // int ERROR_GRAPHICS_INVALID_PIXELFORMAT = 0xC026233D; + // // MessageId: ERROR_GRAPHICS_INVALID_COLORBASIS // @@ -32205,6 +36063,7 @@ public interface WinError { // Specified color basis is invalid. // int ERROR_GRAPHICS_INVALID_COLORBASIS = 0xC026233E; + // // MessageId: ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE // @@ -32213,6 +36072,7 @@ public interface WinError { // Specified pixel value access mode is invalid. // int ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE = 0xC026233F; + // // MessageId: ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY // @@ -32221,6 +36081,7 @@ public interface WinError { // Specified target is not part of the specified VidPN's topology. // int ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY = 0xC0262340; + // // MessageId: ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT // @@ -32229,6 +36090,7 @@ public interface WinError { // Failed to acquire display mode management interface. // int ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT = 0xC0262341; + // // MessageId: ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE // @@ -32238,6 +36100,7 @@ public interface WinError { // used until that client releases it. // int ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE = 0xC0262342; + // // MessageId: ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN // @@ -32246,6 +36109,7 @@ public interface WinError { // Specified VidPN is active and cannot be accessed. // int ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN = 0xC0262343; + // // MessageId: ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL // @@ -32254,6 +36118,7 @@ public interface WinError { // Specified VidPN present path importance ordinal is invalid. // int ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL = 0xC0262344; + // // MessageId: ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION // @@ -32262,6 +36127,7 @@ public interface WinError { // Specified VidPN present path content geometry transformation is invalid. // int ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION = 0xC0262345; + // // MessageId: // ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED @@ -32272,6 +36138,7 @@ public interface WinError { // respective VidPN present path. // int ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED = 0xC0262346; + // // MessageId: ERROR_GRAPHICS_INVALID_GAMMA_RAMP // @@ -32280,6 +36147,7 @@ public interface WinError { // Specified gamma ramp is invalid. // int ERROR_GRAPHICS_INVALID_GAMMA_RAMP = 0xC0262347; + // // MessageId: ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED // @@ -32289,6 +36157,7 @@ public interface WinError { // path. // int ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED = 0xC0262348; + // // MessageId: ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED // @@ -32297,6 +36166,7 @@ public interface WinError { // Multi-sampling is not supported on the respective VidPN present path. // int ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED = 0xC0262349; + // // MessageId: ERROR_GRAPHICS_MODE_NOT_IN_MODESET // @@ -32305,6 +36175,7 @@ public interface WinError { // Specified mode is not in the specified mode set. // int ERROR_GRAPHICS_MODE_NOT_IN_MODESET = 0xC026234A; + // // MessageId: ERROR_GRAPHICS_DATASET_IS_EMPTY // @@ -32314,6 +36185,7 @@ public interface WinError { // topology, etc.) is empty. // int ERROR_GRAPHICS_DATASET_IS_EMPTY = 0x0026234B; + // // MessageId: ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET // @@ -32323,6 +36195,7 @@ public interface WinError { // topology, etc.) does not contain any more elements. // int ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET = 0x0026234C; + // // MessageId: ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON // @@ -32331,6 +36204,7 @@ public interface WinError { // Specified VidPN topology recommendation reason is invalid. // int ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON = 0xC026234D; + // // MessageId: ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE // @@ -32339,6 +36213,7 @@ public interface WinError { // Specified VidPN present path content type is invalid. // int ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE = 0xC026234E; + // // MessageId: ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE // @@ -32347,6 +36222,7 @@ public interface WinError { // Specified VidPN present path copy protection type is invalid. // int ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE = 0xC026234F; + // // MessageId: ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS // @@ -32356,6 +36232,7 @@ public interface WinError { // given VidPN source/target. // int ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS = 0xC0262350; + // // MessageId: ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED // @@ -32365,6 +36242,7 @@ public interface WinError { // present path. // int ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED = 0x00262351; + // // MessageId: ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING // @@ -32373,6 +36251,7 @@ public interface WinError { // Specified scanline ordering type is invalid. // int ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING = 0xC0262352; + // // MessageId: ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED // @@ -32381,6 +36260,7 @@ public interface WinError { // Topology changes are not allowed for the specified VidPN. // int ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED = 0xC0262353; + // // MessageId: ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS // @@ -32389,6 +36269,7 @@ public interface WinError { // All available importance ordinals are already used in specified topology. // int ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS = 0xC0262354; + // // MessageId: ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT // @@ -32398,6 +36279,7 @@ public interface WinError { // the current primary surface // int ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT = 0xC0262355; + // // MessageId: ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM // @@ -32406,6 +36288,7 @@ public interface WinError { // Specified mode pruning algorithm is invalid // int ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM = 0xC0262356; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN // @@ -32414,6 +36297,7 @@ public interface WinError { // Specified monitor capability origin is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN = 0xC0262357; + // // MessageId: ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT // @@ -32422,6 +36306,7 @@ public interface WinError { // Specified monitor frequency range constraint is invalid. // int ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT = 0xC0262358; + // // MessageId: ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED // @@ -32430,6 +36315,7 @@ public interface WinError { // Maximum supported number of present paths has been reached. // int ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED = 0xC0262359; + // // MessageId: ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION // @@ -32439,6 +36325,7 @@ public interface WinError { // source of the specified VidPN's topology. // int ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION = 0xC026235A; + // // MessageId: ERROR_GRAPHICS_INVALID_CLIENT_TYPE // @@ -32447,6 +36334,7 @@ public interface WinError { // Specified client type was not recognized. // int ERROR_GRAPHICS_INVALID_CLIENT_TYPE = 0xC026235B; + // // MessageId: ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET // @@ -32456,6 +36344,7 @@ public interface WinError { // changes took place on this adapter yet). // int ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET = 0xC026235C; + // // Port specific status codes {0x2400..0x24ff} // @@ -32468,6 +36357,7 @@ public interface WinError { // connected to it. // int ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED = 0xC0262400; + // // MessageId: ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED // @@ -32477,6 +36367,7 @@ public interface WinError { // exposure. // int ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED = 0xC0262401; + // // MessageId: ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS // @@ -32485,6 +36376,7 @@ public interface WinError { // Child device presence was not reliably detected. // int ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS = 0x4026242F; + // // MessageId: ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER // @@ -32493,6 +36385,7 @@ public interface WinError { // The display adapter is not linked to any other adapters. // int ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER = 0xC0262430; + // // MessageId: ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED // @@ -32501,6 +36394,7 @@ public interface WinError { // Lead adapter in a linked configuration was not enumerated yet. // int ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED = 0xC0262431; + // // MessageId: ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED // @@ -32509,6 +36403,7 @@ public interface WinError { // Some chain adapters in a linked configuration were not enumerated yet. // int ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED = 0xC0262432; + // // MessageId: ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY // @@ -32518,6 +36413,7 @@ public interface WinError { // failure. // int ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY = 0xC0262433; + // // MessageId: ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED // @@ -32527,6 +36423,7 @@ public interface WinError { // links were not started yet. // int ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED = 0xC0262434; + // // MessageId: ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON // @@ -32536,6 +36433,7 @@ public interface WinError { // chain links were powered down. // int ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON = 0xC0262435; + // // MessageId: ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE // @@ -32545,6 +36443,7 @@ public interface WinError { // adapters are in an expected PNP/Power state. // int ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE = 0xC0262436; + // // MessageId: ERROR_GRAPHICS_LEADLINK_START_DEFERRED // @@ -32553,6 +36452,7 @@ public interface WinError { // Starting the leadlink adapter has been deferred temporarily. // int ERROR_GRAPHICS_LEADLINK_START_DEFERRED = 0x40262437; + // // MessageId: ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER // @@ -32562,6 +36462,7 @@ public interface WinError { // display adapter. // int ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER = 0xC0262438; + // // MessageId: ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY // @@ -32571,6 +36472,7 @@ public interface WinError { // same polling level. // int ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY = 0x40262439; + // // MessageId: ERROR_GRAPHICS_START_DEFERRED // @@ -32579,6 +36481,7 @@ public interface WinError { // Starting the adapter has been deferred temporarily. // int ERROR_GRAPHICS_START_DEFERRED = 0x4026243A; + // // MessageId: ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED // @@ -32588,6 +36491,7 @@ public interface WinError { // in a quiescent state. // int ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED = 0xC026243B; + // // OPM, UAB and PVP specific error codes {0x2500..0x257f} // @@ -32599,6 +36503,7 @@ public interface WinError { // The driver does not support OPM. // int ERROR_GRAPHICS_OPM_NOT_SUPPORTED = 0xC0262500; + // // MessageId: ERROR_GRAPHICS_COPP_NOT_SUPPORTED // @@ -32607,6 +36512,7 @@ public interface WinError { // The driver does not support COPP. // int ERROR_GRAPHICS_COPP_NOT_SUPPORTED = 0xC0262501; + // // MessageId: ERROR_GRAPHICS_UAB_NOT_SUPPORTED // @@ -32615,6 +36521,7 @@ public interface WinError { // The driver does not support UAB. // int ERROR_GRAPHICS_UAB_NOT_SUPPORTED = 0xC0262502; + // // MessageId: ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS // @@ -32623,6 +36530,7 @@ public interface WinError { // The specified encrypted parameters are invalid. // int ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS = 0xC0262503; + // // MessageId: ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST // @@ -32632,6 +36540,7 @@ public interface WinError { // video outputs. // int ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST = 0xC0262505; + // // MessageId: ERROR_GRAPHICS_OPM_INTERNAL_ERROR // @@ -32640,6 +36549,7 @@ public interface WinError { // An internal error caused this operation to fail. // int ERROR_GRAPHICS_OPM_INTERNAL_ERROR = 0xC026250B; + // // MessageId: ERROR_GRAPHICS_OPM_INVALID_HANDLE // @@ -32649,6 +36559,7 @@ public interface WinError { // handle. // int ERROR_GRAPHICS_OPM_INVALID_HANDLE = 0xC026250C; + // // MessageId: ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH // @@ -32658,6 +36569,7 @@ public interface WinError { // to the function was too small. // int ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH = 0xC026250E; + // // MessageId: ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED // @@ -32667,6 +36579,7 @@ public interface WinError { // spanning mode. // int ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED = 0xC026250F; + // // MessageId: ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED // @@ -32676,6 +36589,7 @@ public interface WinError { // theater mode. // int ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED = 0xC0262510; + // // MessageId: ERROR_GRAPHICS_PVP_HFS_FAILED // @@ -32685,6 +36599,7 @@ public interface WinError { // Scan failed to validate the graphics hardware. // int ERROR_GRAPHICS_PVP_HFS_FAILED = 0xC0262511; + // // MessageId: ERROR_GRAPHICS_OPM_INVALID_SRM // @@ -32694,6 +36609,7 @@ public interface WinError { // comply with section=5 of the HDCP=1.1 specification. // int ERROR_GRAPHICS_OPM_INVALID_SRM = 0xC0262512; + // // MessageId: ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP // @@ -32703,6 +36619,7 @@ public interface WinError { // Protection (HDCP) System because it does not support HDCP. // int ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP = 0xC0262513; + // // MessageId: ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP // @@ -32712,6 +36629,7 @@ public interface WinError { // does not support ACP. // int ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP = 0xC0262514; + // // MessageId: ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA // @@ -32722,6 +36640,7 @@ public interface WinError { // CGMS-A. // int ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA = 0xC0262515; + // // MessageId: ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET // @@ -32732,6 +36651,7 @@ public interface WinError { // SRM to the video output. // int ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET = 0xC0262516; + // // MessageId: ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH // @@ -32741,6 +36661,7 @@ public interface WinError { // protection technology because the output's screen resolution is too high. // int ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH = 0xC0262517; + // // MessageId: ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE // @@ -32751,6 +36672,7 @@ public interface WinError { // outputs. // int ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE = 0xC0262518; + // // MessageId: ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS // @@ -32764,6 +36686,7 @@ public interface WinError { // desktop became an inactive desktop. // int ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS = 0xC026251A; + // // MessageId: ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS // @@ -32775,6 +36698,7 @@ public interface WinError { // and remote (RDP or ICA). // int ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS = 0xC026251B; + // // MessageId: ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS // @@ -32790,6 +36714,7 @@ public interface WinError { // caller tries to use a COPP specific command. // int ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS = 0xC026251C; + // // MessageId: ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST // @@ -32801,6 +36726,7 @@ public interface WinError { // the passed in OMAC value is invalid. // int ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST = 0xC026251D; + // // MessageId: ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR // @@ -32810,6 +36736,7 @@ public interface WinError { // display driver. // int ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR = 0xC026251E; + // // MessageId: ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS // @@ -32825,6 +36752,7 @@ public interface WinError { // when the caller tries to use an OPM specific command. // int ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS = 0xC026251F; + // // MessageId: ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED // @@ -32836,6 +36764,7 @@ public interface WinError { // OPM_SET_ACP_AND_CGMSA_SIGNALING GUIDs. // int ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED = 0xC0262520; + // // MessageId: ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST // @@ -32846,6 +36775,7 @@ public interface WinError { // passed in OMAC value is invalid. // int ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST = 0xC0262521; + // // Monitor Configuration API error codes {0x2580..0x25DF} // @@ -32858,6 +36788,7 @@ public interface WinError { // bus. // int ERROR_GRAPHICS_I2C_NOT_SUPPORTED = 0xC0262580; + // // MessageId: ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST // @@ -32866,6 +36797,7 @@ public interface WinError { // No device on the I2C bus has the specified address. // int ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST = 0xC0262581; + // // MessageId: ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA // @@ -32874,6 +36806,7 @@ public interface WinError { // An error occurred while transmitting data to the device on the I2C bus. // int ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA = 0xC0262582; + // // MessageId: ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA // @@ -32882,6 +36815,7 @@ public interface WinError { // An error occurred while receiving data from the device on the I2C bus. // int ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA = 0xC0262583; + // // MessageId: ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED // @@ -32890,6 +36824,7 @@ public interface WinError { // The monitor does not support the specified VCP code. // int ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED = 0xC0262584; + // // MessageId: ERROR_GRAPHICS_DDCCI_INVALID_DATA // @@ -32898,6 +36833,7 @@ public interface WinError { // The data received from the monitor is invalid. // int ERROR_GRAPHICS_DDCCI_INVALID_DATA = 0xC0262585; + // // MessageId: // ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE @@ -32909,6 +36845,7 @@ public interface WinError { // Message command to get a timing report from a monitor. // int ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE = 0xC0262586; + // // MessageId: ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING // @@ -32918,6 +36855,7 @@ public interface WinError { // with the ACCESS.bus=3.0, DDC/CI=1.1, or MCCS=2 Revision=1 specification. // int ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING = 0xC0262587; + // // MessageId: ERROR_GRAPHICS_MCA_INTERNAL_ERROR // @@ -32926,6 +36864,7 @@ public interface WinError { // An internal Monitor Configuration API error occured. // int ERROR_GRAPHICS_MCA_INTERNAL_ERROR = 0xC0262588; + // // MessageId: ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND // @@ -32935,6 +36874,7 @@ public interface WinError { // command field. // int ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND = 0xC0262589; + // // MessageId: ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH // @@ -32944,6 +36884,7 @@ public interface WinError { // an invalid value. // int ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH = 0xC026258A; + // // MessageId: ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM // @@ -32955,6 +36896,7 @@ public interface WinError { // computer. // int ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM = 0xC026258B; + // // MessageId: ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE // @@ -32963,6 +36905,7 @@ public interface WinError { // This function failed because an invalid monitor handle was passed to it. // int ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE = 0xC026258C; + // // MessageId: ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS // @@ -32976,6 +36919,7 @@ public interface WinError { // when windows sends a WM_DISPLAYCHANGE windows message to applications. // int ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS = 0xC026258D; + // // MessageId: // ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE @@ -32986,6 +36930,7 @@ public interface WinError { // This error code indicates that a monitor returned an invalid value. // int ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE = 0xC02625D8; + // // MessageId: ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION // @@ -32995,6 +36940,7 @@ public interface WinError { // value. // int ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION = 0xC02625D9; + // // MessageId: ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION // @@ -33004,6 +36950,7 @@ public interface WinError { // support. // int ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION = 0xC02625DA; + // // MessageId: ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH // @@ -33014,6 +36961,7 @@ public interface WinError { // used. // int ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH = 0xC02625DB; + // // MessageId: ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION // @@ -33024,6 +36972,7 @@ public interface WinError { // specification. // int ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION = 0xC02625DC; + // // MessageId: ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED // @@ -33035,6 +36984,7 @@ public interface WinError { // specification. // int ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED = 0xC02625DE; + // // MessageId: ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE // @@ -33045,6 +36995,7 @@ public interface WinError { // monitor violated the MCCS=2.0 or MCCS=2.0 Revision=1 specification. // int ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE = 0xC02625DF; + // // OPM, UAB, PVP and DDC/CI shared error codes {0x25E0..0x25ff} // @@ -33058,6 +37009,7 @@ public interface WinError { // desktop session or on a terminal server session. // int ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED = 0xC02625E0; + // // MessageId: ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME // @@ -33067,6 +37019,7 @@ public interface WinError { // to the specified GDI display device name. // int ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME = 0xC02625E1; + // // MessageId: ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP // @@ -33076,6 +37029,7 @@ public interface WinError { // attached to the Windows desktop. // int ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP = 0xC02625E2; + // // MessageId: ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED // @@ -33086,6 +37040,7 @@ public interface WinError { // with them. // int ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED = 0xC02625E3; + // // MessageId: ERROR_GRAPHICS_INVALID_POINTER // @@ -33096,6 +37051,7 @@ public interface WinError { // address, points to a kernel mode address, or is not correctly aligned. // int ERROR_GRAPHICS_INVALID_POINTER = 0xC02625E4; + // // MessageId: ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE // @@ -33105,6 +37061,7 @@ public interface WinError { // monitors associated with it. // int ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE = 0xC02625E5; + // // MessageId: ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL // @@ -33114,6 +37071,7 @@ public interface WinError { // function must copy into the array. // int ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL = 0xC02625E6; + // // MessageId: ERROR_GRAPHICS_INTERNAL_ERROR // @@ -33122,6 +37080,7 @@ public interface WinError { // An internal error caused an operation to fail. // int ERROR_GRAPHICS_INTERNAL_ERROR = 0xC02625E7; + // // MessageId: ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS // @@ -33133,6 +37092,7 @@ public interface WinError { // and remote (RDP or ICA). // int ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS = 0xC02605E8; + // // = // TPM Services and TPM Software Error Messages @@ -33179,6 +37139,7 @@ public interface WinError { // This is an error mask to convert TPM hardware errors to win errors. // int TPM_E_ERROR_MASK = 0x80280000; + // // MessageId: TPM_E_AUTHFAIL // @@ -33187,6 +37148,7 @@ public interface WinError { // Authentication failed. // int TPM_E_AUTHFAIL = 0x80280001; + // // MessageId: TPM_E_BADINDEX // @@ -33195,6 +37157,7 @@ public interface WinError { // The index to a PCR, DIR or other register is incorrect. // int TPM_E_BADINDEX = 0x80280002; + // // MessageId: TPM_E_BAD_PARAMETER // @@ -33203,6 +37166,7 @@ public interface WinError { // One or more parameter is bad. // int TPM_E_BAD_PARAMETER = 0x80280003; + // // MessageId: TPM_E_AUDITFAILURE // @@ -33212,6 +37176,7 @@ public interface WinError { // failed. // int TPM_E_AUDITFAILURE = 0x80280004; + // // MessageId: TPM_E_CLEAR_DISABLED // @@ -33221,6 +37186,7 @@ public interface WinError { // physical access. // int TPM_E_CLEAR_DISABLED = 0x80280005; + // // MessageId: TPM_E_DEACTIVATED // @@ -33229,6 +37195,7 @@ public interface WinError { // Activate the Trusted Platform Module (TPM). // int TPM_E_DEACTIVATED = 0x80280006; + // // MessageId: TPM_E_DISABLED // @@ -33237,6 +37204,7 @@ public interface WinError { // Enable the Trusted Platform Module (TPM). // int TPM_E_DISABLED = 0x80280007; + // // MessageId: TPM_E_DISABLED_CMD // @@ -33245,6 +37213,7 @@ public interface WinError { // The target command has been disabled. // int TPM_E_DISABLED_CMD = 0x80280008; + // // MessageId: TPM_E_FAIL // @@ -33253,6 +37222,7 @@ public interface WinError { // The operation failed. // int TPM_E_FAIL = 0x80280009; + // // MessageId: TPM_E_BAD_ORDINAL // @@ -33261,6 +37231,7 @@ public interface WinError { // The ordinal was unknown or inconsistent. // int TPM_E_BAD_ORDINAL = 0x8028000A; + // // MessageId: TPM_E_INSTALL_DISABLED // @@ -33269,6 +37240,7 @@ public interface WinError { // The ability to install an owner is disabled. // int TPM_E_INSTALL_DISABLED = 0x8028000B; + // // MessageId: TPM_E_INVALID_KEYHANDLE // @@ -33277,6 +37249,7 @@ public interface WinError { // The key handle cannot be intrepreted. // int TPM_E_INVALID_KEYHANDLE = 0x8028000C; + // // MessageId: TPM_E_KEYNOTFOUND // @@ -33285,6 +37258,7 @@ public interface WinError { // The key handle points to an invalid key. // int TPM_E_KEYNOTFOUND = 0x8028000D; + // // MessageId: TPM_E_INAPPROPRIATE_ENC // @@ -33293,6 +37267,7 @@ public interface WinError { // Unacceptable encryption scheme. // int TPM_E_INAPPROPRIATE_ENC = 0x8028000E; + // // MessageId: TPM_E_MIGRATEFAIL // @@ -33301,6 +37276,7 @@ public interface WinError { // Migration authorization failed. // int TPM_E_MIGRATEFAIL = 0x8028000F; + // // MessageId: TPM_E_INVALID_PCR_INFO // @@ -33309,6 +37285,7 @@ public interface WinError { // PCR information could not be interpreted. // int TPM_E_INVALID_PCR_INFO = 0x80280010; + // // MessageId: TPM_E_NOSPACE // @@ -33317,6 +37294,7 @@ public interface WinError { // No room to load key. // int TPM_E_NOSPACE = 0x80280011; + // // MessageId: TPM_E_NOSRK // @@ -33325,6 +37303,7 @@ public interface WinError { // There is no Storage Root Key (SRK) set. // int TPM_E_NOSRK = 0x80280012; + // // MessageId: TPM_E_NOTSEALED_BLOB // @@ -33333,6 +37312,7 @@ public interface WinError { // An encrypted blob is invalid or was not created by this TPM. // int TPM_E_NOTSEALED_BLOB = 0x80280013; + // // MessageId: TPM_E_OWNER_SET // @@ -33341,6 +37321,7 @@ public interface WinError { // The Trusted Platform Module (TPM) already has an owner. // int TPM_E_OWNER_SET = 0x80280014; + // // MessageId: TPM_E_RESOURCES // @@ -33350,6 +37331,7 @@ public interface WinError { // action. // int TPM_E_RESOURCES = 0x80280015; + // // MessageId: TPM_E_SHORTRANDOM // @@ -33358,6 +37340,7 @@ public interface WinError { // A random string was too short. // int TPM_E_SHORTRANDOM = 0x80280016; + // // MessageId: TPM_E_SIZE // @@ -33366,6 +37349,7 @@ public interface WinError { // The TPM does not have the space to perform the operation. // int TPM_E_SIZE = 0x80280017; + // // MessageId: TPM_E_WRONGPCRVAL // @@ -33374,6 +37358,7 @@ public interface WinError { // The named PCR value does not match the current PCR value. // int TPM_E_WRONGPCRVAL = 0x80280018; + // // MessageId: TPM_E_BAD_PARAM_SIZE // @@ -33382,6 +37367,7 @@ public interface WinError { // The paramSize argument to the command has the incorrect value . // int TPM_E_BAD_PARAM_SIZE = 0x80280019; + // // MessageId: TPM_E_SHA_THREAD // @@ -33390,6 +37376,7 @@ public interface WinError { // There is no existing SHA-1 thread. // int TPM_E_SHA_THREAD = 0x8028001A; + // // MessageId: TPM_E_SHA_ERROR // @@ -33399,6 +37386,7 @@ public interface WinError { // has already encountered an error. // int TPM_E_SHA_ERROR = 0x8028001B; + // // MessageId: TPM_E_FAILEDSELFTEST // @@ -33407,6 +37395,7 @@ public interface WinError { // Self-test has failed and the TPM has shutdown. // int TPM_E_FAILEDSELFTEST = 0x8028001C; + // // MessageId: TPM_E_AUTH2FAIL // @@ -33416,6 +37405,7 @@ public interface WinError { // authorization. // int TPM_E_AUTH2FAIL = 0x8028001D; + // // MessageId: TPM_E_BADTAG // @@ -33424,6 +37414,7 @@ public interface WinError { // The tag value sent to for a command is invalid. // int TPM_E_BADTAG = 0x8028001E; + // // MessageId: TPM_E_IOERROR // @@ -33432,6 +37423,7 @@ public interface WinError { // An IO error occurred transmitting information to the TPM. // int TPM_E_IOERROR = 0x8028001F; + // // MessageId: TPM_E_ENCRYPT_ERROR // @@ -33440,6 +37432,7 @@ public interface WinError { // The encryption process had a problem. // int TPM_E_ENCRYPT_ERROR = 0x80280020; + // // MessageId: TPM_E_DECRYPT_ERROR // @@ -33448,6 +37441,7 @@ public interface WinError { // The decryption process did not complete. // int TPM_E_DECRYPT_ERROR = 0x80280021; + // // MessageId: TPM_E_INVALID_AUTHHANDLE // @@ -33456,6 +37450,7 @@ public interface WinError { // An invalid handle was used. // int TPM_E_INVALID_AUTHHANDLE = 0x80280022; + // // MessageId: TPM_E_NO_ENDORSEMENT // @@ -33464,6 +37459,7 @@ public interface WinError { // The TPM does not have an Endorsement Key (EK) installed. // int TPM_E_NO_ENDORSEMENT = 0x80280023; + // // MessageId: TPM_E_INVALID_KEYUSAGE // @@ -33472,6 +37468,7 @@ public interface WinError { // The usage of a key is not allowed. // int TPM_E_INVALID_KEYUSAGE = 0x80280024; + // // MessageId: TPM_E_WRONG_ENTITYTYPE // @@ -33480,6 +37477,7 @@ public interface WinError { // The submitted entity type is not allowed. // int TPM_E_WRONG_ENTITYTYPE = 0x80280025; + // // MessageId: TPM_E_INVALID_POSTINIT // @@ -33489,6 +37487,7 @@ public interface WinError { // subsequent TPM_Startup. // int TPM_E_INVALID_POSTINIT = 0x80280026; + // // MessageId: TPM_E_INAPPROPRIATE_SIG // @@ -33497,6 +37496,7 @@ public interface WinError { // Signed data cannot include additional DER information. // int TPM_E_INAPPROPRIATE_SIG = 0x80280027; + // // MessageId: TPM_E_BAD_KEY_PROPERTY // @@ -33505,6 +37505,7 @@ public interface WinError { // The key properties in TPM_KEY_PARMs are not supported by this TPM. // int TPM_E_BAD_KEY_PROPERTY = 0x80280028; + // // MessageId: TPM_E_BAD_MIGRATION // @@ -33513,6 +37514,7 @@ public interface WinError { // The migration properties of this key are incorrect. // int TPM_E_BAD_MIGRATION = 0x80280029; + // // MessageId: TPM_E_BAD_SCHEME // @@ -33522,6 +37524,7 @@ public interface WinError { // permitted in this situation. // int TPM_E_BAD_SCHEME = 0x8028002A; + // // MessageId: TPM_E_BAD_DATASIZE // @@ -33531,6 +37534,7 @@ public interface WinError { // referenced key. // int TPM_E_BAD_DATASIZE = 0x8028002B; + // // MessageId: TPM_E_BAD_MODE // @@ -33541,6 +37545,7 @@ public interface WinError { // migrationType for TPM_CreateMigrationBlob. // int TPM_E_BAD_MODE = 0x8028002C; + // // MessageId: TPM_E_BAD_PRESENCE // @@ -33550,6 +37555,7 @@ public interface WinError { // value. // int TPM_E_BAD_PRESENCE = 0x8028002D; + // // MessageId: TPM_E_BAD_VERSION // @@ -33558,6 +37564,7 @@ public interface WinError { // The TPM cannot perform this version of the capability. // int TPM_E_BAD_VERSION = 0x8028002E; + // // MessageId: TPM_E_NO_WRAP_TRANSPORT // @@ -33566,6 +37573,7 @@ public interface WinError { // The TPM does not allow for wrapped transport sessions. // int TPM_E_NO_WRAP_TRANSPORT = 0x8028002F; + // // MessageId: TPM_E_AUDITFAIL_UNSUCCESSFUL // @@ -33575,6 +37583,7 @@ public interface WinError { // failure code also. // int TPM_E_AUDITFAIL_UNSUCCESSFUL = 0x80280030; + // // MessageId: TPM_E_AUDITFAIL_SUCCESSFUL // @@ -33584,6 +37593,7 @@ public interface WinError { // success. // int TPM_E_AUDITFAIL_SUCCESSFUL = 0x80280031; + // // MessageId: TPM_E_NOTRESETABLE // @@ -33593,6 +37603,7 @@ public interface WinError { // attribute. // int TPM_E_NOTRESETABLE = 0x80280032; + // // MessageId: TPM_E_NOTLOCAL // @@ -33602,6 +37613,7 @@ public interface WinError { // modifier not part of command transport. // int TPM_E_NOTLOCAL = 0x80280033; + // // MessageId: TPM_E_BAD_TYPE // @@ -33610,6 +37622,7 @@ public interface WinError { // Make identity blob not properly typed. // int TPM_E_BAD_TYPE = 0x80280034; + // // MessageId: TPM_E_INVALID_RESOURCE // @@ -33619,6 +37632,7 @@ public interface WinError { // resource. // int TPM_E_INVALID_RESOURCE = 0x80280035; + // // MessageId: TPM_E_NOTFIPS // @@ -33628,6 +37642,7 @@ public interface WinError { // mode. // int TPM_E_NOTFIPS = 0x80280036; + // // MessageId: TPM_E_INVALID_FAMILY // @@ -33636,6 +37651,7 @@ public interface WinError { // The command is attempting to use an invalid family ID. // int TPM_E_INVALID_FAMILY = 0x80280037; + // // MessageId: TPM_E_NO_NV_PERMISSION // @@ -33644,6 +37660,7 @@ public interface WinError { // The permission to manipulate the NV storage is not available. // int TPM_E_NO_NV_PERMISSION = 0x80280038; + // // MessageId: TPM_E_REQUIRES_SIGN // @@ -33652,6 +37669,7 @@ public interface WinError { // The operation requires a signed command. // int TPM_E_REQUIRES_SIGN = 0x80280039; + // // MessageId: TPM_E_KEY_NOTSUPPORTED // @@ -33660,6 +37678,7 @@ public interface WinError { // Wrong operation to load an NV key. // int TPM_E_KEY_NOTSUPPORTED = 0x8028003A; + // // MessageId: TPM_E_AUTH_CONF;ICT // @@ -33668,6 +37687,7 @@ public interface WinError { // NV_LoadKey blob requires both owner and blob authorization. // int TPM_E_AUTH_CONFLICT = 0x8028003B; + // // MessageId: TPM_E_AREA_LOCKED // @@ -33676,6 +37696,7 @@ public interface WinError { // The NV area is locked and not writtable. // int TPM_E_AREA_LOCKED = 0x8028003C; + // // MessageId: TPM_E_BAD_LOCALITY // @@ -33684,6 +37705,7 @@ public interface WinError { // The locality is incorrect for the attempted operation. // int TPM_E_BAD_LOCALITY = 0x8028003D; + // // MessageId: TPM_E_READ_ONLY // @@ -33692,6 +37714,7 @@ public interface WinError { // The NV area is read only and can't be written to. // int TPM_E_READ_ONLY = 0x8028003E; + // // MessageId: TPM_E_PER_NOWRITE // @@ -33700,6 +37723,7 @@ public interface WinError { // There is no protection on the write to the NV area. // int TPM_E_PER_NOWRITE = 0x8028003F; + // // MessageId: TPM_E_FAMILYCOUNT // @@ -33708,6 +37732,7 @@ public interface WinError { // The family count value does not match. // int TPM_E_FAMILYCOUNT = 0x80280040; + // // MessageId: TPM_E_WRITE_LOCKED // @@ -33716,6 +37741,7 @@ public interface WinError { // The NV area has already been written to. // int TPM_E_WRITE_LOCKED = 0x80280041; + // // MessageId: TPM_E_BAD_ATTRIBUTES // @@ -33724,6 +37750,7 @@ public interface WinError { // The NV area attributes conFLIct. // int TPM_E_BAD_ATTRIBUTES = 0x80280042; + // // MessageId: TPM_E_INVALID_STRUCTURE // @@ -33732,6 +37759,7 @@ public interface WinError { // The structure tag and version are invalid or inconsistent. // int TPM_E_INVALID_STRUCTURE = 0x80280043; + // // MessageId: TPM_E_KEY_OWNER_CONTROL // @@ -33741,6 +37769,7 @@ public interface WinError { // TPM Owner. // int TPM_E_KEY_OWNER_CONTROL = 0x80280044; + // // MessageId: TPM_E_BAD_COUNTER // @@ -33749,6 +37778,7 @@ public interface WinError { // The counter handle is incorrect. // int TPM_E_BAD_COUNTER = 0x80280045; + // // MessageId: TPM_E_NOT_FULLWRITE // @@ -33757,6 +37787,7 @@ public interface WinError { // The write is not a complete write of the area. // int TPM_E_NOT_FULLWRITE = 0x80280046; + // // MessageId: TPM_E_CONTEXT_GAP // @@ -33765,6 +37796,7 @@ public interface WinError { // The gap between saved context counts is too large. // int TPM_E_CONTEXT_GAP = 0x80280047; + // // MessageId: TPM_E_MAXNVWRITES // @@ -33773,6 +37805,7 @@ public interface WinError { // The maximum number of NV writes without an owner has been exceeded. // int TPM_E_MAXNVWRITES = 0x80280048; + // // MessageId: TPM_E_NOOPERATOR // @@ -33781,6 +37814,7 @@ public interface WinError { // No operator AuthData value is set. // int TPM_E_NOOPERATOR = 0x80280049; + // // MessageId: TPM_E_RESOURCEMISSING // @@ -33789,6 +37823,7 @@ public interface WinError { // The resource pointed to by context is not loaded. // int TPM_E_RESOURCEMISSING = 0x8028004A; + // // MessageId: TPM_E_DELEGATE_LOCK // @@ -33797,6 +37832,7 @@ public interface WinError { // The delegate administration is locked. // int TPM_E_DELEGATE_LOCK = 0x8028004B; + // // MessageId: TPM_E_DELEGATE_FAMILY // @@ -33805,6 +37841,7 @@ public interface WinError { // Attempt to manage a family other then the delegated family. // int TPM_E_DELEGATE_FAMILY = 0x8028004C; + // // MessageId: TPM_E_DELEGATE_ADMIN // @@ -33813,6 +37850,7 @@ public interface WinError { // Delegation table management not enabled. // int TPM_E_DELEGATE_ADMIN = 0x8028004D; + // // MessageId: TPM_E_TRANSPORT_NOTEXCLUSIVE // @@ -33821,6 +37859,7 @@ public interface WinError { // There was a command executed outside of an exclusive transport session. // int TPM_E_TRANSPORT_NOTEXCLUSIVE = 0x8028004E; + // // MessageId: TPM_E_OWNER_CONTROL // @@ -33829,6 +37868,7 @@ public interface WinError { // Attempt to context save a owner evict controlled key. // int TPM_E_OWNER_CONTROL = 0x8028004F; + // // MessageId: TPM_E_DAA_RESOURCES // @@ -33837,6 +37877,7 @@ public interface WinError { // The DAA command has no resources availble to execute the command. // int TPM_E_DAA_RESOURCES = 0x80280050; + // // MessageId: TPM_E_DAA_INPUT_DATA0 // @@ -33845,6 +37886,7 @@ public interface WinError { // The consistency check on DAA parameter inputData0 has failed. // int TPM_E_DAA_INPUT_DATA0 = 0x80280051; + // // MessageId: TPM_E_DAA_INPUT_DATA1 // @@ -33853,6 +37895,7 @@ public interface WinError { // The consistency check on DAA parameter inputData1 has failed. // int TPM_E_DAA_INPUT_DATA1 = 0x80280052; + // // MessageId: TPM_E_DAA_ISSUER_SETTINGS // @@ -33861,6 +37904,7 @@ public interface WinError { // The consistency check on DAA_issuerSettings has failed. // int TPM_E_DAA_ISSUER_SETTINGS = 0x80280053; + // // MessageId: TPM_E_DAA_TPM_SETTINGS // @@ -33869,6 +37913,7 @@ public interface WinError { // The consistency check on DAA_tpmSpecific has failed. // int TPM_E_DAA_TPM_SETTINGS = 0x80280054; + // // MessageId: TPM_E_DAA_STAGE // @@ -33878,6 +37923,7 @@ public interface WinError { // expected process. // int TPM_E_DAA_STAGE = 0x80280055; + // // MessageId: TPM_E_DAA_ISSUER_VALIDITY // @@ -33886,6 +37932,7 @@ public interface WinError { // The issuer's validity check has detected an inconsistency. // int TPM_E_DAA_ISSUER_VALIDITY = 0x80280056; + // // MessageId: TPM_E_DAA_WRONG_W // @@ -33894,6 +37941,7 @@ public interface WinError { // The consistency check on w has failed. // int TPM_E_DAA_WRONG_W = 0x80280057; + // // MessageId: TPM_E_BAD_HANDLE // @@ -33902,6 +37950,7 @@ public interface WinError { // The handle is incorrect. // int TPM_E_BAD_HANDLE = 0x80280058; + // // MessageId: TPM_E_BAD_DELEGATE // @@ -33910,6 +37959,7 @@ public interface WinError { // Delegation is not correct. // int TPM_E_BAD_DELEGATE = 0x80280059; + // // MessageId: TPM_E_BADCONTEXT // @@ -33918,6 +37968,7 @@ public interface WinError { // The context blob is invalid. // int TPM_E_BADCONTEXT = 0x8028005A; + // // MessageId: TPM_E_TOOMANYCONTEXTS // @@ -33926,6 +37977,7 @@ public interface WinError { // Too many contexts held by the TPM. // int TPM_E_TOOMANYCONTEXTS = 0x8028005B; + // // MessageId: TPM_E_MA_TICKET_SIGNATURE // @@ -33934,6 +37986,7 @@ public interface WinError { // Migration authority signature validation failure. // int TPM_E_MA_TICKET_SIGNATURE = 0x8028005C; + // // MessageId: TPM_E_MA_DESTINATION // @@ -33942,6 +37995,7 @@ public interface WinError { // Migration destination not authenticated. // int TPM_E_MA_DESTINATION = 0x8028005D; + // // MessageId: TPM_E_MA_SOURCE // @@ -33950,6 +38004,7 @@ public interface WinError { // Migration source incorrect. // int TPM_E_MA_SOURCE = 0x8028005E; + // // MessageId: TPM_E_MA_AUTHORITY // @@ -33958,6 +38013,7 @@ public interface WinError { // Incorrect migration authority. // int TPM_E_MA_AUTHORITY = 0x8028005F; + // // MessageId: TPM_E_PERMANENTEK // @@ -33966,6 +38022,7 @@ public interface WinError { // Attempt to revoke the EK and the EK is not revocable. // int TPM_E_PERMANENTEK = 0x80280061; + // // MessageId: TPM_E_BAD_SIGNATURE // @@ -33974,6 +38031,7 @@ public interface WinError { // Bad signature of CMK ticket. // int TPM_E_BAD_SIGNATURE = 0x80280062; + // // MessageId: TPM_E_NOCONTEXTSPACE // @@ -33982,6 +38040,7 @@ public interface WinError { // There is no room in the context list for additional contexts. // int TPM_E_NOCONTEXTSPACE = 0x80280063; + // // TPM vendor specific hardware errors {0x0400..0x04ff} // @@ -33993,6 +38052,7 @@ public interface WinError { // The command was blocked. // int TPM_E_COMMAND_BLOCKED = 0x80280400; + // // MessageId: TPM_E_INVALID_HANDLE // @@ -34001,6 +38061,7 @@ public interface WinError { // The specified handle was not found. // int TPM_E_INVALID_HANDLE = 0x80280401; + // // MessageId: TPM_E_DUPLICATE_VHANDLE // @@ -34010,6 +38071,7 @@ public interface WinError { // resubmitted. // int TPM_E_DUPLICATE_VHANDLE = 0x80280402; + // // MessageId: TPM_E_EMBEDDED_COMMAND_BLOCKED // @@ -34018,6 +38080,7 @@ public interface WinError { // The command within the transport was blocked. // int TPM_E_EMBEDDED_COMMAND_BLOCKED = 0x80280403; + // // MessageId: TPM_E_EMBEDDED_COMMAND_UNSUPPORTED // @@ -34026,6 +38089,7 @@ public interface WinError { // The command within the transport is not supported. // int TPM_E_EMBEDDED_COMMAND_UNSUPPORTED = 0x80280404; + // // TPM non-fatal hardware errors {0x0800..0x08ff} // @@ -34038,6 +38102,7 @@ public interface WinError { // command could be resubmitted at a later time. // int TPM_E_RETRY = 0x80280800; + // // MessageId: TPM_E_NEEDS_SELFTEST // @@ -34046,6 +38111,7 @@ public interface WinError { // SelfTestFull has not been run. // int TPM_E_NEEDS_SELFTEST = 0x80280801; + // // MessageId: TPM_E_DOING_SELFTEST // @@ -34054,6 +38120,7 @@ public interface WinError { // The TPM is currently executing a full selftest. // int TPM_E_DOING_SELFTEST = 0x80280802; + // // MessageId: TPM_E_DEFEND_LOCK_RUNNING // @@ -34063,6 +38130,7 @@ public interface WinError { // period. // int TPM_E_DEFEND_LOCK_RUNNING = 0x80280803; + // // TPM Base Services error codes {0x4000..0x40ff} // @@ -34074,6 +38142,7 @@ public interface WinError { // An internal software error has been detected. // int TBS_E_INTERNAL_ERROR = 0x80284001; + // // MessageId: TBS_E_BAD_PARAMETER // @@ -34082,6 +38151,7 @@ public interface WinError { // One or more input parameters is bad. // int TBS_E_BAD_PARAMETER = 0x80284002; + // // MessageId: TBS_E_INVALID_OUTPUT_POINTER // @@ -34090,6 +38160,7 @@ public interface WinError { // A specified output pointer is bad. // int TBS_E_INVALID_OUTPUT_POINTER = 0x80284003; + // // MessageId: TBS_E_INVALID_CONTEXT // @@ -34098,6 +38169,7 @@ public interface WinError { // The specified context handle does not refer to a valid context. // int TBS_E_INVALID_CONTEXT = 0x80284004; + // // MessageId: TBS_E_INSUFFICIENT_BUFFER // @@ -34106,6 +38178,7 @@ public interface WinError { // A specified output buffer is too small. // int TBS_E_INSUFFICIENT_BUFFER = 0x80284005; + // // MessageId: TBS_E_IOERROR // @@ -34114,6 +38187,7 @@ public interface WinError { // An error occurred while communicating with the TPM. // int TBS_E_IOERROR = 0x80284006; + // // MessageId: TBS_E_INVALID_CONTEXT_PARAM // @@ -34122,6 +38196,7 @@ public interface WinError { // One or more context parameters is invalid. // int TBS_E_INVALID_CONTEXT_PARAM = 0x80284007; + // // MessageId: TBS_E_SERVICE_NOT_RUNNING // @@ -34130,6 +38205,7 @@ public interface WinError { // The TBS service is not running and could not be started. // int TBS_E_SERVICE_NOT_RUNNING = 0x80284008; + // // MessageId: TBS_E_TOO_MANY_TBS_CONTEXTS // @@ -34139,6 +38215,7 @@ public interface WinError { // contexts. // int TBS_E_TOO_MANY_TBS_CONTEXTS = 0x80284009; + // // MessageId: TBS_E_TOO_MANY_RESOURCES // @@ -34149,6 +38226,7 @@ public interface WinError { // virtual resources. // int TBS_E_TOO_MANY_RESOURCES = 0x8028400A; + // // MessageId: TBS_E_SERVICE_START_PENDING // @@ -34157,6 +38235,7 @@ public interface WinError { // The TBS service has been started but is not yet running. // int TBS_E_SERVICE_START_PENDING = 0x8028400B; + // // MessageId: TBS_E_PPI_NOT_SUPPORTED // @@ -34165,6 +38244,7 @@ public interface WinError { // The physical presence interface is not supported. // int TBS_E_PPI_NOT_SUPPORTED = 0x8028400C; + // // MessageId: TBS_E_COMMAND_CANCELED // @@ -34173,6 +38253,7 @@ public interface WinError { // The command was canceled. // int TBS_E_COMMAND_CANCELED = 0x8028400D; + // // MessageId: TBS_E_BUFFER_TOO_LARGE // @@ -34181,6 +38262,7 @@ public interface WinError { // The input or output buffer is too large. // int TBS_E_BUFFER_TOO_LARGE = 0x8028400E; + // // MessageId: TBS_E_TPM_NOT_FOUND // @@ -34190,6 +38272,7 @@ public interface WinError { // found on this computer. // int TBS_E_TPM_NOT_FOUND = 0x8028400F; + // // MessageId: TBS_E_SERVICE_DISABLED // @@ -34198,6 +38281,7 @@ public interface WinError { // The TBS service has been disabled. // int TBS_E_SERVICE_DISABLED = 0x80284010; + // // TPM API error codes {0x0100..0x01ff} // @@ -34209,6 +38293,7 @@ public interface WinError { // The command buffer is not in the correct state. // int TPMAPI_E_INVALID_STATE = 0x80290100; + // // MessageId: TPMAPI_E_NOT_ENOUGH_DATA // @@ -34217,6 +38302,7 @@ public interface WinError { // The command buffer does not contain enough data to satisfy the request. // int TPMAPI_E_NOT_ENOUGH_DATA = 0x80290101; + // // MessageId: TPMAPI_E_TOO_MUCH_DATA // @@ -34225,6 +38311,7 @@ public interface WinError { // The command buffer cannot contain any more data. // int TPMAPI_E_TOO_MUCH_DATA = 0x80290102; + // // MessageId: TPMAPI_E_INVALID_OUTPUT_POINTER // @@ -34233,6 +38320,7 @@ public interface WinError { // One or more output parameters was NULL or invalid. // int TPMAPI_E_INVALID_OUTPUT_POINTER = 0x80290103; + // // MessageId: TPMAPI_E_INVALID_PARAMETER // @@ -34241,6 +38329,7 @@ public interface WinError { // One or more input parameters is invalid. // int TPMAPI_E_INVALID_PARAMETER = 0x80290104; + // // MessageId: TPMAPI_E_OUT_OF_MEMORY // @@ -34249,6 +38338,7 @@ public interface WinError { // Not enough memory was available to satisfy the request. // int TPMAPI_E_OUT_OF_MEMORY = 0x80290105; + // // MessageId: TPMAPI_E_BUFFER_TOO_SMALL // @@ -34257,6 +38347,7 @@ public interface WinError { // The specified buffer was too small. // int TPMAPI_E_BUFFER_TOO_SMALL = 0x80290106; + // // MessageId: TPMAPI_E_INTERNAL_ERROR // @@ -34265,6 +38356,7 @@ public interface WinError { // An internal error was detected. // int TPMAPI_E_INTERNAL_ERROR = 0x80290107; + // // MessageId: TPMAPI_E_ACCESS_DENIED // @@ -34274,6 +38366,7 @@ public interface WinError { // operation. // int TPMAPI_E_ACCESS_DENIED = 0x80290108; + // // MessageId: TPMAPI_E_AUTHORIZATION_FAILED // @@ -34282,6 +38375,7 @@ public interface WinError { // The specified authorization information was invalid. // int TPMAPI_E_AUTHORIZATION_FAILED = 0x80290109; + // // MessageId: TPMAPI_E_INVALID_CONTEXT_HANDLE // @@ -34290,6 +38384,7 @@ public interface WinError { // The specified context handle was not valid. // int TPMAPI_E_INVALID_CONTEXT_HANDLE = 0x8029010A; + // // MessageId: TPMAPI_E_TBS_COMMUNICATION_ERROR // @@ -34298,6 +38393,7 @@ public interface WinError { // An error occurred while communicating with the TBS. // int TPMAPI_E_TBS_COMMUNICATION_ERROR = 0x8029010B; + // // MessageId: TPMAPI_E_TPM_COMMAND_ERROR // @@ -34306,6 +38402,7 @@ public interface WinError { // The TPM returned an unexpected result. // int TPMAPI_E_TPM_COMMAND_ERROR = 0x8029010C; + // // MessageId: TPMAPI_E_MESSAGE_TOO_LARGE // @@ -34314,6 +38411,7 @@ public interface WinError { // The message was too large for the encoding scheme. // int TPMAPI_E_MESSAGE_TOO_LARGE = 0x8029010D; + // // MessageId: TPMAPI_E_INVALID_ENCODING // @@ -34322,6 +38420,7 @@ public interface WinError { // The encoding in the blob was not recognized. // int TPMAPI_E_INVALID_ENCODING = 0x8029010E; + // // MessageId: TPMAPI_E_INVALID_KEY_SIZE // @@ -34330,6 +38429,7 @@ public interface WinError { // The key size is not valid. // int TPMAPI_E_INVALID_KEY_SIZE = 0x8029010F; + // // MessageId: TPMAPI_E_ENCRYPTION_FAILED // @@ -34338,6 +38438,7 @@ public interface WinError { // The encryption operation failed. // int TPMAPI_E_ENCRYPTION_FAILED = 0x80290110; + // // MessageId: TPMAPI_E_INVALID_KEY_PARAMS // @@ -34346,6 +38447,7 @@ public interface WinError { // The key parameters structure was not valid // int TPMAPI_E_INVALID_KEY_PARAMS = 0x80290111; + // // MessageId: TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB // @@ -34355,6 +38457,7 @@ public interface WinError { // authorization blob. // int TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB = 0x80290112; + // // MessageId: TPMAPI_E_INVALID_PCR_INDEX // @@ -34363,6 +38466,7 @@ public interface WinError { // The specified PCR index was invalid // int TPMAPI_E_INVALID_PCR_INDEX = 0x80290113; + // // MessageId: TPMAPI_E_INVALID_DELEGATE_BLOB // @@ -34371,6 +38475,7 @@ public interface WinError { // The data given does not appear to be a valid delegate blob. // int TPMAPI_E_INVALID_DELEGATE_BLOB = 0x80290114; + // // MessageId: TPMAPI_E_INVALID_CONTEXT_PARAMS // @@ -34379,6 +38484,7 @@ public interface WinError { // One or more of the specified context parameters was not valid. // int TPMAPI_E_INVALID_CONTEXT_PARAMS = 0x80290115; + // // MessageId: TPMAPI_E_INVALID_KEY_BLOB // @@ -34387,6 +38493,7 @@ public interface WinError { // The data given does not appear to be a valid key blob // int TPMAPI_E_INVALID_KEY_BLOB = 0x80290116; + // // MessageId: TPMAPI_E_INVALID_PCR_DATA // @@ -34395,6 +38502,7 @@ public interface WinError { // The specified PCR data was invalid. // int TPMAPI_E_INVALID_PCR_DATA = 0x80290117; + // // MessageId: TPMAPI_E_INVALID_OWNER_AUTH // @@ -34403,6 +38511,7 @@ public interface WinError { // The format of the owner auth data was invalid. // int TPMAPI_E_INVALID_OWNER_AUTH = 0x80290118; + // // MessageId: TPMAPI_E_FIPS_RNG_CHECK_FAILED // @@ -34411,6 +38520,7 @@ public interface WinError { // The random number generated did not pass FIPS RNG check. // int TPMAPI_E_FIPS_RNG_CHECK_FAILED = 0x80290119; + // // TBS implementation error codes {0x0200..0x02ff} // @@ -34422,6 +38532,7 @@ public interface WinError { // The specified buffer was too small. // int TBSIMP_E_BUFFER_TOO_SMALL = 0x80290200; + // // MessageId: TBSIMP_E_CLEANUP_FAILED // @@ -34430,6 +38541,7 @@ public interface WinError { // The context could not be cleaned up. // int TBSIMP_E_CLEANUP_FAILED = 0x80290201; + // // MessageId: TBSIMP_E_INVALID_CONTEXT_HANDLE // @@ -34438,6 +38550,7 @@ public interface WinError { // The specified context handle is invalid. // int TBSIMP_E_INVALID_CONTEXT_HANDLE = 0x80290202; + // // MessageId: TBSIMP_E_INVALID_CONTEXT_PARAM // @@ -34446,6 +38559,7 @@ public interface WinError { // An invalid context parameter was specified. // int TBSIMP_E_INVALID_CONTEXT_PARAM = 0x80290203; + // // MessageId: TBSIMP_E_TPM_ERROR // @@ -34454,6 +38568,7 @@ public interface WinError { // An error occurred while communicating with the TPM // int TBSIMP_E_TPM_ERROR = 0x80290204; + // // MessageId: TBSIMP_E_HASH_BAD_KEY // @@ -34462,6 +38577,7 @@ public interface WinError { // No entry with the specified key was found. // int TBSIMP_E_HASH_BAD_KEY = 0x80290205; + // // MessageId: TBSIMP_E_DUPLICATE_VHANDLE // @@ -34470,6 +38586,7 @@ public interface WinError { // The specified virtual handle matches a virtual handle already in use. // int TBSIMP_E_DUPLICATE_VHANDLE = 0x80290206; + // // MessageId: TBSIMP_E_INVALID_OUTPUT_POINTER // @@ -34478,6 +38595,7 @@ public interface WinError { // The pointer to the returned handle location was NULL or invalid // int TBSIMP_E_INVALID_OUTPUT_POINTER = 0x80290207; + // // MessageId: TBSIMP_E_INVALID_PARAMETER // @@ -34486,6 +38604,7 @@ public interface WinError { // One or more parameters is invalid // int TBSIMP_E_INVALID_PARAMETER = 0x80290208; + // // MessageId: TBSIMP_E_RPC_INIT_FAILED // @@ -34494,6 +38613,7 @@ public interface WinError { // The RPC subsystem could not be initialized. // int TBSIMP_E_RPC_INIT_FAILED = 0x80290209; + // // MessageId: TBSIMP_E_SCHEDULER_NOT_RUNNING // @@ -34502,6 +38622,7 @@ public interface WinError { // The TBS scheduler is not running. // int TBSIMP_E_SCHEDULER_NOT_RUNNING = 0x8029020A; + // // MessageId: TBSIMP_E_COMMAND_CANCELED // @@ -34510,6 +38631,7 @@ public interface WinError { // The command was canceled. // int TBSIMP_E_COMMAND_CANCELED = 0x8029020B; + // // MessageId: TBSIMP_E_OUT_OF_MEMORY // @@ -34518,6 +38640,7 @@ public interface WinError { // There was not enough memory to fulfill the request // int TBSIMP_E_OUT_OF_MEMORY = 0x8029020C; + // // MessageId: TBSIMP_E_LIST_NO_MORE_ITEMS // @@ -34527,6 +38650,7 @@ public interface WinError { // list. // int TBSIMP_E_LIST_NO_MORE_ITEMS = 0x8029020D; + // // MessageId: TBSIMP_E_LIST_NOT_FOUND // @@ -34535,6 +38659,7 @@ public interface WinError { // The specified item was not found in the list. // int TBSIMP_E_LIST_NOT_FOUND = 0x8029020E; + // // MessageId: TBSIMP_E_NOT_ENOUGH_SPACE // @@ -34543,6 +38668,7 @@ public interface WinError { // The TPM does not have enough space to load the requested resource. // int TBSIMP_E_NOT_ENOUGH_SPACE = 0x8029020F; + // // MessageId: TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS // @@ -34551,6 +38677,7 @@ public interface WinError { // There are too many TPM contexts in use. // int TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS = 0x80290210; + // // MessageId: TBSIMP_E_COMMAND_FAILED // @@ -34559,6 +38686,7 @@ public interface WinError { // The TPM command failed. // int TBSIMP_E_COMMAND_FAILED = 0x80290211; + // // MessageId: TBSIMP_E_UNKNOWN_ORDINAL // @@ -34567,6 +38695,7 @@ public interface WinError { // The TBS does not recognize the specified ordinal. // int TBSIMP_E_UNKNOWN_ORDINAL = 0x80290212; + // // MessageId: TBSIMP_E_RESOURCE_EXPIRED // @@ -34575,6 +38704,7 @@ public interface WinError { // The requested resource is no longer available. // int TBSIMP_E_RESOURCE_EXPIRED = 0x80290213; + // // MessageId: TBSIMP_E_INVALID_RESOURCE // @@ -34583,6 +38713,7 @@ public interface WinError { // The resource type did not match. // int TBSIMP_E_INVALID_RESOURCE = 0x80290214; + // // MessageId: TBSIMP_E_NOTHING_TO_UNLOAD // @@ -34591,6 +38722,7 @@ public interface WinError { // No resources can be unloaded. // int TBSIMP_E_NOTHING_TO_UNLOAD = 0x80290215; + // // MessageId: TBSIMP_E_HASH_TABLE_FULL // @@ -34599,6 +38731,7 @@ public interface WinError { // No new entries can be added to the hash table. // int TBSIMP_E_HASH_TABLE_FULL = 0x80290216; + // // MessageId: TBSIMP_E_TOO_MANY_TBS_CONTEXTS // @@ -34608,6 +38741,7 @@ public interface WinError { // contexts. // int TBSIMP_E_TOO_MANY_TBS_CONTEXTS = 0x80290217; + // // MessageId: TBSIMP_E_TOO_MANY_RESOURCES // @@ -34617,6 +38751,7 @@ public interface WinError { // open virtual resources. // int TBSIMP_E_TOO_MANY_RESOURCES = 0x80290218; + // // MessageId: TBSIMP_E_PPI_NOT_SUPPORTED // @@ -34625,6 +38760,7 @@ public interface WinError { // The physical presence interface is not supported. // int TBSIMP_E_PPI_NOT_SUPPORTED = 0x80290219; + // // MessageId: TBSIMP_E_TPM_INCOMPATIBLE // @@ -34633,6 +38769,7 @@ public interface WinError { // TBS is not compatible with the version of TPM found on the system. // int TBSIMP_E_TPM_INCOMPATIBLE = 0x8029021A; + // // TPM Physical Presence implementation error codes {0x0300..0x03ff} // @@ -34645,6 +38782,7 @@ public interface WinError { // response to a Physical Presence command. // int TPM_E_PPI_ACPI_FAILURE = 0x80290300; + // // MessageId: TPM_E_PPI_USER_ABORT // @@ -34653,6 +38791,7 @@ public interface WinError { // The user failed to confirm the TPM operation request. // int TPM_E_PPI_USER_ABORT = 0x80290301; + // // MessageId: TPM_E_PPI_BIOS_FAILURE // @@ -34663,6 +38802,7 @@ public interface WinError { // with the TPM). // int TPM_E_PPI_BIOS_FAILURE = 0x80290302; + // // MessageId: TPM_E_PPI_NOT_SUPPORTED // @@ -34671,6 +38811,7 @@ public interface WinError { // The BIOS does not support the physical presence interface. // int TPM_E_PPI_NOT_SUPPORTED = 0x80290303; + // // == // Facility Performance Logs & Alerts (PLA) Error Messages @@ -34684,6 +38825,7 @@ public interface WinError { // Data Collector Set was not found. // int PLA_E_DCS_NOT_FOUND = 0x80300002; + // // MessageId: PLA_E_DCS_IN_USE // @@ -34692,6 +38834,7 @@ public interface WinError { // The Data Collector Set or one of its dependencies is already in use. // int PLA_E_DCS_IN_USE = 0x803000AA; + // // MessageId: PLA_E_TOO_MANY_FOLDERS // @@ -34700,6 +38843,7 @@ public interface WinError { // Unable to start Data Collector Set because there are too many folders. // int PLA_E_TOO_MANY_FOLDERS = 0x80300045; + // // MessageId: PLA_E_NO_MIN_DISK // @@ -34708,6 +38852,7 @@ public interface WinError { // Not enough free disk space to start Data Collector Set. // int PLA_E_NO_MIN_DISK = 0x80300070; + // // MessageId: PLA_E_DCS_ALREADY_EXISTS // @@ -34716,6 +38861,7 @@ public interface WinError { // Data Collector Set already exists. // int PLA_E_DCS_ALREADY_EXISTS = 0x803000B7; + // // MessageId: PLA_S_PROPERTY_IGNORED // @@ -34724,6 +38870,7 @@ public interface WinError { // Property value will be ignored. // int PLA_S_PROPERTY_IGNORED = 0x00300100; + // // MessageId: PLA_E_PROPERTY_CONFLICT // @@ -34732,6 +38879,7 @@ public interface WinError { // Property value conFLIct. // int PLA_E_PROPERTY_CONFLICT = 0x80300101; + // // MessageId: PLA_E_DCS_SINGLETON_REQUIRED // @@ -34741,6 +38889,7 @@ public interface WinError { // contain exactly one Data Collector. // int PLA_E_DCS_SINGLETON_REQUIRED = 0x80300102; + // // MessageId: PLA_E_CREDENTIALS_REQUIRED // @@ -34750,6 +38899,7 @@ public interface WinError { // Set properties. // int PLA_E_CREDENTIALS_REQUIRED = 0x80300103; + // // MessageId: PLA_E_DCS_NOT_RUNNING // @@ -34758,6 +38908,7 @@ public interface WinError { // Data Collector Set is not running. // int PLA_E_DCS_NOT_RUNNING = 0x80300104; + // // MessageId: PLA_E_CONFLICT_INCL_EXCL_API // @@ -34767,6 +38918,7 @@ public interface WinError { // specify the same API in both the include list and the exclude list. // int PLA_E_CONFLICT_INCL_EXCL_API = 0x80300105; + // // MessageId: PLA_E_NETWORK_EXE_NOT_VALID // @@ -34776,6 +38928,7 @@ public interface WinError { // path. // int PLA_E_NETWORK_EXE_NOT_VALID = 0x80300106; + // // MessageId: PLA_E_EXE_ALREADY_CONFIGURED // @@ -34785,6 +38938,7 @@ public interface WinError { // tracing. // int PLA_E_EXE_ALREADY_CONFIGURED = 0x80300107; + // // MessageId: PLA_E_EXE_PATH_NOT_VALID // @@ -34794,6 +38948,7 @@ public interface WinError { // specified path is correct. // int PLA_E_EXE_PATH_NOT_VALID = 0x80300108; + // // MessageId: PLA_E_DC_ALREADY_EXISTS // @@ -34802,6 +38957,7 @@ public interface WinError { // Data Collector already exists. // int PLA_E_DC_ALREADY_EXISTS = 0x80300109; + // // MessageId: PLA_E_DCS_START_WAIT_TIMEOUT // @@ -34810,6 +38966,7 @@ public interface WinError { // The wait for the Data Collector Set start notification has timed out. // int PLA_E_DCS_START_WAIT_TIMEOUT = 0x8030010A; + // // MessageId: PLA_E_DC_START_WAIT_TIMEOUT // @@ -34818,6 +38975,7 @@ public interface WinError { // The wait for the Data Collector to start has timed out. // int PLA_E_DC_START_WAIT_TIMEOUT = 0x8030010B; + // // MessageId: PLA_E_REPORT_WAIT_TIMEOUT // @@ -34826,6 +38984,7 @@ public interface WinError { // The wait for the report generation tool to finish has timed out. // int PLA_E_REPORT_WAIT_TIMEOUT = 0x8030010C; + // // MessageId: PLA_E_NO_DUPLICATES // @@ -34834,6 +38993,7 @@ public interface WinError { // Duplicate items are not allowed. // int PLA_E_NO_DUPLICATES = 0x8030010D; + // // MessageId: PLA_E_EXE_FULL_PATH_REQUIRED // @@ -34843,6 +39003,7 @@ public interface WinError { // full path to the executable and not just a filename. // int PLA_E_EXE_FULL_PATH_REQUIRED = 0x8030010E; + // // MessageId: PLA_E_INVALID_SESSION_NAME // @@ -34851,6 +39012,7 @@ public interface WinError { // The session name provided is invalid. // int PLA_E_INVALID_SESSION_NAME = 0x8030010F; + // // MessageId: PLA_E_PLA_CHANNEL_NOT_ENABLED // @@ -34860,6 +39022,7 @@ public interface WinError { // enabled to perform this operation. // int PLA_E_PLA_CHANNEL_NOT_ENABLED = 0x80300110; + // // MessageId: PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED // @@ -34869,6 +39032,7 @@ public interface WinError { // perform this operation. // int PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED = 0x80300111; + // // MessageId: PLA_E_RULES_MANAGER_FAILED // @@ -34877,6 +39041,7 @@ public interface WinError { // The execution of the Rules Manager failed. // int PLA_E_RULES_MANAGER_FAILED = 0x80300112; + // // MessageId: PLA_E_CABAPI_FAILURE // @@ -34885,6 +39050,7 @@ public interface WinError { // An error occured while attemption to compress or extract the data. // int PLA_E_CABAPI_FAILURE = 0x80300113; + // // == // Full Volume Encryption Error Messages @@ -34899,6 +39065,7 @@ public interface WinError { // control panel to unlock volume. // int FVE_E_LOCKED_VOLUME = 0x80310000; + // // MessageId: FVE_E_NOT_ENCRYPTED // @@ -34907,6 +39074,7 @@ public interface WinError { // The volume is not encrypted, no key is available. // int FVE_E_NOT_ENCRYPTED = 0x80310001; + // // MessageId: FVE_E_NO_TPM_BIOS // @@ -34916,6 +39084,7 @@ public interface WinError { // manufacturer for BIOS upgrade instructions. // int FVE_E_NO_TPM_BIOS = 0x80310002; + // // MessageId: FVE_E_NO_MBR_METRIC // @@ -34925,6 +39094,7 @@ public interface WinError { // Contact the computer manufacturer for BIOS upgrade instructions. // int FVE_E_NO_MBR_METRIC = 0x80310003; + // // MessageId: FVE_E_NO_BOOTSECTOR_METRIC // @@ -34935,6 +39105,7 @@ public interface WinError { // computer manufacturer for BIOS upgrade instructions. // int FVE_E_NO_BOOTSECTOR_METRIC = 0x80310004; + // // MessageId: FVE_E_NO_BOOTMGR_METRIC // @@ -34943,6 +39114,7 @@ public interface WinError { // You have an incompatible boot sector. Update the boot manager (BOOTMGR). // int FVE_E_NO_BOOTMGR_METRIC = 0x80310005; + // // MessageId: FVE_E_WRONG_BOOTMGR // @@ -34951,6 +39123,7 @@ public interface WinError { // You have an incompatible boot manager. Update the boot manager (BOOTMGR). // int FVE_E_WRONG_BOOTMGR = 0x80310006; + // // MessageId: FVE_E_SECURE_KEY_REQUIRED // @@ -34959,6 +39132,7 @@ public interface WinError { // No secure key protector has been defined. // int FVE_E_SECURE_KEY_REQUIRED = 0x80310007; + // // MessageId: FVE_E_NOT_ACTIVATED // @@ -34968,6 +39142,7 @@ public interface WinError { // BitLocker. // int FVE_E_NOT_ACTIVATED = 0x80310008; + // // MessageId: FVE_E_ACTION_NOT_ALLOWED // @@ -34977,6 +39152,7 @@ public interface WinError { // condition may occur when two requests are issued at the same time. // int FVE_E_ACTION_NOT_ALLOWED = 0x80310009; + // // MessageId: FVE_E_AD_SCHEMA_NOT_INSTALLED // @@ -34987,6 +39163,7 @@ public interface WinError { // Platform Module information. // int FVE_E_AD_SCHEMA_NOT_INSTALLED = 0x8031000A; + // // MessageId: FVE_E_AD_INVALID_DATATYPE // @@ -34995,6 +39172,7 @@ public interface WinError { // The type of the data obtained from Active Directory was not expected. // int FVE_E_AD_INVALID_DATATYPE = 0x8031000B; + // // MessageId: FVE_E_AD_INVALID_DATASIZE // @@ -35003,6 +39181,7 @@ public interface WinError { // The size of the data obtained from Active Directory was not expected. // int FVE_E_AD_INVALID_DATASIZE = 0x8031000C; + // // MessageId: FVE_E_AD_NO_VALUES // @@ -35011,6 +39190,7 @@ public interface WinError { // The attribute read from Active Directory has no (zero) values. // int FVE_E_AD_NO_VALUES = 0x8031000D; + // // MessageId: FVE_E_AD_ATTR_NOT_SET // @@ -35019,6 +39199,7 @@ public interface WinError { // The attribute was not set. // int FVE_E_AD_ATTR_NOT_SET = 0x8031000E; + // // MessageId: FVE_E_AD_GUID_NOT_FOUND // @@ -35027,6 +39208,7 @@ public interface WinError { // The specified GUID could not be found. // int FVE_E_AD_GUID_NOT_FOUND = 0x8031000F; + // // MessageId: FVE_E_BAD_INFORMATION // @@ -35035,6 +39217,7 @@ public interface WinError { // The control block for the encrypted volume is not valid. // int FVE_E_BAD_INFORMATION = 0x80310010; + // // MessageId: FVE_E_TOO_SMALL // @@ -35044,6 +39227,7 @@ public interface WinError { // space. // int FVE_E_TOO_SMALL = 0x80310011; + // // MessageId: FVE_E_SYSTEM_VOLUME // @@ -35053,6 +39237,7 @@ public interface WinError { // information. // int FVE_E_SYSTEM_VOLUME = 0x80310012; + // // MessageId: FVE_E_FAILED_WRONG_FS // @@ -35061,6 +39246,7 @@ public interface WinError { // The volume cannot be encrypted because the file system is not supported. // int FVE_E_FAILED_WRONG_FS = 0x80310013; + // // MessageId: FVE_E_FAILED_BAD_FS // @@ -35069,6 +39255,7 @@ public interface WinError { // The file system is corrupt. Run CHKDSK. // int FVE_E_FAILED_BAD_FS = 0x80310014; + // // MessageId: FVE_E_NOT_SUPPORTED // @@ -35077,6 +39264,7 @@ public interface WinError { // This volume cannot be encrypted. // int FVE_E_NOT_SUPPORTED = 0x80310015; + // // MessageId: FVE_E_BAD_DATA // @@ -35085,6 +39273,7 @@ public interface WinError { // Data supplied is malformed. // int FVE_E_BAD_DATA = 0x80310016; + // // MessageId: FVE_E_VOLUME_NOT_BOUND // @@ -35093,6 +39282,7 @@ public interface WinError { // Volume is not bound to the system. // int FVE_E_VOLUME_NOT_BOUND = 0x80310017; + // // MessageId: FVE_E_TPM_NOT_OWNED // @@ -35101,6 +39291,7 @@ public interface WinError { // You must take ownership of the Trusted Platform Module (TPM). // int FVE_E_TPM_NOT_OWNED = 0x80310018; + // // MessageId: FVE_E_NOT_DATA_VOLUME // @@ -35109,6 +39300,7 @@ public interface WinError { // The volume specified is not a data volume. // int FVE_E_NOT_DATA_VOLUME = 0x80310019; + // // MessageId: FVE_E_AD_INSUFFICIENT_BUFFER // @@ -35118,6 +39310,7 @@ public interface WinError { // returned data. // int FVE_E_AD_INSUFFICIENT_BUFFER = 0x8031001A; + // // MessageId: FVE_E_CONV_READ // @@ -35126,6 +39319,7 @@ public interface WinError { // A read operation failed while converting the volume. // int FVE_E_CONV_READ = 0x8031001B; + // // MessageId: FVE_E_CONV_WRITE // @@ -35134,6 +39328,7 @@ public interface WinError { // A write operation failed while converting the volume. // int FVE_E_CONV_WRITE = 0x8031001C; + // // MessageId: FVE_E_KEY_REQUIRED // @@ -35142,6 +39337,7 @@ public interface WinError { // One or more key protectors are required for this volume. // int FVE_E_KEY_REQUIRED = 0x8031001D; + // // MessageId: FVE_E_CLUSTERING_NOT_SUPPORTED // @@ -35150,6 +39346,7 @@ public interface WinError { // Cluster configurations are not supported. // int FVE_E_CLUSTERING_NOT_SUPPORTED = 0x8031001E; + // // MessageId: FVE_E_VOLUME_BOUND_ALREADY // @@ -35158,6 +39355,7 @@ public interface WinError { // The volume is already bound to the system. // int FVE_E_VOLUME_BOUND_ALREADY = 0x8031001F; + // // MessageId: FVE_E_OS_NOT_PROTECTED // @@ -35167,6 +39365,7 @@ public interface WinError { // Encryption. // int FVE_E_OS_NOT_PROTECTED = 0x80310020; + // // MessageId: FVE_E_PROTECTION_DISABLED // @@ -35175,6 +39374,7 @@ public interface WinError { // All protectors are effectively disabled (clear key exists). // int FVE_E_PROTECTION_DISABLED = 0x80310021; + // // MessageId: FVE_E_RECOVERY_KEY_REQUIRED // @@ -35183,6 +39383,7 @@ public interface WinError { // A recovery key protector is required. // int FVE_E_RECOVERY_KEY_REQUIRED = 0x80310022; + // // MessageId: FVE_E_FOREIGN_VOLUME // @@ -35191,6 +39392,7 @@ public interface WinError { // This volume cannot be bound to a TPM. // int FVE_E_FOREIGN_VOLUME = 0x80310023; + // // MessageId: FVE_E_OVERLAPPED_UPDATE // @@ -35200,6 +39402,7 @@ public interface WinError { // Try again. // int FVE_E_OVERLAPPED_UPDATE = 0x80310024; + // // MessageId: FVE_E_TPM_SRK_AUTH_NOT_ZERO // @@ -35210,6 +39413,7 @@ public interface WinError { // BitLocker. // int FVE_E_TPM_SRK_AUTH_NOT_ZERO = 0x80310025; + // // MessageId: FVE_E_FAILED_SECTOR_SIZE // @@ -35218,6 +39422,7 @@ public interface WinError { // The volume encryption algorithm cannot be used on this sector size. // int FVE_E_FAILED_SECTOR_SIZE = 0x80310026; + // // MessageId: FVE_E_FAILED_AUTHENTICATION // @@ -35227,6 +39432,7 @@ public interface WinError { // information to unlock the volume. Confirm the information and try again. // int FVE_E_FAILED_AUTHENTICATION = 0x80310027; + // // MessageId: FVE_E_NOT_OS_VOLUME // @@ -35235,6 +39441,7 @@ public interface WinError { // The volume specified is not the operating system volume. // int FVE_E_NOT_OS_VOLUME = 0x80310028; + // // MessageId: FVE_E_AUTOUNLOCK_ENABLED // @@ -35245,6 +39452,7 @@ public interface WinError { // volume. // int FVE_E_AUTOUNLOCK_ENABLED = 0x80310029; + // // MessageId: FVE_E_WRONG_BOOTSECTOR // @@ -35253,6 +39461,7 @@ public interface WinError { // The system partition boot sector does not perform TPM measurements. // int FVE_E_WRONG_BOOTSECTOR = 0x8031002A; + // // MessageId: FVE_E_WRONG_SYSTEM_FS // @@ -35262,6 +39471,7 @@ public interface WinError { // NTFS, then enable BitLocker. // int FVE_E_WRONG_SYSTEM_FS = 0x8031002B; + // // MessageId: FVE_E_POLICY_PASSWORD_REQUIRED // @@ -35270,6 +39480,7 @@ public interface WinError { // Group policy requires a recovery password before encryption may begin. // int FVE_E_POLICY_PASSWORD_REQUIRED = 0x8031002C; + // // MessageId: FVE_E_CANNOT_SET_FVEK_ENCRYPTED // @@ -35279,6 +39490,7 @@ public interface WinError { // volume. // int FVE_E_CANNOT_SET_FVEK_ENCRYPTED = 0x8031002D; + // // MessageId: FVE_E_CANNOT_ENCRYPT_NO_KEY // @@ -35287,6 +39499,7 @@ public interface WinError { // A key must be specified before encryption may begin. // int FVE_E_CANNOT_ENCRYPT_NO_KEY = 0x8031002E; + // // MessageId: FVE_E_BOOTABLE_CDDVD // @@ -35296,6 +39509,7 @@ public interface WinError { // the computer. Remove the media and restart the computer. // int FVE_E_BOOTABLE_CDDVD = 0x80310030; + // // MessageId: FVE_E_PROTECTOR_EXISTS // @@ -35304,6 +39518,7 @@ public interface WinError { // An instance of this key protector already exists on the volume. // int FVE_E_PROTECTOR_EXISTS = 0x80310031; + // // MessageId: FVE_E_RELATIVE_PATH // @@ -35312,6 +39527,7 @@ public interface WinError { // The file cannot be saved to a relative path. // int FVE_E_RELATIVE_PATH = 0x80310032; + // // MessageId: FVE_E_PROTECTOR_NOT_FOUND // @@ -35321,6 +39537,7 @@ public interface WinError { // protector. // int FVE_E_PROTECTOR_NOT_FOUND = 0x80310033; + // // MessageId: FVE_E_INVALID_KEY_FORMAT // @@ -35330,6 +39547,7 @@ public interface WinError { // device. // int FVE_E_INVALID_KEY_FORMAT = 0x80310034; + // // MessageId: FVE_E_INVALID_PASSWORD_FORMAT // @@ -35339,6 +39557,7 @@ public interface WinError { // recovery password and try again. // int FVE_E_INVALID_PASSWORD_FORMAT = 0x80310035; + // // MessageId: FVE_E_FIPS_RNG_CHECK_FAILED // @@ -35347,6 +39566,7 @@ public interface WinError { // The random number generator check test failed. // int FVE_E_FIPS_RNG_CHECK_FAILED = 0x80310036; + // // MessageId: FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD // @@ -35357,6 +39577,7 @@ public interface WinError { // administrator for more information. // int FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD = 0x80310037; + // // MessageId: FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT // @@ -35367,6 +39588,7 @@ public interface WinError { // more information. // int FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT = 0x80310038; + // // MessageId: FVE_E_NOT_DECRYPTED // @@ -35375,6 +39597,7 @@ public interface WinError { // The volume must be fully decrypted to complete this operation. // int FVE_E_NOT_DECRYPTED = 0x80310039; + // // MessageId: FVE_E_INVALID_PROTECTOR_TYPE // @@ -35383,6 +39606,7 @@ public interface WinError { // The specified key protector is not of the correct type. // int FVE_E_INVALID_PROTECTOR_TYPE = 0x8031003A; + // // MessageId: FVE_E_NO_PROTECTORS_TO_TEST // @@ -35391,6 +39615,7 @@ public interface WinError { // No TPM protectors exist on the volume to perform the hardware test. // int FVE_E_NO_PROTECTORS_TO_TEST = 0x8031003B; + // // MessageId: FVE_E_KEYFILE_NOT_FOUND // @@ -35402,6 +39627,7 @@ public interface WinError { // manufacturer for BIOS upgrade instructions. // int FVE_E_KEYFILE_NOT_FOUND = 0x8031003C; + // // MessageId: FVE_E_KEYFILE_INVALID // @@ -35411,6 +39637,7 @@ public interface WinError { // invalid. // int FVE_E_KEYFILE_INVALID = 0x8031003D; + // // MessageId: FVE_E_KEYFILE_NO_VMK // @@ -35420,6 +39647,7 @@ public interface WinError { // or recovery password. // int FVE_E_KEYFILE_NO_VMK = 0x8031003E; + // // MessageId: FVE_E_TPM_DISABLED // @@ -35428,6 +39656,7 @@ public interface WinError { // The Trusted Platform Module (TPM) is disabled. // int FVE_E_TPM_DISABLED = 0x8031003F; + // // MessageId: FVE_E_NOT_ALLOWED_IN_SAFE_MODE // @@ -35437,6 +39666,7 @@ public interface WinError { // Safe-Mode. // int FVE_E_NOT_ALLOWED_IN_SAFE_MODE = 0x80310040; + // // MessageId: FVE_E_TPM_INVALID_PCR // @@ -35446,6 +39676,7 @@ public interface WinError { // because the system boot information changed. // int FVE_E_TPM_INVALID_PCR = 0x80310041; + // // MessageId: FVE_E_TPM_NO_VMK // @@ -35455,6 +39686,7 @@ public interface WinError { // Platform Module (TPM). // int FVE_E_TPM_NO_VMK = 0x80310042; + // // MessageId: FVE_E_PIN_INVALID // @@ -35464,6 +39696,7 @@ public interface WinError { // Platform Module (TPM) and PIN. // int FVE_E_PIN_INVALID = 0x80310043; + // // MessageId: FVE_E_AUTH_INVALID_APPLICATION // @@ -35472,6 +39705,7 @@ public interface WinError { // A boot application has changed since BitLocker was enabled. // int FVE_E_AUTH_INVALID_APPLICATION = 0x80310044; + // // MessageId: FVE_E_AUTH_INVALID_CONFIG // @@ -35481,6 +39715,7 @@ public interface WinError { // was enabled. // int FVE_E_AUTH_INVALID_CONFIG = 0x80310045; + // // MessageId: FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED // @@ -35491,6 +39726,7 @@ public interface WinError { // information. // int FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED = 0x80310046; + // // MessageId: FVE_E_FS_NOT_EXTENDED // @@ -35499,6 +39735,7 @@ public interface WinError { // The file system does not extend to the end of the volume. // int FVE_E_FS_NOT_EXTENDED = 0x80310047; + // // MessageId: FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED // @@ -35508,6 +39745,7 @@ public interface WinError { // the computer manufacturer for BIOS upgrade instructions. // int FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED = 0x80310048; + // // MessageId: FVE_E_NO_LICENSE // @@ -35517,6 +39755,7 @@ public interface WinError { // BitLocker Drive Encryption, please upgrade your Windows license. // int FVE_E_NO_LICENSE = 0x80310049; + // // MessageId: FVE_E_NOT_ON_STACK // @@ -35526,6 +39765,7 @@ public interface WinError { // Windows Startup Repair to restore files. // int FVE_E_NOT_ON_STACK = 0x8031004A; + // // MessageId: FVE_E_FS_MOUNTED // @@ -35534,6 +39774,7 @@ public interface WinError { // This operation cannot be performed while the volume is in use. // int FVE_E_FS_MOUNTED = 0x8031004B; + // // MessageId: FVE_E_TOKEN_NOT_IMPERSONATED // @@ -35543,6 +39784,7 @@ public interface WinError { // impersonated token. // int FVE_E_TOKEN_NOT_IMPERSONATED = 0x8031004C; + // // MessageId: FVE_E_DRY_RUN_FAILED // @@ -35551,6 +39793,7 @@ public interface WinError { // The BitLocker encryption key could not be obtained. // int FVE_E_DRY_RUN_FAILED = 0x8031004D; + // // MessageId: FVE_E_REBOOT_REQUIRED // @@ -35559,6 +39802,7 @@ public interface WinError { // No action was taken as a system reboot is required. // int FVE_E_REBOOT_REQUIRED = 0x8031004E; + // // MessageId: FVE_E_DEBUGGER_ENABLED // @@ -35567,6 +39811,7 @@ public interface WinError { // Boot debugging is enabled. Run bcdedit to turn it off. // int FVE_E_DEBUGGER_ENABLED = 0x8031004F; + // // MessageId: FVE_E_RAW_ACCESS // @@ -35575,6 +39820,7 @@ public interface WinError { // No action was taken as BitLocker Drive Encryption is in raw access mode. // int FVE_E_RAW_ACCESS = 0x80310050; + // // MessageId: FVE_E_RAW_BLOCKED // @@ -35583,6 +39829,7 @@ public interface WinError { // BitLocker Drive Encryption cannot enter raw access mode for this volume. // int FVE_E_RAW_BLOCKED = 0x80310051; + // // MessageId: FVE_E_BCD_APPLICATIONS_PATH_INCORRECT // @@ -35593,6 +39840,7 @@ public interface WinError { // verify and correct your BCD settings and try again. // int FVE_E_BCD_APPLICATIONS_PATH_INCORRECT = 0x80310052; + // // MessageId: FVE_E_NOT_ALLOWED_IN_VERSION // @@ -35602,6 +39850,7 @@ public interface WinError { // version of Windows. // int FVE_E_NOT_ALLOWED_IN_VERSION = 0x80310053; + // // == // Windows Filtering Platform Error Messages @@ -35615,6 +39864,7 @@ public interface WinError { // The callout does not exist. // int FWP_E_CALLOUT_NOT_FOUND = 0x80320001; + // // MessageId: FWP_E_CONDITION_NOT_FOUND // @@ -35623,6 +39873,7 @@ public interface WinError { // The filter condition does not exist. // int FWP_E_CONDITION_NOT_FOUND = 0x80320002; + // // MessageId: FWP_E_FILTER_NOT_FOUND // @@ -35631,6 +39882,7 @@ public interface WinError { // The filter does not exist. // int FWP_E_FILTER_NOT_FOUND = 0x80320003; + // // MessageId: FWP_E_LAYER_NOT_FOUND // @@ -35639,6 +39891,7 @@ public interface WinError { // The layer does not exist. // int FWP_E_LAYER_NOT_FOUND = 0x80320004; + // // MessageId: FWP_E_PROVIDER_NOT_FOUND // @@ -35647,6 +39900,7 @@ public interface WinError { // The provider does not exist. // int FWP_E_PROVIDER_NOT_FOUND = 0x80320005; + // // MessageId: FWP_E_PROVIDER_CONTEXT_NOT_FOUND // @@ -35655,6 +39909,7 @@ public interface WinError { // The provider context does not exist. // int FWP_E_PROVIDER_CONTEXT_NOT_FOUND = 0x80320006; + // // MessageId: FWP_E_SUBLAYER_NOT_FOUND // @@ -35663,6 +39918,7 @@ public interface WinError { // The sublayer does not exist. // int FWP_E_SUBLAYER_NOT_FOUND = 0x80320007; + // // MessageId: FWP_E_NOT_FOUND // @@ -35671,6 +39927,7 @@ public interface WinError { // The object does not exist. // int FWP_E_NOT_FOUND = 0x80320008; + // // MessageId: FWP_E_ALREADY_EXISTS // @@ -35679,6 +39936,7 @@ public interface WinError { // An object with that GUID or LUID already exists. // int FWP_E_ALREADY_EXISTS = 0x80320009; + // // MessageId: FWP_E_IN_USE // @@ -35687,6 +39945,7 @@ public interface WinError { // The object is referenced by other objects so cannot be deleted. // int FWP_E_IN_USE = 0x8032000A; + // // MessageId: FWP_E_DYNAMIC_SESSION_IN_PROGRESS // @@ -35695,6 +39954,7 @@ public interface WinError { // The call is not allowed from within a dynamic session. // int FWP_E_DYNAMIC_SESSION_IN_PROGRESS = 0x8032000B; + // // MessageId: FWP_E_WRONG_SESSION // @@ -35703,6 +39963,7 @@ public interface WinError { // The call was made from the wrong session so cannot be completed. // int FWP_E_WRONG_SESSION = 0x8032000C; + // // MessageId: FWP_E_NO_TXN_IN_PROGRESS // @@ -35711,6 +39972,7 @@ public interface WinError { // The call must be made from within an explicit transaction. // int FWP_E_NO_TXN_IN_PROGRESS = 0x8032000D; + // // MessageId: FWP_E_TXN_IN_PROGRESS // @@ -35719,6 +39981,7 @@ public interface WinError { // The call is not allowed from within an explicit transaction. // int FWP_E_TXN_IN_PROGRESS = 0x8032000E; + // // MessageId: FWP_E_TXN_ABORTED // @@ -35727,6 +39990,7 @@ public interface WinError { // The explicit transaction has been forcibly cancelled. // int FWP_E_TXN_ABORTED = 0x8032000F; + // // MessageId: FWP_E_SESSION_ABORTED // @@ -35735,6 +39999,7 @@ public interface WinError { // The session has been cancelled. // int FWP_E_SESSION_ABORTED = 0x80320010; + // // MessageId: FWP_E_INCOMPATIBLE_TXN // @@ -35743,6 +40008,7 @@ public interface WinError { // The call is not allowed from within a read-only transaction. // int FWP_E_INCOMPATIBLE_TXN = 0x80320011; + // // MessageId: FWP_E_TIMEOUT // @@ -35751,6 +40017,7 @@ public interface WinError { // The call timed out while waiting to acquire the transaction lock. // int FWP_E_TIMEOUT = 0x80320012; + // // MessageId: FWP_E_NET_EVENTS_DISABLED // @@ -35759,6 +40026,7 @@ public interface WinError { // Collection of network diagnostic events is disabled. // int FWP_E_NET_EVENTS_DISABLED = 0x80320013; + // // MessageId: FWP_E_INCOMPATIBLE_LAYER // @@ -35767,6 +40035,7 @@ public interface WinError { // The operation is not supported by the specified layer. // int FWP_E_INCOMPATIBLE_LAYER = 0x80320014; + // // MessageId: FWP_E_KM_CLIENTS_ONLY // @@ -35775,6 +40044,7 @@ public interface WinError { // The call is allowed for kernel-mode callers only. // int FWP_E_KM_CLIENTS_ONLY = 0x80320015; + // // MessageId: FWP_E_LIFETIME_MISMATCH // @@ -35783,6 +40053,7 @@ public interface WinError { // The call tried to associate two objects with incompatible lifetimes. // int FWP_E_LIFETIME_MISMATCH = 0x80320016; + // // MessageId: FWP_E_BUILTIN_OBJECT // @@ -35791,6 +40062,7 @@ public interface WinError { // The object is built in so cannot be deleted. // int FWP_E_BUILTIN_OBJECT = 0x80320017; + // // MessageId: FWP_E_TOO_MANY_CALLOUTS // @@ -35799,6 +40071,7 @@ public interface WinError { // The maximum number of callouts has been reached. // int FWP_E_TOO_MANY_CALLOUTS = 0x80320018; + // // MessageId: FWP_E_NOTIFICATION_DROPPED // @@ -35808,6 +40081,7 @@ public interface WinError { // maximum capacity. // int FWP_E_NOTIFICATION_DROPPED = 0x80320019; + // // MessageId: FWP_E_TRAFFIC_MISMATCH // @@ -35817,6 +40091,7 @@ public interface WinError { // context. // int FWP_E_TRAFFIC_MISMATCH = 0x8032001A; + // // MessageId: FWP_E_INCOMPATIBLE_SA_STATE // @@ -35825,6 +40100,7 @@ public interface WinError { // The call is not allowed for the current security association state. // int FWP_E_INCOMPATIBLE_SA_STATE = 0x8032001B; + // // MessageId: FWP_E_NULL_POINTER // @@ -35833,6 +40109,7 @@ public interface WinError { // A required pointer is null. // int FWP_E_NULL_POINTER = 0x8032001C; + // // MessageId: FWP_E_INVALID_ENUMERATOR // @@ -35841,6 +40118,7 @@ public interface WinError { // An enumerator is not valid. // int FWP_E_INVALID_ENUMERATOR = 0x8032001D; + // // MessageId: FWP_E_INVALID_F;AGS // @@ -35849,6 +40127,7 @@ public interface WinError { // The F;ags field contains an invalid value. // int FWP_E_INVALID_FLAGS = 0x8032001E; + // // MessageId: FWP_E_INVALID_NET_MASK // @@ -35857,6 +40136,7 @@ public interface WinError { // A network mask is not valid. // int FWP_E_INVALID_NET_MASK = 0x8032001F; + // // MessageId: FWP_E_INVALID_RANGE // @@ -35865,6 +40145,7 @@ public interface WinError { // An FWP_RANGE is not valid. // int FWP_E_INVALID_RANGE = 0x80320020; + // // MessageId: FWP_E_INVALID_INTERVAL // @@ -35873,6 +40154,7 @@ public interface WinError { // The time interval is not valid. // int FWP_E_INVALID_INTERVAL = 0x80320021; + // // MessageId: FWP_E_ZERO_LENGTH_ARRAY // @@ -35881,6 +40163,7 @@ public interface WinError { // An array that must contain at least one element is zero length. // int FWP_E_ZERO_LENGTH_ARRAY = 0x80320022; + // // MessageId: FWP_E_NULL_DISPLAY_NAME // @@ -35889,6 +40172,7 @@ public interface WinError { // The displayData.name field cannot be null. // int FWP_E_NULL_DISPLAY_NAME = 0x80320023; + // // MessageId: FWP_E_INVALID_ACTION_TYPE // @@ -35897,6 +40181,7 @@ public interface WinError { // The action type is not one of the allowed action types for a filter. // int FWP_E_INVALID_ACTION_TYPE = 0x80320024; + // // MessageId: FWP_E_INVALID_WEIGHT // @@ -35905,6 +40190,7 @@ public interface WinError { // The filter weight is not valid. // int FWP_E_INVALID_WEIGHT = 0x80320025; + // // MessageId: FWP_E_MATCH_TYPE_MISMATCH // @@ -35914,6 +40200,7 @@ public interface WinError { // operands. // int FWP_E_MATCH_TYPE_MISMATCH = 0x80320026; + // // MessageId: FWP_E_TYPE_MISMATCH // @@ -35922,6 +40209,7 @@ public interface WinError { // An FWP_VALUE or FWPM_CONDITION_VALUE is of the wrong type. // int FWP_E_TYPE_MISMATCH = 0x80320027; + // // MessageId: FWP_E_OUT_OF_BOUNDS // @@ -35930,6 +40218,7 @@ public interface WinError { // An integer value is outside the allowed range. // int FWP_E_OUT_OF_BOUNDS = 0x80320028; + // // MessageId: FWP_E_RESERVED // @@ -35938,6 +40227,7 @@ public interface WinError { // A reserved field is non-zero. // int FWP_E_RESERVED = 0x80320029; + // // MessageId: FWP_E_DUPLICATE_CONDITION // @@ -35946,6 +40236,7 @@ public interface WinError { // A filter cannot contain multiple conditions operating on a single field. // int FWP_E_DUPLICATE_CONDITION = 0x8032002A; + // // MessageId: FWP_E_DUPLICATE_KEYMOD // @@ -35954,6 +40245,7 @@ public interface WinError { // A policy cannot contain the same keying module more than once. // int FWP_E_DUPLICATE_KEYMOD = 0x8032002B; + // // MessageId: FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER // @@ -35962,6 +40254,7 @@ public interface WinError { // The action type is not compatible with the layer. // int FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER = 0x8032002C; + // // MessageId: FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER // @@ -35970,6 +40263,7 @@ public interface WinError { // The action type is not compatible with the sublayer. // int FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER = 0x8032002D; + // // MessageId: FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER // @@ -35978,6 +40272,7 @@ public interface WinError { // The raw context or the provider context is not compatible with the layer. // int FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER = 0x8032002E; + // // MessageId: FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT // @@ -35987,6 +40282,7 @@ public interface WinError { // callout. // int FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT = 0x8032002F; + // // MessageId: FWP_E_INCOMPATIBLE_AUTH_METHOD // @@ -35995,6 +40291,7 @@ public interface WinError { // The authentication method is not compatible with the policy type. // int FWP_E_INCOMPATIBLE_AUTH_METHOD = 0x80320030; + // // MessageId: FWP_E_INCOMPATIBLE_DH_GROUP // @@ -36003,6 +40300,7 @@ public interface WinError { // The Diffie-Hellman group is not compatible with the policy type. // int FWP_E_INCOMPATIBLE_DH_GROUP = 0x80320031; + // // MessageId: FWP_E_EM_NOT_SUPPORTED // @@ -36011,6 +40309,7 @@ public interface WinError { // An IKE policy cannot contain an Extended Mode policy. // int FWP_E_EM_NOT_SUPPORTED = 0x80320032; + // // MessageId: FWP_E_NEVER_MATCH // @@ -36019,6 +40318,7 @@ public interface WinError { // The enumeration template or subscription will never match any objects. // int FWP_E_NEVER_MATCH = 0x80320033; + // // MessageId: FWP_E_PROVIDER_CONTEXT_MISMATCH // @@ -36027,6 +40327,7 @@ public interface WinError { // The provider context is of the wrong type. // int FWP_E_PROVIDER_CONTEXT_MISMATCH = 0x80320034; + // // MessageId: FWP_E_INVALID_PARAMETER // @@ -36035,6 +40336,7 @@ public interface WinError { // The parameter is incorrect. // int FWP_E_INVALID_PARAMETER = 0x80320035; + // // MessageId: FWP_E_TOO_MANY_SUBLAYERS // @@ -36043,6 +40345,7 @@ public interface WinError { // The maximum number of sublayers has been reached. // int FWP_E_TOO_MANY_SUBLAYERS = 0x80320036; + // // MessageId: FWP_E_CALLOUT_NOTIFICATION_FAILED // @@ -36051,6 +40354,7 @@ public interface WinError { // The notification function for a callout returned an error. // int FWP_E_CALLOUT_NOTIFICATION_FAILED = 0x80320037; + // // MessageId: FWP_E_INVALID_AUTH_TRANSFORM // @@ -36059,6 +40363,7 @@ public interface WinError { // The IPsec authentication transform is not valid. // int FWP_E_INVALID_AUTH_TRANSFORM = 0x80320038; + // // MessageId: FWP_E_INVALID_CIPHER_TRANSFORM // @@ -36067,6 +40372,7 @@ public interface WinError { // The IPsec cipher transform is not valid. // int FWP_E_INVALID_CIPHER_TRANSFORM = 0x80320039; + // // NDIS error codes (ndis.sys) // @@ -36078,6 +40384,7 @@ public interface WinError { // The binding to the network interface is being closed. // int ERROR_NDIS_INTERFACE_CLOSING = 0x80340002; + // // MessageId: ERROR_NDIS_BAD_VERSION // @@ -36086,6 +40393,7 @@ public interface WinError { // An invalid version was specified. // int ERROR_NDIS_BAD_VERSION = 0x80340004; + // // MessageId: ERROR_NDIS_BAD_CHARACTERISTICS // @@ -36094,6 +40402,7 @@ public interface WinError { // An invalid characteristics table was used. // int ERROR_NDIS_BAD_CHARACTERISTICS = 0x80340005; + // // MessageId: ERROR_NDIS_ADAPTER_NOT_FOUND // @@ -36102,6 +40411,7 @@ public interface WinError { // Failed to find the network interface or network interface is not ready. // int ERROR_NDIS_ADAPTER_NOT_FOUND = 0x80340006; + // // MessageId: ERROR_NDIS_OPEN_FAILED // @@ -36110,6 +40420,7 @@ public interface WinError { // Failed to open the network interface. // int ERROR_NDIS_OPEN_FAILED = 0x80340007; + // // MessageId: ERROR_NDIS_DEVICE_FAILED // @@ -36118,6 +40429,7 @@ public interface WinError { // Network interface has encountered an internal unrecoverable failure. // int ERROR_NDIS_DEVICE_FAILED = 0x80340008; + // // MessageId: ERROR_NDIS_MULTICAST_FULL // @@ -36126,6 +40438,7 @@ public interface WinError { // The multicast list on the network interface is full. // int ERROR_NDIS_MULTICAST_FULL = 0x80340009; + // // MessageId: ERROR_NDIS_MULTICAST_EXISTS // @@ -36134,6 +40447,7 @@ public interface WinError { // An attempt was made to add a duplicate multicast address to the list. // int ERROR_NDIS_MULTICAST_EXISTS = 0x8034000A; + // // MessageId: ERROR_NDIS_MULTICAST_NOT_FOUND // @@ -36142,6 +40456,7 @@ public interface WinError { // At attempt was made to remove a multicast address that was never added. // int ERROR_NDIS_MULTICAST_NOT_FOUND = 0x8034000B; + // // MessageId: ERROR_NDIS_REQUEST_ABORTED // @@ -36150,6 +40465,7 @@ public interface WinError { // Netowork interface aborted the request. // int ERROR_NDIS_REQUEST_ABORTED = 0x8034000C; + // // MessageId: ERROR_NDIS_RESET_IN_PROGRESS // @@ -36158,6 +40474,7 @@ public interface WinError { // Network interface can not process the request because it is being reset. // int ERROR_NDIS_RESET_IN_PROGRESS = 0x8034000D; + // // MessageId: ERROR_NDIS_NOT_SUPPORTED // @@ -36166,6 +40483,7 @@ public interface WinError { // Netword interface does not support this request. // int ERROR_NDIS_NOT_SUPPORTED = 0x803400BB; + // // MessageId: ERROR_NDIS_INVALID_PACKET // @@ -36174,6 +40492,7 @@ public interface WinError { // An attempt was made to send an invalid packet on a network interface. // int ERROR_NDIS_INVALID_PACKET = 0x8034000F; + // // MessageId: ERROR_NDIS_ADAPTER_NOT_READY // @@ -36182,6 +40501,7 @@ public interface WinError { // Network interface is not ready to complete this operation. // int ERROR_NDIS_ADAPTER_NOT_READY = 0x80340011; + // // MessageId: ERROR_NDIS_INVALID_LENGTH // @@ -36190,6 +40510,7 @@ public interface WinError { // The length of the buffer submitted for this operation is not valid. // int ERROR_NDIS_INVALID_LENGTH = 0x80340014; + // // MessageId: ERROR_NDIS_INVALID_DATA // @@ -36198,6 +40519,7 @@ public interface WinError { // The data used for this operation is not valid. // int ERROR_NDIS_INVALID_DATA = 0x80340015; + // // MessageId: ERROR_NDIS_BUFFER_TOO_SHORT // @@ -36206,6 +40528,7 @@ public interface WinError { // The length of buffer submitted for this operation is too small. // int ERROR_NDIS_BUFFER_TOO_SHORT = 0x80340016; + // // MessageId: ERROR_NDIS_INVALID_OID // @@ -36214,6 +40537,7 @@ public interface WinError { // Network interface does not support this OID (Object Identifier) // int ERROR_NDIS_INVALID_OID = 0x80340017; + // // MessageId: ERROR_NDIS_ADAPTER_REMOVED // @@ -36222,6 +40546,7 @@ public interface WinError { // The network interface has been removed. // int ERROR_NDIS_ADAPTER_REMOVED = 0x80340018; + // // MessageId: ERROR_NDIS_UNSUPPORTED_MEDIA // @@ -36230,6 +40555,7 @@ public interface WinError { // Network interface does not support this media type. // int ERROR_NDIS_UNSUPPORTED_MEDIA = 0x80340019; + // // MessageId: ERROR_NDIS_GROUP_ADDRESS_IN_USE // @@ -36239,6 +40565,7 @@ public interface WinError { // by other components. // int ERROR_NDIS_GROUP_ADDRESS_IN_USE = 0x8034001A; + // // MessageId: ERROR_NDIS_FILE_NOT_FOUND // @@ -36247,6 +40574,7 @@ public interface WinError { // An attempt was made to map a file that can not be found. // int ERROR_NDIS_FILE_NOT_FOUND = 0x8034001B; + // // MessageId: ERROR_NDIS_ERROR_READING_FILE // @@ -36255,6 +40583,7 @@ public interface WinError { // An error occured while NDIS tried to map the file. // int ERROR_NDIS_ERROR_READING_FILE = 0x8034001C; + // // MessageId: ERROR_NDIS_ALREADY_MAPPED // @@ -36263,6 +40592,7 @@ public interface WinError { // An attempt was made to map a file that is alreay mapped. // int ERROR_NDIS_ALREADY_MAPPED = 0x8034001D; + // // MessageId: ERROR_NDIS_RESOURCE_CONFLICT // @@ -36272,6 +40602,7 @@ public interface WinError { // used by another component. // int ERROR_NDIS_RESOURCE_CONFLICT = 0x8034001E; + // // MessageId: ERROR_NDIS_MEDIA_DISCONNECTED // @@ -36281,6 +40612,7 @@ public interface WinError { // wireless access point is out of range. // int ERROR_NDIS_MEDIA_DISCONNECTED = 0x8034001F; + // // MessageId: ERROR_NDIS_INVALID_ADDRESS // @@ -36289,6 +40621,7 @@ public interface WinError { // The network address used in the request is invalid. // int ERROR_NDIS_INVALID_ADDRESS = 0x80340022; + // // MessageId: ERROR_NDIS_INVALID_DEVICE_REQUEST // @@ -36297,6 +40630,7 @@ public interface WinError { // The specified request is not a valid operation for the target device. // int ERROR_NDIS_INVALID_DEVICE_REQUEST = 0x80340010; + // // MessageId: ERROR_NDIS_PAUSED // @@ -36305,6 +40639,7 @@ public interface WinError { // The ofF;oad operation on the network interface has been paused. // int ERROR_NDIS_PAUSED = 0x8034002A; + // // MessageId: ERROR_NDIS_INTERFACE_NOT_FOUND // @@ -36313,6 +40648,7 @@ public interface WinError { // Network interface was not found. // int ERROR_NDIS_INTERFACE_NOT_FOUND = 0x8034002B; + // // MessageId: ERROR_NDIS_UNSUPPORTED_REVISION // @@ -36321,6 +40657,7 @@ public interface WinError { // The revision number specified in the structure is not supported. // int ERROR_NDIS_UNSUPPORTED_REVISION = 0x8034002C; + // // MessageId: ERROR_NDIS_INVALID_PORT // @@ -36329,6 +40666,7 @@ public interface WinError { // The specified port does not exist on this network interface. // int ERROR_NDIS_INVALID_PORT = 0x8034002D; + // // MessageId: ERROR_NDIS_INVALID_PORT_STATE // @@ -36338,6 +40676,7 @@ public interface WinError { // not support the requested operation. // int ERROR_NDIS_INVALID_PORT_STATE = 0x8034002E; + // // MessageId: ERROR_NDIS_LOW_POWER_STATE // @@ -36346,6 +40685,7 @@ public interface WinError { // The miniport adapter is in low power state. // int ERROR_NDIS_LOW_POWER_STATE = 0x8034002F; + // // NDIS error codes (802.11 wireless LAN) // @@ -36358,6 +40698,7 @@ public interface WinError { // and doesn't support the requested parameter change operation. // int ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED = 0x80342000; + // // MessageId: ERROR_NDIS_DOT11_MEDIA_IN_USE // @@ -36367,6 +40708,7 @@ public interface WinError { // requested operation. // int ERROR_NDIS_DOT11_MEDIA_IN_USE = 0x80342001; + // // MessageId: ERROR_NDIS_DOT11_POWER_STATE_INVALID // @@ -36376,6 +40718,7 @@ public interface WinError { // support the requested operation. // int ERROR_NDIS_DOT11_POWER_STATE_INVALID = 0x80342002; + // // NDIS informational code (ndis.sys) // diff --git a/src/com/sun/jna/platform/win32/WinGDI.java b/src/com/sun/jna/platform/win32/WinGDI.java index be1f3c8f1..9dc6ca314 100644 --- a/src/com/sun/jna/platform/win32/WinGDI.java +++ b/src/com/sun/jna/platform/win32/WinGDI.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -38,9 +38,13 @@ public interface WinGDI extends StdCallLibrary { public class RGNDATAHEADER extends Structure { public int dwSize = size(); + public int iType = RDH_RECTANGLES; // required + public int nCount; + public int nRgnSize; + public RECT rcBound; @Override @@ -52,6 +56,7 @@ public interface WinGDI extends StdCallLibrary { public class RGNDATA extends Structure { public RGNDATAHEADER rdh; + public byte[] Buffer; @Override @@ -68,36 +73,63 @@ public interface WinGDI extends StdCallLibrary { 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; @Override @@ -109,8 +141,11 @@ public interface WinGDI extends StdCallLibrary { public class RGBQUAD extends Structure { public byte rgbBlue; + public byte rgbGreen; + public byte rgbRed; + public byte rgbReserved = 0; @Override @@ -122,6 +157,7 @@ public interface WinGDI extends StdCallLibrary { public class BITMAPINFO extends Structure { public BITMAPINFOHEADER bmiHeader = new BITMAPINFOHEADER(); + public RGBQUAD[] bmiColors = new RGBQUAD[1]; @Override @@ -137,6 +173,8 @@ public interface WinGDI extends StdCallLibrary { bmiColors = new RGBQUAD[size]; } } + public int DIB_RGB_COLORS = 0; + public int DIB_PAL_COLORS = 1; } diff --git a/src/com/sun/jna/platform/win32/WinNT.java b/src/com/sun/jna/platform/win32/WinNT.java index 95c1753a1..0b1079914 100644 --- a/src/com/sun/jna/platform/win32/WinNT.java +++ b/src/com/sun/jna/platform/win32/WinNT.java @@ -1,14 +1,14 @@ /* 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. + * Lesser General Public License for more details. */ package com.sun.jna.platform.win32; @@ -38,16 +38,27 @@ 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. // @@ -57,73 +68,98 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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; /** @@ -140,6 +176,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 @@ -150,12 +187,14 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. @@ -171,32 +210,59 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { 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; } @@ -207,6 +273,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { public abstract class TOKEN_TYPE { public static final int TokenPrimary = 1; + public static final int TokenImpersonation = 2; } @@ -220,6 +287,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 @@ -251,6 +319,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. @@ -301,38 +370,47 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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; + /** * ? */ @@ -341,118 +419,221 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { /* 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_NOACCESS = 0x01; + 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 PAGE_GUARD = 0x100; + 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; /** @@ -466,8 +647,11 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { 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]; @@ -515,26 +699,40 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { 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 // @@ -542,29 +740,36 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 // @@ -572,13 +777,18 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 // @@ -586,56 +796,72 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. // @@ -643,54 +869,67 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. */ @@ -703,6 +942,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { public static class LUID extends Structure { public int LowPart; + public int HighPart; @Override @@ -723,6 +963,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { public static class LowHigh extends Structure { public DWORD LowPart; + public DWORD HighPart; @Override @@ -734,8 +975,10 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { public static class UNION extends Union { public LowHigh lh; + public long value; } + public UNION u; @Override @@ -870,229 +1113,283 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 @@ -1100,12 +1397,14 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 @@ -1113,96 +1412,120 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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))) @@ -1222,22 +1545,27 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. @@ -1272,50 +1600,60 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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. */ @@ -1336,35 +1674,60 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { 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 @@ -1372,34 +1735,42 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 */ @@ -1418,77 +1789,92 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { * 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 @@ -1511,69 +1897,124 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { 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 { @@ -1595,6 +2036,7 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { super(memory); read(); } + public byte[] data; @Override @@ -1603,31 +2045,54 @@ public interface WinNT extends WinError, WinDef, WinBase, BaseTSD { } } /* 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 diff --git a/src/com/sun/jna/platform/win32/WinReg.java b/src/com/sun/jna/platform/win32/WinReg.java index 5cefc0b41..5acb3357e 100644 --- a/src/com/sun/jna/platform/win32/WinReg.java +++ b/src/com/sun/jna/platform/win32/WinReg.java @@ -1,80 +1,89 @@ -/* 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 com.sun.jna.Pointer; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.ptr.ByReference; -import com.sun.jna.win32.StdCallLibrary; - -/** - * This module contains the function prototypes and constant, type and structure - * definitions for the Windows 32-Bit Registry API. Ported from WinReg.h - * Microsoft Windows SDK 6.0A. - * - * @author dblock[at]dblock.org - */ -public interface WinReg extends StdCallLibrary { - - public static class HKEY extends HANDLE { - - public HKEY() { - } - - public HKEY(Pointer p) { - super(p); - } - - public HKEY(int value) { - super(new Pointer(value)); - } - } - - public static final class HKEYByReference extends ByReference { - - public HKEYByReference() { - this(null); - } - - public HKEYByReference(HKEY h) { - super(Pointer.SIZE); - setValue(h); - } - - public void setValue(HKEY h) { - getPointer().setPointer(0, h != null ? h.getPointer() : null); - } - - public HKEY getValue() { - Pointer p = getPointer().getPointer(0); - if (p == null) { - return null; - } - if (WinBase.INVALID_HANDLE_VALUE.getPointer().equals(p)) { - return (HKEY) WinBase.INVALID_HANDLE_VALUE; - } - HKEY h = new HKEY(); - h.setPointer(p); - return h; - } - } - HKEY HKEY_CLASSES_ROOT = new HKEY(0x80000000); - HKEY HKEY_CURRENT_USER = new HKEY(0x80000001); - HKEY HKEY_LOCAL_MACHINE = new HKEY(0x80000002); - HKEY HKEY_USERS = new HKEY(0x80000003); - HKEY HKEY_PERFORMANCE_DATA = new HKEY(0x80000004); - HKEY HKEY_PERFORMANCE_TEXT = new HKEY(0x80000050); - HKEY HKEY_PERFORMANCE_NLSTEXT = new HKEY(0x80000060); - HKEY HKEY_CURRENT_CONFIG = new HKEY(0x80000005); - HKEY HKEY_DYN_DATA = new HKEY(0x80000006); -} +/* 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 com.sun.jna.Pointer; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.ptr.ByReference; +import com.sun.jna.win32.StdCallLibrary; + +/** + * This module contains the function prototypes and constant, type and structure + * definitions for the Windows 32-Bit Registry API. Ported from WinReg.h + * Microsoft Windows SDK 6.0A. + * + * @author dblock[at]dblock.org + */ +public interface WinReg extends StdCallLibrary { + + public static class HKEY extends HANDLE { + + public HKEY() { + } + + public HKEY(Pointer p) { + super(p); + } + + public HKEY(int value) { + super(new Pointer(value)); + } + } + + public static final class HKEYByReference extends ByReference { + + public HKEYByReference() { + this(null); + } + + public HKEYByReference(HKEY h) { + super(Pointer.SIZE); + setValue(h); + } + + public void setValue(HKEY h) { + getPointer().setPointer(0, h != null ? h.getPointer() : null); + } + + public HKEY getValue() { + Pointer p = getPointer().getPointer(0); + if (p == null) { + return null; + } + if (WinBase.INVALID_HANDLE_VALUE.getPointer().equals(p)) { + return (HKEY) WinBase.INVALID_HANDLE_VALUE; + } + HKEY h = new HKEY(); + h.setPointer(p); + return h; + } + } + + HKEY HKEY_CLASSES_ROOT = new HKEY(0x80000000); + + HKEY HKEY_CURRENT_USER = new HKEY(0x80000001); + + HKEY HKEY_LOCAL_MACHINE = new HKEY(0x80000002); + + HKEY HKEY_USERS = new HKEY(0x80000003); + + HKEY HKEY_PERFORMANCE_DATA = new HKEY(0x80000004); + + HKEY HKEY_PERFORMANCE_TEXT = new HKEY(0x80000050); + + HKEY HKEY_PERFORMANCE_NLSTEXT = new HKEY(0x80000060); + + HKEY HKEY_CURRENT_CONFIG = new HKEY(0x80000005); + + HKEY HKEY_DYN_DATA = new HKEY(0x80000006); +} diff --git a/src/com/sun/jna/platform/win32/WinUser.java b/src/com/sun/jna/platform/win32/WinUser.java index a594aa084..5344d9c45 100644 --- a/src/com/sun/jna/platform/win32/WinUser.java +++ b/src/com/sun/jna/platform/win32/WinUser.java @@ -1,894 +1,1183 @@ -/* 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 com.sun.jna.Callback; -import com.sun.jna.Pointer; -import com.sun.jna.Structure; -import com.sun.jna.Union; -import com.sun.jna.WString; -import com.sun.jna.platform.win32.BaseTSD.ULONG_PTR; -import com.sun.jna.platform.win32.WinDef.HBRUSH; -import com.sun.jna.platform.win32.WinDef.HCURSOR; -import com.sun.jna.platform.win32.WinDef.HICON; -import com.sun.jna.platform.win32.WinDef.HINSTANCE; -import com.sun.jna.platform.win32.WinDef.HWND; -import com.sun.jna.platform.win32.WinDef.LPARAM; -import com.sun.jna.platform.win32.WinDef.LRESULT; -import com.sun.jna.platform.win32.WinDef.WPARAM; -import com.sun.jna.platform.win32.WinNT.HANDLE; -import com.sun.jna.win32.StdCallLibrary; -import java.util.Arrays; -import java.util.List; - -/** - * Ported from WinUser.h Microsoft Windows SDK 6.0A. - * - * @author dblock[at]dblock.org - */ -public interface WinUser extends StdCallLibrary, WinDef { - - HWND HWND_BROADCAST = new HWND(Pointer.createConstant(0xFFFF)); - HWND HWND_MESSAGE = new HWND(Pointer.createConstant(-3)); - - /* RegisterDeviceNotification stuff */ - public static class HDEVNOTIFY extends PVOID { - - public HDEVNOTIFY() { - } - - public HDEVNOTIFY(Pointer p) { - super(p); - } - } - int FLASHW_STOP = 0; - int FLASHW_CAPTION = 1; - int FLASHW_TRAY = 2; - int FLASHW_ALL = (FLASHW_CAPTION | FLASHW_TRAY); - int FLASHW_TIMER = 4; - int FLASHW_TIMERNOFG = 12; - int IMAGE_BITMAP = 0; - int IMAGE_ICON = 1; - int IMAGE_CURSOR = 2; - int IMAGE_ENHMETAFILE = 3; - int LR_DEFAULTCOLOR = 0x0000; - int LR_MONOCHROME = 0x0001; - int LR_COLOR = 0x0002; - int LR_COPYRETURNORG = 0x0004; - int LR_COPYDELETEORG = 0x0008; - int LR_LOADFROMFILE = 0x0010; - int LR_LOADTRANSPARENT = 0x0020; - int LR_DEFAULTSIZE = 0x0040; - int LR_VGACOLOR = 0x0080; - int LR_LOADMAP3DCOLORS = 0x1000; - int LR_CREATEDIBSECTION = 0x2000; - int LR_COPYFROMRESOURCE = 0x4000; - int LR_SHARED = 0x8000; - - public class GUITHREADINFO extends Structure { - - public int cbSize = size(); - public int flags; - public HWND hwndActive; - public HWND hwndFocus; - public HWND hwndCapture; - public HWND hwndMenuOwner; - public HWND hwndMoveSize; - public HWND hwndCaret; - public RECT rcCaret; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cbSize", "flags", - "hwndActive", "hwndFocus", "hwndCapture", "hwndMenuOwner", - "hwndMoveSize", "hwndCaret", "rcCaret"}); - } - } - - public class WINDOWINFO extends Structure { - - public int cbSize = size(); - public RECT rcWindow; - public RECT rcClient; - public int dwStyle; - public int dwExStyle; - public int dwWindowStatus; - public int cxWindowBorders; - public int cyWindowBorders; - public short atomWindowType; - public short wCreatorVersion; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cbSize", "rcWindow", - "rcClient", "dwStyle", "dwExStyle", "dwWindowStatus", - "cxWindowBorders", "cyWindowBorders", "atomWindowType", - "wCreatorVersion"}); - } - } - int GWL_EXSTYLE = -20; - int GWL_STYLE = -16; - int GWL_WNDPROC = -4; - int GWL_HINSTANCE = -6; - int GWL_ID = -12; - int GWL_USERDATA = -21; - int DWL_DLGPROC = 4; - int DWL_MSGRESULT = 0; - int DWL_USER = 8; - int WS_MAXIMIZE = 0x01000000; - int WS_VISIBLE = 0x10000000; - int WS_MINIMIZE = 0x20000000; - int WS_CHILD = 0x40000000; - int WS_POPUP = 0x80000000; - int WS_EX_COMPOSITED = 0x20000000; - int WS_EX_LAYERED = 0x80000; - int WS_EX_TRANSPARENT = 32; - int LWA_COLORKEY = 1; - int LWA_ALPHA = 2; - int ULW_COLORKEY = 1; - int ULW_ALPHA = 2; - int ULW_OPAQUE = 4; - - /** - * Defines the x- and y-coordinates of a point. - */ - public class POINT extends Structure { - - public int x, y; - - public POINT() { - } - - public POINT(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"x", "y"}); - } - } - - public class MSG extends Structure { - - public HWND hWnd; - public int message; - public WPARAM wParam; - public LPARAM lParam; - public int time; - public POINT pt; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"hWnd", "message", "wParam", - "lParam", "time", "pt"}); - } - } - - public class FLASHWINFO extends Structure { - - public int cbSize; - public HANDLE hWnd; - public int dwFlags; - public int uCount; - public int dwTimeout; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cbSize", "hWnd", "dwFlags", - "uCount", "dwTimeout"}); - } - } - - public interface WNDENUMPROC extends StdCallCallback { - - /** - * Return whether to continue enumeration. - * - * @param hWnd - * @param data - * @return - */ - boolean callback(HWND hWnd, Pointer data); - } - - public interface LowLevelKeyboardProc extends HOOKPROC { - - LRESULT callback(int nCode, WPARAM wParam, KBDLLHOOKSTRUCT lParam); - } - - /** - * Specifies the width and height of a rectangle. - */ - public class SIZE extends Structure { - - public int cx, cy; - - public SIZE() { - } - - public SIZE(int w, int h) { - this.cx = w; - this.cy = h; - } - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cx", "cy"}); - } - } - int AC_SRC_OVER = 0x00; - int AC_SRC_ALPHA = 0x01; - int AC_SRC_NO_PREMULT_ALPHA = 0x01; - int AC_SRC_NO_ALPHA = 0x02; - - public class BLENDFUNCTION extends Structure { - - public byte BlendOp = AC_SRC_OVER; // only valid value - public byte BlendFlags = 0; // only valid value - public byte SourceConstantAlpha; - public byte AlphaFormat; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"BlendOp", "BlendFlags", - "SourceConstantAlpha", "AlphaFormat"}); - } - } - int VK_SHIFT = 16; - int VK_LSHIFT = 0xA0; - int VK_RSHIFT = 0xA1; - int VK_CONTROL = 17; - int VK_LCONTROL = 0xA2; - int VK_RCONTROL = 0xA3; - int VK_MENU = 18; - int VK_LMENU = 0xA4; - int VK_RMENU = 0xA5; - int MOD_ALT = 0x0001; - int MOD_CONTROL = 0x0002; - int MOD_NOREPEAT = 0x4000; - int MOD_SHIFT = 0x0004; - int MOD_WIN = 0x0008; - int WH_KEYBOARD = 2; - int WH_MOUSE = 7; - int WH_KEYBOARD_LL = 13; - int WH_MOUSE_LL = 14; - - public class HHOOK extends HANDLE { - } - - public interface HOOKPROC extends StdCallCallback { - } - /** - * The WM_PAINT message is sent when the system or another application makes - * a request to paint a portion of an \ application's window. - */ - int WM_PAINT = 0x000F; - /** - * Sent as a signal that a window or an application should terminate. - */ - int WM_CLOSE = 0x0010; - /** - * Indicates a request to terminate an application, and is generated when - * the application calls the PostQuitMessage function. - */ - int WM_QUIT = 0x0012; - /** - * Sent to a window when the window is about to be hidden or shown. - */ - int WM_SHOWWINDOW = 0x0018; - /** - * Sent to the parent window of an owner-drawn button, combo box, list box, - * or menu when a visual aspect of the button, combo box, list box, or menu - * has changed. - */ - int WM_DRAWITEM = 0x002B; - /** - * Posted to the window with the keyboard focus when a nonsystem key is - * pressed. A nonsystem key is a key that is pressed when the ALT key is not - * pressed. - */ - int WM_KEYDOWN = 0x0100; - /** - * Posted to the window with the keyboard focus when a WM_KEYDOWN message is - * translated by the TranslateMessage function. The WM_CHAR message contains - * the character code of the key that was pressed. - */ - int WM_CHAR = 0x0102; - /** - * A window receives this message when the user chooses a command from the - * Window menu (formerly known as the system or control menu) or when the - * user chooses the maximize button, minimize button, restore button, or - * close button. - */ - int WM_SYSCOMMAND = 0x0112; - /** - * An application sends the WM_MDIMAXIMIZE message to a multiple-document - * interface (MDI) client window to maximize an MDI child window. - */ - int WM_MDIMAXIMIZE = 0x0225; - /** - * Posted when the user presses a hot key registered by the RegisterHotKey - * function. The message is placed at the top of the message queue - * associated with the thread that registered the hot key. - */ - int WM_HOTKEY = 0x0312; - int WM_KEYUP = 257; - int WM_SYSKEYDOWN = 260; - int WM_SYSKEYUP = 261; - int WM_SESSION_CHANGE = 0x2b1; - int WM_CREATE = 0x0001; - int WM_SIZE = 0x0005; - int WM_DESTROY = 0x0002; - public static final int WM_DEVICECHANGE = 0x0219; - - public class KBDLLHOOKSTRUCT extends Structure { - - public int vkCode; - public int scanCode; - public int flags; - public int time; - public ULONG_PTR dwExtraInfo; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"vkCode", "scanCode", "flags", - "time", "dwExtraInfo"}); - } - } - int SM_CXSCREEN = 0; - int SM_CYSCREEN = 1; - int SM_CXVSCROLL = 2; - int SM_CYHSCROLL = 3; - int SM_CYCAPTION = 4; - int SM_CXBORDER = 5; - int SM_CYBORDER = 6; - int SM_CXDLGFRAME = 7; - int SM_CYDLGFRAME = 8; - int SM_CYVTHUMB = 9; - int SM_CXHTHUMB = 10; - int SM_CXICON = 11; - int SM_CYICON = 12; - int SM_CXCURSOR = 13; - int SM_CYCURSOR = 14; - int SM_CYMENU = 15; - int SM_CXFULLSCREEN = 16; - int SM_CYFULLSCREEN = 17; - int SM_CYKANJIWINDOW = 18; - int SM_MOUSEPRESENT = 19; - int SM_CYVSCROLL = 20; - int SM_CXHSCROLL = 21; - int SM_DEBUG = 22; - int SM_SWAPBUTTON = 23; - int SM_RESERVED1 = 24; - int SM_RESERVED2 = 25; - int SM_RESERVED3 = 26; - int SM_RESERVED4 = 27; - int SM_CXMIN = 28; - int SM_CYMIN = 29; - int SM_CXSIZE = 30; - int SM_CYSIZE = 31; - int SM_CXFRAME = 32; - int SM_CYFRAME = 33; - int SM_CXMINTRACK = 34; - int SM_CYMINTRACK = 35; - int SM_CXDOUBLECLK = 36; - int SM_CYDOUBLECLK = 37; - int SM_CXICONSPACING = 38; - int SM_CYICONSPACING = 39; - int SM_MENUDROPALIGNMENT = 40; - int SM_PENWINDOWS = 41; - int SM_DBCSENABLED = 42; - int SM_CMOUSEBUTTONS = 43; - int SM_CXFIXEDFRAME = SM_CXDLGFRAME; /* ;win40 name change */ - - int SM_CYFIXEDFRAME = SM_CYDLGFRAME; /* ;win40 name change */ - - int SM_CXSIZEFRAME = SM_CXFRAME; /* ;win40 name change */ - - int SM_CYSIZEFRAME = SM_CYFRAME; /* ;win40 name change */ - - int SM_SECURE = 44; - int SM_CXEDGE = 45; - int SM_CYEDGE = 46; - int SM_CXMINSPACING = 47; - int SM_CYMINSPACING = 48; - int SM_CXSMICON = 49; - int SM_CYSMICON = 50; - int SM_CYSMCAPTION = 51; - int SM_CXSMSIZE = 52; - int SM_CYSMSIZE = 53; - int SM_CXMENUSIZE = 54; - int SM_CYMENUSIZE = 55; - int SM_ARRANGE = 56; - int SM_CXMINIMIZED = 57; - int SM_CYMINIMIZED = 58; - int SM_CXMAXTRACK = 59; - int SM_CYMAXTRACK = 60; - int SM_CXMAXIMIZED = 61; - int SM_CYMAXIMIZED = 62; - int SM_NETWORK = 63; - int SM_CLEANBOOT = 67; - int SM_CXDRAG = 68; - int SM_CYDRAG = 69; - int SM_SHOWSOUNDS = 70; - int SM_CXMENUCHECK = 71; - int SM_CYMENUCHECK = 72; - int SM_SLOWMACHINE = 73; - int SM_MIDEASTENABLED = 74; - int SM_MOUSEWHEELPRESENT = 75; - int SM_XVIRTUALSCREEN = 76; - int SM_YVIRTUALSCREEN = 77; - int SM_CXVIRTUALSCREEN = 78; - int SM_CYVIRTUALSCREEN = 79; - int SM_CMONITORS = 80; - int SM_SAMEDISPLAYFORMAT = 81; - int SM_IMMENABLED = 82; - int SM_CXFOCUSBORDER = 83; - int SM_CYFOCUSBORDER = 84; - int SM_TABLETPC = 86; - int SM_MEDIACENTER = 87; - int SM_STARTER = 88; - int SM_SERVERR2 = 89; - int SM_MOUSEHORIZONTALWHEELPRESENT = 91; - int SM_CXPADDEDBORDER = 92; - int SM_REMOTESESSION = 0x1000; - int SM_SHUTTINGDOWN = 0x2000; - int SM_REMOTECONTROL = 0x2001; - int SM_CARETBLINKINGENABLED = 0x2002; - int SW_HIDE = 0; - int SW_SHOWNORMAL = 1; - int SW_NORMAL = 1; - int SW_SHOWMINIMIZED = 2; - int SW_SHOWMAXIMIZED = 3; - int SW_MAXIMIZE = 3; - int SW_SHOWNOACTIVATE = 4; - int SW_SHOW = 5; - int SW_MINIMIZE = 6; - int SW_SHOWMINNOACTIVE = 7; - int SW_SHOWNA = 8; - int SW_RESTORE = 9; - int SW_SHOWDEFAULT = 10; - int SW_FORCEMINIMIZE = 11; - int SW_MAX = 11; - int RDW_INVALIDATE = 0x0001; - int RDW_INTERNALPAINT = 0x0002; - int RDW_ERASE = 0x0004; - int RDW_VALIDATE = 0x0008; - int RDW_NOINTERNALPAINT = 0x0010; - int RDW_NOERASE = 0x0020; - int RDW_NOCHILDREN = 0x0040; - int RDW_ALLCHILDREN = 0x0080; - int RDW_UPDATENOW = 0x0100; - int RDW_ERASENOW = 0x0200; - int RDW_FRAME = 0x0400; - int RDW_NOFRAME = 0x0800; - /** - * The retrieved handle identifies the window of the same type that is - * highest in the Z order. - * - * If the specified window is a topmost window, the handle identifies a - * topmost window. If the specified window is a top-level window, the handle - * identifies a top-level window. If the specified window is a child window, - * the handle identifies a sibling window. - */ - int GW_HWNDFIRST = 0; - /** - * The retrieved handle identifies the window of the same type that is - * lowest in the Z order. - * - * If the specified window is a topmost window, the handle identifies a - * topmost window. If the specified window is a top-level window, the handle - * identifies a top-level window. If the specified window is a child window, - * the handle identifies a sibling window. - */ - int GW_HWNDLAST = 1; - /** - * The retrieved handle identifies the window below the specified window in - * the Z order. - * - * If the specified window is a topmost window, the handle identifies a - * topmost window. If the specified window is a top-level window, the handle - * identifies a top-level window. If the specified window is a child window, - * the handle identifies a sibling window. - */ - int GW_HWNDNEXT = 2; - /** - * The retrieved handle identifies the window above the specified window in - * the Z order. - * - * If the specified window is a topmost window, the handle identifies a - * topmost window. If the specified window is a top-level window, the handle - * identifies a top-level window. If the specified window is a child window, - * the handle identifies a sibling window. - */ - int GW_HWNDPREV = 3; - /** - * The retrieved handle identifies the specified window's owner window, if - * any. For more information, see Owned Windows. - */ - int GW_OWNER = 4; - /** - * The retrieved handle identifies the child window at the top of the Z - * order, if the specified window is a parent window; otherwise, the - * retrieved handle is NULL. The function examines only child windows of the - * specified window. It does not examine descendant windows. - */ - int GW_CHILD = 5; - /** - * The retrieved handle identifies the enabled popup window owned by the - * specified window (the search uses the first such window found using - * GW_HWNDNEXT); otherwise, if there are no enabled popup windows, the - * retrieved handle is that of the specified window. - */ - int GW_ENABLEDPOPUP = 6; - /** - * Retains the current Z order (ignores the hWndInsertAfter parameter). - */ - int SWP_NOZORDER = 0x0004; - /** - * Minimizes the window. - */ - int SC_MINIMIZE = 0xF020; - /** - * Maximizes the window. - */ - int SC_MAXIMIZE = 0xF030; - - /** - * Contains information about a simulated message generated by an input - * device other than a keyboard or mouse. - */ - public static class HARDWAREINPUT extends Structure { - - public static class ByReference extends HARDWAREINPUT implements - Structure.ByReference { - - public ByReference() { - } - - public ByReference(Pointer memory) { - super(memory); - } - } - - public HARDWAREINPUT() { - } - - public HARDWAREINPUT(Pointer memory) { - super(memory); - read(); - } - public WinDef.DWORD uMsg; - public WinDef.WORD wParamL; - public WinDef.WORD wParamH; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"uMsg", "wParamL", "wParamH"}); - } - } - - /** - * Used by SendInput to store information for synthesizing input events such - * as keystrokes, mouse movement, and mouse clicks. - */ - public static class INPUT extends Structure { - - public static final int INPUT_MOUSE = 0; - public static final int INPUT_KEYBOARD = 1; - public static final int INPUT_HARDWARE = 2; - - public static class ByReference extends INPUT implements - Structure.ByReference { - - public ByReference() { - } - - public ByReference(Pointer memory) { - super(memory); - } - } - - public INPUT() { - } - - public INPUT(Pointer memory) { - super(memory); - read(); - } - public WinDef.DWORD type; - public INPUT_UNION input = new INPUT_UNION(); - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"type", "input"}); - } - - public static class INPUT_UNION extends Union { - - public INPUT_UNION() { - } - - public INPUT_UNION(Pointer memory) { - super(memory); - read(); - } - public MOUSEINPUT mi; - public KEYBDINPUT ki; - public HARDWAREINPUT hi; - } - } - - /** - * Contains information about a simulated keyboard event. - */ - public static class KEYBDINPUT extends Structure { - - /** - * If specified, the scan code was preceded by a prefix byte that has - * the value 0xE0 (224). - */ - public static final int KEYEVENTF_EXTENDEDKEY = 0x0001; - /** - * If specified, the key is being released. If not specified, the key is - * being pressed. - */ - public static final int KEYEVENTF_KEYUP = 0x0002; - /** - * If specified, the system synthesizes a VK_PACKET keystroke. The wVk - * parameter must be zero. This flag can only be combined with the - * KEYEVENTF_KEYUP flag. For more information, see the Remarks section. - */ - public static final int KEYEVENTF_UNICODE = 0x0004; - /** - * If specified, wScan identifies the key and wVk is ignored. - */ - public static final int KEYEVENTF_SCANCODE = 0x0008; - - public static class ByReference extends KEYBDINPUT implements - Structure.ByReference { - - public ByReference() { - } - - public ByReference(Pointer memory) { - super(memory); - } - } - - public KEYBDINPUT() { - } - - public KEYBDINPUT(Pointer memory) { - super(memory); - read(); - } - /** - * A virtual-key code. The code must be a value in the range 1 to 254. - * If the dwFlags member specifies KEYEVENTF_UNICODE, wVk must be 0. - */ - public WinDef.WORD wVk; - /** - * A hardware scan code for the key. If dwFlags specifies - * KEYEVENTF_UNICODE, wScan specifies a Unicode character which is to be - * sent to the foreground application. - */ - public WinDef.WORD wScan; - /** - * Specifies various aspects of a keystroke. This member can be certain - * combinations of the following values. - */ - public WinDef.DWORD dwFlags; - /** - * The time stamp for the event, in milliseconds. If this parameter is - * zero, the system will provide its own time stamp. - */ - public WinDef.DWORD time; - /** - * An additional value associated with the keystroke. Use the - * GetMessageExtraInfo function to obtain this information. - */ - public BaseTSD.ULONG_PTR dwExtraInfo; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"wVk", "wScan", "dwFlags", - "time", "dwExtraInfo"}); - } - } - - /** - * Contains information about a simulated mouse event. - */ - public static class MOUSEINPUT extends Structure { - - public static class ByReference extends MOUSEINPUT implements - Structure.ByReference { - - public ByReference() { - } - - public ByReference(Pointer memory) { - super(memory); - } - } - - public MOUSEINPUT() { - } - - public MOUSEINPUT(Pointer memory) { - super(memory); - read(); - } - public WinDef.LONG dx; - public WinDef.LONG dy; - public WinDef.DWORD mouseData; - public WinDef.DWORD dwFlags; - public WinDef.DWORD time; - public BaseTSD.ULONG_PTR dwExtraInfo; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"dx", "dy", "mouseData", - "dwFlags", "time", "dwExtraInfo"}); - } - } - - /** - * Contains the time of the last input. - */ - public static class LASTINPUTINFO extends Structure { - - public int cbSize = size(); - // Tick count of when the last input event was received. - public int dwTime; - - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cbSize", "dwTime"}); - } - } - - /** - * Contains window class information. It is used with the RegisterClassEx - * and GetClassInfoEx functions. - * - * The WNDCLASSEX structure is similar to the WNDCLASS structure. There are - * two differences. WNDCLASSEX includes the cbSize member, which specifies - * the size of the structure, and the hIconSm member, which contains a - * handle to a small icon associated with the window class. - */ - public class WNDCLASSEX extends Structure { - - /** - * The Class ByReference. - */ - public static class ByReference extends WNDCLASSEX implements - Structure.ByReference { - } - - /** - * Instantiates a new wndclassex. - */ - public WNDCLASSEX() { - } - - /** - * Instantiates a new wndclassex. - * - * @param memory the memory - */ - public WNDCLASSEX(Pointer memory) { - super(memory); - read(); - } - /** - * The cb size. - */ - public int cbSize = this.size(); - /** - * The style. - */ - public int style; - /** - * The lpfn wnd proc. - */ - public Callback lpfnWndProc; - /** - * The cb cls extra. - */ - public int cbClsExtra; - /** - * The cb wnd extra. - */ - public int cbWndExtra; - /** - * The h instance. - */ - public HINSTANCE hInstance; - /** - * The h icon. - */ - public HICON hIcon; - /** - * The h cursor. - */ - public HCURSOR hCursor; - /** - * The hbr background. - */ - public HBRUSH hbrBackground; - /** - * The lpsz menu name. - */ - public String lpszMenuName; - /** - * The lpsz class name. - */ - public WString lpszClassName; - /** - * The h icon sm. - */ - public HICON hIconSm; - - /* - * (non-Javadoc) - * - * @see com.sun.jna.Structure#getFieldOrder() - */ - @Override - protected List getFieldOrder() { - return Arrays.asList(new String[]{"cbSize", "style", - "lpfnWndProc", "cbClsExtra", "cbWndExtra", "hInstance", - "hIcon", "hCursor", "hbrBackground", "lpszMenuName", - "lpszClassName", "hIconSm"}); - } - } - - /** - * An application-defined function that processes messages sent to a window. - * The WNDPROC type defines a pointer to this callback function. - * - * WindowProc is a placeholder for the application-defined function name. - */ - public interface WindowProc extends Callback { - - /** - * @param hwnd [in] Type: HWND - * - * A handle to the window. - * - * @param uMsg [in] Type: UINT - * - * The message. - * - * For lists of the system-provided messages, see System-Defined - * Messages. - * - * @param wParam [in] Type: WPARAM - * - * Additional message information. The contents of this parameter depend - * on the value of the uMsg parameter. - * - * @param lParam [in] Type: LPARAM - * - * Additional message information. The contents of this parameter depend - * on the value of the uMsg parameter. - * - * @return the lresult - */ - LRESULT callback(HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam); - } -} +/* 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 com.sun.jna.Callback; +import com.sun.jna.Pointer; +import com.sun.jna.Structure; +import com.sun.jna.Union; +import com.sun.jna.WString; +import com.sun.jna.platform.win32.BaseTSD.ULONG_PTR; +import com.sun.jna.platform.win32.WinDef.HBRUSH; +import com.sun.jna.platform.win32.WinDef.HCURSOR; +import com.sun.jna.platform.win32.WinDef.HICON; +import com.sun.jna.platform.win32.WinDef.HINSTANCE; +import com.sun.jna.platform.win32.WinDef.HWND; +import com.sun.jna.platform.win32.WinDef.LPARAM; +import com.sun.jna.platform.win32.WinDef.LRESULT; +import com.sun.jna.platform.win32.WinDef.WPARAM; +import com.sun.jna.platform.win32.WinNT.HANDLE; +import com.sun.jna.win32.StdCallLibrary; +import java.util.Arrays; +import java.util.List; + +/** + * Ported from WinUser.h Microsoft Windows SDK 6.0A. + * + * @author dblock[at]dblock.org + */ +public interface WinUser extends StdCallLibrary, WinDef { + + HWND HWND_BROADCAST = new HWND(Pointer.createConstant(0xFFFF)); + + HWND HWND_MESSAGE = new HWND(Pointer.createConstant(-3)); + + /* RegisterDeviceNotification stuff */ + public static class HDEVNOTIFY extends PVOID { + + public HDEVNOTIFY() { + } + + public HDEVNOTIFY(Pointer p) { + super(p); + } + } + + int FLASHW_STOP = 0; + + int FLASHW_CAPTION = 1; + + int FLASHW_TRAY = 2; + + int FLASHW_ALL = (FLASHW_CAPTION | FLASHW_TRAY); + + int FLASHW_TIMER = 4; + + int FLASHW_TIMERNOFG = 12; + + int IMAGE_BITMAP = 0; + + int IMAGE_ICON = 1; + + int IMAGE_CURSOR = 2; + + int IMAGE_ENHMETAFILE = 3; + + int LR_DEFAULTCOLOR = 0x0000; + + int LR_MONOCHROME = 0x0001; + + int LR_COLOR = 0x0002; + + int LR_COPYRETURNORG = 0x0004; + + int LR_COPYDELETEORG = 0x0008; + + int LR_LOADFROMFILE = 0x0010; + + int LR_LOADTRANSPARENT = 0x0020; + + int LR_DEFAULTSIZE = 0x0040; + + int LR_VGACOLOR = 0x0080; + + int LR_LOADMAP3DCOLORS = 0x1000; + + int LR_CREATEDIBSECTION = 0x2000; + + int LR_COPYFROMRESOURCE = 0x4000; + + int LR_SHARED = 0x8000; + + public class GUITHREADINFO extends Structure { + + public int cbSize = size(); + + public int flags; + + public HWND hwndActive; + + public HWND hwndFocus; + + public HWND hwndCapture; + + public HWND hwndMenuOwner; + + public HWND hwndMoveSize; + + public HWND hwndCaret; + + public RECT rcCaret; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cbSize", "flags", + "hwndActive", "hwndFocus", "hwndCapture", "hwndMenuOwner", + "hwndMoveSize", "hwndCaret", "rcCaret"}); + } + } + + public class WINDOWINFO extends Structure { + + public int cbSize = size(); + + public RECT rcWindow; + + public RECT rcClient; + + public int dwStyle; + + public int dwExStyle; + + public int dwWindowStatus; + + public int cxWindowBorders; + + public int cyWindowBorders; + + public short atomWindowType; + + public short wCreatorVersion; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cbSize", "rcWindow", + "rcClient", "dwStyle", "dwExStyle", "dwWindowStatus", + "cxWindowBorders", "cyWindowBorders", "atomWindowType", + "wCreatorVersion"}); + } + } + + int GWL_EXSTYLE = -20; + + int GWL_STYLE = -16; + + int GWL_WNDPROC = -4; + + int GWL_HINSTANCE = -6; + + int GWL_ID = -12; + + int GWL_USERDATA = -21; + + int DWL_DLGPROC = 4; + + int DWL_MSGRESULT = 0; + + int DWL_USER = 8; + + int WS_MAXIMIZE = 0x01000000; + + int WS_VISIBLE = 0x10000000; + + int WS_MINIMIZE = 0x20000000; + + int WS_CHILD = 0x40000000; + + int WS_POPUP = 0x80000000; + + int WS_EX_COMPOSITED = 0x20000000; + + int WS_EX_LAYERED = 0x80000; + + int WS_EX_TRANSPARENT = 32; + + int LWA_COLORKEY = 1; + + int LWA_ALPHA = 2; + + int ULW_COLORKEY = 1; + + int ULW_ALPHA = 2; + + int ULW_OPAQUE = 4; + + /** + * Defines the x- and y-coordinates of a point. + */ + public class POINT extends Structure { + + public int x, y; + + public POINT() { + } + + public POINT(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"x", "y"}); + } + } + + public class MSG extends Structure { + + public HWND hWnd; + + public int message; + + public WPARAM wParam; + + public LPARAM lParam; + + public int time; + + public POINT pt; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"hWnd", "message", "wParam", + "lParam", "time", "pt"}); + } + } + + public class FLASHWINFO extends Structure { + + public int cbSize; + + public HANDLE hWnd; + + public int dwFlags; + + public int uCount; + + public int dwTimeout; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cbSize", "hWnd", "dwFlags", + "uCount", "dwTimeout"}); + } + } + + public interface WNDENUMPROC extends StdCallCallback { + + /** + * Return whether to continue enumeration. + * + * @param hWnd + * @param data + * @return + */ + boolean callback(HWND hWnd, Pointer data); + } + + public interface LowLevelKeyboardProc extends HOOKPROC { + + LRESULT callback(int nCode, WPARAM wParam, KBDLLHOOKSTRUCT lParam); + } + + /** + * Specifies the width and height of a rectangle. + */ + public class SIZE extends Structure { + + public int cx, cy; + + public SIZE() { + } + + public SIZE(int w, int h) { + this.cx = w; + this.cy = h; + } + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cx", "cy"}); + } + } + + int AC_SRC_OVER = 0x00; + + int AC_SRC_ALPHA = 0x01; + + int AC_SRC_NO_PREMULT_ALPHA = 0x01; + + int AC_SRC_NO_ALPHA = 0x02; + + public class BLENDFUNCTION extends Structure { + + public byte BlendOp = AC_SRC_OVER; // only valid value + + public byte BlendFlags = 0; // only valid value + + public byte SourceConstantAlpha; + + public byte AlphaFormat; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"BlendOp", "BlendFlags", + "SourceConstantAlpha", "AlphaFormat"}); + } + } + + int VK_SHIFT = 16; + + int VK_LSHIFT = 0xA0; + + int VK_RSHIFT = 0xA1; + + int VK_CONTROL = 17; + + int VK_LCONTROL = 0xA2; + + int VK_RCONTROL = 0xA3; + + int VK_MENU = 18; + + int VK_LMENU = 0xA4; + + int VK_RMENU = 0xA5; + + int MOD_ALT = 0x0001; + + int MOD_CONTROL = 0x0002; + + int MOD_NOREPEAT = 0x4000; + + int MOD_SHIFT = 0x0004; + + int MOD_WIN = 0x0008; + + int WH_KEYBOARD = 2; + + int WH_MOUSE = 7; + + int WH_KEYBOARD_LL = 13; + + int WH_MOUSE_LL = 14; + + public class HHOOK extends HANDLE { + } + + public interface HOOKPROC extends StdCallCallback { + } + + /** + * The WM_PAINT message is sent when the system or another application makes + * a request to paint a portion of an \ application's window. + */ + int WM_PAINT = 0x000F; + + /** + * Sent as a signal that a window or an application should terminate. + */ + int WM_CLOSE = 0x0010; + + /** + * Indicates a request to terminate an application, and is generated when + * the application calls the PostQuitMessage function. + */ + int WM_QUIT = 0x0012; + + /** + * Sent to a window when the window is about to be hidden or shown. + */ + int WM_SHOWWINDOW = 0x0018; + + /** + * Sent to the parent window of an owner-drawn button, combo box, list box, + * or menu when a visual aspect of the button, combo box, list box, or menu + * has changed. + */ + int WM_DRAWITEM = 0x002B; + + /** + * Posted to the window with the keyboard focus when a nonsystem key is + * pressed. A nonsystem key is a key that is pressed when the ALT key is not + * pressed. + */ + int WM_KEYDOWN = 0x0100; + + /** + * Posted to the window with the keyboard focus when a WM_KEYDOWN message is + * translated by the TranslateMessage function. The WM_CHAR message contains + * the character code of the key that was pressed. + */ + int WM_CHAR = 0x0102; + + /** + * A window receives this message when the user chooses a command from the + * Window menu (formerly known as the system or control menu) or when the + * user chooses the maximize button, minimize button, restore button, or + * close button. + */ + int WM_SYSCOMMAND = 0x0112; + + /** + * An application sends the WM_MDIMAXIMIZE message to a multiple-document + * interface (MDI) client window to maximize an MDI child window. + */ + int WM_MDIMAXIMIZE = 0x0225; + + /** + * Posted when the user presses a hot key registered by the RegisterHotKey + * function. The message is placed at the top of the message queue + * associated with the thread that registered the hot key. + */ + int WM_HOTKEY = 0x0312; + + int WM_KEYUP = 257; + + int WM_SYSKEYDOWN = 260; + + int WM_SYSKEYUP = 261; + + int WM_SESSION_CHANGE = 0x2b1; + + int WM_CREATE = 0x0001; + + int WM_SIZE = 0x0005; + + int WM_DESTROY = 0x0002; + + public static final int WM_DEVICECHANGE = 0x0219; + + public class KBDLLHOOKSTRUCT extends Structure { + + public int vkCode; + + public int scanCode; + + public int flags; + + public int time; + + public ULONG_PTR dwExtraInfo; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"vkCode", "scanCode", "flags", + "time", "dwExtraInfo"}); + } + } + + int SM_CXSCREEN = 0; + + int SM_CYSCREEN = 1; + + int SM_CXVSCROLL = 2; + + int SM_CYHSCROLL = 3; + + int SM_CYCAPTION = 4; + + int SM_CXBORDER = 5; + + int SM_CYBORDER = 6; + + int SM_CXDLGFRAME = 7; + + int SM_CYDLGFRAME = 8; + + int SM_CYVTHUMB = 9; + + int SM_CXHTHUMB = 10; + + int SM_CXICON = 11; + + int SM_CYICON = 12; + + int SM_CXCURSOR = 13; + + int SM_CYCURSOR = 14; + + int SM_CYMENU = 15; + + int SM_CXFULLSCREEN = 16; + + int SM_CYFULLSCREEN = 17; + + int SM_CYKANJIWINDOW = 18; + + int SM_MOUSEPRESENT = 19; + + int SM_CYVSCROLL = 20; + + int SM_CXHSCROLL = 21; + + int SM_DEBUG = 22; + + int SM_SWAPBUTTON = 23; + + int SM_RESERVED1 = 24; + + int SM_RESERVED2 = 25; + + int SM_RESERVED3 = 26; + + int SM_RESERVED4 = 27; + + int SM_CXMIN = 28; + + int SM_CYMIN = 29; + + int SM_CXSIZE = 30; + + int SM_CYSIZE = 31; + + int SM_CXFRAME = 32; + + int SM_CYFRAME = 33; + + int SM_CXMINTRACK = 34; + + int SM_CYMINTRACK = 35; + + int SM_CXDOUBLECLK = 36; + + int SM_CYDOUBLECLK = 37; + + int SM_CXICONSPACING = 38; + + int SM_CYICONSPACING = 39; + + int SM_MENUDROPALIGNMENT = 40; + + int SM_PENWINDOWS = 41; + + int SM_DBCSENABLED = 42; + + int SM_CMOUSEBUTTONS = 43; + + int SM_CXFIXEDFRAME = SM_CXDLGFRAME; /* ;win40 name change */ + + + int SM_CYFIXEDFRAME = SM_CYDLGFRAME; /* ;win40 name change */ + + + int SM_CXSIZEFRAME = SM_CXFRAME; /* ;win40 name change */ + + + int SM_CYSIZEFRAME = SM_CYFRAME; /* ;win40 name change */ + + + int SM_SECURE = 44; + + int SM_CXEDGE = 45; + + int SM_CYEDGE = 46; + + int SM_CXMINSPACING = 47; + + int SM_CYMINSPACING = 48; + + int SM_CXSMICON = 49; + + int SM_CYSMICON = 50; + + int SM_CYSMCAPTION = 51; + + int SM_CXSMSIZE = 52; + + int SM_CYSMSIZE = 53; + + int SM_CXMENUSIZE = 54; + + int SM_CYMENUSIZE = 55; + + int SM_ARRANGE = 56; + + int SM_CXMINIMIZED = 57; + + int SM_CYMINIMIZED = 58; + + int SM_CXMAXTRACK = 59; + + int SM_CYMAXTRACK = 60; + + int SM_CXMAXIMIZED = 61; + + int SM_CYMAXIMIZED = 62; + + int SM_NETWORK = 63; + + int SM_CLEANBOOT = 67; + + int SM_CXDRAG = 68; + + int SM_CYDRAG = 69; + + int SM_SHOWSOUNDS = 70; + + int SM_CXMENUCHECK = 71; + + int SM_CYMENUCHECK = 72; + + int SM_SLOWMACHINE = 73; + + int SM_MIDEASTENABLED = 74; + + int SM_MOUSEWHEELPRESENT = 75; + + int SM_XVIRTUALSCREEN = 76; + + int SM_YVIRTUALSCREEN = 77; + + int SM_CXVIRTUALSCREEN = 78; + + int SM_CYVIRTUALSCREEN = 79; + + int SM_CMONITORS = 80; + + int SM_SAMEDISPLAYFORMAT = 81; + + int SM_IMMENABLED = 82; + + int SM_CXFOCUSBORDER = 83; + + int SM_CYFOCUSBORDER = 84; + + int SM_TABLETPC = 86; + + int SM_MEDIACENTER = 87; + + int SM_STARTER = 88; + + int SM_SERVERR2 = 89; + + int SM_MOUSEHORIZONTALWHEELPRESENT = 91; + + int SM_CXPADDEDBORDER = 92; + + int SM_REMOTESESSION = 0x1000; + + int SM_SHUTTINGDOWN = 0x2000; + + int SM_REMOTECONTROL = 0x2001; + + int SM_CARETBLINKINGENABLED = 0x2002; + + int SW_HIDE = 0; + + int SW_SHOWNORMAL = 1; + + int SW_NORMAL = 1; + + int SW_SHOWMINIMIZED = 2; + + int SW_SHOWMAXIMIZED = 3; + + int SW_MAXIMIZE = 3; + + int SW_SHOWNOACTIVATE = 4; + + int SW_SHOW = 5; + + int SW_MINIMIZE = 6; + + int SW_SHOWMINNOACTIVE = 7; + + int SW_SHOWNA = 8; + + int SW_RESTORE = 9; + + int SW_SHOWDEFAULT = 10; + + int SW_FORCEMINIMIZE = 11; + + int SW_MAX = 11; + + int RDW_INVALIDATE = 0x0001; + + int RDW_INTERNALPAINT = 0x0002; + + int RDW_ERASE = 0x0004; + + int RDW_VALIDATE = 0x0008; + + int RDW_NOINTERNALPAINT = 0x0010; + + int RDW_NOERASE = 0x0020; + + int RDW_NOCHILDREN = 0x0040; + + int RDW_ALLCHILDREN = 0x0080; + + int RDW_UPDATENOW = 0x0100; + + int RDW_ERASENOW = 0x0200; + + int RDW_FRAME = 0x0400; + + int RDW_NOFRAME = 0x0800; + + /** + * The retrieved handle identifies the window of the same type that is + * highest in the Z order. + * + * If the specified window is a topmost window, the handle identifies a + * topmost window. If the specified window is a top-level window, the handle + * identifies a top-level window. If the specified window is a child window, + * the handle identifies a sibling window. + */ + int GW_HWNDFIRST = 0; + + /** + * The retrieved handle identifies the window of the same type that is + * lowest in the Z order. + * + * If the specified window is a topmost window, the handle identifies a + * topmost window. If the specified window is a top-level window, the handle + * identifies a top-level window. If the specified window is a child window, + * the handle identifies a sibling window. + */ + int GW_HWNDLAST = 1; + + /** + * The retrieved handle identifies the window below the specified window in + * the Z order. + * + * If the specified window is a topmost window, the handle identifies a + * topmost window. If the specified window is a top-level window, the handle + * identifies a top-level window. If the specified window is a child window, + * the handle identifies a sibling window. + */ + int GW_HWNDNEXT = 2; + + /** + * The retrieved handle identifies the window above the specified window in + * the Z order. + * + * If the specified window is a topmost window, the handle identifies a + * topmost window. If the specified window is a top-level window, the handle + * identifies a top-level window. If the specified window is a child window, + * the handle identifies a sibling window. + */ + int GW_HWNDPREV = 3; + + /** + * The retrieved handle identifies the specified window's owner window, if + * any. For more information, see Owned Windows. + */ + int GW_OWNER = 4; + + /** + * The retrieved handle identifies the child window at the top of the Z + * order, if the specified window is a parent window; otherwise, the + * retrieved handle is NULL. The function examines only child windows of the + * specified window. It does not examine descendant windows. + */ + int GW_CHILD = 5; + + /** + * The retrieved handle identifies the enabled popup window owned by the + * specified window (the search uses the first such window found using + * GW_HWNDNEXT); otherwise, if there are no enabled popup windows, the + * retrieved handle is that of the specified window. + */ + int GW_ENABLEDPOPUP = 6; + + /** + * Retains the current Z order (ignores the hWndInsertAfter parameter). + */ + int SWP_NOZORDER = 0x0004; + + /** + * Minimizes the window. + */ + int SC_MINIMIZE = 0xF020; + + /** + * Maximizes the window. + */ + int SC_MAXIMIZE = 0xF030; + + /** + * Contains information about a simulated message generated by an input + * device other than a keyboard or mouse. + */ + public static class HARDWAREINPUT extends Structure { + + public static class ByReference extends HARDWAREINPUT implements + Structure.ByReference { + + public ByReference() { + } + + public ByReference(Pointer memory) { + super(memory); + } + } + + public HARDWAREINPUT() { + } + + public HARDWAREINPUT(Pointer memory) { + super(memory); + read(); + } + + public WinDef.DWORD uMsg; + + public WinDef.WORD wParamL; + + public WinDef.WORD wParamH; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"uMsg", "wParamL", "wParamH"}); + } + } + + /** + * Used by SendInput to store information for synthesizing input events such + * as keystrokes, mouse movement, and mouse clicks. + */ + public static class INPUT extends Structure { + + public static final int INPUT_MOUSE = 0; + + public static final int INPUT_KEYBOARD = 1; + + public static final int INPUT_HARDWARE = 2; + + public static class ByReference extends INPUT implements + Structure.ByReference { + + public ByReference() { + } + + public ByReference(Pointer memory) { + super(memory); + } + } + + public INPUT() { + } + + public INPUT(Pointer memory) { + super(memory); + read(); + } + + public WinDef.DWORD type; + + public INPUT_UNION input = new INPUT_UNION(); + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"type", "input"}); + } + + public static class INPUT_UNION extends Union { + + public INPUT_UNION() { + } + + public INPUT_UNION(Pointer memory) { + super(memory); + read(); + } + + public MOUSEINPUT mi; + + public KEYBDINPUT ki; + + public HARDWAREINPUT hi; + } + } + + /** + * Contains information about a simulated keyboard event. + */ + public static class KEYBDINPUT extends Structure { + + /** + * If specified, the scan code was preceded by a prefix byte that has + * the value 0xE0 (224). + */ + public static final int KEYEVENTF_EXTENDEDKEY = 0x0001; + + /** + * If specified, the key is being released. If not specified, the key is + * being pressed. + */ + public static final int KEYEVENTF_KEYUP = 0x0002; + + /** + * If specified, the system synthesizes a VK_PACKET keystroke. The wVk + * parameter must be zero. This flag can only be combined with the + * KEYEVENTF_KEYUP flag. For more information, see the Remarks section. + */ + public static final int KEYEVENTF_UNICODE = 0x0004; + + /** + * If specified, wScan identifies the key and wVk is ignored. + */ + public static final int KEYEVENTF_SCANCODE = 0x0008; + + public static class ByReference extends KEYBDINPUT implements + Structure.ByReference { + + public ByReference() { + } + + public ByReference(Pointer memory) { + super(memory); + } + } + + public KEYBDINPUT() { + } + + public KEYBDINPUT(Pointer memory) { + super(memory); + read(); + } + + /** + * A virtual-key code. The code must be a value in the range 1 to 254. + * If the dwFlags member specifies KEYEVENTF_UNICODE, wVk must be 0. + */ + public WinDef.WORD wVk; + + /** + * A hardware scan code for the key. If dwFlags specifies + * KEYEVENTF_UNICODE, wScan specifies a Unicode character which is to be + * sent to the foreground application. + */ + public WinDef.WORD wScan; + + /** + * Specifies various aspects of a keystroke. This member can be certain + * combinations of the following values. + */ + public WinDef.DWORD dwFlags; + + /** + * The time stamp for the event, in milliseconds. If this parameter is + * zero, the system will provide its own time stamp. + */ + public WinDef.DWORD time; + + /** + * An additional value associated with the keystroke. Use the + * GetMessageExtraInfo function to obtain this information. + */ + public BaseTSD.ULONG_PTR dwExtraInfo; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"wVk", "wScan", "dwFlags", + "time", "dwExtraInfo"}); + } + } + + /** + * Contains information about a simulated mouse event. + */ + public static class MOUSEINPUT extends Structure { + + public static class ByReference extends MOUSEINPUT implements + Structure.ByReference { + + public ByReference() { + } + + public ByReference(Pointer memory) { + super(memory); + } + } + + public MOUSEINPUT() { + } + + public MOUSEINPUT(Pointer memory) { + super(memory); + read(); + } + + public WinDef.LONG dx; + + public WinDef.LONG dy; + + public WinDef.DWORD mouseData; + + public WinDef.DWORD dwFlags; + + public WinDef.DWORD time; + + public BaseTSD.ULONG_PTR dwExtraInfo; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"dx", "dy", "mouseData", + "dwFlags", "time", "dwExtraInfo"}); + } + } + + /** + * Contains the time of the last input. + */ + public static class LASTINPUTINFO extends Structure { + + public int cbSize = size(); + + // Tick count of when the last input event was received. + public int dwTime; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cbSize", "dwTime"}); + } + } + + /** + * Contains window class information. It is used with the RegisterClassEx + * and GetClassInfoEx functions. + * + * The WNDCLASSEX structure is similar to the WNDCLASS structure. There are + * two differences. WNDCLASSEX includes the cbSize member, which specifies + * the size of the structure, and the hIconSm member, which contains a + * handle to a small icon associated with the window class. + */ + public class WNDCLASSEX extends Structure { + + /** + * The Class ByReference. + */ + public static class ByReference extends WNDCLASSEX implements + Structure.ByReference { + } + + /** + * Instantiates a new wndclassex. + */ + public WNDCLASSEX() { + } + + /** + * Instantiates a new wndclassex. + * + * @param memory the memory + */ + public WNDCLASSEX(Pointer memory) { + super(memory); + read(); + } + + /** + * The cb size. + */ + public int cbSize = this.size(); + + /** + * The style. + */ + public int style; + + /** + * The lpfn wnd proc. + */ + public Callback lpfnWndProc; + + /** + * The cb cls extra. + */ + public int cbClsExtra; + + /** + * The cb wnd extra. + */ + public int cbWndExtra; + + /** + * The h instance. + */ + public HINSTANCE hInstance; + + /** + * The h icon. + */ + public HICON hIcon; + + /** + * The h cursor. + */ + public HCURSOR hCursor; + + /** + * The hbr background. + */ + public HBRUSH hbrBackground; + + /** + * The lpsz menu name. + */ + public String lpszMenuName; + + /** + * The lpsz class name. + */ + public WString lpszClassName; + + /** + * The h icon sm. + */ + public HICON hIconSm; + + /* + * (non-Javadoc) + * + * @see com.sun.jna.Structure#getFieldOrder() + */ + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"cbSize", "style", + "lpfnWndProc", "cbClsExtra", "cbWndExtra", "hInstance", + "hIcon", "hCursor", "hbrBackground", "lpszMenuName", + "lpszClassName", "hIconSm"}); + } + } + + /** + * An application-defined function that processes messages sent to a window. + * The WNDPROC type defines a pointer to this callback function. + * + * WindowProc is a placeholder for the application-defined function name. + */ + public interface WindowProc extends Callback { + + /** + * @param hwnd [in] Type: HWND + * + * A handle to the window. + * + * @param uMsg [in] Type: UINT + * + * The message. + * + * For lists of the system-provided messages, see System-Defined + * Messages. + * + * @param wParam [in] Type: WPARAM + * + * Additional message information. The contents of this parameter depend + * on the value of the uMsg parameter. + * + * @param lParam [in] Type: LPARAM + * + * Additional message information. The contents of this parameter depend + * on the value of the uMsg parameter. + * + * @return the lresult + */ + LRESULT callback(HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam); + } +} diff --git a/test/SampleTest.java b/test/SampleTest.java index 3ff145a45..f4e8d7c39 100644 --- a/test/SampleTest.java +++ b/test/SampleTest.java @@ -1,16 +1,16 @@ /* * Copyright (C) 2010-2015 JPEXS - * + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program 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 General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -28,5 +28,4 @@ public class SampleTest { public void testDecompilePcode() { System.out.println("Hello, this is a test"); } - }