summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/breakpad-patches
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /toolkit/crashreporter/breakpad-patches
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/crashreporter/breakpad-patches')
-rw-r--r--toolkit/crashreporter/breakpad-patches/00-arm-exidx-rollup.patch1352
-rw-r--r--toolkit/crashreporter/breakpad-patches/02-define-print-mach-result.patch24
-rw-r--r--toolkit/crashreporter/breakpad-patches/03-strstr-libc-replacement.patch54
-rw-r--r--toolkit/crashreporter/breakpad-patches/04-update-headers.patch6039
-rw-r--r--toolkit/crashreporter/breakpad-patches/09-json-upload.patch333
-rw-r--r--toolkit/crashreporter/breakpad-patches/10-macho-cpu-subtype.patch47
-rw-r--r--toolkit/crashreporter/breakpad-patches/12-macho-cpu-subtype-fix.patch22
-rw-r--r--toolkit/crashreporter/breakpad-patches/13-improve-arm64-stack-walking.patch79
-rw-r--r--toolkit/crashreporter/breakpad-patches/14-handle-non-fixed-size-amd64-and-x86-contexts.patch344
-rw-r--r--toolkit/crashreporter/breakpad-patches/15-freebsd-profiler-support.patch107
-rw-r--r--toolkit/crashreporter/breakpad-patches/16-get-last-error.patch181
-rw-r--r--toolkit/crashreporter/breakpad-patches/17-unloaded-modules.patch251
-rw-r--r--toolkit/crashreporter/breakpad-patches/18-fastfail-codes.patch359
-rw-r--r--toolkit/crashreporter/breakpad-patches/19-updated-ntstatus.patch3500
-rw-r--r--toolkit/crashreporter/breakpad-patches/20-mac-crash-info.patch516
-rw-r--r--toolkit/crashreporter/breakpad-patches/21-thread-names.patch661
-rw-r--r--toolkit/crashreporter/breakpad-patches/22-winerror-codes.patch22069
-rw-r--r--toolkit/crashreporter/breakpad-patches/23-si-user-si-kernel-siginfo.patch76
-rw-r--r--toolkit/crashreporter/breakpad-patches/24-macos-exc-resource.patch155
-rw-r--r--toolkit/crashreporter/breakpad-patches/25-macos-exc-guard.patch349
-rw-r--r--toolkit/crashreporter/breakpad-patches/26-print-thread-tid.patch44
-rw-r--r--toolkit/crashreporter/breakpad-patches/27-fix-unified-builds-bug-1733547.patch22
-rw-r--r--toolkit/crashreporter/breakpad-patches/28-no-garbage-in-code-ids.patch34
-rw-r--r--toolkit/crashreporter/breakpad-patches/29-cpu-context-packing.patch118
-rw-r--r--toolkit/crashreporter/breakpad-patches/30-sign-compare.patch11
-rw-r--r--toolkit/crashreporter/breakpad-patches/README4
26 files changed, 36751 insertions, 0 deletions
diff --git a/toolkit/crashreporter/breakpad-patches/00-arm-exidx-rollup.patch b/toolkit/crashreporter/breakpad-patches/00-arm-exidx-rollup.patch
new file mode 100644
index 0000000000..33ae81f3df
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/00-arm-exidx-rollup.patch
@@ -0,0 +1,1352 @@
+diff --git a/Makefile.am b/Makefile.am
+index 9a25d9d4..07206601 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -571,6 +571,8 @@ src_tools_linux_core2md_core2md_LDADD = \
+ src/client/linux/libbreakpad_client.a
+
+ src_tools_linux_dump_syms_dump_syms_SOURCES = \
++ src/common/arm_ex_reader.cc \
++ src/common/arm_ex_to_module.cc \
+ src/common/dwarf_cfi_to_module.cc \
+ src/common/dwarf_cu_to_module.cc \
+ src/common/dwarf_line_to_module.cc \
+@@ -660,6 +662,8 @@ src_tools_mac_dump_syms_dump_syms_mac_LDADD= \
+ $(RUST_DEMANGLE_LIBS)
+
+ src_common_dumper_unittest_SOURCES = \
++ src/common/arm_ex_reader.cc \
++ src/common/arm_ex_to_module.cc \
+ src/common/byte_cursor_unittest.cc \
+ src/common/convert_UTF.cc \
+ src/common/dwarf_cfi_to_module.cc \
+@@ -1348,6 +1352,10 @@ EXTRA_DIST = \
+ src/client/windows/sender/crash_report_sender.cc \
+ src/client/windows/sender/crash_report_sender.h \
+ src/client/windows/sender/crash_report_sender.gyp \
++ src/common/arm_ex_reader.cc \
++ src/common/arm_ex_reader.h \
++ src/common/arm_ex_to_module.cc \
++ src/common/arm_ex_to_module.h \
+ src/common/dwarf/dwarf2diehandler.h \
+ src/common/dwarf/dwarf2enums.h \
+ src/common/dwarf/line_state_machine.h \
+diff --git a/src/common/arm_ex_reader.cc b/src/common/arm_ex_reader.cc
+new file mode 100644
+index 00000000..2d1ed983
+--- /dev/null
++++ b/src/common/arm_ex_reader.cc
+@@ -0,0 +1,487 @@
++
++/* libunwind - a platform-independent unwind library
++ Copyright 2011 Linaro Limited
++
++This file is part of libunwind.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be
++included in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
++
++// Copyright (c) 2010 Google Inc.
++// All rights reserved.
++//
++// Redistribution and use in source and binary forms, with or without
++// modification, are permitted provided that the following conditions are
++// met:
++//
++// * Redistributions of source code must retain the above copyright
++// notice, this list of conditions and the following disclaimer.
++// * Redistributions in binary form must reproduce the above
++// copyright notice, this list of conditions and the following disclaimer
++// in the documentation and/or other materials provided with the
++// distribution.
++// * Neither the name of Google Inc. nor the names of its
++// contributors may be used to endorse or promote products derived from
++// this software without specific prior written permission.
++//
++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++
++// Derived from libunwind, with extensive modifications.
++
++
++#include "common/arm_ex_reader.h"
++
++#include <assert.h>
++#include <stdio.h>
++
++// This file, in conjunction with arm_ex_to_module.cc, translates
++// EXIDX unwind information into the same format that Breakpad uses
++// for CFI information. Hence Breakpad's CFI unwinding abilities
++// also become usable for EXIDX.
++//
++// See: "Exception Handling ABI for the ARM Architecture", ARM IHI 0038A
++// http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf
++
++// EXIDX data is presented in two parts:
++//
++// * an index table. This contains two words per routine,
++// the first of which identifies the routine, and the second
++// of which is a reference to the unwind bytecode. If the
++// bytecode is very compact -- 3 bytes or less -- it can be
++// stored directly in the second word.
++//
++// * an area containing the unwind bytecodes.
++
++// General flow is: ExceptionTableInfo::Start iterates over all
++// of the index table entries (pairs). For each entry, it:
++//
++// * calls ExceptionTableInfo::ExtabEntryExtract to copy the bytecode
++// out into an intermediate buffer.
++
++// * uses ExceptionTableInfo::ExtabEntryDecode to parse the intermediate
++// buffer. Each bytecode instruction is bundled into a
++// arm_ex_to_module::extab_data structure, and handed to ..
++//
++// * .. ARMExToModule::ImproveStackFrame, which in turn hands it to
++// ARMExToModule::TranslateCmd, and that generates the pseudo-CFI
++// records that Breakpad stores.
++
++#define ARM_EXIDX_CANT_UNWIND 0x00000001
++#define ARM_EXIDX_COMPACT 0x80000000
++#define ARM_EXTBL_OP_FINISH 0xb0
++#define ARM_EXIDX_TABLE_LIMIT (255*4)
++
++namespace arm_ex_reader {
++
++using arm_ex_to_module::ARM_EXIDX_CMD_FINISH;
++using arm_ex_to_module::ARM_EXIDX_CMD_SUB_FROM_VSP;
++using arm_ex_to_module::ARM_EXIDX_CMD_ADD_TO_VSP;
++using arm_ex_to_module::ARM_EXIDX_CMD_REG_POP;
++using arm_ex_to_module::ARM_EXIDX_CMD_REG_TO_SP;
++using arm_ex_to_module::ARM_EXIDX_CMD_VFP_POP;
++using arm_ex_to_module::ARM_EXIDX_CMD_WREG_POP;
++using arm_ex_to_module::ARM_EXIDX_CMD_WCGR_POP;
++using arm_ex_to_module::ARM_EXIDX_CMD_RESERVED;
++using arm_ex_to_module::ARM_EXIDX_CMD_REFUSED;
++using arm_ex_to_module::exidx_entry;
++using arm_ex_to_module::ARM_EXIDX_VFP_SHIFT_16;
++using arm_ex_to_module::ARM_EXIDX_VFP_FSTMD;
++using google_breakpad::MemoryRange;
++
++
++static void* Prel31ToAddr(const void* addr) {
++ uint32_t offset32 = *reinterpret_cast<const uint32_t*>(addr);
++ // sign extend offset32[30:0] to 64 bits -- copy bit 30 to positions
++ // 63:31 inclusive.
++ uint64_t offset64 = offset32;
++ if (offset64 & (1ULL << 30))
++ offset64 |= 0xFFFFFFFF80000000ULL;
++ else
++ offset64 &= 0x000000007FFFFFFFULL;
++ return ((char*)addr) + (uintptr_t)offset64;
++}
++
++
++// Extract unwind bytecode for the function denoted by |entry| into |buf|,
++// and return the number of bytes of |buf| written, along with a code
++// indicating the outcome.
++
++ExceptionTableInfo::ExExtractResult ExceptionTableInfo::ExtabEntryExtract(
++ const struct exidx_entry* entry,
++ uint8_t* buf, size_t buf_size,
++ size_t* buf_used) {
++ MemoryRange mr_out(buf, buf_size);
++
++ *buf_used = 0;
++
++# define PUT_BUF_U8(_byte) \
++ do { if (!mr_out.Covers(*buf_used, 1)) return ExOutBufOverflow; \
++ buf[(*buf_used)++] = (_byte); } while (0)
++
++# define GET_EX_U32(_lval, _addr, _sec_mr) \
++ do { if (!(_sec_mr).Covers(reinterpret_cast<const uint8_t*>(_addr) \
++ - (_sec_mr).data(), 4)) \
++ return ExInBufOverflow; \
++ (_lval) = *(reinterpret_cast<const uint32_t*>(_addr)); } while (0)
++
++# define GET_EXIDX_U32(_lval, _addr) \
++ GET_EX_U32(_lval, _addr, mr_exidx_)
++# define GET_EXTAB_U32(_lval, _addr) \
++ GET_EX_U32(_lval, _addr, mr_extab_)
++
++ uint32_t data;
++ GET_EXIDX_U32(data, &entry->data);
++
++ // A function can be marked CANT_UNWIND if (eg) it is known to be
++ // at the bottom of the stack.
++ if (data == ARM_EXIDX_CANT_UNWIND)
++ return ExCantUnwind;
++
++ uint32_t pers; // personality number
++ uint32_t extra; // number of extra data words required
++ uint32_t extra_allowed; // number of extra data words allowed
++ uint32_t* extbl_data; // the handler entry, if not inlined
++
++ if (data & ARM_EXIDX_COMPACT) {
++ // The handler table entry has been inlined into the index table entry.
++ // In this case it can only be an ARM-defined compact model, since
++ // bit 31 is 1. Only personalities 0, 1 and 2 are defined for the
++ // ARM compact model, but 1 and 2 are "Long format" and may require
++ // extra data words. Hence the allowable personalities here are:
++ // personality 0, in which case 'extra' has no meaning
++ // personality 1, with zero extra words
++ // personality 2, with zero extra words
++ extbl_data = NULL;
++ pers = (data >> 24) & 0x0F;
++ extra = (data >> 16) & 0xFF;
++ extra_allowed = 0;
++ }
++ else {
++ // The index table entry is a pointer to the handler entry. Note
++ // that Prel31ToAddr will read the given address, but we already
++ // range-checked above.
++ extbl_data = reinterpret_cast<uint32_t*>(Prel31ToAddr(&entry->data));
++ GET_EXTAB_U32(data, extbl_data);
++ if (!(data & ARM_EXIDX_COMPACT)) {
++ // This denotes a "generic model" handler. That will involve
++ // executing arbitary machine code, which is something we
++ // can't represent here; hence reject it.
++ return ExCantRepresent;
++ }
++ // So we have a compact model representation. Again, 3 possible
++ // personalities, but this time up to 255 allowable extra words.
++ pers = (data >> 24) & 0x0F;
++ extra = (data >> 16) & 0xFF;
++ extra_allowed = 255;
++ extbl_data++;
++ }
++
++ // Now look at the the handler table entry. The first word is
++ // |data| and subsequent words start at |*extbl_data|. The number
++ // of extra words to use is |extra|, provided that the personality
++ // allows extra words. Even if it does, none may be available --
++ // extra_allowed is the maximum number of extra words allowed. */
++ if (pers == 0) {
++ // "Su16" in the documentation -- 3 unwinding insn bytes
++ // |extra| has no meaning here; instead that byte is an unwind-info byte
++ PUT_BUF_U8(data >> 16);
++ PUT_BUF_U8(data >> 8);
++ PUT_BUF_U8(data);
++ }
++ else if ((pers == 1 || pers == 2) && extra <= extra_allowed) {
++ // "Lu16" or "Lu32" respectively -- 2 unwinding insn bytes,
++ // and up to 255 extra words.
++ PUT_BUF_U8(data >> 8);
++ PUT_BUF_U8(data);
++ for (uint32_t j = 0; j < extra; j++) {
++ GET_EXTAB_U32(data, extbl_data);
++ extbl_data++;
++ PUT_BUF_U8(data >> 24);
++ PUT_BUF_U8(data >> 16);
++ PUT_BUF_U8(data >> 8);
++ PUT_BUF_U8(data >> 0);
++ }
++ }
++ else {
++ // The entry is invalid.
++ return ExInvalid;
++ }
++
++ // Make sure the entry is terminated with "FINISH"
++ if (*buf_used > 0 && buf[(*buf_used) - 1] != ARM_EXTBL_OP_FINISH)
++ PUT_BUF_U8(ARM_EXTBL_OP_FINISH);
++
++ return ExSuccess;
++
++# undef GET_EXTAB_U32
++# undef GET_EXIDX_U32
++# undef GET_U32
++# undef PUT_BUF_U8
++}
++
++
++// Take the unwind information extracted by ExtabEntryExtract
++// and parse it into frame-unwind instructions. These are as
++// specified in "Table 4, ARM-defined frame-unwinding instructions"
++// in the specification document detailed in comments at the top
++// of this file.
++//
++// This reads from |buf[0, +data_size)|. It checks for overruns of
++// the input buffer and returns a negative value if that happens, or
++// for any other failure cases. It returns zero in case of success.
++int ExceptionTableInfo::ExtabEntryDecode(const uint8_t* buf, size_t buf_size) {
++ if (buf == NULL || buf_size == 0)
++ return -1;
++
++ MemoryRange mr_in(buf, buf_size);
++ const uint8_t* buf_initially = buf;
++
++# define GET_BUF_U8(_lval) \
++ do { if (!mr_in.Covers(buf - buf_initially, 1)) return -1; \
++ (_lval) = *(buf++); } while (0)
++
++ const uint8_t* end = buf + buf_size;
++
++ while (buf < end) {
++ struct arm_ex_to_module::extab_data edata;
++ memset(&edata, 0, sizeof(edata));
++
++ uint8_t op;
++ GET_BUF_U8(op);
++ if ((op & 0xc0) == 0x00) {
++ // vsp = vsp + (xxxxxx << 2) + 4
++ edata.cmd = ARM_EXIDX_CMD_ADD_TO_VSP;
++ edata.data = (((int)op & 0x3f) << 2) + 4;
++ } else if ((op & 0xc0) == 0x40) {
++ // vsp = vsp - (xxxxxx << 2) - 4
++ edata.cmd = ARM_EXIDX_CMD_SUB_FROM_VSP;
++ edata.data = (((int)op & 0x3f) << 2) + 4;
++ } else if ((op & 0xf0) == 0x80) {
++ uint8_t op2;
++ GET_BUF_U8(op2);
++ if (op == 0x80 && op2 == 0x00) {
++ // Refuse to unwind
++ edata.cmd = ARM_EXIDX_CMD_REFUSED;
++ } else {
++ // Pop up to 12 integer registers under masks {r15-r12},{r11-r4}
++ edata.cmd = ARM_EXIDX_CMD_REG_POP;
++ edata.data = ((op & 0xf) << 8) | op2;
++ edata.data = edata.data << 4;
++ }
++ } else if ((op & 0xf0) == 0x90) {
++ if (op == 0x9d || op == 0x9f) {
++ // 9d: Reserved as prefix for ARM register to register moves
++ // 9f: Reserved as perfix for Intel Wireless MMX reg to reg moves
++ edata.cmd = ARM_EXIDX_CMD_RESERVED;
++ } else {
++ // Set vsp = r[nnnn]
++ edata.cmd = ARM_EXIDX_CMD_REG_TO_SP;
++ edata.data = op & 0x0f;
++ }
++ } else if ((op & 0xf0) == 0xa0) {
++ // Pop r4 to r[4+nnn], or
++ // Pop r4 to r[4+nnn] and r14 or
++ unsigned end = (op & 0x07);
++ edata.data = (1 << (end + 1)) - 1;
++ edata.data = edata.data << 4;
++ if (op & 0x08) edata.data |= 1 << 14;
++ edata.cmd = ARM_EXIDX_CMD_REG_POP;
++ } else if (op == ARM_EXTBL_OP_FINISH) {
++ // Finish
++ edata.cmd = ARM_EXIDX_CMD_FINISH;
++ buf = end;
++ } else if (op == 0xb1) {
++ uint8_t op2;
++ GET_BUF_U8(op2);
++ if (op2 == 0 || (op2 & 0xf0)) {
++ // Spare
++ edata.cmd = ARM_EXIDX_CMD_RESERVED;
++ } else {
++ // Pop integer registers under mask {r3,r2,r1,r0}
++ edata.cmd = ARM_EXIDX_CMD_REG_POP;
++ edata.data = op2 & 0x0f;
++ }
++ } else if (op == 0xb2) {
++ // vsp = vsp + 0x204 + (uleb128 << 2)
++ uint64_t offset = 0;
++ uint8_t byte, shift = 0;
++ do {
++ GET_BUF_U8(byte);
++ offset |= (byte & 0x7f) << shift;
++ shift += 7;
++ } while ((byte & 0x80) && buf < end);
++ edata.data = offset * 4 + 0x204;
++ edata.cmd = ARM_EXIDX_CMD_ADD_TO_VSP;
++ } else if (op == 0xb3 || op == 0xc8 || op == 0xc9) {
++ // b3: Pop VFP regs D[ssss] to D[ssss+cccc], FSTMFDX-ishly
++ // c8: Pop VFP regs D[16+ssss] to D[16+ssss+cccc], FSTMFDD-ishly
++ // c9: Pop VFP regs D[ssss] to D[ssss+cccc], FSTMFDD-ishly
++ edata.cmd = ARM_EXIDX_CMD_VFP_POP;
++ GET_BUF_U8(edata.data);
++ if (op == 0xc8) edata.data |= ARM_EXIDX_VFP_SHIFT_16;
++ if (op != 0xb3) edata.data |= ARM_EXIDX_VFP_FSTMD;
++ } else if ((op & 0xf8) == 0xb8 || (op & 0xf8) == 0xd0) {
++ // b8: Pop VFP regs D[8] to D[8+nnn], FSTMFDX-ishly
++ // d0: Pop VFP regs D[8] to D[8+nnn], FSTMFDD-ishly
++ edata.cmd = ARM_EXIDX_CMD_VFP_POP;
++ edata.data = 0x80 | (op & 0x07);
++ if ((op & 0xf8) == 0xd0) edata.data |= ARM_EXIDX_VFP_FSTMD;
++ } else if (op >= 0xc0 && op <= 0xc5) {
++ // Intel Wireless MMX pop wR[10]-wr[10+nnn], nnn != 6,7
++ edata.cmd = ARM_EXIDX_CMD_WREG_POP;
++ edata.data = 0xa0 | (op & 0x07);
++ } else if (op == 0xc6) {
++ // Intel Wireless MMX pop wR[ssss] to wR[ssss+cccc]
++ edata.cmd = ARM_EXIDX_CMD_WREG_POP;
++ GET_BUF_U8(edata.data);
++ } else if (op == 0xc7) {
++ uint8_t op2;
++ GET_BUF_U8(op2);
++ if (op2 == 0 || (op2 & 0xf0)) {
++ // Spare
++ edata.cmd = ARM_EXIDX_CMD_RESERVED;
++ } else {
++ // Intel Wireless MMX pop wCGR registers under mask {wCGR3,2,1,0}
++ edata.cmd = ARM_EXIDX_CMD_WCGR_POP;
++ edata.data = op2 & 0x0f;
++ }
++ } else {
++ // Spare
++ edata.cmd = ARM_EXIDX_CMD_RESERVED;
++ }
++
++ int ret = handler_->ImproveStackFrame(&edata);
++ if (ret < 0)
++ return ret;
++ }
++ return 0;
++
++# undef GET_BUF_U8
++}
++
++void ExceptionTableInfo::Start() {
++ const struct exidx_entry* start
++ = reinterpret_cast<const struct exidx_entry*>(mr_exidx_.data());
++ const struct exidx_entry* end
++ = reinterpret_cast<const struct exidx_entry*>(mr_exidx_.data()
++ + mr_exidx_.length());
++
++ // Iterate over each of the EXIDX entries (pairs of 32-bit words).
++ // These occupy the entire .exidx section.
++ for (const struct exidx_entry* entry = start; entry < end; ++entry) {
++ // Figure out the code address range that this table entry is
++ // associated with.
++ uint32_t addr = (reinterpret_cast<char*>(Prel31ToAddr(&entry->addr))
++ - mapping_addr_ + loading_addr_) & 0x7fffffff;
++ uint32_t next_addr;
++ if (entry < end - 1) {
++ next_addr = (reinterpret_cast<char*>(Prel31ToAddr(&((entry + 1)->addr)))
++ - mapping_addr_ + loading_addr_) & 0x7fffffff;
++ } else {
++ // This is the last EXIDX entry in the sequence, so we don't
++ // have an address for the start of the next function, to limit
++ // this one. Instead use the address of the last byte of the
++ // text section associated with this .exidx section, that we
++ // have been given. So as to avoid junking up the CFI unwind
++ // tables with absurdly large address ranges in the case where
++ // text_last_svma_ is wrong, only use the value if it is nonzero
++ // and within one page of |addr|. Otherwise assume a length of 1.
++ //
++ // In some cases, gcc has been observed to finish the exidx
++ // section with an entry of length 1 marked CANT_UNWIND,
++ // presumably exactly for the purpose of giving a definite
++ // length for the last real entry, without having to look at
++ // text segment boundaries.
++ bool plausible = false;
++ next_addr = addr + 1;
++ if (text_last_svma_ != 0) {
++ uint32_t maybe_next_addr = text_last_svma_ + 1;
++ if (maybe_next_addr > addr && maybe_next_addr - addr <= 4096) {
++ next_addr = maybe_next_addr;
++ plausible = true;
++ }
++ }
++ if (!plausible) {
++ fprintf(stderr, "ExceptionTableInfo: implausible EXIDX last entry size "
++ "%d, using 1 instead.", (int32_t)(text_last_svma_ - addr));
++ }
++ }
++
++ // Extract the unwind info into |buf|. This might fail for
++ // various reasons. It involves reading both the .exidx and
++ // .extab sections. All accesses to those sections are
++ // bounds-checked.
++ uint8_t buf[ARM_EXIDX_TABLE_LIMIT];
++ size_t buf_used = 0;
++ ExExtractResult res = ExtabEntryExtract(entry, buf, sizeof(buf), &buf_used);
++ if (res != ExSuccess) {
++ // Couldn't extract the unwind info, for some reason. Move on.
++ switch (res) {
++ case ExInBufOverflow:
++ fprintf(stderr, "ExtabEntryExtract: .exidx/.extab section overrun");
++ break;
++ case ExOutBufOverflow:
++ fprintf(stderr, "ExtabEntryExtract: bytecode buffer overflow");
++ break;
++ case ExCantUnwind:
++ fprintf(stderr, "ExtabEntryExtract: function is marked CANT_UNWIND");
++ break;
++ case ExCantRepresent:
++ fprintf(stderr, "ExtabEntryExtract: bytecode can't be represented");
++ break;
++ case ExInvalid:
++ fprintf(stderr, "ExtabEntryExtract: index table entry is invalid");
++ break;
++ default:
++ fprintf(stderr, "ExtabEntryExtract: unknown error: %d", (int)res);
++ break;
++ }
++ continue;
++ }
++
++ // Finally, work through the unwind instructions in |buf| and
++ // create CFI entries that Breakpad can use. This can also fail.
++ // First, add a new stack frame entry, into which ExtabEntryDecode
++ // will write the CFI entries.
++ if (!handler_->HasStackFrame(addr, next_addr - addr)) {
++ handler_->AddStackFrame(addr, next_addr - addr);
++ int ret = ExtabEntryDecode(buf, buf_used);
++ if (ret < 0) {
++ handler_->DeleteStackFrame();
++ fprintf(stderr, "ExtabEntryDecode: failed with error code: %d", ret);
++ continue;
++ }
++ handler_->SubmitStackFrame();
++ }
++
++ } /* iterating over .exidx */
++}
++
++} // namespace arm_ex_reader
+diff --git a/src/common/arm_ex_reader.h b/src/common/arm_ex_reader.h
+new file mode 100644
+index 00000000..9b54e8a0
+--- /dev/null
++++ b/src/common/arm_ex_reader.h
+@@ -0,0 +1,114 @@
++/* libunwind - a platform-independent unwind library
++ Copyright 2011 Linaro Limited
++
++This file is part of libunwind.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be
++included in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
++
++// Copyright (c) 2010 Google Inc.
++// All rights reserved.
++//
++// Redistribution and use in source and binary forms, with or without
++// modification, are permitted provided that the following conditions are
++// met:
++//
++// * Redistributions of source code must retain the above copyright
++// notice, this list of conditions and the following disclaimer.
++// * Redistributions in binary form must reproduce the above
++// copyright notice, this list of conditions and the following disclaimer
++// in the documentation and/or other materials provided with the
++// distribution.
++// * Neither the name of Google Inc. nor the names of its
++// contributors may be used to endorse or promote products derived from
++// this software without specific prior written permission.
++//
++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++
++// Derived from libunwind, with extensive modifications.
++
++#ifndef COMMON_ARM_EX_READER_H__
++#define COMMON_ARM_EX_READER_H__
++
++#include "common/arm_ex_to_module.h"
++#include "common/memory_range.h"
++
++namespace arm_ex_reader {
++
++// This class is a reader for ARM unwind information
++// from .ARM.exidx and .ARM.extab sections.
++class ExceptionTableInfo {
++ public:
++ ExceptionTableInfo(const char* exidx, size_t exidx_size,
++ const char* extab, size_t extab_size,
++ uint32_t text_last_svma,
++ arm_ex_to_module::ARMExToModule* handler,
++ const char* mapping_addr,
++ uint32_t loading_addr)
++ : mr_exidx_(google_breakpad::MemoryRange(exidx, exidx_size)),
++ mr_extab_(google_breakpad::MemoryRange(extab, extab_size)),
++ text_last_svma_(text_last_svma),
++ handler_(handler), mapping_addr_(mapping_addr),
++ loading_addr_(loading_addr) { }
++
++ ~ExceptionTableInfo() { }
++
++ // Parses the entries in .ARM.exidx and possibly
++ // in .ARM.extab tables, reports what we find to
++ // arm_ex_to_module::ARMExToModule.
++ void Start();
++
++ private:
++ google_breakpad::MemoryRange mr_exidx_;
++ google_breakpad::MemoryRange mr_extab_;
++ uint32_t text_last_svma_;
++ arm_ex_to_module::ARMExToModule* handler_;
++ const char* mapping_addr_;
++ uint32_t loading_addr_;
++
++ enum ExExtractResult {
++ ExSuccess, // success
++ ExInBufOverflow, // out-of-range while reading .exidx
++ ExOutBufOverflow, // output buffer is too small
++ ExCantUnwind, // this function is marked CANT_UNWIND
++ ExCantRepresent, // entry valid, but we can't represent it
++ ExInvalid // entry is invalid
++ };
++ ExExtractResult
++ ExtabEntryExtract(const struct arm_ex_to_module::exidx_entry* entry,
++ uint8_t* buf, size_t buf_size,
++ size_t* buf_used);
++
++ int ExtabEntryDecode(const uint8_t* buf, size_t buf_size);
++};
++
++} // namespace arm_ex_reader
++
++#endif // COMMON_ARM_EX_READER_H__
+diff --git a/src/common/arm_ex_to_module.cc b/src/common/arm_ex_to_module.cc
+new file mode 100644
+index 00000000..c326744f
+--- /dev/null
++++ b/src/common/arm_ex_to_module.cc
+@@ -0,0 +1,209 @@
++
++/* libunwind - a platform-independent unwind library
++ Copyright 2011 Linaro Limited
++
++This file is part of libunwind.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be
++included in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
++
++// Copyright (c) 2010 Google Inc.
++// All rights reserved.
++//
++// Redistribution and use in source and binary forms, with or without
++// modification, are permitted provided that the following conditions are
++// met:
++//
++// * Redistributions of source code must retain the above copyright
++// notice, this list of conditions and the following disclaimer.
++// * Redistributions in binary form must reproduce the above
++// copyright notice, this list of conditions and the following disclaimer
++// in the documentation and/or other materials provided with the
++// distribution.
++// * Neither the name of Google Inc. nor the names of its
++// contributors may be used to endorse or promote products derived from
++// this software without specific prior written permission.
++//
++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++
++// Derived from libunwind, with extensive modifications.
++
++#include "common/arm_ex_to_module.h"
++
++#include <stdio.h>
++#include <assert.h>
++
++// For big-picture comments on how the EXIDX reader works,
++// see arm_ex_reader.cc.
++
++#define ARM_EXBUF_START(x) (((x) >> 4) & 0x0f)
++#define ARM_EXBUF_COUNT(x) ((x) & 0x0f)
++#define ARM_EXBUF_END(x) (ARM_EXBUF_START(x) + ARM_EXBUF_COUNT(x))
++
++using google_breakpad::Module;
++
++namespace arm_ex_to_module {
++
++static const char* const regnames[] = {
++ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
++ "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc",
++ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
++ "fps", "cpsr"
++};
++
++// Translate command from extab_data to command for Module.
++int ARMExToModule::TranslateCmd(const struct extab_data* edata,
++ Module::StackFrameEntry* entry, string& vsp) {
++ int ret = 0;
++ switch (edata->cmd) {
++ case ARM_EXIDX_CMD_FINISH:
++ /* Copy LR to PC if there isn't currently a rule for PC in force. */
++ if (entry->initial_rules.find("pc")
++ == entry->initial_rules.end()) {
++ if (entry->initial_rules.find("lr")
++ == entry->initial_rules.end()) {
++ entry->initial_rules["pc"] = "lr";
++ } else {
++ entry->initial_rules["pc"] = entry->initial_rules["lr"];
++ }
++ }
++ break;
++ case ARM_EXIDX_CMD_SUB_FROM_VSP:
++ {
++ char c[16];
++ sprintf(c, " %d -", edata->data);
++ vsp += c;
++ }
++ break;
++ case ARM_EXIDX_CMD_ADD_TO_VSP:
++ {
++ char c[16];
++ sprintf(c, " %d +", edata->data);
++ vsp += c;
++ }
++ break;
++ case ARM_EXIDX_CMD_REG_POP:
++ for (unsigned int i = 0; i < 16; i++) {
++ if (edata->data & (1 << i)) {
++ entry->initial_rules[regnames[i]]
++ = vsp + " ^";
++ vsp += " 4 +";
++ }
++ }
++ /* Set cfa in case the SP got popped. */
++ if (edata->data & (1 << 13)) {
++ vsp = entry->initial_rules["sp"];
++ }
++ break;
++ case ARM_EXIDX_CMD_REG_TO_SP: {
++ assert (edata->data < 16);
++ const char* const regname = regnames[edata->data];
++ if (entry->initial_rules.find(regname) == entry->initial_rules.end()) {
++ entry->initial_rules["sp"] = regname;
++ } else {
++ entry->initial_rules["sp"] = entry->initial_rules[regname];
++ }
++ vsp = entry->initial_rules["sp"];
++ break;
++ }
++ case ARM_EXIDX_CMD_VFP_POP:
++ /* Don't recover VFP registers, but be sure to adjust the stack
++ pointer. */
++ for (unsigned int i = ARM_EXBUF_START(edata->data);
++ i <= ARM_EXBUF_END(edata->data); i++) {
++ vsp += " 8 +";
++ }
++ if (!(edata->data & ARM_EXIDX_VFP_FSTMD)) {
++ vsp += " 4 +";
++ }
++ break;
++ case ARM_EXIDX_CMD_WREG_POP:
++ for (unsigned int i = ARM_EXBUF_START(edata->data);
++ i <= ARM_EXBUF_END(edata->data); i++) {
++ vsp += " 8 +";
++ }
++ break;
++ case ARM_EXIDX_CMD_WCGR_POP:
++ // Pop wCGR registers under mask {wCGR3,2,1,0}, hence "i < 4"
++ for (unsigned int i = 0; i < 4; i++) {
++ if (edata->data & (1 << i)) {
++ vsp += " 4 +";
++ }
++ }
++ break;
++ case ARM_EXIDX_CMD_REFUSED:
++ case ARM_EXIDX_CMD_RESERVED:
++ ret = -1;
++ break;
++ }
++ return ret;
++}
++
++bool ARMExToModule::HasStackFrame(uintptr_t addr, size_t size) {
++ // Invariant: the range [addr,covered) is covered by existing stack
++ // frame entries.
++ uintptr_t covered = addr;
++ while (covered < addr + size) {
++ const Module::StackFrameEntry *old_entry =
++ module_->FindStackFrameEntryByAddress(covered);
++ if (!old_entry) {
++ return false;
++ }
++ covered = old_entry->address + old_entry->size;
++ }
++ return true;
++}
++
++void ARMExToModule::AddStackFrame(uintptr_t addr, size_t size) {
++ stack_frame_entry_ = new Module::StackFrameEntry;
++ stack_frame_entry_->address = addr;
++ stack_frame_entry_->size = size;
++ stack_frame_entry_->initial_rules[".cfa"] = "sp";
++ vsp_ = "sp";
++}
++
++int ARMExToModule::ImproveStackFrame(const struct extab_data* edata) {
++ return TranslateCmd(edata, stack_frame_entry_, vsp_) ;
++}
++
++void ARMExToModule::DeleteStackFrame() {
++ delete stack_frame_entry_;
++}
++
++void ARMExToModule::SubmitStackFrame() {
++ // return address always winds up in pc
++ stack_frame_entry_->initial_rules[".ra"]
++ = stack_frame_entry_->initial_rules["pc"];
++ // the final value of vsp is the new value of sp
++ stack_frame_entry_->initial_rules["sp"] = vsp_;
++ module_->AddStackFrameEntry(stack_frame_entry_);
++}
++
++} // namespace arm_ex_to_module
+diff --git a/src/common/arm_ex_to_module.h b/src/common/arm_ex_to_module.h
+new file mode 100644
+index 00000000..f413a16a
+--- /dev/null
++++ b/src/common/arm_ex_to_module.h
+@@ -0,0 +1,119 @@
++/* libunwind - a platform-independent unwind library
++ Copyright 2011 Linaro Limited
++
++This file is part of libunwind.
++
++Permission is hereby granted, free of charge, to any person obtaining
++a copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be
++included in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
++
++// Copyright (c) 2010 Google Inc.
++// All rights reserved.
++//
++// Redistribution and use in source and binary forms, with or without
++// modification, are permitted provided that the following conditions are
++// met:
++//
++// * Redistributions of source code must retain the above copyright
++// notice, this list of conditions and the following disclaimer.
++// * Redistributions in binary form must reproduce the above
++// copyright notice, this list of conditions and the following disclaimer
++// in the documentation and/or other materials provided with the
++// distribution.
++// * Neither the name of Google Inc. nor the names of its
++// contributors may be used to endorse or promote products derived from
++// this software without specific prior written permission.
++//
++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++
++// Derived from libunwind, with extensive modifications.
++
++#ifndef COMMON_ARM_EX_TO_MODULE__
++#define COMMON_ARM_EX_TO_MODULE__
++
++#include "common/module.h"
++
++#include <string.h>
++
++namespace arm_ex_to_module {
++
++using google_breakpad::Module;
++
++typedef enum extab_cmd {
++ ARM_EXIDX_CMD_FINISH,
++ ARM_EXIDX_CMD_SUB_FROM_VSP,
++ ARM_EXIDX_CMD_ADD_TO_VSP,
++ ARM_EXIDX_CMD_REG_POP,
++ ARM_EXIDX_CMD_REG_TO_SP,
++ ARM_EXIDX_CMD_VFP_POP,
++ ARM_EXIDX_CMD_WREG_POP,
++ ARM_EXIDX_CMD_WCGR_POP,
++ ARM_EXIDX_CMD_RESERVED,
++ ARM_EXIDX_CMD_REFUSED,
++} extab_cmd_t;
++
++struct exidx_entry {
++ uint32_t addr;
++ uint32_t data;
++};
++
++struct extab_data {
++ extab_cmd_t cmd;
++ uint32_t data;
++};
++
++enum extab_cmd_flags {
++ ARM_EXIDX_VFP_SHIFT_16 = 1 << 16,
++ ARM_EXIDX_VFP_FSTMD = 1 << 17, // distinguishes FSTMxxD from FSTMxxX
++};
++
++// Receives information from arm_ex_reader::ExceptionTableInfo
++// and adds it to the Module object
++class ARMExToModule {
++ public:
++ ARMExToModule(Module* module)
++ : module_(module) { }
++ ~ARMExToModule() { }
++ bool HasStackFrame(uintptr_t addr, size_t size);
++ void AddStackFrame(uintptr_t addr, size_t size);
++ int ImproveStackFrame(const struct extab_data* edata);
++ void DeleteStackFrame();
++ void SubmitStackFrame();
++ private:
++ Module* module_;
++ Module::StackFrameEntry* stack_frame_entry_;
++ string vsp_;
++ int TranslateCmd(const struct extab_data* edata,
++ Module::StackFrameEntry* entry,
++ string& vsp);
++};
++
++} // namespace arm_ex_to_module
++
++#endif // COMMON_ARM_EX_TO_MODULE__
+diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc
+index 0eea2b54..e398f7b3 100644
+--- a/src/common/linux/dump_symbols.cc
++++ b/src/common/linux/dump_symbols.cc
+@@ -54,6 +54,7 @@
+ #include <utility>
+ #include <vector>
+
++#include "common/arm_ex_reader.h"
+ #include "common/dwarf/bytereader-inl.h"
+ #include "common/dwarf/dwarf2diehandler.h"
+ #include "common/dwarf_cfi_to_module.h"
+@@ -76,6 +77,11 @@
+ #endif
+ #include "common/using_std_string.h"
+
++#ifndef SHT_ARM_EXIDX
++// bionic and older glibc don't define this
++# define SHT_ARM_EXIDX (SHT_LOPROC + 1)
++#endif
++
+ // This namespace contains helper functions.
+ namespace {
+
+@@ -429,6 +435,52 @@ bool LoadDwarfCFI(const string& dwarf_filename,
+ return true;
+ }
+
++template<typename ElfClass>
++bool LoadARMexidx(const typename ElfClass::Ehdr* elf_header,
++ const typename ElfClass::Shdr* exidx_section,
++ const typename ElfClass::Shdr* extab_section,
++ uint32_t loading_addr,
++ Module* module) {
++ // To do this properly we need to know:
++ // * the bounds of the .ARM.exidx section in the mapped image
++ // * the bounds of the .ARM.extab section in the mapped image
++ // * the vma of the last byte in the text section associated with the .exidx
++ // The first two are easy. The third is a bit tricky. If we can't
++ // figure out what it is, just pass in zero.
++ const char *exidx_img
++ = GetOffset<ElfClass, char>(elf_header, exidx_section->sh_offset);
++ size_t exidx_size = exidx_section->sh_size;
++ const char *extab_img
++ = GetOffset<ElfClass, char>(elf_header, extab_section->sh_offset);
++ size_t extab_size = extab_section->sh_size;
++
++ // The sh_link field of the exidx section gives the section number
++ // for the associated text section.
++ uint32_t exidx_text_last_svma = 0;
++ int exidx_text_sno = exidx_section->sh_link;
++ typedef typename ElfClass::Shdr Shdr;
++ // |sections| points to the section header table
++ const Shdr* sections
++ = GetOffset<ElfClass, Shdr>(elf_header, elf_header->e_shoff);
++ const int num_sections = elf_header->e_shnum;
++ if (exidx_text_sno >= 0 && exidx_text_sno < num_sections) {
++ const Shdr* exidx_text_shdr = &sections[exidx_text_sno];
++ if (exidx_text_shdr->sh_size > 0) {
++ exidx_text_last_svma
++ = exidx_text_shdr->sh_addr + exidx_text_shdr->sh_size - 1;
++ }
++ }
++
++ arm_ex_to_module::ARMExToModule handler(module);
++ arm_ex_reader::ExceptionTableInfo
++ parser(exidx_img, exidx_size, extab_img, extab_size, exidx_text_last_svma,
++ &handler,
++ reinterpret_cast<const char*>(elf_header),
++ loading_addr);
++ parser.Start();
++ return true;
++}
++
+ bool LoadELF(const string& obj_file, MmapWrapper* map_wrapper,
+ void** elf_header) {
+ int obj_fd = open(obj_file.c_str(), O_RDONLY);
+@@ -846,6 +898,29 @@ bool LoadSymbols(const string& obj_file,
+ }
+ }
+
++ // ARM has special unwind tables that can be used.
++ const Shdr* arm_exidx_section =
++ FindElfSectionByName<ElfClass>(".ARM.exidx", SHT_ARM_EXIDX,
++ sections, names, names_end,
++ elf_header->e_shnum);
++ const Shdr* arm_extab_section =
++ FindElfSectionByName<ElfClass>(".ARM.extab", SHT_PROGBITS,
++ sections, names, names_end,
++ elf_header->e_shnum);
++ // Load information from these sections even if there is
++ // .debug_info, because some functions (e.g., hand-written or
++ // script-generated assembly) could have exidx entries but no DWARF.
++ // (For functions with both, the DWARF info that has already been
++ // parsed will take precedence.)
++ if (arm_exidx_section && arm_extab_section && options.symbol_data != NO_CFI) {
++ info->LoadedSection(".ARM.exidx");
++ info->LoadedSection(".ARM.extab");
++ bool result = LoadARMexidx<ElfClass>(elf_header,
++ arm_exidx_section, arm_extab_section,
++ loading_addr, module);
++ found_usable_info = found_usable_info || result;
++ }
++
+ if (!found_debug_info_section) {
+ fprintf(stderr, "%s: file contains no debugging information"
+ " (no \".stab\" or \".debug_info\" sections)\n",
+diff --git a/src/common/module.cc b/src/common/module.cc
+index aff22127..a3544029 100644
+--- a/src/common/module.cc
++++ b/src/common/module.cc
+@@ -64,7 +64,7 @@ Module::~Module() {
+ it != functions_.end(); ++it) {
+ delete *it;
+ }
+- for (vector<StackFrameEntry *>::iterator it = stack_frame_entries_.begin();
++ for (StackFrameEntrySet::iterator it = stack_frame_entries_.begin();
+ it != stack_frame_entries_.end(); ++it) {
+ delete *it;
+ }
+@@ -130,12 +130,18 @@ void Module::AddFunctions(vector<Function *>::iterator begin,
+ AddFunction(*it);
+ }
+
+-void Module::AddStackFrameEntry(StackFrameEntry *stack_frame_entry) {
++void Module::AddStackFrameEntry(StackFrameEntry* stack_frame_entry) {
+ if (!AddressIsInModule(stack_frame_entry->address)) {
+ return;
+ }
+
+- stack_frame_entries_.push_back(stack_frame_entry);
++ std::pair<StackFrameEntrySet::iterator,bool> ret =
++ stack_frame_entries_.insert(stack_frame_entry);
++ if (!ret.second) {
++ // Free the duplicate that was not inserted because this Module
++ // now owns it.
++ delete stack_frame_entry;
++ }
+ }
+
+ void Module::AddExtern(Extern *ext) {
+@@ -199,8 +205,25 @@ void Module::GetFiles(vector<File *> *vec) {
+ vec->push_back(it->second);
+ }
+
+-void Module::GetStackFrameEntries(vector<StackFrameEntry *> *vec) const {
+- *vec = stack_frame_entries_;
++void Module::GetStackFrameEntries(vector<StackFrameEntry*>* vec) const {
++ vec->clear();
++ vec->insert(vec->begin(), stack_frame_entries_.begin(),
++ stack_frame_entries_.end());
++}
++
++Module::StackFrameEntry* Module::FindStackFrameEntryByAddress(Address address) {
++ StackFrameEntry search;
++ search.address = address;
++ StackFrameEntrySet::iterator it = stack_frame_entries_.upper_bound(&search);
++
++ if (it == stack_frame_entries_.begin())
++ return NULL;
++
++ it--;
++ if ((*it)->address <= address && address < (*it)->address + (*it)->size)
++ return *it;
++
++ return NULL;
+ }
+
+ void Module::AssignSourceIds() {
+@@ -331,7 +354,7 @@ bool Module::Write(std::ostream &stream, SymbolData symbol_data) {
+
+ if (symbol_data != NO_CFI) {
+ // Write out 'STACK CFI INIT' and 'STACK CFI' records.
+- vector<StackFrameEntry *>::const_iterator frame_it;
++ StackFrameEntrySet::const_iterator frame_it;
+ for (frame_it = stack_frame_entries_.begin();
+ frame_it != stack_frame_entries_.end(); ++frame_it) {
+ StackFrameEntry *entry = *frame_it;
+diff --git a/src/common/module.h b/src/common/module.h
+index 7309cedd..37758605 100644
+--- a/src/common/module.h
++++ b/src/common/module.h
+@@ -185,6 +185,13 @@ class Module {
+ }
+ };
+
++ struct StackFrameEntryCompare {
++ bool operator() (const StackFrameEntry* lhs,
++ const StackFrameEntry* rhs) const {
++ return lhs->address < rhs->address;
++ }
++ };
++
+ // Create a new module with the given name, operating system,
+ // architecture, and ID string.
+ Module(const string &name, const string &os, const string &architecture,
+@@ -273,6 +280,10 @@ class Module {
+ // a more appropriate interface.)
+ void GetStackFrameEntries(vector<StackFrameEntry *> *vec) const;
+
++ // If this module has a StackFrameEntry whose address range covers
++ // ADDRESS, return it. Otherwise return NULL.
++ StackFrameEntry* FindStackFrameEntryByAddress(Address address);
++
+ // Find those files in this module that are actually referred to by
+ // functions' line number data, and assign them source id numbers.
+ // Set the source id numbers for all other files --- unused by the
+@@ -342,6 +353,9 @@ class Module {
+ // A set containing Extern structures, sorted by address.
+ typedef set<Extern *, ExternCompare> ExternSet;
+
++ // A set containing StackFrameEntry structures, sorted by address.
++ typedef set<StackFrameEntry*, StackFrameEntryCompare> StackFrameEntrySet;
++
+ // The module owns all the files and functions that have been added
+ // to it; destroying the module frees the Files and Functions these
+ // point to.
+@@ -350,7 +364,7 @@ class Module {
+
+ // The module owns all the call frame info entries that have been
+ // added to it.
+- vector<StackFrameEntry *> stack_frame_entries_;
++ StackFrameEntrySet stack_frame_entries_;
+
+ // The module owns all the externs that have been added to it;
+ // destroying the module frees the Externs these point to.
+diff --git a/src/common/module_unittest.cc b/src/common/module_unittest.cc
+index 37fee5dd..b855f186 100644
+--- a/src/common/module_unittest.cc
++++ b/src/common/module_unittest.cc
+@@ -344,11 +344,6 @@ TEST(Construct, AddFrames) {
+ m.Write(s, ALL_SYMBOL_DATA);
+ string contents = s.str();
+ EXPECT_STREQ("MODULE os-name architecture id-string name with spaces\n"
+- "STACK CFI INIT ddb5f41285aa7757 1486493370dc5073 \n"
+- "STACK CFI INIT 8064f3af5e067e38 de2a5ee55509407"
+- " .cfa: I think that I shall never see"
+- " cannoli: a tree whose hungry mouth is prest"
+- " stromboli: a poem lovely as a tree\n"
+ "STACK CFI INIT 5e8d0db0a7075c6c 1c7edb12a7aea229"
+ " .cfa: Whose woods are these\n"
+ "STACK CFI 36682fad3763ffff"
+@@ -356,7 +351,12 @@ TEST(Construct, AddFrames) {
+ " stromboli: his house is in\n"
+ "STACK CFI 47ceb0f63c269d7f"
+ " calzone: the village though"
+- " cannoli: he will not see me stopping here\n",
++ " cannoli: he will not see me stopping here\n"
++ "STACK CFI INIT 8064f3af5e067e38 de2a5ee55509407"
++ " .cfa: I think that I shall never see"
++ " cannoli: a tree whose hungry mouth is prest"
++ " stromboli: a poem lovely as a tree\n"
++ "STACK CFI INIT ddb5f41285aa7757 1486493370dc5073 \n",
+ contents.c_str());
+
+ // Check that GetStackFrameEntries works.
+@@ -364,10 +364,18 @@ TEST(Construct, AddFrames) {
+ m.GetStackFrameEntries(&entries);
+ ASSERT_EQ(3U, entries.size());
+ // Check first entry.
+- EXPECT_EQ(0xddb5f41285aa7757ULL, entries[0]->address);
+- EXPECT_EQ(0x1486493370dc5073ULL, entries[0]->size);
+- ASSERT_EQ(0U, entries[0]->initial_rules.size());
+- ASSERT_EQ(0U, entries[0]->rule_changes.size());
++ EXPECT_EQ(0x5e8d0db0a7075c6cULL, entries[0]->address);
++ EXPECT_EQ(0x1c7edb12a7aea229ULL, entries[0]->size);
++ Module::RuleMap entry1_initial;
++ entry1_initial[".cfa"] = "Whose woods are these";
++ EXPECT_THAT(entries[0]->initial_rules, ContainerEq(entry1_initial));
++ Module::RuleChangeMap entry1_changes;
++ entry1_changes[0x36682fad3763ffffULL][".cfa"] = "I think I know";
++ entry1_changes[0x36682fad3763ffffULL]["stromboli"] = "his house is in";
++ entry1_changes[0x47ceb0f63c269d7fULL]["calzone"] = "the village though";
++ entry1_changes[0x47ceb0f63c269d7fULL]["cannoli"] =
++ "he will not see me stopping here";
++ EXPECT_THAT(entries[0]->rule_changes, ContainerEq(entry1_changes));
+ // Check second entry.
+ EXPECT_EQ(0x8064f3af5e067e38ULL, entries[1]->address);
+ EXPECT_EQ(0x0de2a5ee55509407ULL, entries[1]->size);
+@@ -379,18 +387,10 @@ TEST(Construct, AddFrames) {
+ EXPECT_THAT(entries[1]->initial_rules, ContainerEq(entry2_initial));
+ ASSERT_EQ(0U, entries[1]->rule_changes.size());
+ // Check third entry.
+- EXPECT_EQ(0x5e8d0db0a7075c6cULL, entries[2]->address);
+- EXPECT_EQ(0x1c7edb12a7aea229ULL, entries[2]->size);
+- Module::RuleMap entry3_initial;
+- entry3_initial[".cfa"] = "Whose woods are these";
+- EXPECT_THAT(entries[2]->initial_rules, ContainerEq(entry3_initial));
+- Module::RuleChangeMap entry3_changes;
+- entry3_changes[0x36682fad3763ffffULL][".cfa"] = "I think I know";
+- entry3_changes[0x36682fad3763ffffULL]["stromboli"] = "his house is in";
+- entry3_changes[0x47ceb0f63c269d7fULL]["calzone"] = "the village though";
+- entry3_changes[0x47ceb0f63c269d7fULL]["cannoli"] =
+- "he will not see me stopping here";
+- EXPECT_THAT(entries[2]->rule_changes, ContainerEq(entry3_changes));
++ EXPECT_EQ(0xddb5f41285aa7757ULL, entries[2]->address);
++ EXPECT_EQ(0x1486493370dc5073ULL, entries[2]->size);
++ ASSERT_EQ(0U, entries[2]->initial_rules.size());
++ ASSERT_EQ(0U, entries[2]->rule_changes.size());
+ }
+
+ TEST(Construct, UniqueFiles) {
+@@ -612,5 +612,63 @@ TEST(Write, OutOfRangeAddresses) {
+ EXPECT_STREQ("MODULE os-name architecture id-string name with spaces\n"
+ "STACK CFI INIT 2000 100 \n",
+ s.str().c_str());
++}
++
++TEST(Lookup, StackFrameEntries) {
++ Module m(MODULE_NAME, MODULE_OS, MODULE_ARCH, MODULE_ID);
++
++ // First STACK CFI entry, with no initial rules or deltas.
++ Module::StackFrameEntry *entry1 = new Module::StackFrameEntry();
++ entry1->address = 0x2000;
++ entry1->size = 0x900;
++ m.AddStackFrameEntry(entry1);
++
++ // Second STACK CFI entry, with initial rules but no deltas.
++ Module::StackFrameEntry *entry2 = new Module::StackFrameEntry();
++ entry2->address = 0x3000;
++ entry2->size = 0x900;
++ entry2->initial_rules[".cfa"] = "I think that I shall never see";
++ entry2->initial_rules["stromboli"] = "a poem lovely as a tree";
++ entry2->initial_rules["cannoli"] = "a tree whose hungry mouth is prest";
++ m.AddStackFrameEntry(entry2);
++
++ // Third STACK CFI entry, with initial rules and deltas.
++ Module::StackFrameEntry *entry3 = new Module::StackFrameEntry();
++ entry3->address = 0x1000;
++ entry3->size = 0x900;
++ entry3->initial_rules[".cfa"] = "Whose woods are these";
++ entry3->rule_changes[0x47ceb0f63c269d7fULL]["calzone"] =
++ "the village though";
++ entry3->rule_changes[0x47ceb0f63c269d7fULL]["cannoli"] =
++ "he will not see me stopping here";
++ entry3->rule_changes[0x36682fad3763ffffULL]["stromboli"] =
++ "his house is in";
++ entry3->rule_changes[0x36682fad3763ffffULL][".cfa"] =
++ "I think I know";
++ m.AddStackFrameEntry(entry3);
+
++ Module::StackFrameEntry* s = m.FindStackFrameEntryByAddress(0x1000);
++ EXPECT_EQ(entry3, s);
++ s = m.FindStackFrameEntryByAddress(0x18FF);
++ EXPECT_EQ(entry3, s);
++
++ s = m.FindStackFrameEntryByAddress(0x1900);
++ EXPECT_EQ((Module::StackFrameEntry*)NULL, s);
++ s = m.FindStackFrameEntryByAddress(0x1A00);
++ EXPECT_EQ((Module::StackFrameEntry*)NULL, s);
++
++ s = m.FindStackFrameEntryByAddress(0x2000);
++ EXPECT_EQ(entry1, s);
++ s = m.FindStackFrameEntryByAddress(0x28FF);
++ EXPECT_EQ(entry1, s);
++
++ s = m.FindStackFrameEntryByAddress(0x3000);
++ EXPECT_EQ(entry2, s);
++ s = m.FindStackFrameEntryByAddress(0x38FF);
++ EXPECT_EQ(entry2, s);
++
++ s = m.FindStackFrameEntryByAddress(0x3900);
++ EXPECT_EQ((Module::StackFrameEntry*)NULL, s);
++ s = m.FindStackFrameEntryByAddress(0x3A00);
++ EXPECT_EQ((Module::StackFrameEntry*)NULL, s);
+ }
diff --git a/toolkit/crashreporter/breakpad-patches/02-define-print-mach-result.patch b/toolkit/crashreporter/breakpad-patches/02-define-print-mach-result.patch
new file mode 100644
index 0000000000..933659120d
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/02-define-print-mach-result.patch
@@ -0,0 +1,24 @@
+diff --git a/src/common/mac/MachIPC.h b/src/common/mac/MachIPC.h
+--- a/src/common/mac/MachIPC.h
++++ b/src/common/mac/MachIPC.h
+@@ -90,18 +90,20 @@
+ //
+ // char messageString[] = "Hello server!\n";
+ // message.SetData(messageString, strlen(messageString)+1);
+ //
+ // kern_return_t result = sender.SendMessage(message, 1000); // timeout 1000ms
+ //
+
+ namespace google_breakpad {
++#ifndef PRINT_MACH_RESULT
+ #define PRINT_MACH_RESULT(result_, message_) \
+ printf(message_" %s (%d)\n", mach_error_string(result_), result_ );
++#endif
+
+ //==============================================================================
+ // A wrapper class for mach_msg_port_descriptor_t (with same memory layout)
+ // with convenient constructors and accessors
+ class MachMsgPortDescriptor : public mach_msg_port_descriptor_t {
+ public:
+ // General-purpose constructor
+ MachMsgPortDescriptor(mach_port_t in_name,
diff --git a/toolkit/crashreporter/breakpad-patches/03-strstr-libc-replacement.patch b/toolkit/crashreporter/breakpad-patches/03-strstr-libc-replacement.patch
new file mode 100644
index 0000000000..17006a91d9
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/03-strstr-libc-replacement.patch
@@ -0,0 +1,54 @@
+diff --git a/src/common/linux/linux_libc_support.cc b/src/common/linux/linux_libc_support.cc
+--- a/src/common/linux/linux_libc_support.cc
++++ b/src/common/linux/linux_libc_support.cc
+@@ -133,16 +133,27 @@ const char* my_strrchr(const char* hayst
+ while (*haystack) {
+ if (*haystack == needle)
+ ret = haystack;
+ haystack++;
+ }
+ return ret;
+ }
+
++const char* my_strstr(const char* haystack, const char* needle) {
++ while (*haystack != 0) {
++ if((*haystack == *needle) &&
++ (my_strncmp(haystack, needle, my_strlen(needle)) == 0)) {
++ return haystack;
++ }
++ haystack++;
++ }
++ return nullptr;
++}
++
+ void* my_memchr(const void* src, int needle, size_t src_len) {
+ const unsigned char* p = (const unsigned char*)src;
+ const unsigned char* p_end = p + src_len;
+ for (; p < p_end; ++p) {
+ if (*p == needle)
+ return (void*)p;
+ }
+ return NULL;
+diff --git a/src/common/linux/linux_libc_support.h b/src/common/linux/linux_libc_support.h
+--- a/src/common/linux/linux_libc_support.h
++++ b/src/common/linux/linux_libc_support.h
+@@ -62,16 +62,18 @@ extern unsigned my_uint_len(uintmax_t i)
+ // i: the unsigned integer to serialise.
+ // i_len: the length of the integer in base 10 (see |my_uint_len|).
+ extern void my_uitos(char* output, uintmax_t i, unsigned i_len);
+
+ extern const char* my_strchr(const char* haystack, char needle);
+
+ extern const char* my_strrchr(const char* haystack, char needle);
+
++extern const char *my_strstr(const char *haystack, const char *needle);
++
+ // Read a hex value
+ // result: (output) the resulting value
+ // s: a string
+ // Returns a pointer to the first invalid charactor.
+ extern const char* my_read_hex_ptr(uintptr_t* result, const char* s);
+
+ extern const char* my_read_decimal_ptr(uintptr_t* result, const char* s);
+
+
diff --git a/toolkit/crashreporter/breakpad-patches/04-update-headers.patch b/toolkit/crashreporter/breakpad-patches/04-update-headers.patch
new file mode 100644
index 0000000000..4baa27be90
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/04-update-headers.patch
@@ -0,0 +1,6039 @@
+diff --git a/src/third_party/curl/COPYING b/src/third_party/curl/COPYING
+--- a/src/third_party/curl/COPYING
++++ b/src/third_party/curl/COPYING
+@@ -1,11 +1,12 @@
+ COPYRIGHT AND PERMISSION NOTICE
+
+-Copyright (c) 1996 - 2011, Daniel Stenberg, <daniel@haxx.se>.
++Copyright (c) 1996 - 2019, Daniel Stenberg, <daniel@haxx.se>, and many
++contributors, see the THANKS file.
+
+ All rights reserved.
+
+ Permission to use, copy, modify, and distribute this software for any purpose
+ with or without fee is hereby granted, provided that the above copyright
+ notice and this permission notice appear in all copies.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+@@ -14,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE AND NON
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
+ OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of a copyright holder shall not
+ be used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization of the copyright holder.
+-
+diff --git a/src/third_party/curl/curl.h b/src/third_party/curl/curl.h
+--- a/src/third_party/curl/curl.h
++++ b/src/third_party/curl/curl.h
+@@ -2,234 +2,402 @@
+ #define __CURL_CURL_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
++ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+- * $Id: curl.h,v 1.396 2009-10-16 13:30:31 yangtse Exp $
+ ***************************************************************************/
+
+ /*
+ * If you have libcurl problems, all docs and details are found here:
+- * http://curl.haxx.se/libcurl/
++ * https://curl.haxx.se/libcurl/
+ *
+ * curl-library mailing list subscription and unsubscription web interface:
+- * http://cool.haxx.se/mailman/listinfo/curl-library/
++ * https://cool.haxx.se/mailman/listinfo/curl-library/
+ */
+
+-/*
+- * Leading 'curl' path on the 'curlbuild.h' include statement is
+- * required to properly allow building outside of the source tree,
+- * due to the fact that in this case 'curlbuild.h' is generated in
+- * a subdirectory of the build tree while 'curl.h actually remains
+- * in a subdirectory of the source tree.
+- */
+-
+-#include "third_party/curl/curlver.h" /* libcurl version defines */
+-#include "third_party/curl/curlbuild.h" /* libcurl build definitions */
+-#include "third_party/curl/curlrules.h" /* libcurl rules enforcement */
++#ifdef CURL_NO_OLDIES
++#define CURL_STRICTER
++#endif
++
++#include "curlver.h" /* libcurl version defines */
++#include "system.h" /* determine things run-time */
+
+ /*
+ * Define WIN32 when build target is Win32 API
+ */
+
+ #if (defined(_WIN32) || defined(__WIN32__)) && \
+ !defined(WIN32) && !defined(__SYMBIAN32__)
+ #define WIN32
+ #endif
+
+ #include <stdio.h>
+ #include <limits.h>
+
++#if defined(__FreeBSD__) && (__FreeBSD__ >= 2)
++/* Needed for __FreeBSD_version symbol definition */
++#include <osreldate.h>
++#endif
++
+ /* The include stuff here below is mainly for time_t! */
+ #include <sys/types.h>
+ #include <time.h>
+
+-#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__GNUC__) && \
+- !defined(__CYGWIN__) || defined(__MINGW32__)
+-#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H))
++#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__)
++#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \
++ defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H))
+ /* The check above prevents the winsock2 inclusion if winsock.h already was
+ included, since they can't co-exist without problems */
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
+ #endif
+-#else
++#endif
+
+ /* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
+- libc5-based Linux systems. Only include it on system that are known to
++ libc5-based Linux systems. Only include it on systems that are known to
+ require it! */
+ #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
+ defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \
+- defined(__ANDROID__)
++ defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
++ defined(__CYGWIN__) || \
++ (defined(__FreeBSD_version) && (__FreeBSD_version < 800000))
+ #include <sys/select.h>
+ #endif
+
+-#ifndef _WIN32_WCE
++#if !defined(WIN32) && !defined(_WIN32_WCE)
+ #include <sys/socket.h>
+ #endif
++
+ #if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__)
+ #include <sys/time.h>
+ #endif
+-#include <sys/types.h>
+-#endif
+
+ #ifdef __BEOS__
+ #include <support/SupportDefs.h>
+ #endif
+
++/* Compatibility for non-Clang compilers */
++#ifndef __has_declspec_attribute
++# define __has_declspec_attribute(x) 0
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
++#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
++typedef struct Curl_easy CURL;
++typedef struct Curl_share CURLSH;
++#else
+ typedef void CURL;
++typedef void CURLSH;
++#endif
+
+ /*
+- * Decorate exportable functions for Win32 and Symbian OS DLL linking.
+- * This avoids using a .def file for building libcurl.dll.
++ * libcurl external API function linkage decorations.
+ */
+-#if (defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)) && \
+- !defined(CURL_STATICLIB)
+-#if defined(BUILDING_LIBCURL)
+-#define CURL_EXTERN __declspec(dllexport)
+-#else
+-#define CURL_EXTERN __declspec(dllimport)
+-#endif
++
++#ifdef CURL_STATICLIB
++# define CURL_EXTERN
++#elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__) || \
++ (__has_declspec_attribute(dllexport) && \
++ __has_declspec_attribute(dllimport))
++# if defined(BUILDING_LIBCURL)
++# define CURL_EXTERN __declspec(dllexport)
++# else
++# define CURL_EXTERN __declspec(dllimport)
++# endif
++#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
++# define CURL_EXTERN CURL_EXTERN_SYMBOL
+ #else
+-
+-#ifdef CURL_HIDDEN_SYMBOLS
+-/*
+- * This definition is used to make external definitions visible in the
+- * shared library when symbols are hidden by default. It makes no
+- * difference when compiling applications whether this is set or not,
+- * only when compiling the library.
+- */
+-#define CURL_EXTERN CURL_EXTERN_SYMBOL
+-#else
+-#define CURL_EXTERN
+-#endif
++# define CURL_EXTERN
+ #endif
+
+ #ifndef curl_socket_typedef
+ /* socket typedef */
+-#ifdef WIN32
++#if defined(WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H)
+ typedef SOCKET curl_socket_t;
+ #define CURL_SOCKET_BAD INVALID_SOCKET
+ #else
+ typedef int curl_socket_t;
+ #define CURL_SOCKET_BAD -1
+ #endif
+ #define curl_socket_typedef
+ #endif /* curl_socket_typedef */
+
++/* enum for the different supported SSL backends */
++typedef enum {
++ CURLSSLBACKEND_NONE = 0,
++ CURLSSLBACKEND_OPENSSL = 1,
++ CURLSSLBACKEND_GNUTLS = 2,
++ CURLSSLBACKEND_NSS = 3,
++ CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */
++ CURLSSLBACKEND_GSKIT = 5,
++ CURLSSLBACKEND_POLARSSL = 6,
++ CURLSSLBACKEND_WOLFSSL = 7,
++ CURLSSLBACKEND_SCHANNEL = 8,
++ CURLSSLBACKEND_SECURETRANSPORT = 9,
++ CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */
++ CURLSSLBACKEND_MBEDTLS = 11,
++ CURLSSLBACKEND_MESALINK = 12
++} curl_sslbackend;
++
++/* aliases for library clones and renames */
++#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL
++#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL
++
++/* deprecated names: */
++#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL
++#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT
++
+ struct curl_httppost {
+ struct curl_httppost *next; /* next entry in the list */
+ char *name; /* pointer to allocated name */
+ long namelength; /* length of name length */
+ char *contents; /* pointer to allocated data contents */
+- long contentslength; /* length of contents field */
++ long contentslength; /* length of contents field, see also
++ CURL_HTTPPOST_LARGE */
+ char *buffer; /* pointer to allocated buffer contents */
+ long bufferlength; /* length of buffer field */
+ char *contenttype; /* Content-Type */
+- struct curl_slist* contentheader; /* list of extra headers for this form */
++ struct curl_slist *contentheader; /* list of extra headers for this form */
+ struct curl_httppost *more; /* if one field name has more than one
+ file, this link should link to following
+ files */
+ long flags; /* as defined below */
+-#define HTTPPOST_FILENAME (1<<0) /* specified content is a file name */
+-#define HTTPPOST_READFILE (1<<1) /* specified content is a file name */
+-#define HTTPPOST_PTRNAME (1<<2) /* name is only stored pointer
+- do not free in formfree */
+-#define HTTPPOST_PTRCONTENTS (1<<3) /* contents is only stored pointer
+- do not free in formfree */
+-#define HTTPPOST_BUFFER (1<<4) /* upload file from buffer */
+-#define HTTPPOST_PTRBUFFER (1<<5) /* upload file from pointer contents */
+-#define HTTPPOST_CALLBACK (1<<6) /* upload file contents by using the
+- regular read callback to get the data
+- and pass the given pointer as custom
+- pointer */
++
++/* specified content is a file name */
++#define CURL_HTTPPOST_FILENAME (1<<0)
++/* specified content is a file name */
++#define CURL_HTTPPOST_READFILE (1<<1)
++/* name is only stored pointer do not free in formfree */
++#define CURL_HTTPPOST_PTRNAME (1<<2)
++/* contents is only stored pointer do not free in formfree */
++#define CURL_HTTPPOST_PTRCONTENTS (1<<3)
++/* upload file from buffer */
++#define CURL_HTTPPOST_BUFFER (1<<4)
++/* upload file from pointer contents */
++#define CURL_HTTPPOST_PTRBUFFER (1<<5)
++/* upload file contents by using the regular read callback to get the data and
++ pass the given pointer as custom pointer */
++#define CURL_HTTPPOST_CALLBACK (1<<6)
++/* use size in 'contentlen', added in 7.46.0 */
++#define CURL_HTTPPOST_LARGE (1<<7)
+
+ char *showfilename; /* The file name to show. If not set, the
+ actual file name will be used (if this
+ is a file part) */
+ void *userp; /* custom pointer used for
+ HTTPPOST_CALLBACK posts */
++ curl_off_t contentlen; /* alternative length of contents
++ field. Used if CURL_HTTPPOST_LARGE is
++ set. Added in 7.46.0 */
+ };
+
++/* This is the CURLOPT_PROGRESSFUNCTION callback proto. It is now considered
++ deprecated but was the only choice up until 7.31.0 */
+ typedef int (*curl_progress_callback)(void *clientp,
+ double dltotal,
+ double dlnow,
+ double ultotal,
+ double ulnow);
+
++/* This is the CURLOPT_XFERINFOFUNCTION callback proto. It was introduced in
++ 7.32.0, it avoids floating point and provides more detailed information. */
++typedef int (*curl_xferinfo_callback)(void *clientp,
++ curl_off_t dltotal,
++ curl_off_t dlnow,
++ curl_off_t ultotal,
++ curl_off_t ulnow);
++
++#ifndef CURL_MAX_READ_SIZE
++ /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */
++#define CURL_MAX_READ_SIZE 524288
++#endif
++
+ #ifndef CURL_MAX_WRITE_SIZE
+ /* Tests have proven that 20K is a very bad buffer size for uploads on
+ Windows, while 16K for some odd reason performed a lot better.
+ We do the ifndef check to allow this value to easier be changed at build
+- time for those who feel adventurous. */
++ time for those who feel adventurous. The practical minimum is about
++ 400 bytes since libcurl uses a buffer of this size as a scratch area
++ (unrelated to network send operations). */
+ #define CURL_MAX_WRITE_SIZE 16384
+ #endif
+
+ #ifndef CURL_MAX_HTTP_HEADER
+ /* The only reason to have a max limit for this is to avoid the risk of a bad
+ server feeding libcurl with a never-ending header that will cause reallocs
+ infinitely */
+ #define CURL_MAX_HTTP_HEADER (100*1024)
+ #endif
+
+-
+ /* This is a magic return code for the write callback that, when returned,
+ will signal libcurl to pause receiving on the current transfer. */
+ #define CURL_WRITEFUNC_PAUSE 0x10000001
++
+ typedef size_t (*curl_write_callback)(char *buffer,
+ size_t size,
+ size_t nitems,
+ void *outstream);
+
++/* This callback will be called when a new resolver request is made */
++typedef int (*curl_resolver_start_callback)(void *resolver_state,
++ void *reserved, void *userdata);
++
++/* enumeration of file types */
++typedef enum {
++ CURLFILETYPE_FILE = 0,
++ CURLFILETYPE_DIRECTORY,
++ CURLFILETYPE_SYMLINK,
++ CURLFILETYPE_DEVICE_BLOCK,
++ CURLFILETYPE_DEVICE_CHAR,
++ CURLFILETYPE_NAMEDPIPE,
++ CURLFILETYPE_SOCKET,
++ CURLFILETYPE_DOOR, /* is possible only on Sun Solaris now */
++
++ CURLFILETYPE_UNKNOWN /* should never occur */
++} curlfiletype;
++
++#define CURLFINFOFLAG_KNOWN_FILENAME (1<<0)
++#define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1)
++#define CURLFINFOFLAG_KNOWN_TIME (1<<2)
++#define CURLFINFOFLAG_KNOWN_PERM (1<<3)
++#define CURLFINFOFLAG_KNOWN_UID (1<<4)
++#define CURLFINFOFLAG_KNOWN_GID (1<<5)
++#define CURLFINFOFLAG_KNOWN_SIZE (1<<6)
++#define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7)
++
++/* Content of this structure depends on information which is known and is
++ achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man
++ page for callbacks returning this structure -- some fields are mandatory,
++ some others are optional. The FLAG field has special meaning. */
++struct curl_fileinfo {
++ char *filename;
++ curlfiletype filetype;
++ time_t time;
++ unsigned int perm;
++ int uid;
++ int gid;
++ curl_off_t size;
++ long int hardlinks;
++
++ struct {
++ /* If some of these fields is not NULL, it is a pointer to b_data. */
++ char *time;
++ char *perm;
++ char *user;
++ char *group;
++ char *target; /* pointer to the target filename of a symlink */
++ } strings;
++
++ unsigned int flags;
++
++ /* used internally */
++ char *b_data;
++ size_t b_size;
++ size_t b_used;
++};
++
++/* return codes for CURLOPT_CHUNK_BGN_FUNCTION */
++#define CURL_CHUNK_BGN_FUNC_OK 0
++#define CURL_CHUNK_BGN_FUNC_FAIL 1 /* tell the lib to end the task */
++#define CURL_CHUNK_BGN_FUNC_SKIP 2 /* skip this chunk over */
++
++/* if splitting of data transfer is enabled, this callback is called before
++ download of an individual chunk started. Note that parameter "remains" works
++ only for FTP wildcard downloading (for now), otherwise is not used */
++typedef long (*curl_chunk_bgn_callback)(const void *transfer_info,
++ void *ptr,
++ int remains);
++
++/* return codes for CURLOPT_CHUNK_END_FUNCTION */
++#define CURL_CHUNK_END_FUNC_OK 0
++#define CURL_CHUNK_END_FUNC_FAIL 1 /* tell the lib to end the task */
++
++/* If splitting of data transfer is enabled this callback is called after
++ download of an individual chunk finished.
++ Note! After this callback was set then it have to be called FOR ALL chunks.
++ Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC.
++ This is the reason why we don't need "transfer_info" parameter in this
++ callback and we are not interested in "remains" parameter too. */
++typedef long (*curl_chunk_end_callback)(void *ptr);
++
++/* return codes for FNMATCHFUNCTION */
++#define CURL_FNMATCHFUNC_MATCH 0 /* string corresponds to the pattern */
++#define CURL_FNMATCHFUNC_NOMATCH 1 /* pattern doesn't match the string */
++#define CURL_FNMATCHFUNC_FAIL 2 /* an error occurred */
++
++/* callback type for wildcard downloading pattern matching. If the
++ string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */
++typedef int (*curl_fnmatch_callback)(void *ptr,
++ const char *pattern,
++ const char *string);
++
+ /* These are the return codes for the seek callbacks */
+ #define CURL_SEEKFUNC_OK 0
+ #define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */
+ #define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
+ libcurl might try other means instead */
+ typedef int (*curl_seek_callback)(void *instream,
+ curl_off_t offset,
+ int origin); /* 'whence' */
+
+ /* This is a return code for the read callback that, when returned, will
+ signal libcurl to immediately abort the current transfer. */
+ #define CURL_READFUNC_ABORT 0x10000000
+ /* This is a return code for the read callback that, when returned, will
+ signal libcurl to pause sending data on the current transfer. */
+ #define CURL_READFUNC_PAUSE 0x10000001
+
++/* Return code for when the trailing headers' callback has terminated
++ without any errors*/
++#define CURL_TRAILERFUNC_OK 0
++/* Return code for when was an error in the trailing header's list and we
++ want to abort the request */
++#define CURL_TRAILERFUNC_ABORT 1
++
+ typedef size_t (*curl_read_callback)(char *buffer,
+ size_t size,
+ size_t nitems,
+ void *instream);
+
+-typedef enum {
+- CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
+- CURLSOCKTYPE_LAST /* never use */
++typedef int (*curl_trailer_callback)(struct curl_slist **list,
++ void *userdata);
++
++typedef enum {
++ CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
++ CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
++ CURLSOCKTYPE_LAST /* never use */
+ } curlsocktype;
+
++/* The return code from the sockopt_callback can signal information back
++ to libcurl: */
++#define CURL_SOCKOPT_OK 0
++#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return
++ CURLE_ABORTED_BY_CALLBACK */
++#define CURL_SOCKOPT_ALREADY_CONNECTED 2
++
+ typedef int (*curl_sockopt_callback)(void *clientp,
+ curl_socket_t curlfd,
+ curlsocktype purpose);
+
+ struct curl_sockaddr {
+ int family;
+ int socktype;
+ int protocol;
+@@ -239,53 +407,52 @@ struct curl_sockaddr {
+ struct sockaddr addr;
+ };
+
+ typedef curl_socket_t
+ (*curl_opensocket_callback)(void *clientp,
+ curlsocktype purpose,
+ struct curl_sockaddr *address);
+
+-#ifndef CURL_NO_OLDIES
+- /* not used since 7.10.8, will be removed in a future release */
+-typedef int (*curl_passwd_callback)(void *clientp,
+- const char *prompt,
+- char *buffer,
+- int buflen);
+-#endif
++typedef int
++(*curl_closesocket_callback)(void *clientp, curl_socket_t item);
+
+ typedef enum {
+ CURLIOE_OK, /* I/O operation successful */
+ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */
+ CURLIOE_FAILRESTART, /* failed to restart the read */
+ CURLIOE_LAST /* never use */
+ } curlioerr;
+
+-typedef enum {
++typedef enum {
+ CURLIOCMD_NOP, /* no operation */
+ CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
+ CURLIOCMD_LAST /* never use */
+ } curliocmd;
+
+ typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
+ int cmd,
+ void *clientp);
+
++#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
+ /*
+ * The following typedef's are signatures of malloc, free, realloc, strdup and
+ * calloc respectively. Function pointers of these types can be passed to the
+ * curl_global_init_mem() function to set user defined memory management
+ * callback routines.
+ */
+ typedef void *(*curl_malloc_callback)(size_t size);
+ typedef void (*curl_free_callback)(void *ptr);
+ typedef void *(*curl_realloc_callback)(void *ptr, size_t size);
+ typedef char *(*curl_strdup_callback)(const char *str);
+ typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size);
+
++#define CURL_DID_MEMORY_FUNC_TYPEDEFS
++#endif
++
+ /* the kind of data that is passed to information_callback*/
+ typedef enum {
+ CURLINFO_TEXT = 0,
+ CURLINFO_HEADER_IN, /* 1 */
+ CURLINFO_HEADER_OUT, /* 2 */
+ CURLINFO_DATA_IN, /* 3 */
+ CURLINFO_DATA_OUT, /* 4 */
+ CURLINFO_SSL_DATA_IN, /* 5 */
+@@ -307,31 +474,37 @@ typedef int (*curl_debug_callback)
+ codes must remain the same!
+ */
+
+ typedef enum {
+ CURLE_OK = 0,
+ CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
+ CURLE_FAILED_INIT, /* 2 */
+ CURLE_URL_MALFORMAT, /* 3 */
+- CURLE_OBSOLETE4, /* 4 - NOT USED */
++ CURLE_NOT_BUILT_IN, /* 4 - [was obsoleted in August 2007 for
++ 7.17.0, reused in April 2011 for 7.21.5] */
+ CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
+ CURLE_COULDNT_RESOLVE_HOST, /* 6 */
+ CURLE_COULDNT_CONNECT, /* 7 */
+- CURLE_FTP_WEIRD_SERVER_REPLY, /* 8 */
++ CURLE_WEIRD_SERVER_REPLY, /* 8 */
+ CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server
+ due to lack of access - when login fails
+ this is not returned. */
+- CURLE_OBSOLETE10, /* 10 - NOT USED */
++ CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for
++ 7.15.4, reused in Dec 2011 for 7.24.0]*/
+ CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */
+- CURLE_OBSOLETE12, /* 12 - NOT USED */
++ CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server
++ [was obsoleted in August 2007 for 7.17.0,
++ reused in Dec 2011 for 7.24.0]*/
+ CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */
+ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */
+ CURLE_FTP_CANT_GET_HOST, /* 15 */
+- CURLE_OBSOLETE16, /* 16 - NOT USED */
++ CURLE_HTTP2, /* 16 - A problem in the http2 framing layer.
++ [was obsoleted in August 2007 for 7.17.0,
++ reused in July 2014 for 7.38.0] */
+ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */
+ CURLE_PARTIAL_FILE, /* 18 */
+ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */
+ CURLE_OBSOLETE20, /* 20 - NOT USED */
+ CURLE_QUOTE_ERROR, /* 21 - quote command failure */
+ CURLE_HTTP_RETURNED_ERROR, /* 22 */
+ CURLE_WRITE_ERROR, /* 23 */
+ CURLE_OBSOLETE24, /* 24 - NOT USED */
+@@ -350,39 +523,39 @@ typedef enum {
+ CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */
+ CURLE_HTTP_POST_ERROR, /* 34 */
+ CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */
+ CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */
+ CURLE_FILE_COULDNT_READ_FILE, /* 37 */
+ CURLE_LDAP_CANNOT_BIND, /* 38 */
+ CURLE_LDAP_SEARCH_FAILED, /* 39 */
+ CURLE_OBSOLETE40, /* 40 - NOT USED */
+- CURLE_FUNCTION_NOT_FOUND, /* 41 */
++ CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */
+ CURLE_ABORTED_BY_CALLBACK, /* 42 */
+ CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */
+ CURLE_OBSOLETE44, /* 44 - NOT USED */
+ CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */
+ CURLE_OBSOLETE46, /* 46 - NOT USED */
+- CURLE_TOO_MANY_REDIRECTS , /* 47 - catch endless re-direct loops */
+- CURLE_UNKNOWN_TELNET_OPTION, /* 48 - User specified an unknown option */
+- CURLE_TELNET_OPTION_SYNTAX , /* 49 - Malformed telnet option */
++ CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */
++ CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */
++ CURLE_TELNET_OPTION_SYNTAX, /* 49 - Malformed telnet option */
+ CURLE_OBSOLETE50, /* 50 - NOT USED */
+- CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint
+- wasn't verified fine */
++ CURLE_OBSOLETE51, /* 51 - NOT USED */
+ CURLE_GOT_NOTHING, /* 52 - when this is a specific error */
+ CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */
+ CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as
+ default */
+ CURLE_SEND_ERROR, /* 55 - failed sending network data */
+ CURLE_RECV_ERROR, /* 56 - failure in receiving network data */
+ CURLE_OBSOLETE57, /* 57 - NOT IN USE */
+ CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */
+ CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */
+- CURLE_SSL_CACERT, /* 60 - problem with the CA cert (path?) */
+- CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized transfer encoding */
++ CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint
++ wasn't verified fine */
++ CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */
+ CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */
+ CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */
+ CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */
+ CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind
+ that failed */
+ CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */
+ CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not
+ accepted and we failed to login */
+@@ -410,43 +583,72 @@ typedef enum {
+ connection */
+ CURLE_AGAIN, /* 81 - socket is not ready for send/recv,
+ wait till it's ready and try again (Added
+ in 7.18.2) */
+ CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or
+ wrong format (Added in 7.19.0) */
+ CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in
+ 7.19.0) */
++ CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */
++ CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */
++ CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */
++ CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */
++ CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */
++ CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the
++ session will be queued */
++ CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not
++ match */
++ CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */
++ CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer
++ */
++ CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from
++ inside a callback */
+ CURL_LAST /* never use! */
+ } CURLcode;
+
+ #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+-/* Backwards compatibility with older names */
++/* Previously obsolete error code re-used in 7.38.0 */
++#define CURLE_OBSOLETE16 CURLE_HTTP2
++
++/* Previously obsolete error codes re-used in 7.24.0 */
++#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
++#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
++
++/* compatibility with older names */
++#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING
++#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY
++
++/* The following were added in 7.62.0 */
++#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION
++
++/* The following were added in 7.21.5, April 2011 */
++#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION
+
+ /* The following were added in 7.17.1 */
+ /* These are scheduled to disappear by 2009 */
+ #define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION
+
+ /* The following were added in 7.17.0 */
+ /* These are scheduled to disappear by 2009 */
+-#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* noone should be using this! */
++#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be using this! */
+ #define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
+ #define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
+ #define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
+ #define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
+ #define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
+ #define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
+ #define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
+ #define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
+ #define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
+ #define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
+ #define CURLE_SHARE_IN_USE CURLE_OBSOLETE57
+-#define CURLE_URL_MALFORMAT_USER CURLE_OBSOLETE4
++#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN
+
+ #define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED
+ #define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE
+ #define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR
+ #define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL
+ #define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS
+ #define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR
+ #define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED
+@@ -462,69 +664,115 @@ typedef enum {
+ #define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE
+ #define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME
+
+ /* This was the error code 50 in 7.7.3 and a few earlier versions, this
+ is no longer used by libcurl but is instead #defined here only to not
+ make programs break */
+ #define CURLE_ALREADY_COMPLETE 99999
+
++/* Provide defines for really old option names */
++#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */
++#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */
++#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA
++
++/* Since long deprecated options with no code in the lib that does anything
++ with them. */
++#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40
++#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72
++
+ #endif /*!CURL_NO_OLDIES*/
+
+ /* This prototype applies to all conversion callbacks */
+ typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
+
+ typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */
+ void *ssl_ctx, /* actually an
+ OpenSSL SSL_CTX */
+ void *userptr);
+
+ typedef enum {
+ CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use
+ CONNECT HTTP/1.1 */
+ CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT
+ HTTP/1.0 */
++ CURLPROXY_HTTPS = 2, /* added in 7.52.0 */
+ CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
+ in 7.10 */
+ CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
+ CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */
+ CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the
+ host name rather than the IP address. added
+ in 7.18.0 */
+ } curl_proxytype; /* this enum was added in 7.10 */
+
+-#define CURLAUTH_NONE 0 /* nothing */
+-#define CURLAUTH_BASIC (1<<0) /* Basic (default) */
+-#define CURLAUTH_DIGEST (1<<1) /* Digest */
+-#define CURLAUTH_GSSNEGOTIATE (1<<2) /* GSS-Negotiate */
+-#define CURLAUTH_NTLM (1<<3) /* NTLM */
+-#define CURLAUTH_DIGEST_IE (1<<4) /* Digest with IE flavour */
+-#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) /* all fine types set */
+-#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
++/*
++ * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options:
++ *
++ * CURLAUTH_NONE - No HTTP authentication
++ * CURLAUTH_BASIC - HTTP Basic authentication (default)
++ * CURLAUTH_DIGEST - HTTP Digest authentication
++ * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication
++ * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated)
++ * CURLAUTH_NTLM - HTTP NTLM authentication
++ * CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour
++ * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper
++ * CURLAUTH_BEARER - HTTP Bearer token authentication
++ * CURLAUTH_ONLY - Use together with a single other type to force no
++ * authentication or just that single type
++ * CURLAUTH_ANY - All fine types set
++ * CURLAUTH_ANYSAFE - All fine types except Basic
++ */
++
++#define CURLAUTH_NONE ((unsigned long)0)
++#define CURLAUTH_BASIC (((unsigned long)1)<<0)
++#define CURLAUTH_DIGEST (((unsigned long)1)<<1)
++#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
++/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
++#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
++/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */
++#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
++#define CURLAUTH_NTLM (((unsigned long)1)<<3)
++#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
++#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
++#define CURLAUTH_BEARER (((unsigned long)1)<<6)
++#define CURLAUTH_ONLY (((unsigned long)1)<<31)
++#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
++#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
+
+ #define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */
+ #define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */
+ #define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */
+ #define CURLSSH_AUTH_PASSWORD (1<<1) /* password */
+ #define CURLSSH_AUTH_HOST (1<<2) /* host key files */
+ #define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */
++#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */
++#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */
+ #define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
+
++#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */
++#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */
++#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */
++
+ #define CURL_ERROR_SIZE 256
+
++enum curl_khtype {
++ CURLKHTYPE_UNKNOWN,
++ CURLKHTYPE_RSA1,
++ CURLKHTYPE_RSA,
++ CURLKHTYPE_DSS,
++ CURLKHTYPE_ECDSA,
++ CURLKHTYPE_ED25519
++};
++
+ struct curl_khkey {
+ const char *key; /* points to a zero-terminated string encoded with base64
+ if len is zero, otherwise to the "raw" data */
+ size_t len;
+- enum type {
+- CURLKHTYPE_UNKNOWN,
+- CURLKHTYPE_RSA1,
+- CURLKHTYPE_RSA,
+- CURLKHTYPE_DSS
+- } keytype;
++ enum curl_khtype keytype;
+ };
+
+ /* this is the set of return values expected from the curl_sshkeycallback
+ callback */
+ enum curl_khstat {
+ CURLKHSTAT_FINE_ADD_TO_FILE,
+ CURLKHSTAT_FINE,
+ CURLKHSTAT_REJECT, /* reject the connection, return an error */
+@@ -553,16 +801,37 @@ typedef int
+ typedef enum {
+ CURLUSESSL_NONE, /* do not attempt to use SSL */
+ CURLUSESSL_TRY, /* try using SSL, proceed anyway otherwise */
+ CURLUSESSL_CONTROL, /* SSL for the control connection or fail */
+ CURLUSESSL_ALL, /* SSL for all communication or fail */
+ CURLUSESSL_LAST /* not an option, never use */
+ } curl_usessl;
+
++/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */
++
++/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the
++ name of improving interoperability with older servers. Some SSL libraries
++ have introduced work-arounds for this flaw but those work-arounds sometimes
++ make the SSL communication fail. To regain functionality with those broken
++ servers, a user can this way allow the vulnerability back. */
++#define CURLSSLOPT_ALLOW_BEAST (1<<0)
++
++/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those
++ SSL backends where such behavior is present. */
++#define CURLSSLOPT_NO_REVOKE (1<<1)
++
++/* The default connection attempt delay in milliseconds for happy eyeballs.
++ CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document
++ this value, keep them in sync. */
++#define CURL_HET_DEFAULT 200L
++
++/* The default connection upkeep interval in milliseconds. */
++#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L
++
+ #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+ /* Backwards compatibility with older names */
+ /* These are scheduled to disappear by 2009 */
+
+ #define CURLFTPSSL_NONE CURLUSESSL_NONE
+ #define CURLFTPSSL_TRY CURLUSESSL_TRY
+@@ -603,91 +872,124 @@ typedef enum {
+ typedef enum {
+ CURLFTPMETHOD_DEFAULT, /* let libcurl pick */
+ CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */
+ CURLFTPMETHOD_NOCWD, /* no CWD at all */
+ CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */
+ CURLFTPMETHOD_LAST /* not an option, never use */
+ } curl_ftpmethod;
+
++/* bitmask defines for CURLOPT_HEADEROPT */
++#define CURLHEADER_UNIFIED 0
++#define CURLHEADER_SEPARATE (1<<0)
++
++/* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */
++#define CURLALTSVC_IMMEDIATELY (1<<0)
++#define CURLALTSVC_ALTUSED (1<<1)
++#define CURLALTSVC_READONLYFILE (1<<2)
++#define CURLALTSVC_H1 (1<<3)
++#define CURLALTSVC_H2 (1<<4)
++#define CURLALTSVC_H3 (1<<5)
++
+ /* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
+ #define CURLPROTO_HTTP (1<<0)
+ #define CURLPROTO_HTTPS (1<<1)
+ #define CURLPROTO_FTP (1<<2)
+ #define CURLPROTO_FTPS (1<<3)
+ #define CURLPROTO_SCP (1<<4)
+ #define CURLPROTO_SFTP (1<<5)
+ #define CURLPROTO_TELNET (1<<6)
+ #define CURLPROTO_LDAP (1<<7)
+ #define CURLPROTO_LDAPS (1<<8)
+ #define CURLPROTO_DICT (1<<9)
+ #define CURLPROTO_FILE (1<<10)
+ #define CURLPROTO_TFTP (1<<11)
++#define CURLPROTO_IMAP (1<<12)
++#define CURLPROTO_IMAPS (1<<13)
++#define CURLPROTO_POP3 (1<<14)
++#define CURLPROTO_POP3S (1<<15)
++#define CURLPROTO_SMTP (1<<16)
++#define CURLPROTO_SMTPS (1<<17)
++#define CURLPROTO_RTSP (1<<18)
++#define CURLPROTO_RTMP (1<<19)
++#define CURLPROTO_RTMPT (1<<20)
++#define CURLPROTO_RTMPE (1<<21)
++#define CURLPROTO_RTMPTE (1<<22)
++#define CURLPROTO_RTMPS (1<<23)
++#define CURLPROTO_RTMPTS (1<<24)
++#define CURLPROTO_GOPHER (1<<25)
++#define CURLPROTO_SMB (1<<26)
++#define CURLPROTO_SMBS (1<<27)
+ #define CURLPROTO_ALL (~0) /* enable everything */
+
+ /* long may be 32 or 64 bits, but we should never depend on anything else
+ but 32 */
+ #define CURLOPTTYPE_LONG 0
+ #define CURLOPTTYPE_OBJECTPOINT 10000
++#define CURLOPTTYPE_STRINGPOINT 10000
+ #define CURLOPTTYPE_FUNCTIONPOINT 20000
+ #define CURLOPTTYPE_OFF_T 30000
+
++/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the
++ string options from the header file */
++
+ /* name is uppercase CURLOPT_<name>,
+ type is one of the defined CURLOPTTYPE_<type>
+ number is unique identifier */
+ #ifdef CINIT
+ #undef CINIT
+ #endif
+
+ #ifdef CURL_ISOCPP
+-#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number
++#define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu
+ #else
+ /* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
+ #define LONG CURLOPTTYPE_LONG
+ #define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT
++#define STRINGPOINT CURLOPTTYPE_OBJECTPOINT
+ #define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
+ #define OFF_T CURLOPTTYPE_OFF_T
+ #define CINIT(name,type,number) CURLOPT_/**/name = type + number
+ #endif
+
+ /*
+ * This macro-mania below setups the CURLOPT_[what] enum, to be used with
+ * curl_easy_setopt(). The first argument in the CINIT() macro is the [what]
+ * word.
+ */
+
+ typedef enum {
+ /* This is the FILE * or void * the regular output should be written to. */
+- CINIT(FILE, OBJECTPOINT, 1),
++ CINIT(WRITEDATA, OBJECTPOINT, 1),
+
+ /* The full URL to get/put */
+- CINIT(URL, OBJECTPOINT, 2),
++ CINIT(URL, STRINGPOINT, 2),
+
+ /* Port number to connect to, if other than default. */
+ CINIT(PORT, LONG, 3),
+
+ /* Name of proxy to use. */
+- CINIT(PROXY, OBJECTPOINT, 4),
+-
+- /* "name:password" to use when fetching. */
+- CINIT(USERPWD, OBJECTPOINT, 5),
+-
+- /* "name:password" to use with proxy. */
+- CINIT(PROXYUSERPWD, OBJECTPOINT, 6),
++ CINIT(PROXY, STRINGPOINT, 4),
++
++ /* "user:password;options" to use when fetching. */
++ CINIT(USERPWD, STRINGPOINT, 5),
++
++ /* "user:password" to use with proxy. */
++ CINIT(PROXYUSERPWD, STRINGPOINT, 6),
+
+ /* Range to get, specified as an ASCII string. */
+- CINIT(RANGE, OBJECTPOINT, 7),
++ CINIT(RANGE, STRINGPOINT, 7),
+
+ /* not used */
+
+ /* Specified file stream to upload from (use as input): */
+- CINIT(INFILE, OBJECTPOINT, 9),
++ CINIT(READDATA, OBJECTPOINT, 9),
+
+ /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE
+- * bytes big. If this is not used, error messages go to stderr instead: */
++ * bytes big. */
+ CINIT(ERRORBUFFER, OBJECTPOINT, 10),
+
+ /* Function that will be called to store the output (instead of fwrite). The
+ * parameters will use fwrite() syntax, make sure to follow them. */
+ CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),
+
+ /* Function that will be called to read the input (instead of fread). The
+ * parameters will use fread() syntax, make sure to follow them. */
+@@ -706,24 +1008,24 @@ typedef enum {
+ * sizes to handle larger files. See below for INFILESIZE_LARGE.
+ */
+ CINIT(INFILESIZE, LONG, 14),
+
+ /* POST static input fields. */
+ CINIT(POSTFIELDS, OBJECTPOINT, 15),
+
+ /* Set the referrer page (needed by some CGIs) */
+- CINIT(REFERER, OBJECTPOINT, 16),
++ CINIT(REFERER, STRINGPOINT, 16),
+
+ /* Set the FTP PORT string (interface name, named or numerical IP address)
+ Use i.e '-' to use default address. */
+- CINIT(FTPPORT, OBJECTPOINT, 17),
++ CINIT(FTPPORT, STRINGPOINT, 17),
+
+ /* Set the User-Agent string (examined by some CGIs) */
+- CINIT(USERAGENT, OBJECTPOINT, 18),
++ CINIT(USERAGENT, STRINGPOINT, 18),
+
+ /* If the download receives less than "low speed limit" bytes/second
+ * during "low speed time" seconds, the operations is aborted.
+ * You could i.e if you have a pretty high speed connection, abort if
+ * it is less than 2000 bytes/sec during 20 seconds.
+ */
+
+ /* Set the "low speed limit" */
+@@ -736,43 +1038,44 @@ typedef enum {
+ *
+ * Note there is also a _LARGE version of this key which uses
+ * off_t types, allowing for large file offsets on platforms which
+ * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE.
+ */
+ CINIT(RESUME_FROM, LONG, 21),
+
+ /* Set cookie in request: */
+- CINIT(COOKIE, OBJECTPOINT, 22),
+-
+- /* This points to a linked list of headers, struct curl_slist kind */
++ CINIT(COOKIE, STRINGPOINT, 22),
++
++ /* This points to a linked list of headers, struct curl_slist kind. This
++ list is also used for RTSP (in spite of its name) */
+ CINIT(HTTPHEADER, OBJECTPOINT, 23),
+
+ /* This points to a linked list of post entries, struct curl_httppost */
+ CINIT(HTTPPOST, OBJECTPOINT, 24),
+
+ /* name of the file keeping your private SSL-certificate */
+- CINIT(SSLCERT, OBJECTPOINT, 25),
++ CINIT(SSLCERT, STRINGPOINT, 25),
+
+ /* password for the SSL or SSH private key */
+- CINIT(KEYPASSWD, OBJECTPOINT, 26),
++ CINIT(KEYPASSWD, STRINGPOINT, 26),
+
+ /* send TYPE parameter? */
+ CINIT(CRLF, LONG, 27),
+
+ /* send linked-list of QUOTE commands */
+ CINIT(QUOTE, OBJECTPOINT, 28),
+
+ /* send FILE * or void * to store headers to, if you use a callback it
+ is simply passed to the callback unmodified */
+- CINIT(WRITEHEADER, OBJECTPOINT, 29),
++ CINIT(HEADERDATA, OBJECTPOINT, 29),
+
+ /* point to a file to read the initial cookies from, also enables
+ "cookie awareness" */
+- CINIT(COOKIEFILE, OBJECTPOINT, 31),
++ CINIT(COOKIEFILE, STRINGPOINT, 31),
+
+ /* What version to specifically try to use.
+ See CURL_SSLVERSION defines below. */
+ CINIT(SSLVERSION, LONG, 32),
+
+ /* What kind of HTTP time condition to use, see defines */
+ CINIT(TIMECONDITION, LONG, 33),
+
+@@ -781,87 +1084,88 @@ typedef enum {
+ CINIT(TIMEVALUE, LONG, 34),
+
+ /* 35 = OBSOLETE */
+
+ /* Custom request, for customizing the get command like
+ HTTP: DELETE, TRACE and others
+ FTP: to use a different list command
+ */
+- CINIT(CUSTOMREQUEST, OBJECTPOINT, 36),
+-
+- /* HTTP request, for odd commands like DELETE, TRACE and others */
++ CINIT(CUSTOMREQUEST, STRINGPOINT, 36),
++
++ /* FILE handle to use instead of stderr */
+ CINIT(STDERR, OBJECTPOINT, 37),
+
+ /* 38 is not used */
+
+ /* send linked-list of post-transfer QUOTE commands */
+ CINIT(POSTQUOTE, OBJECTPOINT, 39),
+
+- /* Pass a pointer to string of the output using full variable-replacement
+- as described elsewhere. */
+- CINIT(WRITEINFO, OBJECTPOINT, 40),
++ CINIT(OBSOLETE40, OBJECTPOINT, 40), /* OBSOLETE, do not use! */
+
+ CINIT(VERBOSE, LONG, 41), /* talk a lot */
+ CINIT(HEADER, LONG, 42), /* throw the header out too */
+ CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */
+ CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */
+- CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */
++ CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 400 */
+ CINIT(UPLOAD, LONG, 46), /* this is an upload */
+ CINIT(POST, LONG, 47), /* HTTP POST method */
+- CINIT(DIRLISTONLY, LONG, 48), /* return bare names when listing directories */
++ CINIT(DIRLISTONLY, LONG, 48), /* bare names when listing directories */
+
+ CINIT(APPEND, LONG, 50), /* Append instead of overwrite on upload! */
+
+ /* Specify whether to read the user+password from the .netrc or the URL.
+ * This must be one of the CURL_NETRC_* enums below. */
+ CINIT(NETRC, LONG, 51),
+
+ CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */
+
+ CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */
+ CINIT(PUT, LONG, 54), /* HTTP PUT */
+
+ /* 55 = OBSOLETE */
+
+- /* Function that will be called instead of the internal progress display
++ /* DEPRECATED
++ * Function that will be called instead of the internal progress display
+ * function. This function should be defined as the curl_progress_callback
+ * prototype defines. */
+ CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
+
+- /* Data passed to the progress callback */
++ /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION
++ callbacks */
+ CINIT(PROGRESSDATA, OBJECTPOINT, 57),
++#define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA
+
+ /* We want the referrer field set automatically when following locations */
+ CINIT(AUTOREFERER, LONG, 58),
+
+ /* Port of the proxy, can be set in the proxy string as well with:
+ "[host]:[port]" */
+ CINIT(PROXYPORT, LONG, 59),
+
+ /* size of the POST input data, if strlen() is not good to use */
+ CINIT(POSTFIELDSIZE, LONG, 60),
+
+ /* tunnel non-http operations through a HTTP proxy */
+ CINIT(HTTPPROXYTUNNEL, LONG, 61),
+
+ /* Set the interface string to use as outgoing network interface */
+- CINIT(INTERFACE, OBJECTPOINT, 62),
++ CINIT(INTERFACE, STRINGPOINT, 62),
+
+ /* Set the krb4/5 security level, this also enables krb4/5 awareness. This
+ * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string
+ * is set but doesn't match one of these, 'private' will be used. */
+- CINIT(KRBLEVEL, OBJECTPOINT, 63),
++ CINIT(KRBLEVEL, STRINGPOINT, 63),
+
+ /* Set if we should verify the peer in ssl handshake, set 1 to verify. */
+ CINIT(SSL_VERIFYPEER, LONG, 64),
+
+ /* The CApath or CAfile used to validate the peer certificate
+ this option is used only if SSL_VERIFYPEER is true */
+- CINIT(CAINFO, OBJECTPOINT, 65),
++ CINIT(CAINFO, STRINGPOINT, 65),
+
+ /* 66 = OBSOLETE */
+ /* 67 = OBSOLETE */
+
+ /* Maximum number of http redirects to follow */
+ CINIT(MAXREDIRS, LONG, 68),
+
+ /* Pass a long set to 1 to get the date of the requested document (if
+@@ -869,42 +1173,39 @@ typedef enum {
+ CINIT(FILETIME, LONG, 69),
+
+ /* This points to a linked list of telnet options */
+ CINIT(TELNETOPTIONS, OBJECTPOINT, 70),
+
+ /* Max amount of cached alive connections */
+ CINIT(MAXCONNECTS, LONG, 71),
+
+- /* What policy to use when closing connections when the cache is filled
+- up */
+- CINIT(CLOSEPOLICY, LONG, 72),
++ CINIT(OBSOLETE72, LONG, 72), /* OBSOLETE, do not use! */
+
+ /* 73 = OBSOLETE */
+
+ /* Set to explicitly use a new connection for the upcoming transfer.
+ Do not use this unless you're absolutely sure of this, as it makes the
+ operation slower and is less friendly for the network. */
+ CINIT(FRESH_CONNECT, LONG, 74),
+
+ /* Set to explicitly forbid the upcoming transfer's connection to be re-used
+ when done. Do not use this unless you're absolutely sure of this, as it
+ makes the operation slower and is less friendly for the network. */
+ CINIT(FORBID_REUSE, LONG, 75),
+
+ /* Set to a file name that contains random data for libcurl to use to
+ seed the random engine when doing SSL connects. */
+- CINIT(RANDOM_FILE, OBJECTPOINT, 76),
++ CINIT(RANDOM_FILE, STRINGPOINT, 76),
+
+ /* Set to the Entropy Gathering Daemon socket pathname */
+- CINIT(EGDSOCKET, OBJECTPOINT, 77),
+-
+- /* Time-out connect operations after this amount of seconds, if connects
+- are OK within this time, then fine... This only aborts the connect
+- phase. [Only works on unix-style/SIGALRM operating systems] */
++ CINIT(EGDSOCKET, STRINGPOINT, 77),
++
++ /* Time-out connect operations after this amount of seconds, if connects are
++ OK within this time, then fine... This only aborts the connect phase. */
+ CINIT(CONNECTTIMEOUT, LONG, 78),
+
+ /* Function that will be called to store headers (instead of fwrite). The
+ * parameters will use fwrite() syntax, make sure to follow them. */
+ CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79),
+
+ /* Set this to force the HTTP request to get back to GET. Only really usable
+ if POST, PUT or a custom request have been used first.
+@@ -913,49 +1214,49 @@ typedef enum {
+
+ /* Set if we should verify the Common name from the peer certificate in ssl
+ * handshake, set 1 to check existence, 2 to ensure that it matches the
+ * provided hostname. */
+ CINIT(SSL_VERIFYHOST, LONG, 81),
+
+ /* Specify which file name to write all known cookies in after completed
+ operation. Set file name to "-" (dash) to make it go to stdout. */
+- CINIT(COOKIEJAR, OBJECTPOINT, 82),
++ CINIT(COOKIEJAR, STRINGPOINT, 82),
+
+ /* Specify which SSL ciphers to use */
+- CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83),
++ CINIT(SSL_CIPHER_LIST, STRINGPOINT, 83),
+
+ /* Specify which HTTP version to use! This must be set to one of the
+ CURL_HTTP_VERSION* enums set below. */
+ CINIT(HTTP_VERSION, LONG, 84),
+
+ /* Specifically switch on or off the FTP engine's use of the EPSV command. By
+ default, that one will always be attempted before the more traditional
+ PASV command. */
+ CINIT(FTP_USE_EPSV, LONG, 85),
+
+ /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
+- CINIT(SSLCERTTYPE, OBJECTPOINT, 86),
++ CINIT(SSLCERTTYPE, STRINGPOINT, 86),
+
+ /* name of the file keeping your private SSL-key */
+- CINIT(SSLKEY, OBJECTPOINT, 87),
++ CINIT(SSLKEY, STRINGPOINT, 87),
+
+ /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
+- CINIT(SSLKEYTYPE, OBJECTPOINT, 88),
++ CINIT(SSLKEYTYPE, STRINGPOINT, 88),
+
+ /* crypto engine for the SSL-sub system */
+- CINIT(SSLENGINE, OBJECTPOINT, 89),
++ CINIT(SSLENGINE, STRINGPOINT, 89),
+
+ /* set the crypto engine for the SSL-sub system as default
+ the param has no meaning...
+ */
+ CINIT(SSLENGINE_DEFAULT, LONG, 90),
+
+ /* Non-zero value means to use the global dns cache */
+- CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */
++ CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* DEPRECATED, do not use! */
+
+ /* DNS cache timeout */
+ CINIT(DNS_CACHE_TIMEOUT, LONG, 92),
+
+ /* send linked-list of pre-transfer QUOTE commands */
+ CINIT(PREQUOTE, OBJECTPOINT, 93),
+
+ /* set the debug function */
+@@ -964,50 +1265,52 @@ typedef enum {
+ /* set the data for the debug function */
+ CINIT(DEBUGDATA, OBJECTPOINT, 95),
+
+ /* mark this as start of a cookie session */
+ CINIT(COOKIESESSION, LONG, 96),
+
+ /* The CApath directory used to validate the peer certificate
+ this option is used only if SSL_VERIFYPEER is true */
+- CINIT(CAPATH, OBJECTPOINT, 97),
++ CINIT(CAPATH, STRINGPOINT, 97),
+
+ /* Instruct libcurl to use a smaller receive buffer */
+ CINIT(BUFFERSIZE, LONG, 98),
+
+ /* Instruct libcurl to not use any signal/alarm handlers, even when using
+ timeouts. This option is useful for multi-threaded applications.
+ See libcurl-the-guide for more background information. */
+ CINIT(NOSIGNAL, LONG, 99),
+
+ /* Provide a CURLShare for mutexing non-ts data */
+ CINIT(SHARE, OBJECTPOINT, 100),
+
+ /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),
+- CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5. */
++ CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and
++ CURLPROXY_SOCKS5. */
+ CINIT(PROXYTYPE, LONG, 101),
+
+ /* Set the Accept-Encoding string. Use this to tell a server you would like
+- the response to be compressed. */
+- CINIT(ENCODING, OBJECTPOINT, 102),
++ the response to be compressed. Before 7.21.6, this was known as
++ CURLOPT_ENCODING */
++ CINIT(ACCEPT_ENCODING, STRINGPOINT, 102),
+
+ /* Set pointer to private data */
+ CINIT(PRIVATE, OBJECTPOINT, 103),
+
+ /* Set aliases for HTTP 200 in the HTTP Response header */
+ CINIT(HTTP200ALIASES, OBJECTPOINT, 104),
+
+ /* Continue to send authentication (user+password) when following locations,
+ even when hostname changed. This can potentially send off the name
+ and password to whatever host the server decides. */
+ CINIT(UNRESTRICTED_AUTH, LONG, 105),
+
+- /* Specifically switch on or off the FTP engine's use of the EPRT command ( it
+- also disables the LPRT attempt). By default, those ones will always be
++ /* Specifically switch on or off the FTP engine's use of the EPRT command (
++ it also disables the LPRT attempt). By default, those ones will always be
+ attempted before the good old traditional PORT command. */
+ CINIT(FTP_USE_EPRT, LONG, 106),
+
+ /* Set this to a bitmask value to enable the particular authentications
+ methods you like. Use this in combination with CURLOPT_USERPWD.
+ Note that setting multiple bits may cause extra network round-trips. */
+ CINIT(HTTPAUTH, LONG, 107),
+
+@@ -1031,16 +1334,17 @@ typedef enum {
+ Note that setting multiple bits may cause extra network round-trips. */
+ CINIT(PROXYAUTH, LONG, 111),
+
+ /* FTP option that changes the timeout, in seconds, associated with
+ getting a response. This is different from transfer timeout time and
+ essentially places a demand on the FTP server to acknowledge commands
+ in a timely manner. */
+ CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112),
++#define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT
+
+ /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
+ tell libcurl to resolve names to those IP versions only. This only has
+ affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */
+ CINIT(IPRESOLVE, LONG, 113),
+
+ /* Set this option to limit the size of a file that will be downloaded from
+ an HTTP or FTP server.
+@@ -1063,22 +1367,22 @@ typedef enum {
+ * an HTTP or FTP server. See MAXFILESIZE above for the LONG version.
+ */
+ CINIT(MAXFILESIZE_LARGE, OFF_T, 117),
+
+ /* Set this option to the file name of your .netrc file you want libcurl
+ to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
+ a poor attempt to find the user's home directory and check for a .netrc
+ file in there. */
+- CINIT(NETRC_FILE, OBJECTPOINT, 118),
++ CINIT(NETRC_FILE, STRINGPOINT, 118),
+
+ /* Enable SSL/TLS for FTP, pick one of:
+- CURLFTPSSL_TRY - try using SSL, proceed anyway otherwise
+- CURLFTPSSL_CONTROL - SSL for the control connection or fail
+- CURLFTPSSL_ALL - SSL for all communication or fail
++ CURLUSESSL_TRY - try using SSL, proceed anyway otherwise
++ CURLUSESSL_CONTROL - SSL for the control connection or fail
++ CURLUSESSL_ALL - SSL for all communication or fail
+ */
+ CINIT(USE_SSL, LONG, 119),
+
+ /* The _LARGE version of the standard POSTFIELDSIZE option */
+ CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
+
+ /* Enable/disable the TCP Nagle algorithm */
+ CINIT(TCP_NODELAY, LONG, 121),
+@@ -1106,20 +1410,20 @@ typedef enum {
+ CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130),
+ CINIT(IOCTLDATA, OBJECTPOINT, 131),
+
+ /* 132 OBSOLETE. Gone in 7.16.0 */
+ /* 133 OBSOLETE. Gone in 7.16.0 */
+
+ /* zero terminated string for pass on to the FTP server when asked for
+ "account" info */
+- CINIT(FTP_ACCOUNT, OBJECTPOINT, 134),
+-
+- /* feed cookies into cookie engine */
+- CINIT(COOKIELIST, OBJECTPOINT, 135),
++ CINIT(FTP_ACCOUNT, STRINGPOINT, 134),
++
++ /* feed cookie into cookie engine */
++ CINIT(COOKIELIST, STRINGPOINT, 135),
+
+ /* ignore Content-Length */
+ CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),
+
+ /* Set to non-zero to skip the IP address received in a 227 PASV FTP server
+ response. Typically used for FTP-SSL purposes but is not restricted to
+ that. libcurl will then instead use the same IP address it used for the
+ control connection. */
+@@ -1155,32 +1459,32 @@ typedef enum {
+ CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144),
+
+ /* if the connection proceeds too quickly then need to slow it down */
+ /* limit-rate: maximum number of bytes per second to send or receive */
+ CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),
+ CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
+
+ /* Pointer to command string to send if USER/PASS fails. */
+- CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147),
++ CINIT(FTP_ALTERNATIVE_TO_USER, STRINGPOINT, 147),
+
+ /* callback function for setting socket options */
+ CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),
+ CINIT(SOCKOPTDATA, OBJECTPOINT, 149),
+
+ /* set to 0 to disable session ID re-use for this transfer, default is
+ enabled (== 1) */
+ CINIT(SSL_SESSIONID_CACHE, LONG, 150),
+
+ /* allowed SSH authentication methods */
+ CINIT(SSH_AUTH_TYPES, LONG, 151),
+
+ /* Used by scp/sftp to do public/private key authentication */
+- CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152),
+- CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153),
++ CINIT(SSH_PUBLIC_KEYFILE, STRINGPOINT, 152),
++ CINIT(SSH_PRIVATE_KEYFILE, STRINGPOINT, 153),
+
+ /* Send CCC (Clear Command Channel) after authentication */
+ CINIT(FTP_SSL_CCC, LONG, 154),
+
+ /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */
+ CINIT(TIMEOUT_MS, LONG, 155),
+ CINIT(CONNECTTIMEOUT_MS, LONG, 156),
+
+@@ -1194,17 +1498,17 @@ typedef enum {
+ CINIT(NEW_FILE_PERMS, LONG, 159),
+ CINIT(NEW_DIRECTORY_PERMS, LONG, 160),
+
+ /* Set the behaviour of POST when redirecting. Values must be set to one
+ of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */
+ CINIT(POSTREDIR, LONG, 161),
+
+ /* used by scp/sftp to verify the host's public key */
+- CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162),
++ CINIT(SSH_HOST_PUBLIC_KEY_MD5, STRINGPOINT, 162),
+
+ /* Callback function for opening socket (instead of socket(2)). Optionally,
+ callback is able change the address or refuse to connect returning
+ CURL_SOCKET_BAD. The callback should have type
+ curl_opensocket_callback */
+ CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),
+ CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),
+
+@@ -1214,51 +1518,50 @@ typedef enum {
+ /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */
+ CINIT(PROXY_TRANSFER_MODE, LONG, 166),
+
+ /* Callback function for seeking in the input stream */
+ CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167),
+ CINIT(SEEKDATA, OBJECTPOINT, 168),
+
+ /* CRL file */
+- CINIT(CRLFILE, OBJECTPOINT, 169),
++ CINIT(CRLFILE, STRINGPOINT, 169),
+
+ /* Issuer certificate */
+- CINIT(ISSUERCERT, OBJECTPOINT, 170),
++ CINIT(ISSUERCERT, STRINGPOINT, 170),
+
+ /* (IPv6) Address scope */
+ CINIT(ADDRESS_SCOPE, LONG, 171),
+
+ /* Collect certificate chain info and allow it to get retrievable with
+- CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only
+- working with OpenSSL-powered builds. */
++ CURLINFO_CERTINFO after the transfer is complete. */
+ CINIT(CERTINFO, LONG, 172),
+
+ /* "name" and "pwd" to use when fetching. */
+- CINIT(USERNAME, OBJECTPOINT, 173),
+- CINIT(PASSWORD, OBJECTPOINT, 174),
++ CINIT(USERNAME, STRINGPOINT, 173),
++ CINIT(PASSWORD, STRINGPOINT, 174),
+
+ /* "name" and "pwd" to use with Proxy when fetching. */
+- CINIT(PROXYUSERNAME, OBJECTPOINT, 175),
+- CINIT(PROXYPASSWORD, OBJECTPOINT, 176),
++ CINIT(PROXYUSERNAME, STRINGPOINT, 175),
++ CINIT(PROXYPASSWORD, STRINGPOINT, 176),
+
+ /* Comma separated list of hostnames defining no-proxy zones. These should
+ match both hostnames directly, and hostnames within a domain. For
+ example, local.com will match local.com and www.local.com, but NOT
+ notlocal.com or www.notlocal.com. For compatibility with other
+ implementations of this, .local.com will be considered to be the same as
+ local.com. A single * is the only valid wildcard, and effectively
+ disables the use of proxy. */
+- CINIT(NOPROXY, OBJECTPOINT, 177),
++ CINIT(NOPROXY, STRINGPOINT, 177),
+
+ /* block size for TFTP transfers */
+ CINIT(TFTP_BLKSIZE, LONG, 178),
+
+ /* Socks Service */
+- CINIT(SOCKS5_GSSAPI_SERVICE, OBJECTPOINT, 179),
++ CINIT(SOCKS5_GSSAPI_SERVICE, STRINGPOINT, 179), /* DEPRECATED, do not use! */
+
+ /* Socks Service */
+ CINIT(SOCKS5_GSSAPI_NEC, LONG, 180),
+
+ /* set the bitmask for the protocols that are allowed to be used for the
+ transfer, which thus helps the app which takes URLs from users or other
+ external inputs and want to restrict what protocol(s) to deal
+ with. Defaults to CURLPROTO_ALL. */
+@@ -1266,25 +1569,360 @@ typedef enum {
+
+ /* set the bitmask for the protocols that libcurl is allowed to follow to,
+ as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs
+ to be set in both bitmasks to be allowed to get redirected to. Defaults
+ to all protocols except FILE and SCP. */
+ CINIT(REDIR_PROTOCOLS, LONG, 182),
+
+ /* set the SSH knownhost file name to use */
+- CINIT(SSH_KNOWNHOSTS, OBJECTPOINT, 183),
++ CINIT(SSH_KNOWNHOSTS, STRINGPOINT, 183),
+
+ /* set the SSH host key callback, must point to a curl_sshkeycallback
+ function */
+ CINIT(SSH_KEYFUNCTION, FUNCTIONPOINT, 184),
+
+ /* set the SSH host key callback custom pointer */
+ CINIT(SSH_KEYDATA, OBJECTPOINT, 185),
+
++ /* set the SMTP mail originator */
++ CINIT(MAIL_FROM, STRINGPOINT, 186),
++
++ /* set the list of SMTP mail receiver(s) */
++ CINIT(MAIL_RCPT, OBJECTPOINT, 187),
++
++ /* FTP: send PRET before PASV */
++ CINIT(FTP_USE_PRET, LONG, 188),
++
++ /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */
++ CINIT(RTSP_REQUEST, LONG, 189),
++
++ /* The RTSP session identifier */
++ CINIT(RTSP_SESSION_ID, STRINGPOINT, 190),
++
++ /* The RTSP stream URI */
++ CINIT(RTSP_STREAM_URI, STRINGPOINT, 191),
++
++ /* The Transport: header to use in RTSP requests */
++ CINIT(RTSP_TRANSPORT, STRINGPOINT, 192),
++
++ /* Manually initialize the client RTSP CSeq for this handle */
++ CINIT(RTSP_CLIENT_CSEQ, LONG, 193),
++
++ /* Manually initialize the server RTSP CSeq for this handle */
++ CINIT(RTSP_SERVER_CSEQ, LONG, 194),
++
++ /* The stream to pass to INTERLEAVEFUNCTION. */
++ CINIT(INTERLEAVEDATA, OBJECTPOINT, 195),
++
++ /* Let the application define a custom write method for RTP data */
++ CINIT(INTERLEAVEFUNCTION, FUNCTIONPOINT, 196),
++
++ /* Turn on wildcard matching */
++ CINIT(WILDCARDMATCH, LONG, 197),
++
++ /* Directory matching callback called before downloading of an
++ individual file (chunk) started */
++ CINIT(CHUNK_BGN_FUNCTION, FUNCTIONPOINT, 198),
++
++ /* Directory matching callback called after the file (chunk)
++ was downloaded, or skipped */
++ CINIT(CHUNK_END_FUNCTION, FUNCTIONPOINT, 199),
++
++ /* Change match (fnmatch-like) callback for wildcard matching */
++ CINIT(FNMATCH_FUNCTION, FUNCTIONPOINT, 200),
++
++ /* Let the application define custom chunk data pointer */
++ CINIT(CHUNK_DATA, OBJECTPOINT, 201),
++
++ /* FNMATCH_FUNCTION user pointer */
++ CINIT(FNMATCH_DATA, OBJECTPOINT, 202),
++
++ /* send linked-list of name:port:address sets */
++ CINIT(RESOLVE, OBJECTPOINT, 203),
++
++ /* Set a username for authenticated TLS */
++ CINIT(TLSAUTH_USERNAME, STRINGPOINT, 204),
++
++ /* Set a password for authenticated TLS */
++ CINIT(TLSAUTH_PASSWORD, STRINGPOINT, 205),
++
++ /* Set authentication type for authenticated TLS */
++ CINIT(TLSAUTH_TYPE, STRINGPOINT, 206),
++
++ /* Set to 1 to enable the "TE:" header in HTTP requests to ask for
++ compressed transfer-encoded responses. Set to 0 to disable the use of TE:
++ in outgoing requests. The current default is 0, but it might change in a
++ future libcurl release.
++
++ libcurl will ask for the compressed methods it knows of, and if that
++ isn't any, it will not ask for transfer-encoding at all even if this
++ option is set to 1.
++
++ */
++ CINIT(TRANSFER_ENCODING, LONG, 207),
++
++ /* Callback function for closing socket (instead of close(2)). The callback
++ should have type curl_closesocket_callback */
++ CINIT(CLOSESOCKETFUNCTION, FUNCTIONPOINT, 208),
++ CINIT(CLOSESOCKETDATA, OBJECTPOINT, 209),
++
++ /* allow GSSAPI credential delegation */
++ CINIT(GSSAPI_DELEGATION, LONG, 210),
++
++ /* Set the name servers to use for DNS resolution */
++ CINIT(DNS_SERVERS, STRINGPOINT, 211),
++
++ /* Time-out accept operations (currently for FTP only) after this amount
++ of milliseconds. */
++ CINIT(ACCEPTTIMEOUT_MS, LONG, 212),
++
++ /* Set TCP keepalive */
++ CINIT(TCP_KEEPALIVE, LONG, 213),
++
++ /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */
++ CINIT(TCP_KEEPIDLE, LONG, 214),
++ CINIT(TCP_KEEPINTVL, LONG, 215),
++
++ /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */
++ CINIT(SSL_OPTIONS, LONG, 216),
++
++ /* Set the SMTP auth originator */
++ CINIT(MAIL_AUTH, STRINGPOINT, 217),
++
++ /* Enable/disable SASL initial response */
++ CINIT(SASL_IR, LONG, 218),
++
++ /* Function that will be called instead of the internal progress display
++ * function. This function should be defined as the curl_xferinfo_callback
++ * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */
++ CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219),
++
++ /* The XOAUTH2 bearer token */
++ CINIT(XOAUTH2_BEARER, STRINGPOINT, 220),
++
++ /* Set the interface string to use as outgoing network
++ * interface for DNS requests.
++ * Only supported by the c-ares DNS backend */
++ CINIT(DNS_INTERFACE, STRINGPOINT, 221),
++
++ /* Set the local IPv4 address to use for outgoing DNS requests.
++ * Only supported by the c-ares DNS backend */
++ CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222),
++
++ /* Set the local IPv6 address to use for outgoing DNS requests.
++ * Only supported by the c-ares DNS backend */
++ CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223),
++
++ /* Set authentication options directly */
++ CINIT(LOGIN_OPTIONS, STRINGPOINT, 224),
++
++ /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */
++ CINIT(SSL_ENABLE_NPN, LONG, 225),
++
++ /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */
++ CINIT(SSL_ENABLE_ALPN, LONG, 226),
++
++ /* Time to wait for a response to a HTTP request containing an
++ * Expect: 100-continue header before sending the data anyway. */
++ CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227),
++
++ /* This points to a linked list of headers used for proxy requests only,
++ struct curl_slist kind */
++ CINIT(PROXYHEADER, OBJECTPOINT, 228),
++
++ /* Pass in a bitmask of "header options" */
++ CINIT(HEADEROPT, LONG, 229),
++
++ /* The public key in DER form used to validate the peer public key
++ this option is used only if SSL_VERIFYPEER is true */
++ CINIT(PINNEDPUBLICKEY, STRINGPOINT, 230),
++
++ /* Path to Unix domain socket */
++ CINIT(UNIX_SOCKET_PATH, STRINGPOINT, 231),
++
++ /* Set if we should verify the certificate status. */
++ CINIT(SSL_VERIFYSTATUS, LONG, 232),
++
++ /* Set if we should enable TLS false start. */
++ CINIT(SSL_FALSESTART, LONG, 233),
++
++ /* Do not squash dot-dot sequences */
++ CINIT(PATH_AS_IS, LONG, 234),
++
++ /* Proxy Service Name */
++ CINIT(PROXY_SERVICE_NAME, STRINGPOINT, 235),
++
++ /* Service Name */
++ CINIT(SERVICE_NAME, STRINGPOINT, 236),
++
++ /* Wait/don't wait for pipe/mutex to clarify */
++ CINIT(PIPEWAIT, LONG, 237),
++
++ /* Set the protocol used when curl is given a URL without a protocol */
++ CINIT(DEFAULT_PROTOCOL, STRINGPOINT, 238),
++
++ /* Set stream weight, 1 - 256 (default is 16) */
++ CINIT(STREAM_WEIGHT, LONG, 239),
++
++ /* Set stream dependency on another CURL handle */
++ CINIT(STREAM_DEPENDS, OBJECTPOINT, 240),
++
++ /* Set E-xclusive stream dependency on another CURL handle */
++ CINIT(STREAM_DEPENDS_E, OBJECTPOINT, 241),
++
++ /* Do not send any tftp option requests to the server */
++ CINIT(TFTP_NO_OPTIONS, LONG, 242),
++
++ /* Linked-list of host:port:connect-to-host:connect-to-port,
++ overrides the URL's host:port (only for the network layer) */
++ CINIT(CONNECT_TO, OBJECTPOINT, 243),
++
++ /* Set TCP Fast Open */
++ CINIT(TCP_FASTOPEN, LONG, 244),
++
++ /* Continue to send data if the server responds early with an
++ * HTTP status code >= 300 */
++ CINIT(KEEP_SENDING_ON_ERROR, LONG, 245),
++
++ /* The CApath or CAfile used to validate the proxy certificate
++ this option is used only if PROXY_SSL_VERIFYPEER is true */
++ CINIT(PROXY_CAINFO, STRINGPOINT, 246),
++
++ /* The CApath directory used to validate the proxy certificate
++ this option is used only if PROXY_SSL_VERIFYPEER is true */
++ CINIT(PROXY_CAPATH, STRINGPOINT, 247),
++
++ /* Set if we should verify the proxy in ssl handshake,
++ set 1 to verify. */
++ CINIT(PROXY_SSL_VERIFYPEER, LONG, 248),
++
++ /* Set if we should verify the Common name from the proxy certificate in ssl
++ * handshake, set 1 to check existence, 2 to ensure that it matches
++ * the provided hostname. */
++ CINIT(PROXY_SSL_VERIFYHOST, LONG, 249),
++
++ /* What version to specifically try to use for proxy.
++ See CURL_SSLVERSION defines below. */
++ CINIT(PROXY_SSLVERSION, LONG, 250),
++
++ /* Set a username for authenticated TLS for proxy */
++ CINIT(PROXY_TLSAUTH_USERNAME, STRINGPOINT, 251),
++
++ /* Set a password for authenticated TLS for proxy */
++ CINIT(PROXY_TLSAUTH_PASSWORD, STRINGPOINT, 252),
++
++ /* Set authentication type for authenticated TLS for proxy */
++ CINIT(PROXY_TLSAUTH_TYPE, STRINGPOINT, 253),
++
++ /* name of the file keeping your private SSL-certificate for proxy */
++ CINIT(PROXY_SSLCERT, STRINGPOINT, 254),
++
++ /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for
++ proxy */
++ CINIT(PROXY_SSLCERTTYPE, STRINGPOINT, 255),
++
++ /* name of the file keeping your private SSL-key for proxy */
++ CINIT(PROXY_SSLKEY, STRINGPOINT, 256),
++
++ /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for
++ proxy */
++ CINIT(PROXY_SSLKEYTYPE, STRINGPOINT, 257),
++
++ /* password for the SSL private key for proxy */
++ CINIT(PROXY_KEYPASSWD, STRINGPOINT, 258),
++
++ /* Specify which SSL ciphers to use for proxy */
++ CINIT(PROXY_SSL_CIPHER_LIST, STRINGPOINT, 259),
++
++ /* CRL file for proxy */
++ CINIT(PROXY_CRLFILE, STRINGPOINT, 260),
++
++ /* Enable/disable specific SSL features with a bitmask for proxy, see
++ CURLSSLOPT_* */
++ CINIT(PROXY_SSL_OPTIONS, LONG, 261),
++
++ /* Name of pre proxy to use. */
++ CINIT(PRE_PROXY, STRINGPOINT, 262),
++
++ /* The public key in DER form used to validate the proxy public key
++ this option is used only if PROXY_SSL_VERIFYPEER is true */
++ CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 263),
++
++ /* Path to an abstract Unix domain socket */
++ CINIT(ABSTRACT_UNIX_SOCKET, STRINGPOINT, 264),
++
++ /* Suppress proxy CONNECT response headers from user callbacks */
++ CINIT(SUPPRESS_CONNECT_HEADERS, LONG, 265),
++
++ /* The request target, instead of extracted from the URL */
++ CINIT(REQUEST_TARGET, STRINGPOINT, 266),
++
++ /* bitmask of allowed auth methods for connections to SOCKS5 proxies */
++ CINIT(SOCKS5_AUTH, LONG, 267),
++
++ /* Enable/disable SSH compression */
++ CINIT(SSH_COMPRESSION, LONG, 268),
++
++ /* Post MIME data. */
++ CINIT(MIMEPOST, OBJECTPOINT, 269),
++
++ /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of
++ seconds since 1 Jan 1970. */
++ CINIT(TIMEVALUE_LARGE, OFF_T, 270),
++
++ /* Head start in milliseconds to give happy eyeballs. */
++ CINIT(HAPPY_EYEBALLS_TIMEOUT_MS, LONG, 271),
++
++ /* Function that will be called before a resolver request is made */
++ CINIT(RESOLVER_START_FUNCTION, FUNCTIONPOINT, 272),
++
++ /* User data to pass to the resolver start callback. */
++ CINIT(RESOLVER_START_DATA, OBJECTPOINT, 273),
++
++ /* send HAProxy PROXY protocol header? */
++ CINIT(HAPROXYPROTOCOL, LONG, 274),
++
++ /* shuffle addresses before use when DNS returns multiple */
++ CINIT(DNS_SHUFFLE_ADDRESSES, LONG, 275),
++
++ /* Specify which TLS 1.3 ciphers suites to use */
++ CINIT(TLS13_CIPHERS, STRINGPOINT, 276),
++ CINIT(PROXY_TLS13_CIPHERS, STRINGPOINT, 277),
++
++ /* Disallow specifying username/login in URL. */
++ CINIT(DISALLOW_USERNAME_IN_URL, LONG, 278),
++
++ /* DNS-over-HTTPS URL */
++ CINIT(DOH_URL, STRINGPOINT, 279),
++
++ /* Preferred buffer size to use for uploads */
++ CINIT(UPLOAD_BUFFERSIZE, LONG, 280),
++
++ /* Time in ms between connection upkeep calls for long-lived connections. */
++ CINIT(UPKEEP_INTERVAL_MS, LONG, 281),
++
++ /* Specify URL using CURL URL API. */
++ CINIT(CURLU, OBJECTPOINT, 282),
++
++ /* add trailing data just after no more data is available */
++ CINIT(TRAILERFUNCTION, FUNCTIONPOINT, 283),
++
++ /* pointer to be passed to HTTP_TRAILER_FUNCTION */
++ CINIT(TRAILERDATA, OBJECTPOINT, 284),
++
++ /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */
++ CINIT(HTTP09_ALLOWED, LONG, 285),
++
++ /* alt-svc control bitmask */
++ CINIT(ALTSVC_CTRL, LONG, 286),
++
++ /* alt-svc cache file name to possibly read from/write to */
++ CINIT(ALTSVC, STRINGPOINT, 287),
++
+ CURLOPT_LASTENTRY /* the last unused */
+ } CURLoption;
+
+ #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
+ the obsolete stuff removed! */
+
+ /* Backwards compatibility with older names */
+ /* These are scheduled to disappear by 2011 */
+@@ -1311,81 +1949,260 @@ typedef enum {
+ #endif
+
+
+ /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host
+ name resolves addresses using more than one IP protocol version, this
+ option might be handy to force libcurl to use a specific IP version. */
+ #define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP
+ versions that your system allows */
+-#define CURL_IPRESOLVE_V4 1 /* resolve to ipv4 addresses */
+-#define CURL_IPRESOLVE_V6 2 /* resolve to ipv6 addresses */
++#define CURL_IPRESOLVE_V4 1 /* resolve to IPv4 addresses */
++#define CURL_IPRESOLVE_V6 2 /* resolve to IPv6 addresses */
+
+ /* three convenient "aliases" that follow the name scheme better */
+-#define CURLOPT_WRITEDATA CURLOPT_FILE
+-#define CURLOPT_READDATA CURLOPT_INFILE
+-#define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER
++#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
+
+ /* These enums are for use with the CURLOPT_HTTP_VERSION option. */
+ enum {
+ CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd
+ like the library to choose the best possible
+ for us! */
+ CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */
+ CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */
++ CURL_HTTP_VERSION_2_0, /* please use HTTP 2 in the request */
++ CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */
++ CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, /* please use HTTP 2 without HTTP/1.1
++ Upgrade */
+
+ CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
+ };
+
++/* Convenience definition simple because the name of the version is HTTP/2 and
++ not 2.0. The 2_0 version of the enum name was set while the version was
++ still planned to be 2.0 and we stick to it for compatibility. */
++#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0
++
++/*
++ * Public API enums for RTSP requests
++ */
++enum {
++ CURL_RTSPREQ_NONE, /* first in list */
++ CURL_RTSPREQ_OPTIONS,
++ CURL_RTSPREQ_DESCRIBE,
++ CURL_RTSPREQ_ANNOUNCE,
++ CURL_RTSPREQ_SETUP,
++ CURL_RTSPREQ_PLAY,
++ CURL_RTSPREQ_PAUSE,
++ CURL_RTSPREQ_TEARDOWN,
++ CURL_RTSPREQ_GET_PARAMETER,
++ CURL_RTSPREQ_SET_PARAMETER,
++ CURL_RTSPREQ_RECORD,
++ CURL_RTSPREQ_RECEIVE,
++ CURL_RTSPREQ_LAST /* last in list */
++};
++
+ /* These enums are for use with the CURLOPT_NETRC option. */
+ enum CURL_NETRC_OPTION {
+ CURL_NETRC_IGNORED, /* The .netrc will never be read.
+ * This is the default. */
+ CURL_NETRC_OPTIONAL, /* A user:password in the URL will be preferred
+ * to one in the .netrc. */
+ CURL_NETRC_REQUIRED, /* A user:password in the URL will be ignored.
+ * Unless one is set programmatically, the .netrc
+ * will be queried. */
+ CURL_NETRC_LAST
+ };
+
+ enum {
+ CURL_SSLVERSION_DEFAULT,
+- CURL_SSLVERSION_TLSv1,
++ CURL_SSLVERSION_TLSv1, /* TLS 1.x */
+ CURL_SSLVERSION_SSLv2,
+ CURL_SSLVERSION_SSLv3,
++ CURL_SSLVERSION_TLSv1_0,
++ CURL_SSLVERSION_TLSv1_1,
++ CURL_SSLVERSION_TLSv1_2,
++ CURL_SSLVERSION_TLSv1_3,
+
+ CURL_SSLVERSION_LAST /* never use, keep last */
+ };
+
++enum {
++ CURL_SSLVERSION_MAX_NONE = 0,
++ CURL_SSLVERSION_MAX_DEFAULT = (CURL_SSLVERSION_TLSv1 << 16),
++ CURL_SSLVERSION_MAX_TLSv1_0 = (CURL_SSLVERSION_TLSv1_0 << 16),
++ CURL_SSLVERSION_MAX_TLSv1_1 = (CURL_SSLVERSION_TLSv1_1 << 16),
++ CURL_SSLVERSION_MAX_TLSv1_2 = (CURL_SSLVERSION_TLSv1_2 << 16),
++ CURL_SSLVERSION_MAX_TLSv1_3 = (CURL_SSLVERSION_TLSv1_3 << 16),
++
++ /* never use, keep last */
++ CURL_SSLVERSION_MAX_LAST = (CURL_SSLVERSION_LAST << 16)
++};
++
++enum CURL_TLSAUTH {
++ CURL_TLSAUTH_NONE,
++ CURL_TLSAUTH_SRP,
++ CURL_TLSAUTH_LAST /* never use, keep last */
++};
++
+ /* symbols to use with CURLOPT_POSTREDIR.
+- CURL_REDIR_POST_301 and CURL_REDIR_POST_302 can be bitwise ORed so that
+- CURL_REDIR_POST_301 | CURL_REDIR_POST_302 == CURL_REDIR_POST_ALL */
++ CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303
++ can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302
++ | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */
+
+ #define CURL_REDIR_GET_ALL 0
+ #define CURL_REDIR_POST_301 1
+ #define CURL_REDIR_POST_302 2
+-#define CURL_REDIR_POST_ALL (CURL_REDIR_POST_301|CURL_REDIR_POST_302)
++#define CURL_REDIR_POST_303 4
++#define CURL_REDIR_POST_ALL \
++ (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
+
+ typedef enum {
+ CURL_TIMECOND_NONE,
+
+ CURL_TIMECOND_IFMODSINCE,
+ CURL_TIMECOND_IFUNMODSINCE,
+ CURL_TIMECOND_LASTMOD,
+
+ CURL_TIMECOND_LAST
+ } curl_TimeCond;
+
++/* Special size_t value signaling a zero-terminated string. */
++#define CURL_ZERO_TERMINATED ((size_t) -1)
+
+ /* curl_strequal() and curl_strnequal() are subject for removal in a future
+- libcurl, see lib/README.curlx for details */
+-CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2);
+-CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n);
+-
++ release */
++CURL_EXTERN int curl_strequal(const char *s1, const char *s2);
++CURL_EXTERN int curl_strnequal(const char *s1, const char *s2, size_t n);
++
++/* Mime/form handling support. */
++typedef struct curl_mime_s curl_mime; /* Mime context. */
++typedef struct curl_mimepart_s curl_mimepart; /* Mime part context. */
++
++/*
++ * NAME curl_mime_init()
++ *
++ * DESCRIPTION
++ *
++ * Create a mime context and return its handle. The easy parameter is the
++ * target handle.
++ */
++CURL_EXTERN curl_mime *curl_mime_init(CURL *easy);
++
++/*
++ * NAME curl_mime_free()
++ *
++ * DESCRIPTION
++ *
++ * release a mime handle and its substructures.
++ */
++CURL_EXTERN void curl_mime_free(curl_mime *mime);
++
++/*
++ * NAME curl_mime_addpart()
++ *
++ * DESCRIPTION
++ *
++ * Append a new empty part to the given mime context and return a handle to
++ * the created part.
++ */
++CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime);
++
++/*
++ * NAME curl_mime_name()
++ *
++ * DESCRIPTION
++ *
++ * Set mime/form part name.
++ */
++CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name);
++
++/*
++ * NAME curl_mime_filename()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part remote file name.
++ */
++CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part,
++ const char *filename);
++
++/*
++ * NAME curl_mime_type()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part type.
++ */
++CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype);
++
++/*
++ * NAME curl_mime_encoder()
++ *
++ * DESCRIPTION
++ *
++ * Set mime data transfer encoder.
++ */
++CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part,
++ const char *encoding);
++
++/*
++ * NAME curl_mime_data()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part data source from memory data,
++ */
++CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part,
++ const char *data, size_t datasize);
++
++/*
++ * NAME curl_mime_filedata()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part data source from named file.
++ */
++CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part,
++ const char *filename);
++
++/*
++ * NAME curl_mime_data_cb()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part data source from callback function.
++ */
++CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part,
++ curl_off_t datasize,
++ curl_read_callback readfunc,
++ curl_seek_callback seekfunc,
++ curl_free_callback freefunc,
++ void *arg);
++
++/*
++ * NAME curl_mime_subparts()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part data source from subparts.
++ */
++CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part,
++ curl_mime *subparts);
++/*
++ * NAME curl_mime_headers()
++ *
++ * DESCRIPTION
++ *
++ * Set mime part headers.
++ */
++CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part,
++ struct curl_slist *headers,
++ int take_ownership);
++
++/* Old form API. */
+ /* name is uppercase CURLFORM_<name> */
+ #ifdef CFINIT
+ #undef CFINIT
+ #endif
+
+ #ifdef CURL_ISOCPP
+ #define CFINIT(name) CURLFORM_ ## name
+ #else
+@@ -1414,16 +2231,17 @@ typedef enum {
+
+ CFINIT(CONTENTTYPE),
+ CFINIT(CONTENTHEADER),
+ CFINIT(FILENAME),
+ CFINIT(END),
+ CFINIT(OBSOLETE2),
+
+ CFINIT(STREAM),
++ CFINIT(CONTENTLEN), /* added in 7.46.0, provide a curl_off_t length */
+
+ CURLFORM_LASTENTRY /* the last unused */
+ } CURLformoption;
+
+ #undef CFINIT /* done */
+
+ /* structure to be used as parameter for CURLFORM_ARRAY */
+ struct curl_forms {
+@@ -1477,17 +2295,18 @@ CURL_EXTERN CURLFORMcode curl_formadd(st
+ /*
+ * callback function for curl_formget()
+ * The void *arg pointer will be the one passed as second argument to
+ * curl_formget().
+ * The character buffer passed to it must not be freed.
+ * Should return the buffer length passed to it as the argument "len" on
+ * success.
+ */
+-typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len);
++typedef size_t (*curl_formget_callback)(void *arg, const char *buf,
++ size_t len);
+
+ /*
+ * NAME curl_formget()
+ *
+ * DESCRIPTION
+ *
+ * Serialize a curl_httppost struct built with curl_formadd().
+ * Accepts a void pointer as second argument which will be passed to
+@@ -1616,16 +2435,57 @@ CURL_EXTERN void curl_global_cleanup(voi
+
+ /* linked-list structure for the CURLOPT_QUOTE option (and other) */
+ struct curl_slist {
+ char *data;
+ struct curl_slist *next;
+ };
+
+ /*
++ * NAME curl_global_sslset()
++ *
++ * DESCRIPTION
++ *
++ * When built with multiple SSL backends, curl_global_sslset() allows to
++ * choose one. This function can only be called once, and it must be called
++ * *before* curl_global_init().
++ *
++ * The backend can be identified by the id (e.g. CURLSSLBACKEND_OPENSSL). The
++ * backend can also be specified via the name parameter (passing -1 as id).
++ * If both id and name are specified, the name will be ignored. If neither id
++ * nor name are specified, the function will fail with
++ * CURLSSLSET_UNKNOWN_BACKEND and set the "avail" pointer to the
++ * NULL-terminated list of available backends.
++ *
++ * Upon success, the function returns CURLSSLSET_OK.
++ *
++ * If the specified SSL backend is not available, the function returns
++ * CURLSSLSET_UNKNOWN_BACKEND and sets the "avail" pointer to a NULL-terminated
++ * list of available SSL backends.
++ *
++ * The SSL backend can be set only once. If it has already been set, a
++ * subsequent attempt to change it will result in a CURLSSLSET_TOO_LATE.
++ */
++
++typedef struct {
++ curl_sslbackend id;
++ const char *name;
++} curl_ssl_backend;
++
++typedef enum {
++ CURLSSLSET_OK = 0,
++ CURLSSLSET_UNKNOWN_BACKEND,
++ CURLSSLSET_TOO_LATE,
++ CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */
++} CURLsslset;
++
++CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
++ const curl_ssl_backend ***avail);
++
++/*
+ * NAME curl_slist_append()
+ *
+ * DESCRIPTION
+ *
+ * Appends a string to a linked list. If no list exists, it will be created
+ * first. Returns the new list, after appending.
+ */
+ CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *,
+@@ -1655,41 +2515,59 @@ CURL_EXTERN time_t curl_getdate(const ch
+ for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */
+ struct curl_certinfo {
+ int num_of_certs; /* number of certificates with information */
+ struct curl_slist **certinfo; /* for each index in this array, there's a
+ linked list with textual information in the
+ format "name: value" */
+ };
+
++/* Information about the SSL library used and the respective internal SSL
++ handle, which can be used to obtain further information regarding the
++ connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */
++struct curl_tlssessioninfo {
++ curl_sslbackend backend;
++ void *internals;
++};
++
+ #define CURLINFO_STRING 0x100000
+ #define CURLINFO_LONG 0x200000
+ #define CURLINFO_DOUBLE 0x300000
+ #define CURLINFO_SLIST 0x400000
++#define CURLINFO_PTR 0x400000 /* same as SLIST */
++#define CURLINFO_SOCKET 0x500000
++#define CURLINFO_OFF_T 0x600000
+ #define CURLINFO_MASK 0x0fffff
+ #define CURLINFO_TYPEMASK 0xf00000
+
+ typedef enum {
+ CURLINFO_NONE, /* first, never use this */
+ CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1,
+ CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2,
+ CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3,
+ CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4,
+ CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5,
+ CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
+ CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7,
++ CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7,
+ CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8,
++ CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8,
+ CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9,
++ CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9,
+ CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10,
++ CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 10,
+ CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11,
+ CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12,
+ CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13,
+ CURLINFO_FILETIME = CURLINFO_LONG + 14,
++ CURLINFO_FILETIME_T = CURLINFO_OFF_T + 14,
+ CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15,
++ CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15,
+ CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16,
++ CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 16,
+ CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
+ CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18,
+ CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
+ CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
+ CURLINFO_PRIVATE = CURLINFO_STRING + 21,
+ CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,
+ CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,
+ CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,
+@@ -1697,21 +2575,45 @@ typedef enum {
+ CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26,
+ CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27,
+ CURLINFO_COOKIELIST = CURLINFO_SLIST + 28,
+ CURLINFO_LASTSOCKET = CURLINFO_LONG + 29,
+ CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30,
+ CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31,
+ CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32,
+ CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33,
+- CURLINFO_CERTINFO = CURLINFO_SLIST + 34,
++ CURLINFO_CERTINFO = CURLINFO_PTR + 34,
+ CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35,
++ CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36,
++ CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37,
++ CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG + 38,
++ CURLINFO_RTSP_CSEQ_RECV = CURLINFO_LONG + 39,
++ CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40,
++ CURLINFO_LOCAL_IP = CURLINFO_STRING + 41,
++ CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42,
++ CURLINFO_TLS_SESSION = CURLINFO_PTR + 43,
++ CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
++ CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45,
++ CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46,
++ CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
++ CURLINFO_PROTOCOL = CURLINFO_LONG + 48,
++ CURLINFO_SCHEME = CURLINFO_STRING + 49,
+ /* Fill in new entries below here! */
+
+- CURLINFO_LASTONE = 35
++ /* Preferably these would be defined conditionally based on the
++ sizeof curl_off_t being 64-bits */
++ CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
++ CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
++ CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
++ CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
++ CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
++ CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
++ CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
++
++ CURLINFO_LASTONE = 56
+ } CURLINFO;
+
+ /* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
+ CURLINFO_HTTP_CODE */
+ #define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE
+
+ typedef enum {
+ CURLCLOSEPOLICY_NONE, /* first, never use this */
+@@ -1720,21 +2622,22 @@ typedef enum {
+ CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
+ CURLCLOSEPOLICY_LEAST_TRAFFIC,
+ CURLCLOSEPOLICY_SLOWEST,
+ CURLCLOSEPOLICY_CALLBACK,
+
+ CURLCLOSEPOLICY_LAST /* last, never use this */
+ } curl_closepolicy;
+
+-#define CURL_GLOBAL_SSL (1<<0)
++#define CURL_GLOBAL_SSL (1<<0) /* no purpose since since 7.57.0 */
+ #define CURL_GLOBAL_WIN32 (1<<1)
+ #define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
+ #define CURL_GLOBAL_NOTHING 0
+ #define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
++#define CURL_GLOBAL_ACK_EINTR (1<<2)
+
+
+ /*****************************************************************************
+ * Setup defines, protos etc for the sharing stuff.
+ */
+
+ /* Different data locks for a single share */
+ typedef enum {
+@@ -1743,16 +2646,17 @@ typedef enum {
+ * the locking is just made to change the internal state of the share
+ * itself.
+ */
+ CURL_LOCK_DATA_SHARE,
+ CURL_LOCK_DATA_COOKIE,
+ CURL_LOCK_DATA_DNS,
+ CURL_LOCK_DATA_SSL_SESSION,
+ CURL_LOCK_DATA_CONNECT,
++ CURL_LOCK_DATA_PSL,
+ CURL_LOCK_DATA_LAST
+ } curl_lock_data;
+
+ /* Different lock access types */
+ typedef enum {
+ CURL_LOCK_ACCESS_NONE = 0, /* unspecified action */
+ CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */
+ CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */
+@@ -1762,25 +2666,25 @@ typedef enum {
+ typedef void (*curl_lock_function)(CURL *handle,
+ curl_lock_data data,
+ curl_lock_access locktype,
+ void *userptr);
+ typedef void (*curl_unlock_function)(CURL *handle,
+ curl_lock_data data,
+ void *userptr);
+
+-typedef void CURLSH;
+
+ typedef enum {
+ CURLSHE_OK, /* all is fine */
+ CURLSHE_BAD_OPTION, /* 1 */
+ CURLSHE_IN_USE, /* 2 */
+ CURLSHE_INVALID, /* 3 */
+- CURLSHE_NOMEM, /* out of memory */
+- CURLSHE_LAST /* never use */
++ CURLSHE_NOMEM, /* 4 out of memory */
++ CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */
++ CURLSHE_LAST /* never use */
+ } CURLSHcode;
+
+ typedef enum {
+ CURLSHOPT_NONE, /* don't use */
+ CURLSHOPT_SHARE, /* specify a data type to share */
+ CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */
+ CURLSHOPT_LOCKFUNC, /* pass in a 'curl_lock_function' pointer */
+ CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */
+@@ -1797,25 +2701,26 @@ CURL_EXTERN CURLSHcode curl_share_cleanu
+ * Structures for querying information about the curl library at runtime.
+ */
+
+ typedef enum {
+ CURLVERSION_FIRST,
+ CURLVERSION_SECOND,
+ CURLVERSION_THIRD,
+ CURLVERSION_FOURTH,
++ CURLVERSION_FIFTH,
+ CURLVERSION_LAST /* never actually use this */
+ } CURLversion;
+
+ /* The 'CURLVERSION_NOW' is the symbolic name meant to be used by
+ basically all programs ever that want to get version information. It is
+ meant to be a built-in version number for what kind of struct the caller
+ expects. If the struct ever changes, we redefine the NOW to another enum
+ from above. */
+-#define CURLVERSION_NOW CURLVERSION_FOURTH
++#define CURLVERSION_NOW CURLVERSION_FIFTH
+
+ typedef struct {
+ CURLversion age; /* age of the returned struct */
+ const char *version; /* LIBCURL_VERSION */
+ unsigned int version_num; /* LIBCURL_VERSION_NUM */
+ const char *host; /* OS/host/cpu/machine when configured */
+ int features; /* bitmask, see defines below */
+ const char *ssl_version; /* human readable string */
+@@ -1833,34 +2738,56 @@ typedef struct {
+
+ /* These field were added in CURLVERSION_FOURTH */
+
+ /* Same as '_libiconv_version' if built with HAVE_ICONV */
+ int iconv_ver_num;
+
+ const char *libssh_version; /* human readable string */
+
++ /* These fields were added in CURLVERSION_FIFTH */
++
++ unsigned int brotli_ver_num; /* Numeric Brotli version
++ (MAJOR << 24) | (MINOR << 12) | PATCH */
++ const char *brotli_version; /* human readable string. */
++
+ } curl_version_info_data;
+
+-#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */
+-#define CURL_VERSION_KERBEROS4 (1<<1) /* kerberos auth is supported */
+-#define CURL_VERSION_SSL (1<<2) /* SSL options are present */
+-#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
+-#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
+-#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth support */
+-#define CURL_VERSION_DEBUG (1<<6) /* built with debug capabilities */
+-#define CURL_VERSION_ASYNCHDNS (1<<7) /* asynchronous dns resolves */
+-#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth */
+-#define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
+-#define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
+-#define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
+-#define CURL_VERSION_CONV (1<<12) /* character conversions supported */
+-#define CURL_VERSION_CURLDEBUG (1<<13) /* debug memory tracking supported */
+-
+-/*
++#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */
++#define CURL_VERSION_KERBEROS4 (1<<1) /* Kerberos V4 auth is supported
++ (deprecated) */
++#define CURL_VERSION_SSL (1<<2) /* SSL options are present */
++#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
++#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
++#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth is supported
++ (deprecated) */
++#define CURL_VERSION_DEBUG (1<<6) /* Built with debug capabilities */
++#define CURL_VERSION_ASYNCHDNS (1<<7) /* Asynchronous DNS resolves */
++#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */
++#define CURL_VERSION_LARGEFILE (1<<9) /* Supports files larger than 2GB */
++#define CURL_VERSION_IDN (1<<10) /* Internationized Domain Names are
++ supported */
++#define CURL_VERSION_SSPI (1<<11) /* Built against Windows SSPI */
++#define CURL_VERSION_CONV (1<<12) /* Character conversions supported */
++#define CURL_VERSION_CURLDEBUG (1<<13) /* Debug memory tracking supported */
++#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
++#define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegation to winbind helper
++ is supported */
++#define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */
++#define CURL_VERSION_GSSAPI (1<<17) /* Built against a GSS-API library */
++#define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */
++#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */
++#define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used
++ for cookie domain verification */
++#define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */
++#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */
++#define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */
++#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */
++
++ /*
+ * NAME curl_version_info()
+ *
+ * DESCRIPTION
+ *
+ * This function returns a pointer to a static copy of the version info
+ * struct. See above.
+ */
+ CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
+@@ -1910,16 +2837,17 @@ CURL_EXTERN CURLcode curl_easy_pause(CUR
+ #ifdef __cplusplus
+ }
+ #endif
+
+ /* unfortunately, the easy.h and multi.h include files need options and info
+ stuff before they can be included! */
+ #include "easy.h" /* nothing in curl is fun without the easy stuff */
+ #include "multi.h"
++#include "urlapi.h"
+
+ /* the typechecker doesn't work in C++ (yet) */
+ #if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
+ ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
+ !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
+ #include "typecheck-gcc.h"
+ #else
+ #if defined(__STDC__) && (__STDC__ >= 1)
+diff --git a/src/third_party/curl/curlbuild.h b/src/third_party/curl/curlbuild.h
+deleted file mode 100644
+--- a/src/third_party/curl/curlbuild.h
++++ /dev/null
+@@ -1,203 +0,0 @@
+-/* include/curl/curlbuild.h. Generated from curlbuild.h.in by configure. */
+-#ifndef __CURL_CURLBUILD_H
+-#define __CURL_CURLBUILD_H
+-/***************************************************************************
+- * _ _ ____ _
+- * Project ___| | | | _ \| |
+- * / __| | | | |_) | |
+- * | (__| |_| | _ <| |___
+- * \___|\___/|_| \_\_____|
+- *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+- *
+- * This software is licensed as described in the file COPYING, which
+- * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
+- *
+- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+- * copies of the Software, and permit persons to whom the Software is
+- * furnished to do so, under the terms of the COPYING file.
+- *
+- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+- * KIND, either express or implied.
+- *
+- * $Id: curlbuild.h.in,v 1.8 2009-04-29 15:15:38 yangtse Exp $
+- ***************************************************************************/
+-
+-/* ================================================================ */
+-/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
+-/* ================================================================ */
+-
+-/*
+- * NOTE 1:
+- * -------
+- *
+- * Nothing in this file is intended to be modified or adjusted by the
+- * curl library user nor by the curl library builder.
+- *
+- * If you think that something actually needs to be changed, adjusted
+- * or fixed in this file, then, report it on the libcurl development
+- * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
+- *
+- * This header file shall only export symbols which are 'curl' or 'CURL'
+- * prefixed, otherwise public name space would be polluted.
+- *
+- * NOTE 2:
+- * -------
+- *
+- * Right now you might be staring at file include/curl/curlbuild.h.in or
+- * at file include/curl/curlbuild.h, this is due to the following reason:
+- *
+- * On systems capable of running the configure script, the configure process
+- * will overwrite the distributed include/curl/curlbuild.h file with one that
+- * is suitable and specific to the library being configured and built, which
+- * is generated from the include/curl/curlbuild.h.in template file.
+- *
+- */
+-
+-/* ================================================================ */
+-/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
+-/* ================================================================ */
+-
+-#ifdef CURL_SIZEOF_LONG
+-# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
+-#endif
+-
+-#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
+-# error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
+-#endif
+-
+-#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
+-# error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
+-#endif
+-
+-#ifdef CURL_TYPEOF_CURL_OFF_T
+-# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
+-#endif
+-
+-#ifdef CURL_FORMAT_CURL_OFF_T
+-# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
+-#endif
+-
+-#ifdef CURL_FORMAT_CURL_OFF_TU
+-# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
+-#endif
+-
+-#ifdef CURL_FORMAT_OFF_T
+-# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
+-#endif
+-
+-#ifdef CURL_SIZEOF_CURL_OFF_T
+-# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
+-#endif
+-
+-#ifdef CURL_SUFFIX_CURL_OFF_T
+-# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
+-#endif
+-
+-#ifdef CURL_SUFFIX_CURL_OFF_TU
+-# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
+- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
+-#endif
+-
+-/* ================================================================ */
+-/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
+-/* ================================================================ */
+-
+-/* Configure process defines this to 1 when it finds out that system */
+-/* header file ws2tcpip.h must be included by the external interface. */
+-/* #undef CURL_PULL_WS2TCPIP_H */
+-#ifdef CURL_PULL_WS2TCPIP_H
+-# ifndef WIN32_LEAN_AND_MEAN
+-# define WIN32_LEAN_AND_MEAN
+-# endif
+-# include <windows.h>
+-# include <winsock2.h>
+-# include <ws2tcpip.h>
+-#endif
+-
+-/* Configure process defines this to 1 when it finds out that system */
+-/* header file sys/types.h must be included by the external interface. */
+-#define CURL_PULL_SYS_TYPES_H 1
+-#ifdef CURL_PULL_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-
+-/* Configure process defines this to 1 when it finds out that system */
+-/* header file stdint.h must be included by the external interface. */
+-/* #undef CURL_PULL_STDINT_H */
+-#ifdef CURL_PULL_STDINT_H
+-# include <stdint.h>
+-#endif
+-
+-/* Configure process defines this to 1 when it finds out that system */
+-/* header file inttypes.h must be included by the external interface. */
+-/* #undef CURL_PULL_INTTYPES_H */
+-#ifdef CURL_PULL_INTTYPES_H
+-# include <inttypes.h>
+-#endif
+-
+-/* Configure process defines this to 1 when it finds out that system */
+-/* header file sys/socket.h must be included by the external interface. */
+-#define CURL_PULL_SYS_SOCKET_H 1
+-#ifdef CURL_PULL_SYS_SOCKET_H
+-# include <sys/socket.h>
+-#endif
+-
+-/* The size of `long', as computed by sizeof. */
+-#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \
+- defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) || \
+- defined(__powerpc64__) || defined(__s390x__) || defined(__LP64__)
+-#define CURL_SIZEOF_LONG 8
+-#else
+-#define CURL_SIZEOF_LONG 4
+-#endif
+-
+-/* Integral data type used for curl_socklen_t. */
+-#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-
+-/* The size of `curl_socklen_t', as computed by sizeof. */
+-#define CURL_SIZEOF_CURL_SOCKLEN_T 4
+-
+-/* Data type definition of curl_socklen_t. */
+-typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
+-
+-/* Signed integral data type used for curl_off_t. */
+-#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \
+- defined(__aarch64__)
+-#define CURL_TYPEOF_CURL_OFF_T long
+-#else
+-#define CURL_TYPEOF_CURL_OFF_T int64_t
+-#endif
+-
+-/* Data type definition of curl_off_t. */
+-typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
+-
+-/* curl_off_t formatting string directive without "%" conversion specifier. */
+-#define CURL_FORMAT_CURL_OFF_T "ld"
+-
+-/* unsigned curl_off_t formatting string without "%" conversion specifier. */
+-#define CURL_FORMAT_CURL_OFF_TU "lu"
+-
+-/* curl_off_t formatting string directive with "%" conversion specifier. */
+-#define CURL_FORMAT_OFF_T "%ld"
+-
+-/* The size of `curl_off_t', as computed by sizeof. */
+-#define CURL_SIZEOF_CURL_OFF_T 8
+-
+-/* curl_off_t constant suffix. */
+-#define CURL_SUFFIX_CURL_OFF_T L
+-
+-/* unsigned curl_off_t constant suffix. */
+-#define CURL_SUFFIX_CURL_OFF_TU UL
+-
+-#endif /* __CURL_CURLBUILD_H */
+diff --git a/src/third_party/curl/curlrules.h b/src/third_party/curl/curlrules.h
+deleted file mode 100644
+--- a/src/third_party/curl/curlrules.h
++++ /dev/null
+@@ -1,249 +0,0 @@
+-#ifndef __CURL_CURLRULES_H
+-#define __CURL_CURLRULES_H
+-/***************************************************************************
+- * _ _ ____ _
+- * Project ___| | | | _ \| |
+- * / __| | | | |_) | |
+- * | (__| |_| | _ <| |___
+- * \___|\___/|_| \_\_____|
+- *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+- *
+- * This software is licensed as described in the file COPYING, which
+- * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
+- *
+- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+- * copies of the Software, and permit persons to whom the Software is
+- * furnished to do so, under the terms of the COPYING file.
+- *
+- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+- * KIND, either express or implied.
+- *
+- * $Id: curlrules.h,v 1.7 2009-10-27 16:56:20 yangtse Exp $
+- ***************************************************************************/
+-
+-/* ================================================================ */
+-/* COMPILE TIME SANITY CHECKS */
+-/* ================================================================ */
+-
+-/*
+- * NOTE 1:
+- * -------
+- *
+- * All checks done in this file are intentionally placed in a public
+- * header file which is pulled by curl/curl.h when an application is
+- * being built using an already built libcurl library. Additionally
+- * this file is also included and used when building the library.
+- *
+- * If compilation fails on this file it is certainly sure that the
+- * problem is elsewhere. It could be a problem in the curlbuild.h
+- * header file, or simply that you are using different compilation
+- * settings than those used to build the library.
+- *
+- * Nothing in this file is intended to be modified or adjusted by the
+- * curl library user nor by the curl library builder.
+- *
+- * Do not deactivate any check, these are done to make sure that the
+- * library is properly built and used.
+- *
+- * You can find further help on the libcurl development mailing list:
+- * http://cool.haxx.se/mailman/listinfo/curl-library/
+- *
+- * NOTE 2
+- * ------
+- *
+- * Some of the following compile time checks are based on the fact
+- * that the dimension of a constant array can not be a negative one.
+- * In this way if the compile time verification fails, the compilation
+- * will fail issuing an error. The error description wording is compiler
+- * dependent but it will be quite similar to one of the following:
+- *
+- * "negative subscript or subscript is too large"
+- * "array must have at least one element"
+- * "-1 is an illegal array size"
+- * "size of array is negative"
+- *
+- * If you are building an application which tries to use an already
+- * built libcurl library and you are getting this kind of errors on
+- * this file, it is a clear indication that there is a mismatch between
+- * how the library was built and how you are trying to use it for your
+- * application. Your already compiled or binary library provider is the
+- * only one who can give you the details you need to properly use it.
+- */
+-
+-/*
+- * Verify that some macros are actually defined.
+- */
+-
+-#ifndef CURL_SIZEOF_LONG
+-# error "CURL_SIZEOF_LONG definition is missing!"
+- Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
+-#endif
+-
+-#ifndef CURL_TYPEOF_CURL_SOCKLEN_T
+-# error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
+- Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_is_missing
+-#endif
+-
+-#ifndef CURL_SIZEOF_CURL_SOCKLEN_T
+-# error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
+- Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_is_missing
+-#endif
+-
+-#ifndef CURL_TYPEOF_CURL_OFF_T
+-# error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
+- Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
+-#endif
+-
+-#ifndef CURL_FORMAT_CURL_OFF_T
+-# error "CURL_FORMAT_CURL_OFF_T definition is missing!"
+- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_is_missing
+-#endif
+-
+-#ifndef CURL_FORMAT_CURL_OFF_TU
+-# error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
+- Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
+-#endif
+-
+-#ifndef CURL_FORMAT_OFF_T
+-# error "CURL_FORMAT_OFF_T definition is missing!"
+- Error Compilation_aborted_CURL_FORMAT_OFF_T_is_missing
+-#endif
+-
+-#ifndef CURL_SIZEOF_CURL_OFF_T
+-# error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
+- Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
+-#endif
+-
+-#ifndef CURL_SUFFIX_CURL_OFF_T
+-# error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
+- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_is_missing
+-#endif
+-
+-#ifndef CURL_SUFFIX_CURL_OFF_TU
+-# error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
+- Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_is_missing
+-#endif
+-
+-/*
+- * Macros private to this header file.
+- */
+-
+-#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
+-
+-#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
+-
+-/*
+- * Verify that the size previously defined and expected for long
+- * is the same as the one reported by sizeof() at compile time.
+- */
+-
+-typedef char
+- __curl_rule_01__
+- [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
+-
+-/*
+- * Verify that the size previously defined and expected for
+- * curl_off_t is actually the the same as the one reported
+- * by sizeof() at compile time.
+- */
+-
+-typedef char
+- __curl_rule_02__
+- [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
+-
+-/*
+- * Verify at compile time that the size of curl_off_t as reported
+- * by sizeof() is greater or equal than the one reported for long
+- * for the current compilation.
+- */
+-
+-typedef char
+- __curl_rule_03__
+- [CurlchkszGE(curl_off_t, long)];
+-
+-/*
+- * Verify that the size previously defined and expected for
+- * curl_socklen_t is actually the the same as the one reported
+- * by sizeof() at compile time.
+- */
+-
+-typedef char
+- __curl_rule_04__
+- [CurlchkszEQ(curl_socklen_t, CURL_SIZEOF_CURL_SOCKLEN_T)];
+-
+-/*
+- * Verify at compile time that the size of curl_socklen_t as reported
+- * by sizeof() is greater or equal than the one reported for int for
+- * the current compilation.
+- */
+-
+-typedef char
+- __curl_rule_05__
+- [CurlchkszGE(curl_socklen_t, int)];
+-
+-/* ================================================================ */
+-/* EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS */
+-/* ================================================================ */
+-
+-/*
+- * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
+- * these to be visible and exported by the external libcurl interface API,
+- * while also making them visible to the library internals, simply including
+- * setup.h, without actually needing to include curl.h internally.
+- * If some day this section would grow big enough, all this should be moved
+- * to its own header file.
+- */
+-
+-/*
+- * Figure out if we can use the ## preprocessor operator, which is supported
+- * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
+- * or __cplusplus so we need to carefully check for them too.
+- */
+-
+-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
+- defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
+- defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
+- defined(__ILEC400__)
+- /* This compiler is believed to have an ISO compatible preprocessor */
+-#define CURL_ISOCPP
+-#else
+- /* This compiler is believed NOT to have an ISO compatible preprocessor */
+-#undef CURL_ISOCPP
+-#endif
+-
+-/*
+- * Macros for minimum-width signed and unsigned curl_off_t integer constants.
+- */
+-
+-#ifdef CURL_ISOCPP
+-# define __CURL_OFF_T_C_HELPER2(Val,Suffix) Val ## Suffix
+-#else
+-# define __CURL_OFF_T_C_HELPER2(Val,Suffix) Val/**/Suffix
+-#endif
+-#define __CURL_OFF_T_C_HELPER1(Val,Suffix) __CURL_OFF_T_C_HELPER2(Val,Suffix)
+-#define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HELPER1(Val,CURL_SUFFIX_CURL_OFF_T)
+-#define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HELPER1(Val,CURL_SUFFIX_CURL_OFF_TU)
+-
+-/*
+- * Get rid of macros private to this header file.
+- */
+-
+-#undef CurlchkszEQ
+-#undef CurlchkszGE
+-
+-/*
+- * Get rid of macros not intended to exist beyond this point.
+- */
+-
+-#undef CURL_PULL_WS2TCPIP_H
+-#undef CURL_PULL_SYS_TYPES_H
+-#undef CURL_PULL_SYS_SOCKET_H
+-#undef CURL_PULL_STDINT_H
+-#undef CURL_PULL_INTTYPES_H
+-
+-#undef CURL_TYPEOF_CURL_SOCKLEN_T
+-#undef CURL_TYPEOF_CURL_OFF_T
+-
+-#endif /* __CURL_CURLRULES_H */
+diff --git a/src/third_party/curl/curlver.h b/src/third_party/curl/curlver.h
+--- a/src/third_party/curl/curlver.h
++++ b/src/third_party/curl/curlver.h
+@@ -2,69 +2,76 @@
+ #define __CURL_CURLVER_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
++ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+- * $Id: curlver.h,v 1.48 2009-08-12 11:24:52 bagder Exp $
+ ***************************************************************************/
+
+ /* This header file contains nothing but libcurl version info, generated by
+ a script at release-time. This was made its own header file in 7.11.2 */
+
+ /* This is the global package copyright */
+-#define LIBCURL_COPYRIGHT "1996 - 2009 Daniel Stenberg, <daniel@haxx.se>."
++#define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>."
+
+ /* This is the version number of the libcurl package from which this header
+ file origins: */
+-#define LIBCURL_VERSION "7.19.7"
++#define LIBCURL_VERSION "7.64.1-DEV"
+
+ /* The numeric version number is also available "in parts" by using these
+ defines: */
+ #define LIBCURL_VERSION_MAJOR 7
+-#define LIBCURL_VERSION_MINOR 19
+-#define LIBCURL_VERSION_PATCH 7
++#define LIBCURL_VERSION_MINOR 64
++#define LIBCURL_VERSION_PATCH 1
+
+ /* This is the numeric version of the libcurl version number, meant for easier
+ parsing and comparions by programs. The LIBCURL_VERSION_NUM define will
+ always follow this syntax:
+
+ 0xXXYYZZ
+
+ Where XX, YY and ZZ are the main version, release and patch numbers in
+ hexadecimal (using 8 bits each). All three numbers are always represented
+ using two digits. 1.2 would appear as "0x010200" while version 9.11.7
+ appears as "0x090b07".
+
+ This 6-digit (24 bits) hexadecimal number does not show pre-release number,
+ and it is always a greater number in a more recent release. It makes
+ comparisons with greater than and less than work.
++
++ Note: This define is the full hex number and _does not_ use the
++ CURL_VERSION_BITS() macro since curl's own configure script greps for it
++ and needs it to contain the full number.
+ */
+-#define LIBCURL_VERSION_NUM 0x071307
++#define LIBCURL_VERSION_NUM 0x074001
+
+ /*
+ * This is the date and time when the full source package was created. The
+- * timestamp is not stored in CVS, as the timestamp is properly set in the
++ * timestamp is not stored in git, as the timestamp is properly set in the
+ * tarballs by the maketgz script.
+ *
+- * The format of the date should follow this template:
++ * The format of the date follows this template:
+ *
+- * "Mon Feb 12 11:35:33 UTC 2007"
++ * "2007-11-23"
+ */
+-#define LIBCURL_TIMESTAMP "Wed Nov 4 12:34:59 UTC 2009"
++#define LIBCURL_TIMESTAMP "[unreleased]"
++
++#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
++#define CURL_AT_LEAST_VERSION(x,y,z) \
++ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
+
+ #endif /* __CURL_CURLVER_H */
+diff --git a/src/third_party/curl/easy.h b/src/third_party/curl/easy.h
+--- a/src/third_party/curl/easy.h
++++ b/src/third_party/curl/easy.h
+@@ -2,30 +2,29 @@
+ #define __CURL_EASY_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
++ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+- * $Id: easy.h,v 1.14 2008-05-12 21:43:28 bagder Exp $
+ ***************************************************************************/
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+ CURL_EXTERN CURL *curl_easy_init(void);
+ CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
+ CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
+@@ -49,22 +48,22 @@ CURL_EXTERN CURLcode curl_easy_getinfo(C
+
+ /*
+ * NAME curl_easy_duphandle()
+ *
+ * DESCRIPTION
+ *
+ * Creates a new curl session handle with the same options set for the handle
+ * passed in. Duplicating a handle could only be a matter of cloning data and
+- * options, internal state info and things like persistant connections cannot
+- * be transfered. It is useful in multithreaded applications when you can run
++ * options, internal state info and things like persistent connections cannot
++ * be transferred. It is useful in multithreaded applications when you can run
+ * curl_easy_duphandle() for each new thread to avoid a series of identical
+ * curl_easy_setopt() invokes in every thread.
+ */
+-CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl);
++CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
+
+ /*
+ * NAME curl_easy_reset()
+ *
+ * DESCRIPTION
+ *
+ * Re-initializes a CURL handle to the default values. This puts back the
+ * handle to the same state as it was in when it was just created.
+@@ -91,13 +90,23 @@ CURL_EXTERN CURLcode curl_easy_recv(CURL
+ * DESCRIPTION
+ *
+ * Sends data over the connected socket. Use after successful
+ * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
+ */
+ CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
+ size_t buflen, size_t *n);
+
++
++/*
++ * NAME curl_easy_upkeep()
++ *
++ * DESCRIPTION
++ *
++ * Performs connection upkeep for the given session handle.
++ */
++CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
++
+ #ifdef __cplusplus
+ }
+ #endif
+
+ #endif
+diff --git a/src/third_party/curl/mprintf.h b/src/third_party/curl/mprintf.h
+deleted file mode 100644
+--- a/src/third_party/curl/mprintf.h
++++ /dev/null
+@@ -1,82 +0,0 @@
+-#ifndef __CURL_MPRINTF_H
+-#define __CURL_MPRINTF_H
+-/***************************************************************************
+- * _ _ ____ _
+- * Project ___| | | | _ \| |
+- * / __| | | | |_) | |
+- * | (__| |_| | _ <| |___
+- * \___|\___/|_| \_\_____|
+- *
+- * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
+- *
+- * This software is licensed as described in the file COPYING, which
+- * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
+- *
+- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+- * copies of the Software, and permit persons to whom the Software is
+- * furnished to do so, under the terms of the COPYING file.
+- *
+- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+- * KIND, either express or implied.
+- *
+- * $Id: mprintf.h,v 1.16 2008-05-20 10:21:50 patrickm Exp $
+- ***************************************************************************/
+-
+-#include <stdarg.h>
+-#include <stdio.h> /* needed for FILE */
+-
+-#include "curl.h"
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-CURL_EXTERN int curl_mprintf(const char *format, ...);
+-CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
+-CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
+-CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
+- const char *format, ...);
+-CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
+-CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
+-CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
+-CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
+- const char *format, va_list args);
+-CURL_EXTERN char *curl_maprintf(const char *format, ...);
+-CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
+-
+-#ifdef _MPRINTF_REPLACE
+-# undef printf
+-# undef fprintf
+-# undef sprintf
+-# undef vsprintf
+-# undef snprintf
+-# undef vprintf
+-# undef vfprintf
+-# undef vsnprintf
+-# undef aprintf
+-# undef vaprintf
+-# define printf curl_mprintf
+-# define fprintf curl_mfprintf
+-#ifdef CURLDEBUG
+-/* When built with CURLDEBUG we define away the sprintf() functions since we
+- don't want internal code to be using them */
+-# define sprintf sprintf_was_used
+-# define vsprintf vsprintf_was_used
+-#else
+-# define sprintf curl_msprintf
+-# define vsprintf curl_mvsprintf
+-#endif
+-# define snprintf curl_msnprintf
+-# define vprintf curl_mvprintf
+-# define vfprintf curl_mvfprintf
+-# define vsnprintf curl_mvsnprintf
+-# define aprintf curl_maprintf
+-# define vaprintf curl_mvaprintf
+-#endif
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif /* __CURL_MPRINTF_H */
+diff --git a/src/third_party/curl/multi.h b/src/third_party/curl/multi.h
+--- a/src/third_party/curl/multi.h
++++ b/src/third_party/curl/multi.h
+@@ -2,30 +2,29 @@
+ #define __CURL_MULTI_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
++ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+- * $Id: multi.h,v 1.45 2008-05-20 10:21:50 patrickm Exp $
+ ***************************************************************************/
+ /*
+ This is an "external" header file. Don't give away any internals here!
+
+ GOALS
+
+ o Enable a "pull" interface. The application that uses libcurl decides where
+ and when to ask libcurl to get/send data.
+@@ -48,36 +47,49 @@
+ * but with this warning attached.
+ */
+ #include "curl.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
++#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
++typedef struct Curl_multi CURLM;
++#else
+ typedef void CURLM;
++#endif
+
+ typedef enum {
+ CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
+ curl_multi_socket*() soon */
+ CURLM_OK,
+ CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */
+ CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */
+ CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */
+ CURLM_INTERNAL_ERROR, /* this is a libcurl bug */
+ CURLM_BAD_SOCKET, /* the passed in socket argument did not match */
+ CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */
++ CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was
++ attempted to get added - again */
++ CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a
++ callback */
+ CURLM_LAST
+ } CURLMcode;
+
+ /* just to make code nicer when using curl_multi_socket() you can now check
+ for CURLM_CALL_MULTI_SOCKET too in the same style it works for
+ curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
+ #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
+
++/* bitmask bits for CURLMOPT_PIPELINING */
++#define CURLPIPE_NOTHING 0L
++#define CURLPIPE_HTTP1 1L
++#define CURLPIPE_MULTIPLEX 2L
++
+ typedef enum {
+ CURLMSG_NONE, /* first, not used */
+ CURLMSG_DONE, /* This easy handle has completed. 'result' contains
+ the CURLcode of the transfer */
+ CURLMSG_LAST /* last, not used */
+ } CURLMSG;
+
+ struct CURLMsg {
+@@ -85,16 +97,29 @@ struct CURLMsg {
+ CURL *easy_handle; /* the handle it concerns */
+ union {
+ void *whatever; /* message-specific data */
+ CURLcode result; /* return code for transfer */
+ } data;
+ };
+ typedef struct CURLMsg CURLMsg;
+
++/* Based on poll(2) structure and values.
++ * We don't use pollfd and POLL* constants explicitly
++ * to cover platforms without poll(). */
++#define CURL_WAIT_POLLIN 0x0001
++#define CURL_WAIT_POLLPRI 0x0002
++#define CURL_WAIT_POLLOUT 0x0004
++
++struct curl_waitfd {
++ curl_socket_t fd;
++ short events;
++ short revents; /* not supported yet */
++};
++
+ /*
+ * Name: curl_multi_init()
+ *
+ * Desc: inititalize multi-style curl usage
+ *
+ * Returns: a new CURLM handle to use in all 'curl_multi' functions.
+ */
+ CURL_EXTERN CURLM *curl_multi_init(void);
+@@ -129,31 +154,45 @@ CURL_EXTERN CURLMcode curl_multi_remove_
+ * Returns: CURLMcode type, general multi error code.
+ */
+ CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
+ fd_set *read_fd_set,
+ fd_set *write_fd_set,
+ fd_set *exc_fd_set,
+ int *max_fd);
+
++/*
++ * Name: curl_multi_wait()
++ *
++ * Desc: Poll on all fds within a CURLM set as well as any
++ * additional fds passed to the function.
++ *
++ * Returns: CURLMcode type, general multi error code.
++ */
++CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
++ struct curl_waitfd extra_fds[],
++ unsigned int extra_nfds,
++ int timeout_ms,
++ int *ret);
++
+ /*
+ * Name: curl_multi_perform()
+ *
+ * Desc: When the app thinks there's data available for curl it calls this
+ * function to read/write whatever there is right now. This returns
+ * as soon as the reads and writes are done. This function does not
+ * require that there actually is data available for reading or that
+ * data can be written, it can be called just in case. It returns
+ * the number of handles that still transfer data in the second
+ * argument's integer-pointer.
+ *
+ * Returns: CURLMcode type, general multi error code. *NOTE* that this only
+ * returns errors etc regarding the whole multi stack. There might
+- * still have occurred problems on invidual transfers even when this
+- * returns OK.
++ * still have occurred problems on individual transfers even when
++ * this returns OK.
+ */
+ CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
+ int *running_handles);
+
+ /*
+ * Name: curl_multi_cleanup()
+ *
+ * Desc: Cleans up and removes a whole multi stack. It does not free or
+@@ -176,17 +215,17 @@ CURL_EXTERN CURLMcode curl_multi_cleanup
+ * Repeated calls to this function will return a new struct each
+ * time, until a special "end of msgs" struct is returned as a signal
+ * that there is no more to get at this point.
+ *
+ * The data the returned pointer points to will not survive calling
+ * curl_multi_cleanup().
+ *
+ * The 'CURLMsg' struct is meant to be very simple and only contain
+- * very basic informations. If more involved information is wanted,
++ * very basic information. If more involved information is wanted,
+ * we will provide the particular "transfer handle" in that struct
+ * and that should/could/would be used in subsequent
+ * curl_easy_getinfo() calls (or similar). The point being that we
+ * must never expose complex structs to applications, as then we'll
+ * undoubtably get backwards compatibility problems in the future.
+ *
+ * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out
+ * of structs. It also writes the number of messages left in the
+@@ -307,16 +346,47 @@ typedef enum {
+ CINIT(TIMERFUNCTION, FUNCTIONPOINT, 4),
+
+ /* This is the argument passed to the timer callback */
+ CINIT(TIMERDATA, OBJECTPOINT, 5),
+
+ /* maximum number of entries in the connection cache */
+ CINIT(MAXCONNECTS, LONG, 6),
+
++ /* maximum number of (pipelining) connections to one host */
++ CINIT(MAX_HOST_CONNECTIONS, LONG, 7),
++
++ /* maximum number of requests in a pipeline */
++ CINIT(MAX_PIPELINE_LENGTH, LONG, 8),
++
++ /* a connection with a content-length longer than this
++ will not be considered for pipelining */
++ CINIT(CONTENT_LENGTH_PENALTY_SIZE, OFF_T, 9),
++
++ /* a connection with a chunk length longer than this
++ will not be considered for pipelining */
++ CINIT(CHUNK_LENGTH_PENALTY_SIZE, OFF_T, 10),
++
++ /* a list of site names(+port) that are blacklisted from
++ pipelining */
++ CINIT(PIPELINING_SITE_BL, OBJECTPOINT, 11),
++
++ /* a list of server types that are blacklisted from
++ pipelining */
++ CINIT(PIPELINING_SERVER_BL, OBJECTPOINT, 12),
++
++ /* maximum number of open connections in total */
++ CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13),
++
++ /* This is the server push callback function pointer */
++ CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14),
++
++ /* This is the argument passed to the server push callback */
++ CINIT(PUSHDATA, OBJECTPOINT, 15),
++
+ CURLMOPT_LASTENTRY /* the last unused */
+ } CURLMoption;
+
+
+ /*
+ * Name: curl_multi_setopt()
+ *
+ * Desc: Sets options for the multi handle.
+@@ -334,13 +404,38 @@ CURL_EXTERN CURLMcode curl_multi_setopt(
+ * given socket and a private pointer of the application. This is
+ * (only) useful for curl_multi_socket uses.
+ *
+ * Returns: CURLM error code.
+ */
+ CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
+ curl_socket_t sockfd, void *sockp);
+
++
++/*
++ * Name: curl_push_callback
++ *
++ * Desc: This callback gets called when a new stream is being pushed by the
++ * server. It approves or denies the new stream.
++ *
++ * Returns: CURL_PUSH_OK or CURL_PUSH_DENY.
++ */
++#define CURL_PUSH_OK 0
++#define CURL_PUSH_DENY 1
++
++struct curl_pushheaders; /* forward declaration only */
++
++CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
++ size_t num);
++CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
++ const char *name);
++
++typedef int (*curl_push_callback)(CURL *parent,
++ CURL *easy,
++ size_t num_headers,
++ struct curl_pushheaders *headers,
++ void *userp);
++
+ #ifdef __cplusplus
+ } /* end of extern "C" */
+ #endif
+
+ #endif
+diff --git a/src/third_party/curl/stdcheaders.h b/src/third_party/curl/stdcheaders.h
+deleted file mode 100644
+--- a/src/third_party/curl/stdcheaders.h
++++ /dev/null
+@@ -1,34 +0,0 @@
+-#ifndef __STDC_HEADERS_H
+-#define __STDC_HEADERS_H
+-/***************************************************************************
+- * _ _ ____ _
+- * Project ___| | | | _ \| |
+- * / __| | | | |_) | |
+- * | (__| |_| | _ <| |___
+- * \___|\___/|_| \_\_____|
+- *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+- *
+- * This software is licensed as described in the file COPYING, which
+- * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
+- *
+- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+- * copies of the Software, and permit persons to whom the Software is
+- * furnished to do so, under the terms of the COPYING file.
+- *
+- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+- * KIND, either express or implied.
+- *
+- * $Id: stdcheaders.h,v 1.9 2009-05-18 12:25:45 yangtse Exp $
+- ***************************************************************************/
+-
+-#include <sys/types.h>
+-
+-size_t fread (void *, size_t, size_t, FILE *);
+-size_t fwrite (const void *, size_t, size_t, FILE *);
+-
+-int strcasecmp(const char *, const char *);
+-int strncasecmp(const char *, const char *, size_t);
+-
+-#endif
+diff --git a/src/third_party/curl/system.h b/src/third_party/curl/system.h
+new file mode 100644
+--- /dev/null
++++ b/src/third_party/curl/system.h
+@@ -0,0 +1,493 @@
++#ifndef __CURL_SYSTEM_H
++#define __CURL_SYSTEM_H
++/***************************************************************************
++ * _ _ ____ _
++ * Project ___| | | | _ \| |
++ * / __| | | | |_) | |
++ * | (__| |_| | _ <| |___
++ * \___|\___/|_| \_\_____|
++ *
++ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
++ *
++ * This software is licensed as described in the file COPYING, which
++ * you should have received as part of this distribution. The terms
++ * are also available at https://curl.haxx.se/docs/copyright.html.
++ *
++ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
++ * copies of the Software, and permit persons to whom the Software is
++ * furnished to do so, under the terms of the COPYING file.
++ *
++ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
++ * KIND, either express or implied.
++ *
++ ***************************************************************************/
++
++/*
++ * Try to keep one section per platform, compiler and architecture, otherwise,
++ * if an existing section is reused for a different one and later on the
++ * original is adjusted, probably the piggybacking one can be adversely
++ * changed.
++ *
++ * In order to differentiate between platforms/compilers/architectures use
++ * only compiler built in predefined preprocessor symbols.
++ *
++ * curl_off_t
++ * ----------
++ *
++ * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit
++ * wide signed integral data type. The width of this data type must remain
++ * constant and independent of any possible large file support settings.
++ *
++ * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit
++ * wide signed integral data type if there is no 64-bit type.
++ *
++ * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall
++ * only be violated if off_t is the only 64-bit data type available and the
++ * size of off_t is independent of large file support settings. Keep your
++ * build on the safe side avoiding an off_t gating. If you have a 64-bit
++ * off_t then take for sure that another 64-bit data type exists, dig deeper
++ * and you will find it.
++ *
++ */
++
++#if defined(__DJGPP__) || defined(__GO32__)
++# if defined(__DJGPP__) && (__DJGPP__ > 1)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__SALFORDC__)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__BORLANDC__)
++# if (__BORLANDC__ < 0x520)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# else
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T i64
++# define CURL_SUFFIX_CURL_OFF_TU ui64
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__TURBOC__)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__WATCOMC__)
++# if defined(__386__)
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T i64
++# define CURL_SUFFIX_CURL_OFF_TU ui64
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__POCC__)
++# if (__POCC__ < 280)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# elif defined(_MSC_VER)
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T i64
++# define CURL_SUFFIX_CURL_OFF_TU ui64
++# else
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__LCC__)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__SYMBIAN32__)
++# if defined(__EABI__) /* Treat all ARM compilers equally */
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(__CW32__)
++# pragma longlong on
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(__VC32__)
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
++
++#elif defined(__MWERKS__)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(_WIN32_WCE)
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T i64
++# define CURL_SUFFIX_CURL_OFF_TU ui64
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__MINGW32__)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_WS2TCPIP_H 1
++
++#elif defined(__VMS)
++# if defined(__VAX)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# else
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
++
++#elif defined(__OS400__)
++# if defined(__ILEC400__)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++# endif
++
++#elif defined(__MVS__)
++# if defined(__IBMC__) || defined(__IBMCPP__)
++# if defined(_ILP32)
++# elif defined(_LP64)
++# endif
++# if defined(_LONG_LONG)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(_LP64)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++# endif
++
++#elif defined(__370__)
++# if defined(__IBMC__) || defined(__IBMCPP__)
++# if defined(_ILP32)
++# elif defined(_LP64)
++# endif
++# if defined(_LONG_LONG)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(_LP64)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++# endif
++
++#elif defined(TPF)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++#elif defined(__TINYC__) /* also known as tcc */
++
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++
++#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) /* Oracle Solaris Studio */
++# if !defined(__LP64) && (defined(__ILP32) || \
++ defined(__i386) || \
++ defined(__sparcv8) || \
++ defined(__sparcv8plus))
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(__LP64) || \
++ defined(__amd64) || defined(__sparcv9)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++
++#elif defined(__xlc__) /* IBM xlc compiler */
++# if !defined(_LP64)
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++
++/* ===================================== */
++/* KEEP MSVC THE PENULTIMATE ENTRY */
++/* ===================================== */
++
++#elif defined(_MSC_VER)
++# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
++# define CURL_TYPEOF_CURL_OFF_T __int64
++# define CURL_FORMAT_CURL_OFF_T "I64d"
++# define CURL_FORMAT_CURL_OFF_TU "I64u"
++# define CURL_SUFFIX_CURL_OFF_T i64
++# define CURL_SUFFIX_CURL_OFF_TU ui64
++# else
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++
++/* ===================================== */
++/* KEEP GENERIC GCC THE LAST ENTRY */
++/* ===================================== */
++
++#elif defined(__GNUC__) && !defined(_SCO_DS)
++# if !defined(__LP64__) && \
++ (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
++ defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
++ defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
++ defined(__XTENSA__) || \
++ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \
++ (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L))
++# define CURL_TYPEOF_CURL_OFF_T long long
++# define CURL_FORMAT_CURL_OFF_T "lld"
++# define CURL_FORMAT_CURL_OFF_TU "llu"
++# define CURL_SUFFIX_CURL_OFF_T LL
++# define CURL_SUFFIX_CURL_OFF_TU ULL
++# elif defined(__LP64__) || \
++ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
++ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \
++ (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L)
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# endif
++# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
++# define CURL_PULL_SYS_TYPES_H 1
++# define CURL_PULL_SYS_SOCKET_H 1
++
++#else
++/* generic "safe guess" on old 32 bit style */
++# define CURL_TYPEOF_CURL_OFF_T long
++# define CURL_FORMAT_CURL_OFF_T "ld"
++# define CURL_FORMAT_CURL_OFF_TU "lu"
++# define CURL_SUFFIX_CURL_OFF_T L
++# define CURL_SUFFIX_CURL_OFF_TU UL
++# define CURL_TYPEOF_CURL_SOCKLEN_T int
++#endif
++
++#ifdef _AIX
++/* AIX needs <sys/poll.h> */
++#define CURL_PULL_SYS_POLL_H
++#endif
++
++
++/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */
++/* ws2tcpip.h is required here to properly make type definitions below. */
++#ifdef CURL_PULL_WS2TCPIP_H
++# include <winsock2.h>
++# include <windows.h>
++# include <ws2tcpip.h>
++#endif
++
++/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
++/* sys/types.h is required here to properly make type definitions below. */
++#ifdef CURL_PULL_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++
++/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
++/* sys/socket.h is required here to properly make type definitions below. */
++#ifdef CURL_PULL_SYS_SOCKET_H
++# include <sys/socket.h>
++#endif
++
++/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */
++/* sys/poll.h is required here to properly make type definitions below. */
++#ifdef CURL_PULL_SYS_POLL_H
++# include <sys/poll.h>
++#endif
++
++/* Data type definition of curl_socklen_t. */
++#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
++ typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
++#endif
++
++/* Data type definition of curl_off_t. */
++
++#ifdef CURL_TYPEOF_CURL_OFF_T
++ typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
++#endif
++
++/*
++ * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
++ * these to be visible and exported by the external libcurl interface API,
++ * while also making them visible to the library internals, simply including
++ * curl_setup.h, without actually needing to include curl.h internally.
++ * If some day this section would grow big enough, all this should be moved
++ * to its own header file.
++ */
++
++/*
++ * Figure out if we can use the ## preprocessor operator, which is supported
++ * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
++ * or __cplusplus so we need to carefully check for them too.
++ */
++
++#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
++ defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
++ defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
++ defined(__ILEC400__)
++ /* This compiler is believed to have an ISO compatible preprocessor */
++#define CURL_ISOCPP
++#else
++ /* This compiler is believed NOT to have an ISO compatible preprocessor */
++#undef CURL_ISOCPP
++#endif
++
++/*
++ * Macros for minimum-width signed and unsigned curl_off_t integer constants.
++ */
++
++#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
++# define __CURL_OFF_T_C_HLPR2(x) x
++# define __CURL_OFF_T_C_HLPR1(x) __CURL_OFF_T_C_HLPR2(x)
++# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
++ __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
++# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
++ __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
++#else
++# ifdef CURL_ISOCPP
++# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
++# else
++# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
++# endif
++# define __CURL_OFF_T_C_HLPR1(Val,Suffix) __CURL_OFF_T_C_HLPR2(Val,Suffix)
++# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
++# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
++#endif
++
++#endif /* __CURL_SYSTEM_H */
+diff --git a/src/third_party/curl/typecheck-gcc.h b/src/third_party/curl/typecheck-gcc.h
+--- a/src/third_party/curl/typecheck-gcc.h
++++ b/src/third_party/curl/typecheck-gcc.h
+@@ -2,111 +2,151 @@
+ #define __CURL_TYPECHECK_GCC_H
+ /***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+- * are also available at http://curl.haxx.se/docs/copyright.html.
++ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+- * $Id: typecheck-gcc.h,v 1.9 2009-01-25 23:26:31 bagder Exp $
+ ***************************************************************************/
+
+ /* wraps curl_easy_setopt() with typechecking */
+
+ /* To add a new kind of warning, add an
+- * if(_curl_is_sometype_option(_curl_opt) && ! _curl_is_sometype(value))
+- * _curl_easy_setopt_err_sometype();
++ * if(_curl_is_sometype_option(_curl_opt))
++ * if(!_curl_is_sometype(value))
++ * _curl_easy_setopt_err_sometype();
+ * block and define _curl_is_sometype_option, _curl_is_sometype and
+ * _curl_easy_setopt_err_sometype below
+ *
++ * NOTE: We use two nested 'if' statements here instead of the && operator, in
++ * order to work around gcc bug #32061. It affects only gcc 4.3.x/4.4.x
++ * when compiling with -Wlogical-op.
++ *
+ * To add an option that uses the same type as an existing option, you'll just
+ * need to extend the appropriate _curl_*_option macro
+ */
+ #define curl_easy_setopt(handle, option, value) \
+ __extension__ ({ \
+- __typeof__ (option) _curl_opt = option; \
+- if (__builtin_constant_p(_curl_opt)) { \
+- if (_curl_is_long_option(_curl_opt) && !_curl_is_long(value)) \
+- _curl_easy_setopt_err_long(); \
+- if (_curl_is_off_t_option(_curl_opt) && !_curl_is_off_t(value)) \
+- _curl_easy_setopt_err_curl_off_t(); \
+- if (_curl_is_string_option(_curl_opt) && !_curl_is_string(value)) \
+- _curl_easy_setopt_err_string(); \
+- if (_curl_is_write_cb_option(_curl_opt) && !_curl_is_write_cb(value)) \
+- _curl_easy_setopt_err_write_callback(); \
+- if ((_curl_opt) == CURLOPT_READFUNCTION && !_curl_is_read_cb(value)) \
+- _curl_easy_setopt_err_read_cb(); \
+- if ((_curl_opt) == CURLOPT_IOCTLFUNCTION && !_curl_is_ioctl_cb(value)) \
+- _curl_easy_setopt_err_ioctl_cb(); \
+- if ((_curl_opt) == CURLOPT_SOCKOPTFUNCTION && !_curl_is_sockopt_cb(value))\
+- _curl_easy_setopt_err_sockopt_cb(); \
+- if ((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION && \
+- !_curl_is_opensocket_cb(value)) \
+- _curl_easy_setopt_err_opensocket_cb(); \
+- if ((_curl_opt) == CURLOPT_PROGRESSFUNCTION && \
+- !_curl_is_progress_cb(value)) \
+- _curl_easy_setopt_err_progress_cb(); \
+- if ((_curl_opt) == CURLOPT_DEBUGFUNCTION && !_curl_is_debug_cb(value)) \
+- _curl_easy_setopt_err_debug_cb(); \
+- if ((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION && \
+- !_curl_is_ssl_ctx_cb(value)) \
+- _curl_easy_setopt_err_ssl_ctx_cb(); \
+- if (_curl_is_conv_cb_option(_curl_opt) && !_curl_is_conv_cb(value)) \
+- _curl_easy_setopt_err_conv_cb(); \
+- if ((_curl_opt) == CURLOPT_SEEKFUNCTION && !_curl_is_seek_cb(value)) \
+- _curl_easy_setopt_err_seek_cb(); \
+- if (_curl_is_cb_data_option(_curl_opt) && !_curl_is_cb_data(value)) \
+- _curl_easy_setopt_err_cb_data(); \
+- if ((_curl_opt) == CURLOPT_ERRORBUFFER && !_curl_is_error_buffer(value)) \
+- _curl_easy_setopt_err_error_buffer(); \
+- if ((_curl_opt) == CURLOPT_STDERR && !_curl_is_FILE(value)) \
+- _curl_easy_setopt_err_FILE(); \
+- if (_curl_is_postfields_option(_curl_opt) && !_curl_is_postfields(value)) \
+- _curl_easy_setopt_err_postfields(); \
+- if ((_curl_opt) == CURLOPT_HTTPPOST && \
+- !_curl_is_arr((value), struct curl_httppost)) \
+- _curl_easy_setopt_err_curl_httpost(); \
+- if (_curl_is_slist_option(_curl_opt) && \
+- !_curl_is_arr((value), struct curl_slist)) \
+- _curl_easy_setopt_err_curl_slist(); \
+- if ((_curl_opt) == CURLOPT_SHARE && !_curl_is_ptr((value), CURLSH)) \
+- _curl_easy_setopt_err_CURLSH(); \
++ __typeof__(option) _curl_opt = option; \
++ if(__builtin_constant_p(_curl_opt)) { \
++ if(_curl_is_long_option(_curl_opt)) \
++ if(!_curl_is_long(value)) \
++ _curl_easy_setopt_err_long(); \
++ if(_curl_is_off_t_option(_curl_opt)) \
++ if(!_curl_is_off_t(value)) \
++ _curl_easy_setopt_err_curl_off_t(); \
++ if(_curl_is_string_option(_curl_opt)) \
++ if(!_curl_is_string(value)) \
++ _curl_easy_setopt_err_string(); \
++ if(_curl_is_write_cb_option(_curl_opt)) \
++ if(!_curl_is_write_cb(value)) \
++ _curl_easy_setopt_err_write_callback(); \
++ if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION) \
++ if(!_curl_is_resolver_start_callback(value)) \
++ _curl_easy_setopt_err_resolver_start_callback(); \
++ if((_curl_opt) == CURLOPT_READFUNCTION) \
++ if(!_curl_is_read_cb(value)) \
++ _curl_easy_setopt_err_read_cb(); \
++ if((_curl_opt) == CURLOPT_IOCTLFUNCTION) \
++ if(!_curl_is_ioctl_cb(value)) \
++ _curl_easy_setopt_err_ioctl_cb(); \
++ if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION) \
++ if(!_curl_is_sockopt_cb(value)) \
++ _curl_easy_setopt_err_sockopt_cb(); \
++ if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION) \
++ if(!_curl_is_opensocket_cb(value)) \
++ _curl_easy_setopt_err_opensocket_cb(); \
++ if((_curl_opt) == CURLOPT_PROGRESSFUNCTION) \
++ if(!_curl_is_progress_cb(value)) \
++ _curl_easy_setopt_err_progress_cb(); \
++ if((_curl_opt) == CURLOPT_DEBUGFUNCTION) \
++ if(!_curl_is_debug_cb(value)) \
++ _curl_easy_setopt_err_debug_cb(); \
++ if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION) \
++ if(!_curl_is_ssl_ctx_cb(value)) \
++ _curl_easy_setopt_err_ssl_ctx_cb(); \
++ if(_curl_is_conv_cb_option(_curl_opt)) \
++ if(!_curl_is_conv_cb(value)) \
++ _curl_easy_setopt_err_conv_cb(); \
++ if((_curl_opt) == CURLOPT_SEEKFUNCTION) \
++ if(!_curl_is_seek_cb(value)) \
++ _curl_easy_setopt_err_seek_cb(); \
++ if(_curl_is_cb_data_option(_curl_opt)) \
++ if(!_curl_is_cb_data(value)) \
++ _curl_easy_setopt_err_cb_data(); \
++ if((_curl_opt) == CURLOPT_ERRORBUFFER) \
++ if(!_curl_is_error_buffer(value)) \
++ _curl_easy_setopt_err_error_buffer(); \
++ if((_curl_opt) == CURLOPT_STDERR) \
++ if(!_curl_is_FILE(value)) \
++ _curl_easy_setopt_err_FILE(); \
++ if(_curl_is_postfields_option(_curl_opt)) \
++ if(!_curl_is_postfields(value)) \
++ _curl_easy_setopt_err_postfields(); \
++ if((_curl_opt) == CURLOPT_HTTPPOST) \
++ if(!_curl_is_arr((value), struct curl_httppost)) \
++ _curl_easy_setopt_err_curl_httpost(); \
++ if((_curl_opt) == CURLOPT_MIMEPOST) \
++ if(!_curl_is_ptr((value), curl_mime)) \
++ _curl_easy_setopt_err_curl_mimepost(); \
++ if(_curl_is_slist_option(_curl_opt)) \
++ if(!_curl_is_arr((value), struct curl_slist)) \
++ _curl_easy_setopt_err_curl_slist(); \
++ if((_curl_opt) == CURLOPT_SHARE) \
++ if(!_curl_is_ptr((value), CURLSH)) \
++ _curl_easy_setopt_err_CURLSH(); \
+ } \
+ curl_easy_setopt(handle, _curl_opt, value); \
+ })
+
+ /* wraps curl_easy_getinfo() with typechecking */
+ /* FIXME: don't allow const pointers */
+ #define curl_easy_getinfo(handle, info, arg) \
+ __extension__ ({ \
+- __typeof__ (info) _curl_info = info; \
+- if (__builtin_constant_p(_curl_info)) { \
+- if (_curl_is_string_info(_curl_info) && !_curl_is_arr((arg), char *)) \
+- _curl_easy_getinfo_err_string(); \
+- if (_curl_is_long_info(_curl_info) && !_curl_is_arr((arg), long)) \
+- _curl_easy_getinfo_err_long(); \
+- if (_curl_is_double_info(_curl_info) && !_curl_is_arr((arg), double)) \
+- _curl_easy_getinfo_err_double(); \
+- if (_curl_is_slist_info(_curl_info) && \
+- !_curl_is_arr((arg), struct curl_slist *)) \
+- _curl_easy_getinfo_err_curl_slist(); \
++ __typeof__(info) _curl_info = info; \
++ if(__builtin_constant_p(_curl_info)) { \
++ if(_curl_is_string_info(_curl_info)) \
++ if(!_curl_is_arr((arg), char *)) \
++ _curl_easy_getinfo_err_string(); \
++ if(_curl_is_long_info(_curl_info)) \
++ if(!_curl_is_arr((arg), long)) \
++ _curl_easy_getinfo_err_long(); \
++ if(_curl_is_double_info(_curl_info)) \
++ if(!_curl_is_arr((arg), double)) \
++ _curl_easy_getinfo_err_double(); \
++ if(_curl_is_slist_info(_curl_info)) \
++ if(!_curl_is_arr((arg), struct curl_slist *)) \
++ _curl_easy_getinfo_err_curl_slist(); \
++ if(_curl_is_tlssessioninfo_info(_curl_info)) \
++ if(!_curl_is_arr((arg), struct curl_tlssessioninfo *)) \
++ _curl_easy_getinfo_err_curl_tlssesssioninfo(); \
++ if(_curl_is_certinfo_info(_curl_info)) \
++ if(!_curl_is_arr((arg), struct curl_certinfo *)) \
++ _curl_easy_getinfo_err_curl_certinfo(); \
++ if(_curl_is_socket_info(_curl_info)) \
++ if(!_curl_is_arr((arg), curl_socket_t)) \
++ _curl_easy_getinfo_err_curl_socket(); \
++ if(_curl_is_off_t_info(_curl_info)) \
++ if(!_curl_is_arr((arg), curl_off_t)) \
++ _curl_easy_getinfo_err_curl_off_t(); \
+ } \
+ curl_easy_getinfo(handle, _curl_info, arg); \
+ })
+
+ /* TODO: typechecking for curl_share_setopt() and curl_multi_setopt(),
+ * for now just make sure that the functions are called with three
+ * arguments
+ */
+@@ -114,70 +154,93 @@
+ #define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
+
+
+ /* the actual warnings, triggered by calling the _curl_easy_setopt_err*
+ * functions */
+
+ /* To define a new warning, use _CURL_WARNING(identifier, "message") */
+ #define _CURL_WARNING(id, message) \
+- static void __attribute__((warning(message))) __attribute__((unused)) \
+- __attribute__((noinline)) id(void) { __asm__(""); }
++ static void __attribute__((__warning__(message))) \
++ __attribute__((__unused__)) __attribute__((__noinline__)) \
++ id(void) { __asm__(""); }
+
+ _CURL_WARNING(_curl_easy_setopt_err_long,
+ "curl_easy_setopt expects a long argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_curl_off_t,
+ "curl_easy_setopt expects a curl_off_t argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_string,
+- "curl_easy_setopt expects a string (char* or char[]) argument for this option"
++ "curl_easy_setopt expects a "
++ "string ('char *' or char[]) argument for this option"
+ )
+ _CURL_WARNING(_curl_easy_setopt_err_write_callback,
+ "curl_easy_setopt expects a curl_write_callback argument for this option")
++_CURL_WARNING(_curl_easy_setopt_err_resolver_start_callback,
++ "curl_easy_setopt expects a "
++ "curl_resolver_start_callback argument for this option"
++ )
+ _CURL_WARNING(_curl_easy_setopt_err_read_cb,
+ "curl_easy_setopt expects a curl_read_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_ioctl_cb,
+ "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_sockopt_cb,
+ "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_opensocket_cb,
+- "curl_easy_setopt expects a curl_opensocket_callback argument for this option"
++ "curl_easy_setopt expects a "
++ "curl_opensocket_callback argument for this option"
+ )
+ _CURL_WARNING(_curl_easy_setopt_err_progress_cb,
+ "curl_easy_setopt expects a curl_progress_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_debug_cb,
+ "curl_easy_setopt expects a curl_debug_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_ssl_ctx_cb,
+ "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_conv_cb,
+ "curl_easy_setopt expects a curl_conv_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_seek_cb,
+ "curl_easy_setopt expects a curl_seek_callback argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_cb_data,
+- "curl_easy_setopt expects a private data pointer as argument for this option")
++ "curl_easy_setopt expects a "
++ "private data pointer as argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_error_buffer,
+- "curl_easy_setopt expects a char buffer of CURL_ERROR_SIZE as argument for this option")
++ "curl_easy_setopt expects a "
++ "char buffer of CURL_ERROR_SIZE as argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_FILE,
+- "curl_easy_setopt expects a FILE* argument for this option")
++ "curl_easy_setopt expects a 'FILE *' argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_postfields,
+- "curl_easy_setopt expects a void* or char* argument for this option")
++ "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_curl_httpost,
+- "curl_easy_setopt expects a struct curl_httppost* argument for this option")
++ "curl_easy_setopt expects a 'struct curl_httppost *' "
++ "argument for this option")
++_CURL_WARNING(_curl_easy_setopt_err_curl_mimepost,
++ "curl_easy_setopt expects a 'curl_mime *' "
++ "argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_curl_slist,
+- "curl_easy_setopt expects a struct curl_slist* argument for this option")
++ "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
+ _CURL_WARNING(_curl_easy_setopt_err_CURLSH,
+ "curl_easy_setopt expects a CURLSH* argument for this option")
+
+ _CURL_WARNING(_curl_easy_getinfo_err_string,
+- "curl_easy_getinfo expects a pointer to char * for this info")
++ "curl_easy_getinfo expects a pointer to 'char *' for this info")
+ _CURL_WARNING(_curl_easy_getinfo_err_long,
+ "curl_easy_getinfo expects a pointer to long for this info")
+ _CURL_WARNING(_curl_easy_getinfo_err_double,
+ "curl_easy_getinfo expects a pointer to double for this info")
+ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
+- "curl_easy_getinfo expects a pointer to struct curl_slist * for this info")
++ "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
++_CURL_WARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo,
++ "curl_easy_getinfo expects a pointer to "
++ "'struct curl_tlssessioninfo *' for this info")
++_CURL_WARNING(_curl_easy_getinfo_err_curl_certinfo,
++ "curl_easy_getinfo expects a pointer to "
++ "'struct curl_certinfo *' for this info")
++_CURL_WARNING(_curl_easy_getinfo_err_curl_socket,
++ "curl_easy_getinfo expects a pointer to curl_socket_t for this info")
++_CURL_WARNING(_curl_easy_getinfo_err_curl_off_t,
++ "curl_easy_getinfo expects a pointer to curl_off_t for this info")
+
+ /* groups of curl_easy_setops options that take the same type of argument */
+
+ /* To add a new option to one of the groups, just add
+ * (option) == CURLOPT_SOMETHING
+ * to the or-expression. If the option takes a long or curl_off_t, you don't
+ * have to do anything
+ */
+@@ -186,97 +249,145 @@
+ #define _curl_is_long_option(option) \
+ (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
+
+ #define _curl_is_off_t_option(option) \
+ ((option) > CURLOPTTYPE_OFF_T)
+
+ /* evaluates to true if option takes a char* argument */
+ #define _curl_is_string_option(option) \
+- ((option) == CURLOPT_URL || \
+- (option) == CURLOPT_PROXY || \
+- (option) == CURLOPT_INTERFACE || \
+- (option) == CURLOPT_NETRC_FILE || \
+- (option) == CURLOPT_USERPWD || \
+- (option) == CURLOPT_USERNAME || \
+- (option) == CURLOPT_PASSWORD || \
+- (option) == CURLOPT_PROXYUSERPWD || \
+- (option) == CURLOPT_PROXYUSERNAME || \
+- (option) == CURLOPT_PROXYPASSWORD || \
+- (option) == CURLOPT_NOPROXY || \
+- (option) == CURLOPT_ENCODING || \
+- (option) == CURLOPT_REFERER || \
+- (option) == CURLOPT_USERAGENT || \
++ ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \
++ (option) == CURLOPT_ACCEPT_ENCODING || \
++ (option) == CURLOPT_ALTSVC || \
++ (option) == CURLOPT_CAINFO || \
++ (option) == CURLOPT_CAPATH || \
+ (option) == CURLOPT_COOKIE || \
+ (option) == CURLOPT_COOKIEFILE || \
+ (option) == CURLOPT_COOKIEJAR || \
+ (option) == CURLOPT_COOKIELIST || \
++ (option) == CURLOPT_CRLFILE || \
++ (option) == CURLOPT_CUSTOMREQUEST || \
++ (option) == CURLOPT_DEFAULT_PROTOCOL || \
++ (option) == CURLOPT_DNS_INTERFACE || \
++ (option) == CURLOPT_DNS_LOCAL_IP4 || \
++ (option) == CURLOPT_DNS_LOCAL_IP6 || \
++ (option) == CURLOPT_DNS_SERVERS || \
++ (option) == CURLOPT_DOH_URL || \
++ (option) == CURLOPT_EGDSOCKET || \
+ (option) == CURLOPT_FTPPORT || \
+- (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
+ (option) == CURLOPT_FTP_ACCOUNT || \
++ (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
++ (option) == CURLOPT_INTERFACE || \
++ (option) == CURLOPT_ISSUERCERT || \
++ (option) == CURLOPT_KEYPASSWD || \
++ (option) == CURLOPT_KRBLEVEL || \
++ (option) == CURLOPT_LOGIN_OPTIONS || \
++ (option) == CURLOPT_MAIL_AUTH || \
++ (option) == CURLOPT_MAIL_FROM || \
++ (option) == CURLOPT_NETRC_FILE || \
++ (option) == CURLOPT_NOPROXY || \
++ (option) == CURLOPT_PASSWORD || \
++ (option) == CURLOPT_PINNEDPUBLICKEY || \
++ (option) == CURLOPT_PRE_PROXY || \
++ (option) == CURLOPT_PROXY || \
++ (option) == CURLOPT_PROXYPASSWORD || \
++ (option) == CURLOPT_PROXYUSERNAME || \
++ (option) == CURLOPT_PROXYUSERPWD || \
++ (option) == CURLOPT_PROXY_CAINFO || \
++ (option) == CURLOPT_PROXY_CAPATH || \
++ (option) == CURLOPT_PROXY_CRLFILE || \
++ (option) == CURLOPT_PROXY_KEYPASSWD || \
++ (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \
++ (option) == CURLOPT_PROXY_SERVICE_NAME || \
++ (option) == CURLOPT_PROXY_SSLCERT || \
++ (option) == CURLOPT_PROXY_SSLCERTTYPE || \
++ (option) == CURLOPT_PROXY_SSLKEY || \
++ (option) == CURLOPT_PROXY_SSLKEYTYPE || \
++ (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \
++ (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \
++ (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \
++ (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \
++ (option) == CURLOPT_RANDOM_FILE || \
+ (option) == CURLOPT_RANGE || \
+- (option) == CURLOPT_CUSTOMREQUEST || \
++ (option) == CURLOPT_REFERER || \
++ (option) == CURLOPT_RTSP_SESSION_ID || \
++ (option) == CURLOPT_RTSP_STREAM_URI || \
++ (option) == CURLOPT_RTSP_TRANSPORT || \
++ (option) == CURLOPT_SERVICE_NAME || \
++ (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \
++ (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
++ (option) == CURLOPT_SSH_KNOWNHOSTS || \
++ (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \
++ (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \
+ (option) == CURLOPT_SSLCERT || \
+ (option) == CURLOPT_SSLCERTTYPE || \
++ (option) == CURLOPT_SSLENGINE || \
+ (option) == CURLOPT_SSLKEY || \
+ (option) == CURLOPT_SSLKEYTYPE || \
+- (option) == CURLOPT_KEYPASSWD || \
+- (option) == CURLOPT_SSLENGINE || \
+- (option) == CURLOPT_CAINFO || \
+- (option) == CURLOPT_CAPATH || \
+- (option) == CURLOPT_RANDOM_FILE || \
+- (option) == CURLOPT_EGDSOCKET || \
+ (option) == CURLOPT_SSL_CIPHER_LIST || \
+- (option) == CURLOPT_KRBLEVEL || \
+- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
+- (option) == CURLOPT_SSH_PUBLIC_KEYFILE || \
+- (option) == CURLOPT_SSH_PRIVATE_KEYFILE || \
+- (option) == CURLOPT_CRLFILE || \
+- (option) == CURLOPT_ISSUERCERT || \
++ (option) == CURLOPT_TLSAUTH_PASSWORD || \
++ (option) == CURLOPT_TLSAUTH_TYPE || \
++ (option) == CURLOPT_TLSAUTH_USERNAME || \
++ (option) == CURLOPT_UNIX_SOCKET_PATH || \
++ (option) == CURLOPT_URL || \
++ (option) == CURLOPT_USERAGENT || \
++ (option) == CURLOPT_USERNAME || \
++ (option) == CURLOPT_USERPWD || \
++ (option) == CURLOPT_XOAUTH2_BEARER || \
+ 0)
+
+ /* evaluates to true if option takes a curl_write_callback argument */
+ #define _curl_is_write_cb_option(option) \
+ ((option) == CURLOPT_HEADERFUNCTION || \
+ (option) == CURLOPT_WRITEFUNCTION)
+
+ /* evaluates to true if option takes a curl_conv_callback argument */
+ #define _curl_is_conv_cb_option(option) \
+ ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \
+ (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \
+ (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
+
+ /* evaluates to true if option takes a data argument to pass to a callback */
+ #define _curl_is_cb_data_option(option) \
+- ((option) == CURLOPT_WRITEDATA || \
+- (option) == CURLOPT_READDATA || \
++ ((option) == CURLOPT_CHUNK_DATA || \
++ (option) == CURLOPT_CLOSESOCKETDATA || \
++ (option) == CURLOPT_DEBUGDATA || \
++ (option) == CURLOPT_FNMATCH_DATA || \
++ (option) == CURLOPT_HEADERDATA || \
++ (option) == CURLOPT_INTERLEAVEDATA || \
+ (option) == CURLOPT_IOCTLDATA || \
+- (option) == CURLOPT_SOCKOPTDATA || \
+ (option) == CURLOPT_OPENSOCKETDATA || \
++ (option) == CURLOPT_PRIVATE || \
+ (option) == CURLOPT_PROGRESSDATA || \
+- (option) == CURLOPT_WRITEHEADER || \
+- (option) == CURLOPT_DEBUGDATA || \
++ (option) == CURLOPT_READDATA || \
++ (option) == CURLOPT_SEEKDATA || \
++ (option) == CURLOPT_SOCKOPTDATA || \
++ (option) == CURLOPT_SSH_KEYDATA || \
+ (option) == CURLOPT_SSL_CTX_DATA || \
+- (option) == CURLOPT_SEEKDATA || \
+- (option) == CURLOPT_PRIVATE || \
++ (option) == CURLOPT_WRITEDATA || \
++ (option) == CURLOPT_RESOLVER_START_DATA || \
++ (option) == CURLOPT_CURLU || \
+ 0)
+
+ /* evaluates to true if option takes a POST data argument (void* or char*) */
+ #define _curl_is_postfields_option(option) \
+ ((option) == CURLOPT_POSTFIELDS || \
+ (option) == CURLOPT_COPYPOSTFIELDS || \
+ 0)
+
+ /* evaluates to true if option takes a struct curl_slist * argument */
+ #define _curl_is_slist_option(option) \
+- ((option) == CURLOPT_HTTPHEADER || \
+- (option) == CURLOPT_HTTP200ALIASES || \
+- (option) == CURLOPT_QUOTE || \
++ ((option) == CURLOPT_HTTP200ALIASES || \
++ (option) == CURLOPT_HTTPHEADER || \
++ (option) == CURLOPT_MAIL_RCPT || \
+ (option) == CURLOPT_POSTQUOTE || \
+ (option) == CURLOPT_PREQUOTE || \
++ (option) == CURLOPT_PROXYHEADER || \
++ (option) == CURLOPT_QUOTE || \
++ (option) == CURLOPT_RESOLVE || \
+ (option) == CURLOPT_TELNETOPTIONS || \
+ 0)
+
+ /* groups of curl_easy_getinfo infos that take the same type of argument */
+
+ /* evaluates to true if info expects a pointer to char * argument */
+ #define _curl_is_string_info(info) \
+ (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG)
+@@ -285,34 +396,49 @@
+ #define _curl_is_long_info(info) \
+ (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
+
+ /* evaluates to true if info expects a pointer to double argument */
+ #define _curl_is_double_info(info) \
+ (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
+
+ /* true if info expects a pointer to struct curl_slist * argument */
+-#define _curl_is_slist_info(info) \
+- (CURLINFO_SLIST < (info))
++#define _curl_is_slist_info(info) \
++ (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST))
++
++/* true if info expects a pointer to struct curl_tlssessioninfo * argument */
++#define _curl_is_tlssessioninfo_info(info) \
++ (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION))
++
++/* true if info expects a pointer to struct curl_certinfo * argument */
++#define _curl_is_certinfo_info(info) ((info) == CURLINFO_CERTINFO)
++
++/* true if info expects a pointer to struct curl_socket_t argument */
++#define _curl_is_socket_info(info) \
++ (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T)
++
++/* true if info expects a pointer to curl_off_t argument */
++#define _curl_is_off_t_info(info) \
++ (CURLINFO_OFF_T < (info))
+
+
+ /* typecheck helpers -- check whether given expression has requested type*/
+
+ /* For pointers, you can use the _curl_is_ptr/_curl_is_arr macros,
+ * otherwise define a new macro. Search for __builtin_types_compatible_p
+ * in the GCC manual.
+ * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is
+ * the actual expression passed to the curl_easy_setopt macro. This
+ * means that you can only apply the sizeof and __typeof__ operators, no
+ * == or whatsoever.
+ */
+
+-/* XXX: should evaluate to true iff expr is a pointer */
++/* XXX: should evaluate to true if expr is a pointer */
+ #define _curl_is_any_ptr(expr) \
+- (sizeof(expr) == sizeof(void*))
++ (sizeof(expr) == sizeof(void *))
+
+ /* evaluates to true if expr is NULL */
+ /* XXX: must not evaluate expr, so this check is not accurate */
+ #define _curl_is_NULL(expr) \
+ (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
+
+ /* evaluates to true if expr is type*, const type* or NULL */
+ #define _curl_is_ptr(expr, type) \
+@@ -350,202 +476,225 @@
+
+ /* evaluates to true if expr is of type curl_off_t */
+ #define _curl_is_off_t(expr) \
+ (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
+
+ /* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */
+ /* XXX: also check size of an char[] array? */
+ #define _curl_is_error_buffer(expr) \
+- (__builtin_types_compatible_p(__typeof__(expr), char *) || \
++ (_curl_is_NULL(expr) || \
++ __builtin_types_compatible_p(__typeof__(expr), char *) || \
+ __builtin_types_compatible_p(__typeof__(expr), char[]))
+
+ /* evaluates to true if expr is of type (const) void* or (const) FILE* */
+ #if 0
+ #define _curl_is_cb_data(expr) \
+ (_curl_is_ptr((expr), void) || \
+ _curl_is_ptr((expr), FILE))
+ #else /* be less strict */
+ #define _curl_is_cb_data(expr) \
+ _curl_is_any_ptr(expr)
+ #endif
+
+ /* evaluates to true if expr is of type FILE* */
+-#define _curl_is_FILE(expr) \
+- (__builtin_types_compatible_p(__typeof__(expr), FILE *))
++#define _curl_is_FILE(expr) \
++ (_curl_is_NULL(expr) || \
++ (__builtin_types_compatible_p(__typeof__(expr), FILE *)))
+
+ /* evaluates to true if expr can be passed as POST data (void* or char*) */
+ #define _curl_is_postfields(expr) \
+ (_curl_is_ptr((expr), void) || \
+- _curl_is_arr((expr), char))
++ _curl_is_arr((expr), char) || \
++ _curl_is_arr((expr), unsigned char))
+
+ /* FIXME: the whole callback checking is messy...
+ * The idea is to tolerate char vs. void and const vs. not const
+ * pointers in arguments at least
+ */
+ /* helper: __builtin_types_compatible_p distinguishes between functions and
+ * function pointers, hide it */
+ #define _curl_callback_compatible(func, type) \
+ (__builtin_types_compatible_p(__typeof__(func), type) || \
+- __builtin_types_compatible_p(__typeof__(func), type*))
++ __builtin_types_compatible_p(__typeof__(func) *, type))
++
++/* evaluates to true if expr is of type curl_resolver_start_callback */
++#define _curl_is_resolver_start_callback(expr) \
++ (_curl_is_NULL(expr) || \
++ _curl_callback_compatible((expr), curl_resolver_start_callback))
+
+ /* evaluates to true if expr is of type curl_read_callback or "similar" */
+ #define _curl_is_read_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), __typeof__(fread)) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_read_callback) || \
++ _curl_callback_compatible((expr), __typeof__(fread) *) || \
++ _curl_callback_compatible((expr), curl_read_callback) || \
+ _curl_callback_compatible((expr), _curl_read_callback1) || \
+ _curl_callback_compatible((expr), _curl_read_callback2) || \
+ _curl_callback_compatible((expr), _curl_read_callback3) || \
+ _curl_callback_compatible((expr), _curl_read_callback4) || \
+ _curl_callback_compatible((expr), _curl_read_callback5) || \
+ _curl_callback_compatible((expr), _curl_read_callback6))
+-typedef size_t (_curl_read_callback1)(char *, size_t, size_t, void*);
+-typedef size_t (_curl_read_callback2)(char *, size_t, size_t, const void*);
+-typedef size_t (_curl_read_callback3)(char *, size_t, size_t, FILE*);
+-typedef size_t (_curl_read_callback4)(void *, size_t, size_t, void*);
+-typedef size_t (_curl_read_callback5)(void *, size_t, size_t, const void*);
+-typedef size_t (_curl_read_callback6)(void *, size_t, size_t, FILE*);
++typedef size_t (*_curl_read_callback1)(char *, size_t, size_t, void *);
++typedef size_t (*_curl_read_callback2)(char *, size_t, size_t, const void *);
++typedef size_t (*_curl_read_callback3)(char *, size_t, size_t, FILE *);
++typedef size_t (*_curl_read_callback4)(void *, size_t, size_t, void *);
++typedef size_t (*_curl_read_callback5)(void *, size_t, size_t, const void *);
++typedef size_t (*_curl_read_callback6)(void *, size_t, size_t, FILE *);
+
+ /* evaluates to true if expr is of type curl_write_callback or "similar" */
+ #define _curl_is_write_cb(expr) \
+ (_curl_is_read_cb(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), __typeof__(fwrite)) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_write_callback) || \
++ _curl_callback_compatible((expr), __typeof__(fwrite) *) || \
++ _curl_callback_compatible((expr), curl_write_callback) || \
+ _curl_callback_compatible((expr), _curl_write_callback1) || \
+ _curl_callback_compatible((expr), _curl_write_callback2) || \
+ _curl_callback_compatible((expr), _curl_write_callback3) || \
+ _curl_callback_compatible((expr), _curl_write_callback4) || \
+ _curl_callback_compatible((expr), _curl_write_callback5) || \
+ _curl_callback_compatible((expr), _curl_write_callback6))
+-typedef size_t (_curl_write_callback1)(const char *, size_t, size_t, void*);
+-typedef size_t (_curl_write_callback2)(const char *, size_t, size_t,
+- const void*);
+-typedef size_t (_curl_write_callback3)(const char *, size_t, size_t, FILE*);
+-typedef size_t (_curl_write_callback4)(const void *, size_t, size_t, void*);
+-typedef size_t (_curl_write_callback5)(const void *, size_t, size_t,
+- const void*);
+-typedef size_t (_curl_write_callback6)(const void *, size_t, size_t, FILE*);
++typedef size_t (*_curl_write_callback1)(const char *, size_t, size_t, void *);
++typedef size_t (*_curl_write_callback2)(const char *, size_t, size_t,
++ const void *);
++typedef size_t (*_curl_write_callback3)(const char *, size_t, size_t, FILE *);
++typedef size_t (*_curl_write_callback4)(const void *, size_t, size_t, void *);
++typedef size_t (*_curl_write_callback5)(const void *, size_t, size_t,
++ const void *);
++typedef size_t (*_curl_write_callback6)(const void *, size_t, size_t, FILE *);
+
+ /* evaluates to true if expr is of type curl_ioctl_callback or "similar" */
+ #define _curl_is_ioctl_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_ioctl_callback) || \
++ _curl_callback_compatible((expr), curl_ioctl_callback) || \
+ _curl_callback_compatible((expr), _curl_ioctl_callback1) || \
+ _curl_callback_compatible((expr), _curl_ioctl_callback2) || \
+ _curl_callback_compatible((expr), _curl_ioctl_callback3) || \
+ _curl_callback_compatible((expr), _curl_ioctl_callback4))
+-typedef curlioerr (_curl_ioctl_callback1)(CURL *, int, void*);
+-typedef curlioerr (_curl_ioctl_callback2)(CURL *, int, const void*);
+-typedef curlioerr (_curl_ioctl_callback3)(CURL *, curliocmd, void*);
+-typedef curlioerr (_curl_ioctl_callback4)(CURL *, curliocmd, const void*);
++typedef curlioerr (*_curl_ioctl_callback1)(CURL *, int, void *);
++typedef curlioerr (*_curl_ioctl_callback2)(CURL *, int, const void *);
++typedef curlioerr (*_curl_ioctl_callback3)(CURL *, curliocmd, void *);
++typedef curlioerr (*_curl_ioctl_callback4)(CURL *, curliocmd, const void *);
+
+ /* evaluates to true if expr is of type curl_sockopt_callback or "similar" */
+ #define _curl_is_sockopt_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_sockopt_callback) || \
++ _curl_callback_compatible((expr), curl_sockopt_callback) || \
+ _curl_callback_compatible((expr), _curl_sockopt_callback1) || \
+ _curl_callback_compatible((expr), _curl_sockopt_callback2))
+-typedef int (_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype);
+-typedef int (_curl_sockopt_callback2)(const void *, curl_socket_t,
++typedef int (*_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype);
++typedef int (*_curl_sockopt_callback2)(const void *, curl_socket_t,
+ curlsocktype);
+
+-/* evaluates to true if expr is of type curl_opensocket_callback or "similar" */
++/* evaluates to true if expr is of type curl_opensocket_callback or
++ "similar" */
+ #define _curl_is_opensocket_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_opensocket_callback) ||\
++ _curl_callback_compatible((expr), curl_opensocket_callback) || \
+ _curl_callback_compatible((expr), _curl_opensocket_callback1) || \
+ _curl_callback_compatible((expr), _curl_opensocket_callback2) || \
+ _curl_callback_compatible((expr), _curl_opensocket_callback3) || \
+ _curl_callback_compatible((expr), _curl_opensocket_callback4))
+-typedef curl_socket_t (_curl_opensocket_callback1)
++typedef curl_socket_t (*_curl_opensocket_callback1)
+ (void *, curlsocktype, struct curl_sockaddr *);
+-typedef curl_socket_t (_curl_opensocket_callback2)
++typedef curl_socket_t (*_curl_opensocket_callback2)
+ (void *, curlsocktype, const struct curl_sockaddr *);
+-typedef curl_socket_t (_curl_opensocket_callback3)
++typedef curl_socket_t (*_curl_opensocket_callback3)
+ (const void *, curlsocktype, struct curl_sockaddr *);
+-typedef curl_socket_t (_curl_opensocket_callback4)
++typedef curl_socket_t (*_curl_opensocket_callback4)
+ (const void *, curlsocktype, const struct curl_sockaddr *);
+
+ /* evaluates to true if expr is of type curl_progress_callback or "similar" */
+ #define _curl_is_progress_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_progress_callback) || \
++ _curl_callback_compatible((expr), curl_progress_callback) || \
+ _curl_callback_compatible((expr), _curl_progress_callback1) || \
+ _curl_callback_compatible((expr), _curl_progress_callback2))
+-typedef int (_curl_progress_callback1)(void *,
++typedef int (*_curl_progress_callback1)(void *,
+ double, double, double, double);
+-typedef int (_curl_progress_callback2)(const void *,
++typedef int (*_curl_progress_callback2)(const void *,
+ double, double, double, double);
+
+ /* evaluates to true if expr is of type curl_debug_callback or "similar" */
+ #define _curl_is_debug_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_debug_callback) || \
++ _curl_callback_compatible((expr), curl_debug_callback) || \
+ _curl_callback_compatible((expr), _curl_debug_callback1) || \
+ _curl_callback_compatible((expr), _curl_debug_callback2) || \
+ _curl_callback_compatible((expr), _curl_debug_callback3) || \
+- _curl_callback_compatible((expr), _curl_debug_callback4))
+-typedef int (_curl_debug_callback1) (CURL *,
++ _curl_callback_compatible((expr), _curl_debug_callback4) || \
++ _curl_callback_compatible((expr), _curl_debug_callback5) || \
++ _curl_callback_compatible((expr), _curl_debug_callback6) || \
++ _curl_callback_compatible((expr), _curl_debug_callback7) || \
++ _curl_callback_compatible((expr), _curl_debug_callback8))
++typedef int (*_curl_debug_callback1) (CURL *,
+ curl_infotype, char *, size_t, void *);
+-typedef int (_curl_debug_callback2) (CURL *,
++typedef int (*_curl_debug_callback2) (CURL *,
+ curl_infotype, char *, size_t, const void *);
+-typedef int (_curl_debug_callback3) (CURL *,
++typedef int (*_curl_debug_callback3) (CURL *,
+ curl_infotype, const char *, size_t, void *);
+-typedef int (_curl_debug_callback4) (CURL *,
++typedef int (*_curl_debug_callback4) (CURL *,
+ curl_infotype, const char *, size_t, const void *);
++typedef int (*_curl_debug_callback5) (CURL *,
++ curl_infotype, unsigned char *, size_t, void *);
++typedef int (*_curl_debug_callback6) (CURL *,
++ curl_infotype, unsigned char *, size_t, const void *);
++typedef int (*_curl_debug_callback7) (CURL *,
++ curl_infotype, const unsigned char *, size_t, void *);
++typedef int (*_curl_debug_callback8) (CURL *,
++ curl_infotype, const unsigned char *, size_t, const void *);
+
+ /* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */
+ /* this is getting even messier... */
+ #define _curl_is_ssl_ctx_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_ssl_ctx_callback) || \
++ _curl_callback_compatible((expr), curl_ssl_ctx_callback) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback1) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback2) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback3) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback4) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback5) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback6) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback7) || \
+ _curl_callback_compatible((expr), _curl_ssl_ctx_callback8))
+-typedef CURLcode (_curl_ssl_ctx_callback1)(CURL *, void *, void *);
+-typedef CURLcode (_curl_ssl_ctx_callback2)(CURL *, void *, const void *);
+-typedef CURLcode (_curl_ssl_ctx_callback3)(CURL *, const void *, void *);
+-typedef CURLcode (_curl_ssl_ctx_callback4)(CURL *, const void *, const void *);
++typedef CURLcode (*_curl_ssl_ctx_callback1)(CURL *, void *, void *);
++typedef CURLcode (*_curl_ssl_ctx_callback2)(CURL *, void *, const void *);
++typedef CURLcode (*_curl_ssl_ctx_callback3)(CURL *, const void *, void *);
++typedef CURLcode (*_curl_ssl_ctx_callback4)(CURL *, const void *,
++ const void *);
+ #ifdef HEADER_SSL_H
+ /* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX
+ * this will of course break if we're included before OpenSSL headers...
+ */
+-typedef CURLcode (_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *);
+-typedef CURLcode (_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *);
+-typedef CURLcode (_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *);
+-typedef CURLcode (_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX, const void *);
++typedef CURLcode (*_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *);
++typedef CURLcode (*_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *);
++typedef CURLcode (*_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *);
++typedef CURLcode (*_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX,
++ const void *);
+ #else
+ typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5;
+ typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6;
+ typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback7;
+ typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8;
+ #endif
+
+ /* evaluates to true if expr is of type curl_conv_callback or "similar" */
+ #define _curl_is_conv_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_conv_callback) || \
++ _curl_callback_compatible((expr), curl_conv_callback) || \
+ _curl_callback_compatible((expr), _curl_conv_callback1) || \
+ _curl_callback_compatible((expr), _curl_conv_callback2) || \
+ _curl_callback_compatible((expr), _curl_conv_callback3) || \
+ _curl_callback_compatible((expr), _curl_conv_callback4))
+ typedef CURLcode (*_curl_conv_callback1)(char *, size_t length);
+ typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length);
+ typedef CURLcode (*_curl_conv_callback3)(void *, size_t length);
+ typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length);
+
+ /* evaluates to true if expr is of type curl_seek_callback or "similar" */
+ #define _curl_is_seek_cb(expr) \
+ (_curl_is_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), curl_seek_callback) || \
++ _curl_callback_compatible((expr), curl_seek_callback) || \
+ _curl_callback_compatible((expr), _curl_seek_callback1) || \
+ _curl_callback_compatible((expr), _curl_seek_callback2))
+ typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int);
+ typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int);
+
+
+ #endif /* __CURL_TYPECHECK_GCC_H */
+diff --git a/src/third_party/curl/types.h b/src/third_party/curl/types.h
+deleted file mode 100644
+--- a/src/third_party/curl/types.h
++++ /dev/null
+@@ -1,1 +0,0 @@
+-/* not used */
+diff --git a/src/third_party/curl/urlapi.h b/src/third_party/curl/urlapi.h
+new file mode 100644
+--- /dev/null
++++ b/src/third_party/curl/urlapi.h
+@@ -0,0 +1,122 @@
++#ifndef __CURL_URLAPI_H
++#define __CURL_URLAPI_H
++/***************************************************************************
++ * _ _ ____ _
++ * Project ___| | | | _ \| |
++ * / __| | | | |_) | |
++ * | (__| |_| | _ <| |___
++ * \___|\___/|_| \_\_____|
++ *
++ * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
++ *
++ * This software is licensed as described in the file COPYING, which
++ * you should have received as part of this distribution. The terms
++ * are also available at https://curl.haxx.se/docs/copyright.html.
++ *
++ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
++ * copies of the Software, and permit persons to whom the Software is
++ * furnished to do so, under the terms of the COPYING file.
++ *
++ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
++ * KIND, either express or implied.
++ *
++ ***************************************************************************/
++
++#include "curl.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* the error codes for the URL API */
++typedef enum {
++ CURLUE_OK,
++ CURLUE_BAD_HANDLE, /* 1 */
++ CURLUE_BAD_PARTPOINTER, /* 2 */
++ CURLUE_MALFORMED_INPUT, /* 3 */
++ CURLUE_BAD_PORT_NUMBER, /* 4 */
++ CURLUE_UNSUPPORTED_SCHEME, /* 5 */
++ CURLUE_URLDECODE, /* 6 */
++ CURLUE_OUT_OF_MEMORY, /* 7 */
++ CURLUE_USER_NOT_ALLOWED, /* 8 */
++ CURLUE_UNKNOWN_PART, /* 9 */
++ CURLUE_NO_SCHEME, /* 10 */
++ CURLUE_NO_USER, /* 11 */
++ CURLUE_NO_PASSWORD, /* 12 */
++ CURLUE_NO_OPTIONS, /* 13 */
++ CURLUE_NO_HOST, /* 14 */
++ CURLUE_NO_PORT, /* 15 */
++ CURLUE_NO_QUERY, /* 16 */
++ CURLUE_NO_FRAGMENT /* 17 */
++} CURLUcode;
++
++typedef enum {
++ CURLUPART_URL,
++ CURLUPART_SCHEME,
++ CURLUPART_USER,
++ CURLUPART_PASSWORD,
++ CURLUPART_OPTIONS,
++ CURLUPART_HOST,
++ CURLUPART_PORT,
++ CURLUPART_PATH,
++ CURLUPART_QUERY,
++ CURLUPART_FRAGMENT
++} CURLUPart;
++
++#define CURLU_DEFAULT_PORT (1<<0) /* return default port number */
++#define CURLU_NO_DEFAULT_PORT (1<<1) /* act as if no port number was set,
++ if the port number matches the
++ default for the scheme */
++#define CURLU_DEFAULT_SCHEME (1<<2) /* return default scheme if
++ missing */
++#define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */
++#define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */
++#define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */
++#define CURLU_URLDECODE (1<<6) /* URL decode on get */
++#define CURLU_URLENCODE (1<<7) /* URL encode on set */
++#define CURLU_APPENDQUERY (1<<8) /* append a form style part */
++#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */
++
++typedef struct Curl_URL CURLU;
++
++/*
++ * curl_url() creates a new CURLU handle and returns a pointer to it.
++ * Must be freed with curl_url_cleanup().
++ */
++CURL_EXTERN CURLU *curl_url(void);
++
++/*
++ * curl_url_cleanup() frees the CURLU handle and related resources used for
++ * the URL parsing. It will not free strings previously returned with the URL
++ * API.
++ */
++CURL_EXTERN void curl_url_cleanup(CURLU *handle);
++
++/*
++ * curl_url_dup() duplicates a CURLU handle and returns a new copy. The new
++ * handle must also be freed with curl_url_cleanup().
++ */
++CURL_EXTERN CURLU *curl_url_dup(CURLU *in);
++
++/*
++ * curl_url_get() extracts a specific part of the URL from a CURLU
++ * handle. Returns error code. The returned pointer MUST be freed with
++ * curl_free() afterwards.
++ */
++CURL_EXTERN CURLUcode curl_url_get(CURLU *handle, CURLUPart what,
++ char **part, unsigned int flags);
++
++/*
++ * curl_url_set() sets a specific part of the URL in a CURLU handle. Returns
++ * error code. The passed in string will be copied. Passing a NULL instead of
++ * a part string, clears that part.
++ */
++CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what,
++ const char *part, unsigned int flags);
++
++
++#ifdef __cplusplus
++} /* end of extern "C" */
++#endif
++
++#endif
+diff --git a/src/third_party/musl/include/elf.h b/src/third_party/musl/include/elf.h
+--- a/src/third_party/musl/include/elf.h
++++ b/src/third_party/musl/include/elf.h
+@@ -205,23 +205,123 @@ typedef struct {
+ #define EM_D10V 85
+ #define EM_D30V 86
+ #define EM_V850 87
+ #define EM_M32R 88
+ #define EM_MN10300 89
+ #define EM_MN10200 90
+ #define EM_PJ 91
+ #define EM_OR1K 92
++#define EM_OPENRISC 92
+ #define EM_ARC_A5 93
++#define EM_ARC_COMPACT 93
+ #define EM_XTENSA 94
++#define EM_VIDEOCORE 95
++#define EM_TMM_GPP 96
++#define EM_NS32K 97
++#define EM_TPC 98
++#define EM_SNP1K 99
++#define EM_ST200 100
++#define EM_IP2K 101
++#define EM_MAX 102
++#define EM_CR 103
++#define EM_F2MC16 104
++#define EM_MSP430 105
++#define EM_BLACKFIN 106
++#define EM_SE_C33 107
++#define EM_SEP 108
++#define EM_ARCA 109
++#define EM_UNICORE 110
++#define EM_EXCESS 111
++#define EM_DXP 112
++#define EM_ALTERA_NIOS2 113
++#define EM_CRX 114
++#define EM_XGATE 115
++#define EM_C166 116
++#define EM_M16C 117
++#define EM_DSPIC30F 118
++#define EM_CE 119
++#define EM_M32C 120
++#define EM_TSK3000 131
++#define EM_RS08 132
++#define EM_SHARC 133
++#define EM_ECOG2 134
++#define EM_SCORE7 135
++#define EM_DSP24 136
++#define EM_VIDEOCORE3 137
++#define EM_LATTICEMICO32 138
++#define EM_SE_C17 139
++#define EM_TI_C6000 140
++#define EM_TI_C2000 141
++#define EM_TI_C5500 142
++#define EM_TI_ARP32 143
++#define EM_TI_PRU 144
++#define EM_MMDSP_PLUS 160
++#define EM_CYPRESS_M8C 161
++#define EM_R32C 162
++#define EM_TRIMEDIA 163
++#define EM_QDSP6 164
++#define EM_8051 165
++#define EM_STXP7X 166
++#define EM_NDS32 167
++#define EM_ECOG1X 168
++#define EM_MAXQ30 169
++#define EM_XIMO16 170
++#define EM_MANIK 171
++#define EM_CRAYNV2 172
++#define EM_RX 173
++#define EM_METAG 174
++#define EM_MCST_ELBRUS 175
++#define EM_ECOG16 176
++#define EM_CR16 177
++#define EM_ETPU 178
++#define EM_SLE9X 179
++#define EM_L10M 180
++#define EM_K10M 181
+ #define EM_AARCH64 183
++#define EM_AVR32 185
++#define EM_STM8 186
++#define EM_TILE64 187
+ #define EM_TILEPRO 188
+ #define EM_MICROBLAZE 189
++#define EM_CUDA 190
+ #define EM_TILEGX 191
+-#define EM_NUM 192
++#define EM_CLOUDSHIELD 192
++#define EM_COREA_1ST 193
++#define EM_COREA_2ND 194
++#define EM_ARC_COMPACT2 195
++#define EM_OPEN8 196
++#define EM_RL78 197
++#define EM_VIDEOCORE5 198
++#define EM_78KOR 199
++#define EM_56800EX 200
++#define EM_BA1 201
++#define EM_BA2 202
++#define EM_XCORE 203
++#define EM_MCHP_PIC 204
++#define EM_KM32 210
++#define EM_KMX32 211
++#define EM_EMX16 212
++#define EM_EMX8 213
++#define EM_KVARC 214
++#define EM_CDP 215
++#define EM_COGE 216
++#define EM_COOL 217
++#define EM_NORC 218
++#define EM_CSR_KALIMBA 219
++#define EM_Z80 220
++#define EM_VISIUM 221
++#define EM_FT32 222
++#define EM_MOXIE 223
++#define EM_AMDGPU 224
++#define EM_RISCV 243
++#define EM_BPF 247
++#define EM_CSKY 252
++#define EM_NUM 253
++
+ #define EM_ALPHA 0x9026
+
+ #define EV_NONE 0
+ #define EV_CURRENT 1
+ #define EV_NUM 2
+
+ typedef struct {
+ Elf32_Word sh_name;
+@@ -311,21 +411,42 @@ typedef struct {
+ #define SHF_MERGE (1 << 4)
+ #define SHF_STRINGS (1 << 5)
+ #define SHF_INFO_LINK (1 << 6)
+ #define SHF_LINK_ORDER (1 << 7)
+ #define SHF_OS_NONCONFORMING (1 << 8)
+
+ #define SHF_GROUP (1 << 9)
+ #define SHF_TLS (1 << 10)
++#define SHF_COMPRESSED (1 << 11)
+ #define SHF_MASKOS 0x0ff00000
+ #define SHF_MASKPROC 0xf0000000
+ #define SHF_ORDERED (1 << 30)
+ #define SHF_EXCLUDE (1U << 31)
+
++typedef struct {
++ Elf32_Word ch_type;
++ Elf32_Word ch_size;
++ Elf32_Word ch_addralign;
++} Elf32_Chdr;
++
++typedef struct {
++ Elf64_Word ch_type;
++ Elf64_Word ch_reserved;
++ Elf64_Xword ch_size;
++ Elf64_Xword ch_addralign;
++} Elf64_Chdr;
++
++#define ELFCOMPRESS_ZLIB 1
++#define ELFCOMPRESS_LOOS 0x60000000
++#define ELFCOMPRESS_HIOS 0x6fffffff
++#define ELFCOMPRESS_LOPROC 0x70000000
++#define ELFCOMPRESS_HIPROC 0x7fffffff
++
++
+ #define GRP_COMDAT 0x1
+
+ typedef struct {
+ Elf32_Word st_name;
+ Elf32_Addr st_value;
+ Elf32_Word st_size;
+ unsigned char st_info;
+ unsigned char st_other;
+@@ -404,18 +525,17 @@ typedef struct {
+ #define STV_DEFAULT 0
+ #define STV_INTERNAL 1
+ #define STV_HIDDEN 2
+ #define STV_PROTECTED 3
+
+
+
+
+-typedef struct
+-{
++typedef struct {
+ Elf32_Addr r_offset;
+ Elf32_Word r_info;
+ } Elf32_Rel;
+
+ typedef struct {
+ Elf64_Addr r_offset;
+ Elf64_Xword r_info;
+ } Elf64_Rel;
+@@ -499,16 +619,17 @@ typedef struct {
+ #define PF_W (1 << 1)
+ #define PF_R (1 << 2)
+ #define PF_MASKOS 0x0ff00000
+ #define PF_MASKPROC 0xf0000000
+
+
+
+ #define NT_PRSTATUS 1
++#define NT_PRFPREG 2
+ #define NT_FPREGSET 2
+ #define NT_PRPSINFO 3
+ #define NT_PRXREG 4
+ #define NT_TASKSTRUCT 4
+ #define NT_PLATFORM 5
+ #define NT_AUXV 6
+ #define NT_GWINDOWS 7
+ #define NT_ASRS 8
+@@ -520,35 +641,61 @@ typedef struct {
+ #define NT_LWPSINFO 17
+ #define NT_PRFPXREG 20
+ #define NT_SIGINFO 0x53494749
+ #define NT_FILE 0x46494c45
+ #define NT_PRXFPREG 0x46e62b7f
+ #define NT_PPC_VMX 0x100
+ #define NT_PPC_SPE 0x101
+ #define NT_PPC_VSX 0x102
++#define NT_PPC_TAR 0x103
++#define NT_PPC_PPR 0x104
++#define NT_PPC_DSCR 0x105
++#define NT_PPC_EBB 0x106
++#define NT_PPC_PMU 0x107
++#define NT_PPC_TM_CGPR 0x108
++#define NT_PPC_TM_CFPR 0x109
++#define NT_PPC_TM_CVMX 0x10a
++#define NT_PPC_TM_CVSX 0x10b
++#define NT_PPC_TM_SPR 0x10c
++#define NT_PPC_TM_CTAR 0x10d
++#define NT_PPC_TM_CPPR 0x10e
++#define NT_PPC_TM_CDSCR 0x10f
+ #define NT_386_TLS 0x200
+ #define NT_386_IOPERM 0x201
+ #define NT_X86_XSTATE 0x202
+ #define NT_S390_HIGH_GPRS 0x300
+ #define NT_S390_TIMER 0x301
+ #define NT_S390_TODCMP 0x302
+ #define NT_S390_TODPREG 0x303
+ #define NT_S390_CTRS 0x304
+ #define NT_S390_PREFIX 0x305
+ #define NT_S390_LAST_BREAK 0x306
+ #define NT_S390_SYSTEM_CALL 0x307
+ #define NT_S390_TDB 0x308
++#define NT_S390_VXRS_LOW 0x309
++#define NT_S390_VXRS_HIGH 0x30a
++#define NT_S390_GS_CB 0x30b
++#define NT_S390_GS_BC 0x30c
++#define NT_S390_RI_CB 0x30d
+ #define NT_ARM_VFP 0x400
+ #define NT_ARM_TLS 0x401
+ #define NT_ARM_HW_BREAK 0x402
+ #define NT_ARM_HW_WATCH 0x403
++#define NT_ARM_SYSTEM_CALL 0x404
++#define NT_ARM_SVE 0x405
++#define NT_ARM_PAC_MASK 0x406
+ #define NT_METAG_CBUF 0x500
+ #define NT_METAG_RPIPE 0x501
+ #define NT_METAG_TLS 0x502
++#define NT_ARC_V2 0x600
++#define NT_VMCOREDD 0x700
++#define NT_MIPS_DSP 0x800
++#define NT_MIPS_FP_MODE 0x801
++#define NT_MIPS_MSA 0x802
+ #define NT_VERSION 1
+
+
+
+
+ typedef struct {
+ Elf32_Sword d_tag;
+ union {
+@@ -596,17 +743,18 @@ typedef struct {
+ #define DT_FINI_ARRAY 26
+ #define DT_INIT_ARRAYSZ 27
+ #define DT_FINI_ARRAYSZ 28
+ #define DT_RUNPATH 29
+ #define DT_FLAGS 30
+ #define DT_ENCODING 32
+ #define DT_PREINIT_ARRAY 32
+ #define DT_PREINIT_ARRAYSZ 33
+-#define DT_NUM 34
++#define DT_SYMTAB_SHNDX 34
++#define DT_NUM 35
+ #define DT_LOOS 0x6000000d
+ #define DT_HIOS 0x6ffff000
+ #define DT_LOPROC 0x70000000
+ #define DT_HIPROC 0x7fffffff
+ #define DT_PROCNUM DT_MIPS_NUM
+
+ #define DT_VALRNGLO 0x6ffffd00
+ #define DT_GNU_PRELINKED 0x6ffffdf5
+@@ -696,16 +844,18 @@ typedef struct {
+ #define DF_1_IGNMULDEF 0x00040000
+ #define DF_1_NOKSYMS 0x00080000
+ #define DF_1_NOHDR 0x00100000
+ #define DF_1_EDITED 0x00200000
+ #define DF_1_NORELOC 0x00400000
+ #define DF_1_SYMINTPOSE 0x00800000
+ #define DF_1_GLOBAUDIT 0x01000000
+ #define DF_1_SINGLETON 0x02000000
++#define DF_1_STUB 0x04000000
++#define DF_1_PIE 0x08000000
+
+ #define DTF_1_PARINIT 0x00000001
+ #define DTF_1_CONFEXP 0x00000002
+
+
+ #define DF_P1_LAZYLOAD 0x00000001
+ #define DF_P1_GROUPPERM 0x00000002
+
+@@ -877,17 +1027,26 @@ typedef struct {
+
+
+
+ #define AT_L1I_CACHESHAPE 34
+ #define AT_L1D_CACHESHAPE 35
+ #define AT_L2_CACHESHAPE 36
+ #define AT_L3_CACHESHAPE 37
+
+-
++#define AT_L1I_CACHESIZE 40
++#define AT_L1I_CACHEGEOMETRY 41
++#define AT_L1D_CACHESIZE 42
++#define AT_L1D_CACHEGEOMETRY 43
++#define AT_L2_CACHESIZE 44
++#define AT_L2_CACHEGEOMETRY 45
++#define AT_L3_CACHESIZE 46
++#define AT_L3_CACHEGEOMETRY 47
++
++#define AT_MINSIGSTKSZ 51
+
+
+ typedef struct {
+ Elf32_Word n_namesz;
+ Elf32_Word n_descsz;
+ Elf32_Word n_type;
+ } Elf32_Nhdr;
+
+@@ -972,17 +1131,35 @@ typedef struct {
+ #define R_68K_PLT8 15
+ #define R_68K_PLT32O 16
+ #define R_68K_PLT16O 17
+ #define R_68K_PLT8O 18
+ #define R_68K_COPY 19
+ #define R_68K_GLOB_DAT 20
+ #define R_68K_JMP_SLOT 21
+ #define R_68K_RELATIVE 22
+-#define R_68K_NUM 23
++#define R_68K_TLS_GD32 25
++#define R_68K_TLS_GD16 26
++#define R_68K_TLS_GD8 27
++#define R_68K_TLS_LDM32 28
++#define R_68K_TLS_LDM16 29
++#define R_68K_TLS_LDM8 30
++#define R_68K_TLS_LDO32 31
++#define R_68K_TLS_LDO16 32
++#define R_68K_TLS_LDO8 33
++#define R_68K_TLS_IE32 34
++#define R_68K_TLS_IE16 35
++#define R_68K_TLS_IE8 36
++#define R_68K_TLS_LE32 37
++#define R_68K_TLS_LE16 38
++#define R_68K_TLS_LE8 39
++#define R_68K_TLS_DTPMOD32 40
++#define R_68K_TLS_DTPREL32 41
++#define R_68K_TLS_TPREL32 42
++#define R_68K_NUM 43
+
+ #define R_386_NONE 0
+ #define R_386_32 1
+ #define R_386_PC32 2
+ #define R_386_GOT32 3
+ #define R_386_PLT32 4
+ #define R_386_COPY 5
+ #define R_386_GLOB_DAT 6
+@@ -1015,17 +1192,18 @@ typedef struct {
+ #define R_386_TLS_DTPMOD32 35
+ #define R_386_TLS_DTPOFF32 36
+ #define R_386_TLS_TPOFF32 37
+ #define R_386_SIZE32 38
+ #define R_386_TLS_GOTDESC 39
+ #define R_386_TLS_DESC_CALL 40
+ #define R_386_TLS_DESC 41
+ #define R_386_IRELATIVE 42
+-#define R_386_NUM 43
++#define R_386_GOT32X 43
++#define R_386_NUM 44
+
+
+
+
+
+ #define STT_SPARC_REGISTER 13
+
+
+@@ -1148,16 +1326,17 @@ typedef struct {
+
+ #define EF_MIPS_NOREORDER 1
+ #define EF_MIPS_PIC 2
+ #define EF_MIPS_CPIC 4
+ #define EF_MIPS_XGOT 8
+ #define EF_MIPS_64BIT_WHIRL 16
+ #define EF_MIPS_ABI2 32
+ #define EF_MIPS_ABI_ON32 64
++#define EF_MIPS_FP64 512
+ #define EF_MIPS_NAN2008 1024
+ #define EF_MIPS_ARCH 0xf0000000
+
+
+
+ #define EF_MIPS_ARCH_1 0x00000000
+ #define EF_MIPS_ARCH_2 0x10000000
+ #define EF_MIPS_ARCH_3 0x20000000
+@@ -1392,16 +1571,17 @@ typedef struct {
+
+ #define R_MIPS_NUM 128
+
+
+
+ #define PT_MIPS_REGINFO 0x70000000
+ #define PT_MIPS_RTPROC 0x70000001
+ #define PT_MIPS_OPTIONS 0x70000002
++#define PT_MIPS_ABIFLAGS 0x70000003
+
+
+
+ #define PF_MIPS_LOCAL 0x10000000
+
+
+
+ #define DT_MIPS_RLD_VERSION 0x70000001
+@@ -1455,17 +1635,18 @@ typedef struct {
+
+ #define DT_MIPS_COMPACT_SIZE 0x7000002f
+ #define DT_MIPS_GP_VALUE 0x70000030
+ #define DT_MIPS_AUX_DYNAMIC 0x70000031
+
+ #define DT_MIPS_PLTGOT 0x70000032
+
+ #define DT_MIPS_RWPLT 0x70000034
+-#define DT_MIPS_NUM 0x35
++#define DT_MIPS_RLD_MAP_REL 0x70000035
++#define DT_MIPS_NUM 0x36
+
+
+
+ #define RHF_NONE 0
+ #define RHF_QUICKSTART (1 << 0)
+ #define RHF_NOTPOT (1 << 1)
+ #define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
+ #define RHF_NO_MOVE (1 << 3)
+@@ -1478,27 +1659,25 @@ typedef struct {
+ #define RHF_REQUICKSTART (1 << 10)
+ #define RHF_REQUICKSTARTED (1 << 11)
+ #define RHF_CORD (1 << 12)
+ #define RHF_NO_UNRES_UNDEF (1 << 13)
+ #define RHF_RLD_ORDER_SAFE (1 << 14)
+
+
+
+-typedef struct
+-{
++typedef struct {
+ Elf32_Word l_name;
+ Elf32_Word l_time_stamp;
+ Elf32_Word l_checksum;
+ Elf32_Word l_version;
+ Elf32_Word l_flags;
+ } Elf32_Lib;
+
+-typedef struct
+-{
++typedef struct {
+ Elf64_Word l_name;
+ Elf64_Word l_time_stamp;
+ Elf64_Word l_checksum;
+ Elf64_Word l_version;
+ Elf64_Word l_flags;
+ } Elf64_Lib;
+
+
+@@ -1511,17 +1690,83 @@ typedef struct
+ #define LL_EXPORTS (1 << 3)
+ #define LL_DELAY_LOAD (1 << 4)
+ #define LL_DELTA (1 << 5)
+
+
+
+ typedef Elf32_Addr Elf32_Conflict;
+
+-
++typedef struct {
++ Elf32_Half version;
++ unsigned char isa_level;
++ unsigned char isa_rev;
++ unsigned char gpr_size;
++ unsigned char cpr1_size;
++ unsigned char cpr2_size;
++ unsigned char fp_abi;
++ Elf32_Word isa_ext;
++ Elf32_Word ases;
++ Elf32_Word flags1;
++ Elf32_Word flags2;
++} Elf_MIPS_ABIFlags_v0;
++
++#define MIPS_AFL_REG_NONE 0x00
++#define MIPS_AFL_REG_32 0x01
++#define MIPS_AFL_REG_64 0x02
++#define MIPS_AFL_REG_128 0x03
++
++#define MIPS_AFL_ASE_DSP 0x00000001
++#define MIPS_AFL_ASE_DSPR2 0x00000002
++#define MIPS_AFL_ASE_EVA 0x00000004
++#define MIPS_AFL_ASE_MCU 0x00000008
++#define MIPS_AFL_ASE_MDMX 0x00000010
++#define MIPS_AFL_ASE_MIPS3D 0x00000020
++#define MIPS_AFL_ASE_MT 0x00000040
++#define MIPS_AFL_ASE_SMARTMIPS 0x00000080
++#define MIPS_AFL_ASE_VIRT 0x00000100
++#define MIPS_AFL_ASE_MSA 0x00000200
++#define MIPS_AFL_ASE_MIPS16 0x00000400
++#define MIPS_AFL_ASE_MICROMIPS 0x00000800
++#define MIPS_AFL_ASE_XPA 0x00001000
++#define MIPS_AFL_ASE_MASK 0x00001fff
++
++#define MIPS_AFL_EXT_XLR 1
++#define MIPS_AFL_EXT_OCTEON2 2
++#define MIPS_AFL_EXT_OCTEONP 3
++#define MIPS_AFL_EXT_LOONGSON_3A 4
++#define MIPS_AFL_EXT_OCTEON 5
++#define MIPS_AFL_EXT_5900 6
++#define MIPS_AFL_EXT_4650 7
++#define MIPS_AFL_EXT_4010 8
++#define MIPS_AFL_EXT_4100 9
++#define MIPS_AFL_EXT_3900 10
++#define MIPS_AFL_EXT_10000 11
++#define MIPS_AFL_EXT_SB1 12
++#define MIPS_AFL_EXT_4111 13
++#define MIPS_AFL_EXT_4120 14
++#define MIPS_AFL_EXT_5400 15
++#define MIPS_AFL_EXT_5500 16
++#define MIPS_AFL_EXT_LOONGSON_2E 17
++#define MIPS_AFL_EXT_LOONGSON_2F 18
++
++#define MIPS_AFL_FLAGS1_ODDSPREG 1
++
++enum
++{
++ Val_GNU_MIPS_ABI_FP_ANY = 0,
++ Val_GNU_MIPS_ABI_FP_DOUBLE = 1,
++ Val_GNU_MIPS_ABI_FP_SINGLE = 2,
++ Val_GNU_MIPS_ABI_FP_SOFT = 3,
++ Val_GNU_MIPS_ABI_FP_OLD_64 = 4,
++ Val_GNU_MIPS_ABI_FP_XX = 5,
++ Val_GNU_MIPS_ABI_FP_64 = 6,
++ Val_GNU_MIPS_ABI_FP_64A = 7,
++ Val_GNU_MIPS_ABI_FP_MAX = 7
++};
+
+
+
+
+ #define EF_PARISC_TRAPNIL 0x00010000
+ #define EF_PARISC_EXT 0x00020000
+ #define EF_PARISC_LSB 0x00040000
+ #define EF_PARISC_WIDE 0x00080000
+@@ -1852,17 +2097,18 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_PPC_GOT_TPREL16 87
+ #define R_PPC_GOT_TPREL16_LO 88
+ #define R_PPC_GOT_TPREL16_HI 89
+ #define R_PPC_GOT_TPREL16_HA 90
+ #define R_PPC_GOT_DTPREL16 91
+ #define R_PPC_GOT_DTPREL16_LO 92
+ #define R_PPC_GOT_DTPREL16_HI 93
+ #define R_PPC_GOT_DTPREL16_HA 94
+-
++#define R_PPC_TLSGD 95
++#define R_PPC_TLSLD 96
+
+
+ #define R_PPC_EMB_NADDR32 101
+ #define R_PPC_EMB_NADDR16 102
+ #define R_PPC_EMB_NADDR16_LO 103
+ #define R_PPC_EMB_NADDR16_HI 104
+ #define R_PPC_EMB_NADDR16_HA 105
+ #define R_PPC_EMB_SDAI16 106
+@@ -1895,17 +2141,20 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_PPC_REL16_HA 252
+
+
+
+ #define R_PPC_TOC16 255
+
+
+ #define DT_PPC_GOT (DT_LOPROC + 0)
+-#define DT_PPC_NUM 1
++#define DT_PPC_OPT (DT_LOPROC + 1)
++#define DT_PPC_NUM 2
++
++#define PPC_OPT_TLS 1
+
+
+ #define R_PPC64_NONE R_PPC_NONE
+ #define R_PPC64_ADDR32 R_PPC_ADDR32
+ #define R_PPC64_ADDR24 R_PPC_ADDR24
+ #define R_PPC64_ADDR16 R_PPC_ADDR16
+ #define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
+ #define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
+@@ -2008,33 +2257,49 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_PPC64_TPREL16_HIGHEST 99
+ #define R_PPC64_TPREL16_HIGHESTA 100
+ #define R_PPC64_DTPREL16_DS 101
+ #define R_PPC64_DTPREL16_LO_DS 102
+ #define R_PPC64_DTPREL16_HIGHER 103
+ #define R_PPC64_DTPREL16_HIGHERA 104
+ #define R_PPC64_DTPREL16_HIGHEST 105
+ #define R_PPC64_DTPREL16_HIGHESTA 106
++#define R_PPC64_TLSGD 107
++#define R_PPC64_TLSLD 108
++#define R_PPC64_TOCSAVE 109
++#define R_PPC64_ADDR16_HIGH 110
++#define R_PPC64_ADDR16_HIGHA 111
++#define R_PPC64_TPREL16_HIGH 112
++#define R_PPC64_TPREL16_HIGHA 113
++#define R_PPC64_DTPREL16_HIGH 114
++#define R_PPC64_DTPREL16_HIGHA 115
+
+
+ #define R_PPC64_JMP_IREL 247
+ #define R_PPC64_IRELATIVE 248
+ #define R_PPC64_REL16 249
+ #define R_PPC64_REL16_LO 250
+ #define R_PPC64_REL16_HI 251
+ #define R_PPC64_REL16_HA 252
+
++#define EF_PPC64_ABI 3
+
+ #define DT_PPC64_GLINK (DT_LOPROC + 0)
+ #define DT_PPC64_OPD (DT_LOPROC + 1)
+ #define DT_PPC64_OPDSZ (DT_LOPROC + 2)
+-#define DT_PPC64_NUM 3
+-
+-
+-
++#define DT_PPC64_OPT (DT_LOPROC + 3)
++#define DT_PPC64_NUM 4
++
++#define PPC64_OPT_TLS 1
++#define PPC64_OPT_MULTI_TOC 2
++#define PPC64_OPT_LOCALENTRY 4
++
++#define STO_PPC64_LOCAL_BIT 5
++#define STO_PPC64_LOCAL_MASK 0xe0
++#define PPC64_LOCAL_ENTRY_OFFSET(x) (1 << (((x)&0xe0)>>5) & 0xfc)
+
+
+ #define EF_ARM_RELEXEC 0x01
+ #define EF_ARM_HASENTRY 0x02
+ #define EF_ARM_INTERWORK 0x04
+ #define EF_ARM_APCS_26 0x08
+ #define EF_ARM_APCS_FLOAT 0x10
+ #define EF_ARM_PIC 0x20
+@@ -2084,18 +2349,27 @@ typedef Elf32_Addr Elf32_Conflict;
+
+ #define PT_ARM_EXIDX (PT_LOPROC + 1)
+
+
+ #define SHT_ARM_EXIDX (SHT_LOPROC + 1)
+ #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2)
+ #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3)
+
+-
+ #define R_AARCH64_NONE 0
++#define R_AARCH64_P32_ABS32 1
++#define R_AARCH64_P32_COPY 180
++#define R_AARCH64_P32_GLOB_DAT 181
++#define R_AARCH64_P32_JUMP_SLOT 182
++#define R_AARCH64_P32_RELATIVE 183
++#define R_AARCH64_P32_TLS_DTPMOD 184
++#define R_AARCH64_P32_TLS_DTPREL 185
++#define R_AARCH64_P32_TLS_TPREL 186
++#define R_AARCH64_P32_TLSDESC 187
++#define R_AARCH64_P32_IRELATIVE 188
+ #define R_AARCH64_ABS64 257
+ #define R_AARCH64_ABS32 258
+ #define R_AARCH64_ABS16 259
+ #define R_AARCH64_PREL64 260
+ #define R_AARCH64_PREL32 261
+ #define R_AARCH64_PREL16 262
+ #define R_AARCH64_MOVW_UABS_G0 263
+ #define R_AARCH64_MOVW_UABS_G0_NC 264
+@@ -2203,18 +2477,21 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570
+ #define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571
+ #define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572
+ #define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573
+ #define R_AARCH64_COPY 1024
+ #define R_AARCH64_GLOB_DAT 1025
+ #define R_AARCH64_JUMP_SLOT 1026
+ #define R_AARCH64_RELATIVE 1027
++#define R_AARCH64_TLS_DTPMOD 1028
+ #define R_AARCH64_TLS_DTPMOD64 1028
++#define R_AARCH64_TLS_DTPREL 1029
+ #define R_AARCH64_TLS_DTPREL64 1029
++#define R_AARCH64_TLS_TPREL 1030
+ #define R_AARCH64_TLS_TPREL64 1030
+ #define R_AARCH64_TLSDESC 1031
+
+
+ #define R_ARM_NONE 0
+ #define R_ARM_PC24 1
+ #define R_ARM_ABS32 2
+ #define R_ARM_REL32 3
+@@ -2342,16 +2619,71 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_ARM_RREL32 252
+ #define R_ARM_RABS22 253
+ #define R_ARM_RPC24 254
+ #define R_ARM_RBASE 255
+
+ #define R_ARM_NUM 256
+
+
++#define R_CKCORE_NONE 0
++#define R_CKCORE_ADDR32 1
++#define R_CKCORE_PCRELIMM8BY4 2
++#define R_CKCORE_PCRELIMM11BY2 3
++#define R_CKCORE_PCREL32 5
++#define R_CKCORE_PCRELJSR_IMM11BY2 6
++#define R_CKCORE_RELATIVE 9
++#define R_CKCORE_COPY 10
++#define R_CKCORE_GLOB_DAT 11
++#define R_CKCORE_JUMP_SLOT 12
++#define R_CKCORE_GOTOFF 13
++#define R_CKCORE_GOTPC 14
++#define R_CKCORE_GOT32 15
++#define R_CKCORE_PLT32 16
++#define R_CKCORE_ADDRGOT 17
++#define R_CKCORE_ADDRPLT 18
++#define R_CKCORE_PCREL_IMM26BY2 19
++#define R_CKCORE_PCREL_IMM16BY2 20
++#define R_CKCORE_PCREL_IMM16BY4 21
++#define R_CKCORE_PCREL_IMM10BY2 22
++#define R_CKCORE_PCREL_IMM10BY4 23
++#define R_CKCORE_ADDR_HI16 24
++#define R_CKCORE_ADDR_LO16 25
++#define R_CKCORE_GOTPC_HI16 26
++#define R_CKCORE_GOTPC_LO16 27
++#define R_CKCORE_GOTOFF_HI16 28
++#define R_CKCORE_GOTOFF_LO16 29
++#define R_CKCORE_GOT12 30
++#define R_CKCORE_GOT_HI16 31
++#define R_CKCORE_GOT_LO16 32
++#define R_CKCORE_PLT12 33
++#define R_CKCORE_PLT_HI16 34
++#define R_CKCORE_PLT_LO16 35
++#define R_CKCORE_ADDRGOT_HI16 36
++#define R_CKCORE_ADDRGOT_LO16 37
++#define R_CKCORE_ADDRPLT_HI16 38
++#define R_CKCORE_ADDRPLT_LO16 39
++#define R_CKCORE_PCREL_JSR_IMM26BY2 40
++#define R_CKCORE_TOFFSET_LO16 41
++#define R_CKCORE_DOFFSET_LO16 42
++#define R_CKCORE_PCREL_IMM18BY2 43
++#define R_CKCORE_DOFFSET_IMM18 44
++#define R_CKCORE_DOFFSET_IMM18BY2 45
++#define R_CKCORE_DOFFSET_IMM18BY4 46
++#define R_CKCORE_GOT_IMM18BY4 48
++#define R_CKCORE_PLT_IMM18BY4 49
++#define R_CKCORE_PCREL_IMM7BY4 50
++#define R_CKCORE_TLS_LE32 51
++#define R_CKCORE_TLS_IE32 52
++#define R_CKCORE_TLS_GD32 53
++#define R_CKCORE_TLS_LDM32 54
++#define R_CKCORE_TLS_LDO32 55
++#define R_CKCORE_TLS_DTPMOD32 56
++#define R_CKCORE_TLS_DTPOFF32 57
++#define R_CKCORE_TLS_TPOFF32 58
+
+
+ #define EF_IA_64_MASKOS 0x0000000f
+ #define EF_IA_64_ABI64 0x00000010
+ #define EF_IA_64_ARCH 0xff000000
+
+
+ #define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
+@@ -2454,17 +2786,38 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_IA64_DTPREL64I 0xb3
+ #define R_IA64_DTPREL32MSB 0xb4
+ #define R_IA64_DTPREL32LSB 0xb5
+ #define R_IA64_DTPREL64MSB 0xb6
+ #define R_IA64_DTPREL64LSB 0xb7
+ #define R_IA64_LTOFF_DTPREL22 0xba
+
+
+-
++#define EF_SH_MACH_MASK 0x1f
++#define EF_SH_UNKNOWN 0x0
++#define EF_SH1 0x1
++#define EF_SH2 0x2
++#define EF_SH3 0x3
++#define EF_SH_DSP 0x4
++#define EF_SH3_DSP 0x5
++#define EF_SH4AL_DSP 0x6
++#define EF_SH3E 0x8
++#define EF_SH4 0x9
++#define EF_SH2E 0xb
++#define EF_SH4A 0xc
++#define EF_SH2A 0xd
++#define EF_SH4_NOFPU 0x10
++#define EF_SH4A_NOFPU 0x11
++#define EF_SH4_NOMMU_NOFPU 0x12
++#define EF_SH2A_NOFPU 0x13
++#define EF_SH3_NOMMU 0x14
++#define EF_SH2A_SH4_NOFPU 0x15
++#define EF_SH2A_SH3_NOFPU 0x16
++#define EF_SH2A_SH4 0x17
++#define EF_SH2A_SH3E 0x18
+
+ #define R_SH_NONE 0
+ #define R_SH_DIR32 1
+ #define R_SH_REL32 2
+ #define R_SH_DIR8WPN 3
+ #define R_SH_IND12W 4
+ #define R_SH_DIR8WPL 5
+ #define R_SH_DIR8WPZ 6
+@@ -2660,17 +3013,19 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_X86_64_SIZE64 33
+
+ #define R_X86_64_GOTPC32_TLSDESC 34
+ #define R_X86_64_TLSDESC_CALL 35
+
+ #define R_X86_64_TLSDESC 36
+ #define R_X86_64_IRELATIVE 37
+ #define R_X86_64_RELATIVE64 38
+-#define R_X86_64_NUM 39
++#define R_X86_64_GOTPCRELX 41
++#define R_X86_64_REX_GOTPCRELX 42
++#define R_X86_64_NUM 43
+
+
+
+ #define R_MN10300_NONE 0
+ #define R_MN10300_32 1
+ #define R_MN10300_16 2
+ #define R_MN10300_8 3
+ #define R_MN10300_PCREL32 4
+@@ -2778,16 +3133,65 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_MICROBLAZE_TLSGD 23
+ #define R_MICROBLAZE_TLSLD 24
+ #define R_MICROBLAZE_TLSDTPMOD32 25
+ #define R_MICROBLAZE_TLSDTPREL32 26
+ #define R_MICROBLAZE_TLSDTPREL64 27
+ #define R_MICROBLAZE_TLSGOTTPREL32 28
+ #define R_MICROBLAZE_TLSTPREL32 29
+
++#define DT_NIOS2_GP 0x70000002
++
++#define R_NIOS2_NONE 0
++#define R_NIOS2_S16 1
++#define R_NIOS2_U16 2
++#define R_NIOS2_PCREL16 3
++#define R_NIOS2_CALL26 4
++#define R_NIOS2_IMM5 5
++#define R_NIOS2_CACHE_OPX 6
++#define R_NIOS2_IMM6 7
++#define R_NIOS2_IMM8 8
++#define R_NIOS2_HI16 9
++#define R_NIOS2_LO16 10
++#define R_NIOS2_HIADJ16 11
++#define R_NIOS2_BFD_RELOC_32 12
++#define R_NIOS2_BFD_RELOC_16 13
++#define R_NIOS2_BFD_RELOC_8 14
++#define R_NIOS2_GPREL 15
++#define R_NIOS2_GNU_VTINHERIT 16
++#define R_NIOS2_GNU_VTENTRY 17
++#define R_NIOS2_UJMP 18
++#define R_NIOS2_CJMP 19
++#define R_NIOS2_CALLR 20
++#define R_NIOS2_ALIGN 21
++#define R_NIOS2_GOT16 22
++#define R_NIOS2_CALL16 23
++#define R_NIOS2_GOTOFF_LO 24
++#define R_NIOS2_GOTOFF_HA 25
++#define R_NIOS2_PCREL_LO 26
++#define R_NIOS2_PCREL_HA 27
++#define R_NIOS2_TLS_GD16 28
++#define R_NIOS2_TLS_LDM16 29
++#define R_NIOS2_TLS_LDO16 30
++#define R_NIOS2_TLS_IE16 31
++#define R_NIOS2_TLS_LE16 32
++#define R_NIOS2_TLS_DTPMOD 33
++#define R_NIOS2_TLS_DTPREL 34
++#define R_NIOS2_TLS_TPREL 35
++#define R_NIOS2_COPY 36
++#define R_NIOS2_GLOB_DAT 37
++#define R_NIOS2_JUMP_SLOT 38
++#define R_NIOS2_RELATIVE 39
++#define R_NIOS2_GOTOFF 40
++#define R_NIOS2_CALL26_NOAT 41
++#define R_NIOS2_GOT_LO 42
++#define R_NIOS2_GOT_HA 43
++#define R_NIOS2_CALL_LO 44
++#define R_NIOS2_CALL_HA 45
++
+ #define R_OR1K_NONE 0
+ #define R_OR1K_32 1
+ #define R_OR1K_16 2
+ #define R_OR1K_8 3
+ #define R_OR1K_LO_16_IN_INSN 4
+ #define R_OR1K_HI_16_IN_INSN 5
+ #define R_OR1K_INSN_REL_26 6
+ #define R_OR1K_GNU_VTENTRY 7
+@@ -2814,14 +3218,17 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_OR1K_TLS_IE_HI16 28
+ #define R_OR1K_TLS_IE_LO16 29
+ #define R_OR1K_TLS_LE_HI16 30
+ #define R_OR1K_TLS_LE_LO16 31
+ #define R_OR1K_TLS_TPOFF 32
+ #define R_OR1K_TLS_DTPOFF 33
+ #define R_OR1K_TLS_DTPMOD 34
+
++#define R_BPF_NONE 0
++#define R_BPF_MAP_FD 1
++
+ #ifdef __cplusplus
+ }
+ #endif
+
+
+ #endif
+
diff --git a/toolkit/crashreporter/breakpad-patches/09-json-upload.patch b/toolkit/crashreporter/breakpad-patches/09-json-upload.patch
new file mode 100644
index 0000000000..8ad73bc681
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/09-json-upload.patch
@@ -0,0 +1,333 @@
+diff --git a/src/common/linux/http_upload.cc b/src/common/linux/http_upload.cc
+index 702526af..0a1019dd 100644
+--- a/src/common/linux/http_upload.cc
++++ b/src/common/linux/http_upload.cc
+@@ -55,7 +55,7 @@ static const char kUserAgent[] = "Breakpad/1.0 (Linux)";
+
+ // static
+ bool HTTPUpload::SendRequest(const string &url,
+- const map<string, string> &parameters,
++ const string &parameters,
+ const map<string, string> &files,
+ const string &proxy,
+ const string &proxy_user_pwd,
+@@ -66,9 +66,6 @@ bool HTTPUpload::SendRequest(const string &url,
+ if (response_code != NULL)
+ *response_code = 0;
+
+- if (!CheckParameters(parameters))
+- return false;
+-
+ // We may have been linked statically; if curl_easy_init is in the
+ // current binary, no need to search for a dynamic version.
+ void* curl_lib = dlopen(NULL, RTLD_NOW);
+@@ -133,14 +130,14 @@ bool HTTPUpload::SendRequest(const string &url,
+ // Add form data.
+ CURLFORMcode (*curl_formadd)(struct curl_httppost **, struct curl_httppost **, ...);
+ *(void**) (&curl_formadd) = dlsym(curl_lib, "curl_formadd");
+- map<string, string>::const_iterator iter = parameters.begin();
+- for (; iter != parameters.end(); ++iter)
+- (*curl_formadd)(&formpost, &lastptr,
+- CURLFORM_COPYNAME, iter->first.c_str(),
+- CURLFORM_COPYCONTENTS, iter->second.c_str(),
+- CURLFORM_END);
++ (*curl_formadd)(&formpost, &lastptr, CURLFORM_COPYNAME, "extra",
++ CURLFORM_BUFFER, "extra.json", CURLFORM_BUFFERPTR,
++ parameters.c_str(), CURLFORM_BUFFERLENGTH,
++ parameters.length(), CURLFORM_CONTENTTYPE, "application/json",
++ CURLFORM_END);
+
+ // Add form files.
++ map<string, string>::const_iterator iter = files.begin();
+ for (iter = files.begin(); iter != files.end(); ++iter) {
+ (*curl_formadd)(&formpost, &lastptr,
+ CURLFORM_COPYNAME, iter->first.c_str(),
+@@ -210,21 +207,4 @@ bool HTTPUpload::CheckCurlLib(void* curl_lib) {
+ dlsym(curl_lib, "curl_easy_setopt");
+ }
+
+-// static
+-bool HTTPUpload::CheckParameters(const map<string, string> &parameters) {
+- for (map<string, string>::const_iterator pos = parameters.begin();
+- pos != parameters.end(); ++pos) {
+- const string &str = pos->first;
+- if (str.size() == 0)
+- return false; // disallow empty parameter names
+- for (unsigned int i = 0; i < str.size(); ++i) {
+- int c = str[i];
+- if (c < 32 || c == '"' || c > 127) {
+- return false;
+- }
+- }
+- }
+- return true;
+-}
+-
+ } // namespace google_breakpad
+diff --git a/src/common/linux/http_upload.h b/src/common/linux/http_upload.h
+index bc1d5d57..95dedebc 100644
+--- a/src/common/linux/http_upload.h
++++ b/src/common/linux/http_upload.h
+@@ -29,7 +29,7 @@
+
+ // HTTPUpload provides a "nice" API to send a multipart HTTP(S) POST
+ // request using libcurl. It currently supports requests that contain
+-// a set of string parameters (key/value pairs), and a file to upload.
++// parameters encoded in a JSON string, and a file to upload.
+
+ #ifndef COMMON_LINUX_HTTP_UPLOAD_H__
+ #define COMMON_LINUX_HTTP_UPLOAD_H__
+@@ -49,8 +49,7 @@ class HTTPUpload {
+ // request to the given URL.
+ // Each key in |files| is the name of the file part of the request
+ // (i.e. it corresponds to the name= attribute on an <input type="file">.
+- // Parameter names must contain only printable ASCII characters,
+- // and may not contain a quote (") character.
++ // Parameters are specified as a JSON-encoded string in |parameters|.
+ // Only HTTP(S) URLs are currently supported. Returns true on success.
+ // If the request is successful and response_body is non-NULL,
+ // the response body will be returned in response_body.
+@@ -59,7 +58,7 @@ class HTTPUpload {
+ // If the send fails, a description of the error will be
+ // returned in error_description.
+ static bool SendRequest(const string &url,
+- const map<string, string> &parameters,
++ const string &parameters,
+ const map<string, string> &files,
+ const string &proxy,
+ const string &proxy_user_pwd,
+@@ -69,11 +68,6 @@ class HTTPUpload {
+ string *error_description);
+
+ private:
+- // Checks that the given list of parameters has only printable
+- // ASCII characters in the parameter name, and does not contain
+- // any quote (") characters. Returns true if so.
+- static bool CheckParameters(const map<string, string> &parameters);
+-
+ // Checks the curl_lib parameter points to a valid curl lib.
+ static bool CheckCurlLib(void* curl_lib);
+
+diff --git a/src/common/mac/HTTPMultipartUpload.h b/src/common/mac/HTTPMultipartUpload.h
+index 42e8fed3..0cea733e 100644
+--- a/src/common/mac/HTTPMultipartUpload.h
++++ b/src/common/mac/HTTPMultipartUpload.h
+@@ -37,7 +37,7 @@
+ @interface HTTPMultipartUpload : NSObject {
+ @protected
+ NSURL *url_; // The destination URL (STRONG)
+- NSDictionary *parameters_; // The key/value pairs for sending data (STRONG)
++ NSMutableString *parameters_; // The JSON payload for sending data (STRONG)
+ NSMutableDictionary *files_; // Dictionary of name/file-path (STRONG)
+ NSString *boundary_; // The boundary string (STRONG)
+ NSHTTPURLResponse *response_; // The response from the send (STRONG)
+@@ -47,8 +47,8 @@
+
+ - (NSURL *)URL;
+
+-- (void)setParameters:(NSDictionary *)parameters;
+-- (NSDictionary *)parameters;
++- (void)setParameters:(NSMutableString *)parameters;
++- (NSMutableString *)parameters;
+
+ - (void)addFileAtPath:(NSString *)path name:(NSString *)name;
+ - (void)addFileContents:(NSData *)data name:(NSString *)name;
+diff --git a/src/common/mac/HTTPMultipartUpload.m b/src/common/mac/HTTPMultipartUpload.m
+index a3677f25..d2480493 100644
+--- a/src/common/mac/HTTPMultipartUpload.m
++++ b/src/common/mac/HTTPMultipartUpload.m
+@@ -93,7 +93,7 @@ static NSData *SendSynchronousNSURLRequest(NSURLRequest *req,
+ - (NSString *)multipartBoundary;
+ // Each of the following methods will append the starting multipart boundary,
+ // but not the ending one.
+-- (NSData *)formDataForKey:(NSString *)key value:(NSString *)value;
++- (NSData *)formDataForJSON:(NSString *)json;
+ - (NSData *)formDataForFileContents:(NSData *)contents name:(NSString *)name;
+ - (NSData *)formDataForFile:(NSString *)file name:(NSString *)name;
+ @end
+@@ -110,13 +110,16 @@ static NSData *SendSynchronousNSURLRequest(NSURLRequest *req,
+ }
+
+ //=============================================================================
+-- (NSData *)formDataForKey:(NSString *)key value:(NSString *)value {
+- NSString *escaped = PercentEncodeNSString(key);
+- NSString *fmt =
+- @"--%@\r\nContent-Disposition: form-data; name=\"%@\"\r\n\r\n%@\r\n";
+- NSString *form = [NSString stringWithFormat:fmt, boundary_, escaped, value];
++- (NSData *)formDataForJSON:(NSString *)json {
++ NSMutableData *data = [NSMutableData data];
++ NSString *fmt = @"--%@\r\nContent-Disposition: form-data; name=\"extra\"; "
++ "filename=\"extra.json\"\r\nContent-Type: application/json\r\n\r\n";
++ NSString *form = [NSString stringWithFormat:fmt, boundary_];
++
++ [data appendData:[form dataUsingEncoding:NSUTF8StringEncoding]];
++ [data appendData:[json dataUsingEncoding:NSUTF8StringEncoding]];
+
+- return [form dataUsingEncoding:NSUTF8StringEncoding];
++ return data;
+ }
+
+ //=============================================================================
+@@ -171,15 +174,15 @@ static NSData *SendSynchronousNSURLRequest(NSURLRequest *req,
+ }
+
+ //=============================================================================
+-- (void)setParameters:(NSDictionary *)parameters {
++- (void)setParameters:(NSMutableString *)parameters {
+ if (parameters != parameters_) {
+ [parameters_ release];
+- parameters_ = [parameters copy];
++ parameters_ = [parameters mutableCopy];
+ }
+ }
+
+ //=============================================================================
+-- (NSDictionary *)parameters {
++- (NSMutableString *)parameters {
+ return parameters_;
+ }
+
+@@ -210,16 +213,8 @@ static NSData *SendSynchronousNSURLRequest(NSURLRequest *req,
+ [req setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",
+ boundary_] forHTTPHeaderField:@"Content-type"];
+
+- // Add any parameters to the message
+- NSArray *parameterKeys = [parameters_ allKeys];
+- NSString *key;
+-
+- NSInteger count = [parameterKeys count];
+- for (NSInteger i = 0; i < count; ++i) {
+- key = [parameterKeys objectAtIndex:i];
+- [postBody appendData:[self formDataForKey:key
+- value:[parameters_ objectForKey:key]]];
+- }
++ // Add JSON parameters to the message
++ [postBody appendData:[self formDataForJSON:parameters_]];
+
+ // Add any files to the message
+ NSArray *fileNames = [files_ allKeys];
+diff --git a/src/common/windows/http_upload.cc b/src/common/windows/http_upload.cc
+index b0cc9078..5df17e1a 100644
+--- a/src/common/windows/http_upload.cc
++++ b/src/common/windows/http_upload.cc
+@@ -141,23 +141,6 @@ namespace {
+ return rv;
+ }
+
+- bool CheckParameters(const map<wstring, wstring> &parameters) {
+- for (map<wstring, wstring>::const_iterator pos = parameters.begin();
+- pos != parameters.end(); ++pos) {
+- const wstring &str = pos->first;
+- if (str.size() == 0) {
+- return false; // disallow empty parameter names
+- }
+- for (unsigned int i = 0; i < str.size(); ++i) {
+- wchar_t c = str[i];
+- if (c < 32 || c == '"' || c > 127) {
+- return false;
+- }
+- }
+- }
+- return true;
+- }
+-
+ // Converts a UTF16 string to UTF8.
+ string WideToUTF8(const wstring &wide) {
+ return WideToMBCP(wide, CP_UTF8);
+@@ -390,7 +373,7 @@ namespace {
+ return true;
+ }
+
+- bool GenerateRequestBody(const map<wstring, wstring> &parameters,
++ bool GenerateRequestBody(const string &parameters,
+ const map<wstring, wstring> &files,
+ const wstring &boundary,
+ string *request_body) {
+@@ -401,14 +384,19 @@ namespace {
+
+ request_body->clear();
+
+- // Append each of the parameter pairs as a form-data part
+- for (map<wstring, wstring>::const_iterator pos = parameters.begin();
+- pos != parameters.end(); ++pos) {
+- request_body->append("--" + boundary_str + "\r\n");
+- request_body->append("Content-Disposition: form-data; name=\"" +
+- WideToUTF8(pos->first) + "\"\r\n\r\n" +
+- WideToUTF8(pos->second) + "\r\n");
++ // Append the extra data as a single JSON form entry
++ request_body->append("--" + boundary_str + "\r\n");
++ request_body->append(
++ "Content-Disposition: form-data; "
++ "name=\"extra\"; "
++ "filename=\"extra.json\"\r\n");
++ request_body->append("Content-Type: application/json\r\n");
++ request_body->append("\r\n");
++
++ if (!parameters.empty()) {
++ request_body->append(parameters);
+ }
++ request_body->append("\r\n");
+
+ // Now append each upload file as a binary (octet-stream) part
+ for (map<wstring, wstring>::const_iterator pos = files.begin();
+@@ -463,16 +451,11 @@ namespace google_breakpad {
+
+ bool HTTPUpload::SendMultipartPostRequest(
+ const wstring& url,
+- const map<wstring, wstring>& parameters,
++ const string& parameters,
+ const map<wstring, wstring>& files,
+ int* timeout_ms,
+ wstring* response_body,
+ int* response_code) {
+- // TODO(bryner): support non-ASCII parameter names
+- if (!CheckParameters(parameters)) {
+- return false;
+- }
+-
+ wstring boundary = GenerateMultipartBoundary();
+ wstring content_type_header = GenerateMultipartPostRequestHeader(boundary);
+
+diff --git a/src/common/windows/http_upload.h b/src/common/windows/http_upload.h
+index 57e526e3..1e47f582 100644
+--- a/src/common/windows/http_upload.h
++++ b/src/common/windows/http_upload.h
+@@ -29,7 +29,7 @@
+
+ // HTTPUpload provides a "nice" API to send a multipart HTTP(S) POST
+ // request using wininet. It currently supports requests that contain
+-// a set of string parameters (key/value pairs), and a file to upload.
++// parameters encoded in a JSON string, and a file to upload.
+
+ #ifndef COMMON_WINDOWS_HTTP_UPLOAD_H_
+ #define COMMON_WINDOWS_HTTP_UPLOAD_H_
+@@ -45,9 +45,9 @@
+
+ namespace google_breakpad {
+
++using std::map;
+ using std::string;
+ using std::wstring;
+-using std::map;
+
+ class HTTPUpload {
+ public:
+@@ -81,8 +81,7 @@ class HTTPUpload {
+ // request to the given URL.
+ // Each key in |files| is the name of the file part of the request
+ // (i.e. it corresponds to the name= attribute on an <input type="file">.
+- // Parameter names must contain only printable ASCII characters,
+- // and may not contain a quote (") character.
++ // Parameters are specified as a JSON-encoded string in |parameters|.
+ // Only HTTP(S) URLs are currently supported. Returns true on success.
+ // If the request is successful and response_body is non-NULL,
+ // the response body will be returned in response_body.
+@@ -90,7 +89,7 @@ class HTTPUpload {
+ // received (or 0 if the request failed before getting an HTTP response).
+ static bool SendMultipartPostRequest(
+ const wstring& url,
+- const map<wstring, wstring>& parameters,
++ const string& parameters,
+ const map<wstring, wstring>& files,
+ int *timeout_ms,
+ wstring *response_body,
diff --git a/toolkit/crashreporter/breakpad-patches/10-macho-cpu-subtype.patch b/toolkit/crashreporter/breakpad-patches/10-macho-cpu-subtype.patch
new file mode 100644
index 0000000000..be743f9fe7
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/10-macho-cpu-subtype.patch
@@ -0,0 +1,47 @@
+changeset: 571402:0c63dcd7a1c6
+user: Steven Michaud <smichaud@pobox.com>
+date: Tue Nov 19 21:42:37 2019 +0000
+summary: Bug 1371390 - Pay attention to macho images' cpusubtype when creating minidumps (revised). r=gsvelto
+
+diff --git a/src/common/mac/macho_walker.cc b/src/common/mac/macho_walker.cc
+--- a/src/common/mac/macho_walker.cc
++++ b/src/common/mac/macho_walker.cc
+@@ -151,16 +151,18 @@ bool MachoWalker::FindHeader(cpu_type_t
+ // header
+ struct mach_header header;
+ if (!ReadBytes(&header, sizeof(header), 0))
+ return false;
+
+ if (magic == MH_CIGAM || magic == MH_CIGAM_64)
+ breakpad_swap_mach_header(&header);
+
++ header.cpusubtype &= ~CPU_SUBTYPE_MASK;
++
+ if (cpu_type != header.cputype ||
+ (cpu_subtype != CPU_SUBTYPE_MULTIPLE &&
+ cpu_subtype != header.cpusubtype)) {
+ return false;
+ }
+
+ offset = 0;
+ return true;
+@@ -180,16 +182,18 @@ bool MachoWalker::FindHeader(cpu_type_t
+ struct fat_arch arch;
+ for (uint32_t i = 0; i < fat.nfat_arch; ++i) {
+ if (!ReadBytes(&arch, sizeof(arch), offset))
+ return false;
+
+ if (NXHostByteOrder() != NX_BigEndian)
+ breakpad_swap_fat_arch(&arch, 1);
+
++ arch.cpusubtype &= ~CPU_SUBTYPE_MASK;
++
+ if (arch.cputype == cpu_type &&
+ (cpu_subtype == CPU_SUBTYPE_MULTIPLE ||
+ arch.cpusubtype == cpu_subtype)) {
+ offset = arch.offset;
+ return true;
+ }
+
+ offset += sizeof(arch);
+
diff --git a/toolkit/crashreporter/breakpad-patches/12-macho-cpu-subtype-fix.patch b/toolkit/crashreporter/breakpad-patches/12-macho-cpu-subtype-fix.patch
new file mode 100644
index 0000000000..6fad2d4d58
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/12-macho-cpu-subtype-fix.patch
@@ -0,0 +1,22 @@
+commit 65b01bb302ba1eb7b0240753c22dce39c5ed836b
+Author: Nathan Froyd <froydnj@mozilla.com>
+Date: Tue Jul 14 16:50:20 2020 -0400
+
+ mask off cpusubtype bits before determining Mach-O identifiers; r=gsvelto
+
+ If we don't do this, we run into problems when walking over the Mach-O load
+ commands, where we *do* mask off cpusubtype bits.
+
+diff --git a/src/common/mac/dump_syms.cc b/src/common/mac/dump_syms.cc
+index 4ad0e2b..1c9a067 100644
+--- a/src/common/mac/dump_syms.cc
++++ b/src/common/mac/dump_syms.cc
+@@ -286,7 +286,7 @@ string DumpSymbols::Identifier() {
+ FileID file_id(object_filename_.c_str());
+ unsigned char identifier_bytes[16];
+ cpu_type_t cpu_type = selected_object_file_->cputype;
+- cpu_subtype_t cpu_subtype = selected_object_file_->cpusubtype;
++ cpu_subtype_t cpu_subtype = selected_object_file_->cpusubtype & ~CPU_SUBTYPE_MASK;
+ if (!file_id.MachoIdentifier(cpu_type, cpu_subtype, identifier_bytes)) {
+ fprintf(stderr, "Unable to calculate UUID of mach-o binary %s!\n",
+ object_filename_.c_str());
diff --git a/toolkit/crashreporter/breakpad-patches/13-improve-arm64-stack-walking.patch b/toolkit/crashreporter/breakpad-patches/13-improve-arm64-stack-walking.patch
new file mode 100644
index 0000000000..b9c6f82799
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/13-improve-arm64-stack-walking.patch
@@ -0,0 +1,79 @@
+diff --git a/src/processor/stackwalker_arm64.cc b/src/processor/stackwalker_arm64.cc
+--- a/src/processor/stackwalker_arm64.cc
++++ b/src/processor/stackwalker_arm64.cc
+@@ -282,16 +282,27 @@ void StackwalkerARM64::CorrectRegLRByFra
+ << std::hex << (last_last_fp + 8);
+ return;
+ }
+ last_lr = PtrauthStrip(last_lr);
+
+ last_frame->context.iregs[MD_CONTEXT_ARM64_REG_LR] = last_lr;
+ }
+
++bool StackwalkerARM64::ValidInstructionPointerInFrame(const StackFrameARM64& frame) {
++ const uint64_t ip = frame.context.iregs[MD_CONTEXT_ARM64_REG_PC];
++
++ if ((ip < 0x1000) || (ip > 0x000fffffffffffff)) {
++ // The IP points into the first page or above the user space threshold
++ return false;
++ }
++
++ return true;
++}
++
+ StackFrame* StackwalkerARM64::GetCallerFrame(const CallStack* stack,
+ bool stack_scan_allowed) {
+ if (!memory_ || !stack) {
+ BPLOG(ERROR) << "Can't get caller frame without memory or stack";
+ return NULL;
+ }
+
+ const vector<StackFrame*> &frames = *stack->frames();
+@@ -300,21 +311,22 @@ StackFrame* StackwalkerARM64::GetCallerF
+
+ // See if there is DWARF call frame information covering this address.
+ scoped_ptr<CFIFrameInfo> cfi_frame_info(
+ frame_symbolizer_->FindCFIFrameInfo(last_frame));
+ if (cfi_frame_info.get())
+ frame.reset(GetCallerByCFIFrameInfo(frames, cfi_frame_info.get()));
+
+ // If CFI failed, or there wasn't CFI available, fall back to frame pointer.
+- if (!frame.get())
++ if (!frame.get() || !ValidInstructionPointerInFrame(*frame))
+ frame.reset(GetCallerByFramePointer(frames));
+
+ // If everything failed, fall back to stack scanning.
+- if (stack_scan_allowed && !frame.get())
++ if (stack_scan_allowed &&
++ (!frame.get() || !ValidInstructionPointerInFrame(*frame)))
+ frame.reset(GetCallerByStackScan(frames));
+
+ // If nothing worked, tell the caller.
+ if (!frame.get())
+ return NULL;
+
+ // Should we terminate the stack walk? (end-of-stack or broken invariant)
+ if (TerminateWalk(frame->context.iregs[MD_CONTEXT_ARM64_REG_PC],
+diff --git a/src/processor/stackwalker_arm64.h b/src/processor/stackwalker_arm64.h
+--- a/src/processor/stackwalker_arm64.h
++++ b/src/processor/stackwalker_arm64.h
+@@ -92,16 +92,19 @@ class StackwalkerARM64 : public Stackwal
+
+ // GetCallerByFramePointer() depends on the previous frame having recovered
+ // x30($LR) which may not have been done when using CFI.
+ // This function recovers $LR in the previous frame by using the frame-pointer
+ // two frames back to read it from the stack.
+ void CorrectRegLRByFramePointer(const vector<StackFrame*>& frames,
+ StackFrameARM64* last_frame);
+
++ // Return true if the instruction pointer points into the first 4KiB of memory
++ bool ValidInstructionPointerInFrame(const StackFrameARM64& frame);
++
+ // Stores the CPU context corresponding to the youngest stack frame, to
+ // be returned by GetContextFrame.
+ const MDRawContextARM64* context_;
+
+ // Validity mask for youngest stack frame. This is always
+ // CONTEXT_VALID_ALL in real use; it is only changeable for the sake of
+ // unit tests.
+ uint64_t context_frame_validity_;
diff --git a/toolkit/crashreporter/breakpad-patches/14-handle-non-fixed-size-amd64-and-x86-contexts.patch b/toolkit/crashreporter/breakpad-patches/14-handle-non-fixed-size-amd64-and-x86-contexts.patch
new file mode 100644
index 0000000000..b9544281c2
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/14-handle-non-fixed-size-amd64-and-x86-contexts.patch
@@ -0,0 +1,344 @@
+diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
+index 1f479558..aa63fe47 100644
+--- a/src/processor/minidump.cc
++++ b/src/processor/minidump.cc
+@@ -444,140 +444,30 @@ MinidumpContext::MinidumpContext(Minidump* minidump)
+
+ MinidumpContext::~MinidumpContext() {
+ }
+
+ bool MinidumpContext::Read(uint32_t expected_size) {
+ valid_ = false;
+
+ // Certain raw context types are currently assumed to have unique sizes.
+- if (!IsContextSizeUnique(sizeof(MDRawContextAMD64))) {
+- BPLOG(ERROR) << "sizeof(MDRawContextAMD64) cannot match the size of any "
+- << "other raw context";
+- return false;
+- }
+ if (!IsContextSizeUnique(sizeof(MDRawContextPPC64))) {
+ BPLOG(ERROR) << "sizeof(MDRawContextPPC64) cannot match the size of any "
+ << "other raw context";
+ return false;
+ }
+ if (!IsContextSizeUnique(sizeof(MDRawContextARM64_Old))) {
+ BPLOG(ERROR) << "sizeof(MDRawContextARM64_Old) cannot match the size of any "
+ << "other raw context";
+ return false;
+ }
+
+ FreeContext();
+
+- // First, figure out what type of CPU this context structure is for.
+- // For some reason, the AMD64 Context doesn't have context_flags
+- // at the beginning of the structure, so special case it here.
+- if (expected_size == sizeof(MDRawContextAMD64)) {
+- BPLOG(INFO) << "MinidumpContext: looks like AMD64 context";
+-
+- scoped_ptr<MDRawContextAMD64> context_amd64(new MDRawContextAMD64());
+- if (!minidump_->ReadBytes(context_amd64.get(),
+- sizeof(MDRawContextAMD64))) {
+- BPLOG(ERROR) << "MinidumpContext could not read amd64 context";
+- return false;
+- }
+-
+- if (minidump_->swap())
+- Swap(&context_amd64->context_flags);
+-
+- uint32_t cpu_type = context_amd64->context_flags & MD_CONTEXT_CPU_MASK;
+- if (cpu_type == 0) {
+- if (minidump_->GetContextCPUFlagsFromSystemInfo(&cpu_type)) {
+- context_amd64->context_flags |= cpu_type;
+- } else {
+- BPLOG(ERROR) << "Failed to preserve the current stream position";
+- return false;
+- }
+- }
+-
+- if (cpu_type != MD_CONTEXT_AMD64) {
+- // TODO: Fall through to switch below.
+- // https://bugs.chromium.org/p/google-breakpad/issues/detail?id=550
+- BPLOG(ERROR) << "MinidumpContext not actually amd64 context";
+- return false;
+- }
+-
+- // Do this after reading the entire MDRawContext structure because
+- // GetSystemInfo may seek minidump to a new position.
+- if (!CheckAgainstSystemInfo(cpu_type)) {
+- BPLOG(ERROR) << "MinidumpContext amd64 does not match system info";
+- return false;
+- }
+-
+- // Normalize the 128-bit types in the dump.
+- // Since this is AMD64, by definition, the values are little-endian.
+- for (unsigned int vr_index = 0;
+- vr_index < MD_CONTEXT_AMD64_VR_COUNT;
+- ++vr_index)
+- Normalize128(&context_amd64->vector_register[vr_index], false);
+-
+- if (minidump_->swap()) {
+- Swap(&context_amd64->p1_home);
+- Swap(&context_amd64->p2_home);
+- Swap(&context_amd64->p3_home);
+- Swap(&context_amd64->p4_home);
+- Swap(&context_amd64->p5_home);
+- Swap(&context_amd64->p6_home);
+- // context_flags is already swapped
+- Swap(&context_amd64->mx_csr);
+- Swap(&context_amd64->cs);
+- Swap(&context_amd64->ds);
+- Swap(&context_amd64->es);
+- Swap(&context_amd64->fs);
+- Swap(&context_amd64->ss);
+- Swap(&context_amd64->eflags);
+- Swap(&context_amd64->dr0);
+- Swap(&context_amd64->dr1);
+- Swap(&context_amd64->dr2);
+- Swap(&context_amd64->dr3);
+- Swap(&context_amd64->dr6);
+- Swap(&context_amd64->dr7);
+- Swap(&context_amd64->rax);
+- Swap(&context_amd64->rcx);
+- Swap(&context_amd64->rdx);
+- Swap(&context_amd64->rbx);
+- Swap(&context_amd64->rsp);
+- Swap(&context_amd64->rbp);
+- Swap(&context_amd64->rsi);
+- Swap(&context_amd64->rdi);
+- Swap(&context_amd64->r8);
+- Swap(&context_amd64->r9);
+- Swap(&context_amd64->r10);
+- Swap(&context_amd64->r11);
+- Swap(&context_amd64->r12);
+- Swap(&context_amd64->r13);
+- Swap(&context_amd64->r14);
+- Swap(&context_amd64->r15);
+- Swap(&context_amd64->rip);
+- // FIXME: I'm not sure what actually determines
+- // which member of the union {flt_save, sse_registers}
+- // is valid. We're not currently using either,
+- // but it would be good to have them swapped properly.
+-
+- for (unsigned int vr_index = 0;
+- vr_index < MD_CONTEXT_AMD64_VR_COUNT;
+- ++vr_index)
+- Swap(&context_amd64->vector_register[vr_index]);
+- Swap(&context_amd64->vector_control);
+- Swap(&context_amd64->debug_control);
+- Swap(&context_amd64->last_branch_to_rip);
+- Swap(&context_amd64->last_branch_from_rip);
+- Swap(&context_amd64->last_exception_to_rip);
+- Swap(&context_amd64->last_exception_from_rip);
+- }
+-
+- SetContextFlags(context_amd64->context_flags);
+-
+- SetContextAMD64(context_amd64.release());
+- } else if (expected_size == sizeof(MDRawContextPPC64)) {
++ if (expected_size == sizeof(MDRawContextPPC64)) {
+ // |context_flags| of MDRawContextPPC64 is 64 bits, but other MDRawContext
+ // in the else case have 32 bits |context_flags|, so special case it here.
+ uint64_t context_flags;
+ if (!minidump_->ReadBytes(&context_flags, sizeof(context_flags))) {
+ BPLOG(ERROR) << "MinidumpContext could not read context flags";
+ return false;
+ }
+ if (minidump_->swap())
+@@ -739,56 +629,152 @@ bool MinidumpContext::Read(uint32_t expected_size) {
+ }
+ }
+
+ scoped_ptr<MDRawContextARM64> new_context(new MDRawContextARM64());
+ ConvertOldARM64Context(*context_arm64.get(), new_context.get());
+ SetContextFlags(new_context->context_flags);
+ SetContextARM64(new_context.release());
+ } else {
+- uint32_t context_flags;
+- if (!minidump_->ReadBytes(&context_flags, sizeof(context_flags))) {
+- BPLOG(ERROR) << "MinidumpContext could not read context flags";
++ uint32_t cpu_type = 0;
++ if (!minidump_->GetContextCPUFlagsFromSystemInfo(&cpu_type)) {
++ BPLOG(ERROR) << "Failed to preserve the current stream position";
+ return false;
+ }
+- if (minidump_->swap())
+- Swap(&context_flags);
+
+- uint32_t cpu_type = context_flags & MD_CONTEXT_CPU_MASK;
+- if (cpu_type == 0) {
+- // Unfortunately the flag for MD_CONTEXT_ARM that was taken
+- // from a Windows CE SDK header conflicts in practice with
+- // the CONTEXT_XSTATE flag. MD_CONTEXT_ARM has been renumbered,
+- // but handle dumps with the legacy value gracefully here.
+- if (context_flags & MD_CONTEXT_ARM_OLD) {
+- context_flags |= MD_CONTEXT_ARM;
+- context_flags &= ~MD_CONTEXT_ARM_OLD;
+- cpu_type = MD_CONTEXT_ARM;
++ uint32_t context_flags = 0;
++ if ((cpu_type == 0) || cpu_type != MD_CONTEXT_AMD64) {
++ if (!minidump_->ReadBytes(&context_flags, sizeof(context_flags))) {
++ BPLOG(ERROR) << "MinidumpContext could not read context flags";
++ return false;
+ }
+- }
+
+- if (cpu_type == 0) {
+- if (minidump_->GetContextCPUFlagsFromSystemInfo(&cpu_type)) {
+- context_flags |= cpu_type;
++ if (minidump_->swap())
++ Swap(&context_flags);
++
++ if ((context_flags & MD_CONTEXT_CPU_MASK) == 0) {
++ // Unfortunately the flag for MD_CONTEXT_ARM that was taken
++ // from a Windows CE SDK header conflicts in practice with
++ // the CONTEXT_XSTATE flag. MD_CONTEXT_ARM has been renumbered,
++ // but handle dumps with the legacy value gracefully here.
++ if (context_flags & MD_CONTEXT_ARM_OLD) {
++ context_flags |= MD_CONTEXT_ARM;
++ context_flags &= ~MD_CONTEXT_ARM_OLD;
++ cpu_type = MD_CONTEXT_ARM;
++ } else {
++ context_flags |= cpu_type;
++ }
+ } else {
+- BPLOG(ERROR) << "Failed to preserve the current stream position";
+- return false;
++ cpu_type = context_flags & MD_CONTEXT_CPU_MASK;
+ }
+ }
+
+ // Allocate the context structure for the correct CPU and fill it. The
+ // casts are slightly unorthodox, but it seems better to do that than to
+ // maintain a separate pointer for each type of CPU context structure
+ // when only one of them will be used.
+ switch (cpu_type) {
++ case MD_CONTEXT_AMD64: {
++ if (expected_size != sizeof(MDRawContextAMD64)) {
++ BPLOG(INFO) << "MinidumpContext AMD64 size mismatch, " <<
++ expected_size << " != " << sizeof(MDRawContextAMD64);
++ }
++ BPLOG(INFO) << "MinidumpContext: looks like AMD64 context";
++
++ scoped_ptr<MDRawContextAMD64> context_amd64(new MDRawContextAMD64());
++ if (!minidump_->ReadBytes(context_amd64.get(),
++ sizeof(MDRawContextAMD64))) {
++ BPLOG(ERROR) << "MinidumpContext could not read amd64 context";
++ return false;
++ }
++
++ if (minidump_->swap())
++ Swap(&context_amd64->context_flags);
++
++ // Update context_flags since we haven't done it yet
++ context_flags = context_amd64->context_flags;
++
++ if (cpu_type != (context_flags & MD_CONTEXT_CPU_MASK)) {
++ BPLOG(ERROR) << "MinidumpContext amd64 does not match system info";
++ return false;
++ }
++
++ // Normalize the 128-bit types in the dump.
++ // Since this is AMD64, by definition, the values are little-endian.
++ for (unsigned int vr_index = 0;
++ vr_index < MD_CONTEXT_AMD64_VR_COUNT;
++ ++vr_index)
++ Normalize128(&context_amd64->vector_register[vr_index], false);
++
++ if (minidump_->swap()) {
++ Swap(&context_amd64->p1_home);
++ Swap(&context_amd64->p2_home);
++ Swap(&context_amd64->p3_home);
++ Swap(&context_amd64->p4_home);
++ Swap(&context_amd64->p5_home);
++ Swap(&context_amd64->p6_home);
++ // context_flags is already swapped
++ Swap(&context_amd64->mx_csr);
++ Swap(&context_amd64->cs);
++ Swap(&context_amd64->ds);
++ Swap(&context_amd64->es);
++ Swap(&context_amd64->fs);
++ Swap(&context_amd64->ss);
++ Swap(&context_amd64->eflags);
++ Swap(&context_amd64->dr0);
++ Swap(&context_amd64->dr1);
++ Swap(&context_amd64->dr2);
++ Swap(&context_amd64->dr3);
++ Swap(&context_amd64->dr6);
++ Swap(&context_amd64->dr7);
++ Swap(&context_amd64->rax);
++ Swap(&context_amd64->rcx);
++ Swap(&context_amd64->rdx);
++ Swap(&context_amd64->rbx);
++ Swap(&context_amd64->rsp);
++ Swap(&context_amd64->rbp);
++ Swap(&context_amd64->rsi);
++ Swap(&context_amd64->rdi);
++ Swap(&context_amd64->r8);
++ Swap(&context_amd64->r9);
++ Swap(&context_amd64->r10);
++ Swap(&context_amd64->r11);
++ Swap(&context_amd64->r12);
++ Swap(&context_amd64->r13);
++ Swap(&context_amd64->r14);
++ Swap(&context_amd64->r15);
++ Swap(&context_amd64->rip);
++ // FIXME: I'm not sure what actually determines
++ // which member of the union {flt_save, sse_registers}
++ // is valid. We're not currently using either,
++ // but it would be good to have them swapped properly.
++
++ for (unsigned int vr_index = 0;
++ vr_index < MD_CONTEXT_AMD64_VR_COUNT;
++ ++vr_index)
++ Swap(&context_amd64->vector_register[vr_index]);
++ Swap(&context_amd64->vector_control);
++ Swap(&context_amd64->debug_control);
++ Swap(&context_amd64->last_branch_to_rip);
++ Swap(&context_amd64->last_branch_from_rip);
++ Swap(&context_amd64->last_exception_to_rip);
++ Swap(&context_amd64->last_exception_from_rip);
++ }
++
++ SetContextFlags(context_amd64->context_flags);
++
++ SetContextAMD64(context_amd64.release());
++ minidump_->SeekSet(
++ (minidump_->Tell() - sizeof(MDRawContextAMD64)) + expected_size);
++ break;
++ }
+ case MD_CONTEXT_X86: {
+ if (expected_size != sizeof(MDRawContextX86)) {
+- BPLOG(ERROR) << "MinidumpContext x86 size mismatch, " <<
++ BPLOG(INFO) << "MinidumpContext x86 size mismatch, " <<
+ expected_size << " != " << sizeof(MDRawContextX86);
+- return false;
+ }
+
+ scoped_ptr<MDRawContextX86> context_x86(new MDRawContextX86());
+
+ // Set the context_flags member, which has already been read, and
+ // read the rest of the structure beginning with the first member
+ // after context_flags.
+ context_x86->context_flags = context_flags;
+@@ -843,16 +829,18 @@ bool MinidumpContext::Read(uint32_t expected_size) {
+ Swap(&context_x86->eflags);
+ Swap(&context_x86->esp);
+ Swap(&context_x86->ss);
+ // context_x86->extended_registers[] contains 8-bit quantities and
+ // does not need to be swapped.
+ }
+
+ SetContextX86(context_x86.release());
++ minidump_->SeekSet(
++ (minidump_->Tell() - sizeof(MDRawContextX86)) + expected_size);
+
+ break;
+ }
+
+ case MD_CONTEXT_PPC: {
+ if (expected_size != sizeof(MDRawContextPPC)) {
+ BPLOG(ERROR) << "MinidumpContext ppc size mismatch, " <<
+ expected_size << " != " << sizeof(MDRawContextPPC);
+--
+2.26.2
+
diff --git a/toolkit/crashreporter/breakpad-patches/15-freebsd-profiler-support.patch b/toolkit/crashreporter/breakpad-patches/15-freebsd-profiler-support.patch
new file mode 100644
index 0000000000..812d554865
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/15-freebsd-profiler-support.patch
@@ -0,0 +1,107 @@
+changeset: 599606:74707e8ecf38
+user: Greg V <greg@unrelenting.technology>
+date: Wed May 06 17:44:19 2020 +0000
+summary: Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange
+
+diff --git a/src/common/dwarf/elf_reader.cc b/src/common/dwarf/elf_reader.cc
+--- a/src/common/dwarf/elf_reader.cc
++++ b/src/common/dwarf/elf_reader.cc
+@@ -52,17 +52,17 @@
+
+ // EM_AARCH64 is not defined by elf.h of GRTE v3 on x86.
+ // TODO(dougkwan): Remove this when v17 is retired.
+ #if !defined(EM_AARCH64)
+ #define EM_AARCH64 183 /* ARM AARCH64 */
+ #endif
+
+ // Map Linux macros to their Apple equivalents.
+-#if __APPLE__
++#if __APPLE__ || __FreeBSD__
+ #ifndef __LITTLE_ENDIAN
+ #define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
+ #endif // __LITTLE_ENDIAN
+ #ifndef __BIG_ENDIAN
+ #define __BIG_ENDIAN __ORDER_BIG_ENDIAN__
+ #endif // __BIG_ENDIAN
+ #ifndef __BYTE_ORDER
+ #define __BYTE_ORDER __BYTE_ORDER__
+diff --git a/src/common/linux/elfutils.cc b/src/common/linux/elfutils.cc
+--- a/src/common/linux/elfutils.cc
++++ b/src/common/linux/elfutils.cc
+@@ -30,16 +30,20 @@
+ #include "common/linux/elfutils.h"
+
+ #include <assert.h>
+ #include <string.h>
+
+ #include "common/linux/linux_libc_support.h"
+ #include "common/linux/elfutils-inl.h"
+
++#if defined(__FreeBSD__)
++# define ElfW(type) Elf_##type
++#endif
++
+ namespace google_breakpad {
+
+ namespace {
+
+ template<typename ElfClass>
+ void FindElfClassSection(const char *elf_base,
+ const char *section_name,
+ typename ElfClass::Word section_type,
+diff --git a/src/common/memory_allocator.h b/src/common/memory_allocator.h
+--- a/src/common/memory_allocator.h
++++ b/src/common/memory_allocator.h
+@@ -37,17 +37,17 @@
+
+ #include <memory>
+ #include <vector>
+
+ #if defined(MEMORY_SANITIZER)
+ #include <sanitizer/msan_interface.h>
+ #endif
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ #define sys_mmap mmap
+ #define sys_munmap munmap
+ #define MAP_ANONYMOUS MAP_ANON
+ #else
+ #include "third_party/lss/linux_syscall_support.h"
+ #endif
+
+ namespace google_breakpad {
+diff --git a/src/third_party/lss/linux_syscall_support.h b/src/third_party/lss/linux_syscall_support.h
+--- a/src/third_party/lss/linux_syscall_support.h
++++ b/src/third_party/lss/linux_syscall_support.h
+@@ -4527,10 +4527,27 @@ struct kernel_statfs {
+ #pragma pop_macro("pread64")
+ #pragma pop_macro("pwrite64")
+ #pragma pop_macro("getdents64")
+
+ #if defined(__cplusplus) && !defined(SYS_CPLUSPLUS)
+ }
+ #endif
+
+-#endif
+-#endif
++#elif defined(__FreeBSD__)
++
++#include <unistd.h>
++#include <sys/stat.h>
++
++#define sys_readlink readlink
++
++#define sys_open open
++#define sys_close close
++#define sys_fstat fstat
++#define sys_fstat64 fstat
++#define kernel_stat stat
++#define kernel_stat64 stat
++#define sys_mmap mmap
++#define sys_munmap munmap
++
++#endif
++
++#endif
+
diff --git a/toolkit/crashreporter/breakpad-patches/16-get-last-error.patch b/toolkit/crashreporter/breakpad-patches/16-get-last-error.patch
new file mode 100644
index 0000000000..96bebbe503
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/16-get-last-error.patch
@@ -0,0 +1,181 @@
+diff --git a/src/google_breakpad/processor/call_stack.h b/src/google_breakpad/processor/call_stack.h
+--- a/src/google_breakpad/processor/call_stack.h
++++ b/src/google_breakpad/processor/call_stack.h
+@@ -62,26 +62,30 @@ class CallStack {
+
+ // Resets the CallStack to its initial empty state
+ void Clear();
+
+ const vector<StackFrame*>* frames() const { return &frames_; }
+
+ // Set the TID associated with this call stack.
+ void set_tid(uint32_t tid) { tid_ = tid; }
++ void set_last_error(uint32_t last_error) { last_error_ = last_error; }
+
+ uint32_t tid() const { return tid_; }
++ uint32_t last_error() const { return last_error_; }
+
+ private:
+ // Stackwalker is responsible for building the frames_ vector.
+ friend class Stackwalker;
+
+ // Storage for pushed frames.
+ vector<StackFrame*> frames_;
+
+ // The TID associated with this call stack. Default to 0 if it's not
+ // available.
+ uint32_t tid_;
++ // The last error the OS set for this thread (win32's GetLastError())
++ uint32_t last_error_;
+ };
+
+ } // namespace google_breakpad
+
+ #endif // GOOGLE_BREAKPAD_PROCSSOR_CALL_STACK_H__
+diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h
+--- a/src/google_breakpad/processor/minidump.h
++++ b/src/google_breakpad/processor/minidump.h
+@@ -279,16 +279,26 @@ class MinidumpMemoryRegion : public Mini
+ class MinidumpThread : public MinidumpObject {
+ public:
+ virtual ~MinidumpThread();
+
+ const MDRawThread* thread() const { return valid_ ? &thread_ : NULL; }
+ // GetMemory may return NULL even if the MinidumpThread is valid,
+ // if the thread memory cannot be read.
+ virtual MinidumpMemoryRegion* GetMemory();
++ // Corresponds to win32's GetLastError function, which records the last
++ // error value set by the OS for this thread. A more useful error message
++ // can be produced by passing this value to FormatMessage:
++ //
++ // https://docs.microsoft.com/windows/win32/debug/retrieving-the-last-error-code
++ //
++ // The value may also be looked up in Microsoft's System Error Codes listing:
++ //
++ // https://docs.microsoft.com/windows/win32/debug/system-error-codes
++ virtual uint32_t GetLastError();
+ // GetContext may return NULL even if the MinidumpThread is valid.
+ virtual MinidumpContext* GetContext();
+
+ // The thread ID is used to determine if a thread is the exception thread,
+ // so a special getter is provided to retrieve this data from the
+ // MDRawThread structure. Returns false if the thread ID cannot be
+ // determined.
+ virtual bool GetThreadID(uint32_t *thread_id) const;
+diff --git a/src/processor/call_stack.cc b/src/processor/call_stack.cc
+--- a/src/processor/call_stack.cc
++++ b/src/processor/call_stack.cc
+@@ -44,11 +44,12 @@ CallStack::~CallStack() {
+
+ void CallStack::Clear() {
+ for (vector<StackFrame *>::const_iterator iterator = frames_.begin();
+ iterator != frames_.end();
+ ++iterator) {
+ delete *iterator;
+ }
+ tid_ = 0;
++ last_error_ = 0;
+ }
+
+ } // namespace google_breakpad
+diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
+--- a/src/processor/minidump.cc
++++ b/src/processor/minidump.cc
+@@ -1567,16 +1567,76 @@ MinidumpMemoryRegion* MinidumpThread::Ge
+ if (!valid_) {
+ BPLOG(ERROR) << "Invalid MinidumpThread for GetMemory";
+ return NULL;
+ }
+
+ return memory_;
+ }
+
++uint32_t MinidumpThread::GetLastError() {
++ if (!valid_) {
++ BPLOG(ERROR) << "Cannot retrieve GetLastError() from an invalid thread";
++ return 0;
++ }
++
++ if (!thread_.teb) {
++ BPLOG(ERROR) << "Cannot retrieve GetLastError() without a valid TEB pointer";
++ return 0;
++ }
++
++ auto memory = minidump_->GetMemoryList();
++ if (!memory) {
++ BPLOG(ERROR) << "Cannot retrieve GetLastError() without a valid memory list";
++ return 0;
++ }
++
++ auto context = GetContext();
++ if (!context) {
++ BPLOG(ERROR) << "Cannot retrieve GetLastError()'s without a valid context";
++ return 0;
++ }
++
++ uint64_t pointer_width = 0;
++ switch (context_->GetContextCPU()) {
++ case MD_CONTEXT_X86:
++ pointer_width = 4;
++ break;
++ case MD_CONTEXT_AMD64:
++ case MD_CONTEXT_ARM64:
++ pointer_width = 8;
++ break;
++ default:
++ BPLOG(ERROR) << "GetLastError() isn't implemented for this CPU type yet";
++ return 0;
++ }
++
++ auto region = memory->GetMemoryRegionForAddress(thread_.teb);
++ if (!region) {
++ BPLOG(ERROR) << "GetLastError()'s memory isn't mapped in this minidump";
++ return 0;
++ }
++
++ // The TEB is opaque but we know the value we want lives at this offset
++ // from reverse engineering.
++ uint64_t offset = pointer_width * 13;
++ uint32_t error = 0;
++ if (!region->GetMemoryAtAddress(thread_.teb + offset, &error)) {
++ BPLOG(ERROR) << "GetLastError()'s memory isn't mapped in this minidump";
++ return 0;
++ }
++
++ if (minidump_->swap()) {
++ Swap(&error);
++ }
++
++ return error;
++}
++
++
+
+ MinidumpContext* MinidumpThread::GetContext() {
+ if (!valid_) {
+ BPLOG(ERROR) << "Invalid MinidumpThread for GetContext";
+ return NULL;
+ }
+
+ if (!context_) {
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -301,16 +301,17 @@ ProcessResult MinidumpProcessor::Process
+ }
+ } else {
+ // Threads with missing CPU contexts will hit this, but
+ // don't abort processing the rest of the dump just for
+ // one bad thread.
+ BPLOG(ERROR) << "No stackwalker for " << thread_string;
+ }
+ stack->set_tid(thread_id);
++ stack->set_last_error(thread->GetLastError());
+ process_state->threads_.push_back(stack.release());
+ process_state->thread_memory_regions_.push_back(thread_memory);
+ }
+
+ if (interrupted) {
+ BPLOG(INFO) << "Processing interrupted for " << dump->path();
+ return PROCESS_SYMBOL_SUPPLIER_INTERRUPTED;
+ }
diff --git a/toolkit/crashreporter/breakpad-patches/17-unloaded-modules.patch b/toolkit/crashreporter/breakpad-patches/17-unloaded-modules.patch
new file mode 100644
index 0000000000..c413e4eff4
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/17-unloaded-modules.patch
@@ -0,0 +1,251 @@
+changeset: 649910:59994b59eb51
+tag: tip
+parent: 649905:058997a8167d
+user: Gabriele Svelto <gsvelto@mozilla.com>
+date: Wed Mar 31 16:25:34 2021 +0200
+summary: Bug 1702043 - Print out the list of unloaded modules when processing a minidump
+
+diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h
+--- a/src/google_breakpad/processor/minidump.h
++++ b/src/google_breakpad/processor/minidump.h
+@@ -792,16 +792,19 @@ class MinidumpUnloadedModule : public Mi
+ string debug_file() const override;
+ string debug_identifier() const override;
+ string version() const override;
+ CodeModule* Copy() const override;
+ bool is_unloaded() const override { return true; }
+ uint64_t shrink_down_delta() const override;
+ void SetShrinkDownDelta(uint64_t shrink_down_delta) override;
+
++ // Print a human-readable representation of the object to stdout.
++ void Print();
++
+ protected:
+ explicit MinidumpUnloadedModule(Minidump* minidump);
+
+ private:
+ // These objects are managed by MinidumpUnloadedModuleList
+ friend class MinidumpUnloadedModuleList;
+
+ // This works like MinidumpStream::Read, but is driven by
+@@ -850,16 +853,19 @@ class MinidumpUnloadedModuleList : publi
+ const MinidumpUnloadedModule* GetMainModule() const override;
+ const MinidumpUnloadedModule*
+ GetModuleAtSequence(unsigned int sequence) const override;
+ const MinidumpUnloadedModule*
+ GetModuleAtIndex(unsigned int index) const override;
+ const CodeModules* Copy() const override;
+ vector<linked_ptr<const CodeModule>> GetShrunkRangeModules() const override;
+
++ // Print a human-readable representation of the object to stdout.
++ void Print();
++
+ protected:
+ explicit MinidumpUnloadedModuleList(Minidump* minidump_);
+
+ private:
+ friend class Minidump;
+
+ typedef vector<MinidumpUnloadedModule> MinidumpUnloadedModules;
+
+diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
+--- a/src/processor/minidump.cc
++++ b/src/processor/minidump.cc
+@@ -3727,16 +3727,46 @@ MinidumpUnloadedModule::MinidumpUnloaded
+ name_(NULL) {
+
+ }
+
+ MinidumpUnloadedModule::~MinidumpUnloadedModule() {
+ delete name_;
+ }
+
++void MinidumpUnloadedModule::Print() {
++ if (!valid_) {
++ BPLOG(ERROR) << "MinidumpUnloadedModule cannot print invalid data";
++ return;
++ }
++
++ printf("MDRawUnloadedModule\n");
++ printf(" base_of_image = 0x%" PRIx64 "\n",
++ unloaded_module_.base_of_image);
++ printf(" size_of_image = 0x%x\n",
++ unloaded_module_.size_of_image);
++ printf(" checksum = 0x%x\n",
++ unloaded_module_.checksum);
++ printf(" time_date_stamp = 0x%x %s\n",
++ unloaded_module_.time_date_stamp,
++ TimeTToUTCString(unloaded_module_.time_date_stamp).c_str());
++ printf(" module_name_rva = 0x%x\n",
++ unloaded_module_.module_name_rva);
++
++ printf(" (code_file) = \"%s\"\n", code_file().c_str());
++ printf(" (code_identifier) = \"%s\"\n",
++ code_identifier().c_str());
++
++ printf(" (debug_file) = \"%s\"\n", debug_file().c_str());
++ printf(" (debug_identifier) = \"%s\"\n",
++ debug_identifier().c_str());
++ printf(" (version) = \"%s\"\n", version().c_str());
++ printf("\n");
++}
++
+ string MinidumpUnloadedModule::code_file() const {
+ if (!valid_) {
+ BPLOG(ERROR) << "Invalid MinidumpUnloadedModule for code_file";
+ return "";
+ }
+
+ return *name_;
+ }
+@@ -3911,16 +3941,34 @@ MinidumpUnloadedModuleList::MinidumpUnlo
+ range_map_->SetMergeStrategy(MergeRangeStrategy::kTruncateLower);
+ }
+
+ MinidumpUnloadedModuleList::~MinidumpUnloadedModuleList() {
+ delete range_map_;
+ delete unloaded_modules_;
+ }
+
++void MinidumpUnloadedModuleList::Print() {
++ if (!valid_) {
++ BPLOG(ERROR) << "MinidumpUnloadedModuleList cannot print invalid data";
++ return;
++ }
++
++ printf("MinidumpUnloadedModuleList\n");
++ printf(" module_count = %d\n", module_count_);
++ printf("\n");
++
++ for (unsigned int module_index = 0;
++ module_index < module_count_;
++ ++module_index) {
++ printf("module[%d]\n", module_index);
++
++ (*unloaded_modules_)[module_index].Print();
++ }
++}
+
+ bool MinidumpUnloadedModuleList::Read(uint32_t expected_size) {
+ range_map_->Clear();
+ delete unloaded_modules_;
+ unloaded_modules_ = NULL;
+ module_count_ = 0;
+
+ valid_ = false;
+diff --git a/src/processor/minidump_dump.cc b/src/processor/minidump_dump.cc
+--- a/src/processor/minidump_dump.cc
++++ b/src/processor/minidump_dump.cc
+@@ -40,16 +40,17 @@
+ #include "google_breakpad/processor/minidump.h"
+ #include "processor/logging.h"
+
+ namespace {
+
+ using google_breakpad::Minidump;
+ using google_breakpad::MinidumpThreadList;
+ using google_breakpad::MinidumpModuleList;
++using google_breakpad::MinidumpUnloadedModuleList;
+ using google_breakpad::MinidumpMemoryInfoList;
+ using google_breakpad::MinidumpMemoryList;
+ using google_breakpad::MinidumpException;
+ using google_breakpad::MinidumpAssertion;
+ using google_breakpad::MinidumpSystemInfo;
+ using google_breakpad::MinidumpMiscInfo;
+ using google_breakpad::MinidumpBreakpadInfo;
+ using google_breakpad::MinidumpCrashpadInfo;
+@@ -127,16 +128,25 @@ static bool PrintMinidumpDump(const Opti
+ MinidumpModuleList *module_list = minidump.GetModuleList();
+ if (!module_list) {
+ ++errors;
+ BPLOG(ERROR) << "minidump.GetModuleList() failed";
+ } else {
+ module_list->Print();
+ }
+
++ MinidumpUnloadedModuleList::set_max_modules(UINT32_MAX);
++ MinidumpUnloadedModuleList *unloaded_module_list = minidump.GetUnloadedModuleList();
++ if (!unloaded_module_list) {
++ ++errors;
++ BPLOG(ERROR) << "minidump.GetUnloadedModuleList() failed";
++ } else {
++ unloaded_module_list->Print();
++ }
++
+ MinidumpMemoryList *memory_list = minidump.GetMemoryList();
+ if (!memory_list) {
+ ++errors;
+ BPLOG(ERROR) << "minidump.GetMemoryList() failed";
+ } else {
+ memory_list->Print();
+ }
+
+diff --git a/src/processor/stackwalk_common.cc b/src/processor/stackwalk_common.cc
+--- a/src/processor/stackwalk_common.cc
++++ b/src/processor/stackwalk_common.cc
+@@ -777,16 +777,46 @@ static void PrintModulesMachineReadable(
+ StripSeparator(module->debug_identifier()).c_str(),
+ kOutputSeparator, base_address,
+ kOutputSeparator, base_address + module->size() - 1,
+ kOutputSeparator,
+ main_module != NULL && base_address == main_address ? 1 : 0);
+ }
+ }
+
++// PrintUnloadedModulesMachineReadable outputs a list of loaded modules,
++// one per line, in the following machine-readable pipe-delimited
++// text format:
++// UnloadedModule|{Module Filename}|{Base Address}|{Max Address}|{Main}
++static void PrintUnloadedModulesMachineReadable(const CodeModules* modules) {
++ if (!modules)
++ return;
++
++ uint64_t main_address = 0;
++ const CodeModule* main_module = modules->GetMainModule();
++ if (main_module) {
++ main_address = main_module->base_address();
++ }
++
++ unsigned int module_count = modules->module_count();
++ for (unsigned int module_sequence = 0;
++ module_sequence < module_count;
++ ++module_sequence) {
++ const CodeModule* module = modules->GetModuleAtSequence(module_sequence);
++ uint64_t base_address = module->base_address();
++ printf("UnloadedModule%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 "%c%d\n",
++ kOutputSeparator,
++ StripSeparator(PathnameStripper::File(module->code_file())).c_str(),
++ kOutputSeparator, base_address,
++ kOutputSeparator, base_address + module->size() - 1,
++ kOutputSeparator,
++ main_module != NULL && base_address == main_address ? 1 : 0);
++ }
++}
++
+ } // namespace
+
+ void PrintProcessState(const ProcessState& process_state,
+ bool output_stack_contents,
+ SourceLineResolverInterface* resolver) {
+ // Print OS and CPU information.
+ string cpu = process_state.system_info()->cpu;
+ string cpu_info = process_state.system_info()->cpu_info;
+@@ -921,16 +951,17 @@ void PrintProcessStateMachineReadable(co
+
+ if (requesting_thread != -1) {
+ printf("%d\n", requesting_thread);
+ } else {
+ printf("\n");
+ }
+
+ PrintModulesMachineReadable(process_state.modules());
++ PrintUnloadedModulesMachineReadable(process_state.unloaded_modules());
+
+ // blank line to indicate start of threads
+ printf("\n");
+
+ // If the thread that requested the dump is known, print it first.
+ if (requesting_thread != -1) {
+ PrintStackMachineReadable(requesting_thread,
+ process_state.threads()->at(requesting_thread));
+
diff --git a/toolkit/crashreporter/breakpad-patches/18-fastfail-codes.patch b/toolkit/crashreporter/breakpad-patches/18-fastfail-codes.patch
new file mode 100644
index 0000000000..543f320c46
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/18-fastfail-codes.patch
@@ -0,0 +1,359 @@
+changeset: 651272:ff2582aceafe
+parent: 651260:b740f950e497
+user: Gabriele Svelto <gsvelto@mozilla.com>
+date: Thu Apr 08 12:01:43 2021 +0200
+summary: fastfail
+
+diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h
+--- a/src/google_breakpad/common/minidump_exception_win32.h
++++ b/src/google_breakpad/common/minidump_exception_win32.h
+@@ -2261,9 +2261,84 @@ typedef enum {
+ // These constants are defined in the MSDN documentation of
+ // the EXCEPTION_RECORD structure.
+ typedef enum {
+ MD_IN_PAGE_ERROR_WIN_READ = 0,
+ MD_IN_PAGE_ERROR_WIN_WRITE = 1,
+ MD_IN_PAGE_ERROR_WIN_EXEC = 8
+ } MDInPageErrorTypeWin;
+
++/* For (MDException).exception_information[0], when (MDException).exception_code
++ * is MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN. This describes the underlying
++ * reason for the crash. These values come from winnt.h.
++ *
++ * The content of this enum was created from winnt.h in the 10 SDK
++ * (version 10.0.19041.0) with
++ *
++ * egrep '#define FAST_FAIL_[A-Z_0-9]+\s+[0-9]' winnt.h
++ * | tr -d '\r'
++ * | sed -r 's@#define FAST_FAIL_([A-Z_0-9]+)\s+([0-9]+).*@\2 \1@'
++ * | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ MD_FAST_FAIL_WIN_\2 = \1,@' */
++typedef enum {
++ MD_FAST_FAIL_WIN_LEGACY_GS_VIOLATION = 0,
++ MD_FAST_FAIL_WIN_VTGUARD_CHECK_FAILURE = 1,
++ MD_FAST_FAIL_WIN_STACK_COOKIE_CHECK_FAILURE = 2,
++ MD_FAST_FAIL_WIN_CORRUPT_LIST_ENTRY = 3,
++ MD_FAST_FAIL_WIN_INCORRECT_STACK = 4,
++ MD_FAST_FAIL_WIN_INVALID_ARG = 5,
++ MD_FAST_FAIL_WIN_GS_COOKIE_INIT = 6,
++ MD_FAST_FAIL_WIN_FATAL_APP_EXIT = 7,
++ MD_FAST_FAIL_WIN_RANGE_CHECK_FAILURE = 8,
++ MD_FAST_FAIL_WIN_UNSAFE_REGISTRY_ACCESS = 9,
++ MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_FAILURE = 10,
++ MD_FAST_FAIL_WIN_GUARD_WRITE_CHECK_FAILURE = 11,
++ MD_FAST_FAIL_WIN_INVALID_FIBER_SWITCH = 12,
++ MD_FAST_FAIL_WIN_INVALID_SET_OF_CONTEXT = 13,
++ MD_FAST_FAIL_WIN_INVALID_REFERENCE_COUNT = 14,
++ MD_FAST_FAIL_WIN_INVALID_JUMP_BUFFER = 18,
++ MD_FAST_FAIL_WIN_MRDATA_MODIFIED = 19,
++ MD_FAST_FAIL_WIN_CERTIFICATION_FAILURE = 20,
++ MD_FAST_FAIL_WIN_INVALID_EXCEPTION_CHAIN = 21,
++ MD_FAST_FAIL_WIN_CRYPTO_LIBRARY = 22,
++ MD_FAST_FAIL_WIN_INVALID_CALL_IN_DLL_CALLOUT = 23,
++ MD_FAST_FAIL_WIN_INVALID_IMAGE_BASE = 24,
++ MD_FAST_FAIL_WIN_DLOAD_PROTECTION_FAILURE = 25,
++ MD_FAST_FAIL_WIN_UNSAFE_EXTENSION_CALL = 26,
++ MD_FAST_FAIL_WIN_DEPRECATED_SERVICE_INVOKED = 27,
++ MD_FAST_FAIL_WIN_INVALID_BUFFER_ACCESS = 28,
++ MD_FAST_FAIL_WIN_INVALID_BALANCED_TREE = 29,
++ MD_FAST_FAIL_WIN_INVALID_NEXT_THREAD = 30,
++ MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_SUPPRESSED = 31,
++ MD_FAST_FAIL_WIN_APCS_DISABLED = 32,
++ MD_FAST_FAIL_WIN_INVALID_IDLE_STATE = 33,
++ MD_FAST_FAIL_WIN_MRDATA_PROTECTION_FAILURE = 34,
++ MD_FAST_FAIL_WIN_UNEXPECTED_HEAP_EXCEPTION = 35,
++ MD_FAST_FAIL_WIN_INVALID_LOCK_STATE = 36,
++ MD_FAST_FAIL_WIN_GUARD_JUMPTABLE = 37,
++ MD_FAST_FAIL_WIN_INVALID_LONGJUMP_TARGET = 38,
++ MD_FAST_FAIL_WIN_INVALID_DISPATCH_CONTEXT = 39,
++ MD_FAST_FAIL_WIN_INVALID_THREAD = 40,
++ MD_FAST_FAIL_WIN_INVALID_SYSCALL_NUMBER = 41,
++ MD_FAST_FAIL_WIN_INVALID_FILE_OPERATION = 42,
++ MD_FAST_FAIL_WIN_LPAC_ACCESS_DENIED = 43,
++ MD_FAST_FAIL_WIN_GUARD_SS_FAILURE = 44,
++ MD_FAST_FAIL_WIN_LOADER_CONTINUITY_FAILURE = 45,
++ MD_FAST_FAIL_WIN_GUARD_EXPORT_SUPPRESSION_FAILURE = 46,
++ MD_FAST_FAIL_WIN_INVALID_CONTROL_STACK = 47,
++ MD_FAST_FAIL_WIN_SET_CONTEXT_DENIED = 48,
++ MD_FAST_FAIL_WIN_INVALID_IAT = 49,
++ MD_FAST_FAIL_WIN_HEAP_METADATA_CORRUPTION = 50,
++ MD_FAST_FAIL_WIN_PAYLOAD_RESTRICTION_VIOLATION = 51,
++ MD_FAST_FAIL_WIN_LOW_LABEL_ACCESS_DENIED = 52,
++ MD_FAST_FAIL_WIN_ENCLAVE_CALL_FAILURE = 53,
++ MD_FAST_FAIL_WIN_UNHANDLED_LSS_EXCEPTON = 54,
++ MD_FAST_FAIL_WIN_ADMINLESS_ACCESS_DENIED = 55,
++ MD_FAST_FAIL_WIN_UNEXPECTED_CALL = 56,
++ MD_FAST_FAIL_WIN_CONTROL_INVALID_RETURN_ADDRESS = 57,
++ MD_FAST_FAIL_WIN_UNEXPECTED_HOST_BEHAVIOR = 58,
++ MD_FAST_FAIL_WIN_FLAGS_CORRUPTION = 59,
++ MD_FAST_FAIL_WIN_VEH_CORRUPTION = 60,
++ MD_FAST_FAIL_WIN_ETW_CORRUPTION = 61,
++ MD_FAST_FAIL_WIN_RIO_ABORT = 62,
++ MD_FAST_FAIL_WIN_INVALID_PFN = 63,
++} MDFastFailWin;
++
+ #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1288,16 +1288,24 @@ string MinidumpProcessor::GetCrashReason
+ case MD_EXCEPTION_CODE_WIN_BAD_FUNCTION_TABLE:
+ reason = "EXCEPTION_BAD_FUNCTION_TABLE";
+ break;
+ case MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK:
+ reason = "EXCEPTION_POSSIBLE_DEADLOCK";
+ break;
+ case MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN:
+ reason = "EXCEPTION_STACK_BUFFER_OVERRUN";
++ if (raw_exception->exception_record.number_parameters > 0) {
++ uint32_t fast_fail_code =
++ static_cast<uint32_t>
++ (raw_exception->exception_record.exception_information[0]);
++ reason.append(" / ");
++ reason.append(FastFailToString(fast_fail_code));
++ }
++
+ break;
+ case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION:
+ reason = "EXCEPTION_HEAP_CORRUPTION";
+ break;
+ case MD_EXCEPTION_OUT_OF_MEMORY:
+ reason = "Out of Memory";
+ break;
+ case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION:
+diff --git a/src/processor/symbolic_constants_win.cc b/src/processor/symbolic_constants_win.cc
+--- a/src/processor/symbolic_constants_win.cc
++++ b/src/processor/symbolic_constants_win.cc
+@@ -6409,9 +6409,214 @@ string NTStatusToString(uint32_t ntstatu
+ snprintf(reason_string, sizeof(reason_string), "0x%08x", ntstatus);
+ reason = reason_string;
+ break;
+ }
+ }
+ return reason;
+ }
+
++string FastFailToString(uint32_t fast_fail_code) {
++ string code_string;
++ // The content of this switch was created from winnt.h in the 10 SDK
++ // (version 10.0.19041.0) with
++ //
++ // egrep '#define FAST_FAIL_[A-Z_0-9]+\s+[0-9]' winnt.h
++ // | tr -d '\r'
++ // | sed -r 's@#define FAST_FAIL_([A-Z_0-9]+)\s+([0-9]+).*@\2 \1@'
++ // | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ case MD_FAST_FAIL_WIN_\2:\n code_string = "FAST_FAIL_\2";\n break;@'
++ //
++ // and then the default case added.
++ switch (fast_fail_code) {
++ case MD_FAST_FAIL_WIN_LEGACY_GS_VIOLATION:
++ code_string = "FAST_FAIL_LEGACY_GS_VIOLATION";
++ break;
++ case MD_FAST_FAIL_WIN_VTGUARD_CHECK_FAILURE:
++ code_string = "FAST_FAIL_VTGUARD_CHECK_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_STACK_COOKIE_CHECK_FAILURE:
++ code_string = "FAST_FAIL_STACK_COOKIE_CHECK_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_CORRUPT_LIST_ENTRY:
++ code_string = "FAST_FAIL_CORRUPT_LIST_ENTRY";
++ break;
++ case MD_FAST_FAIL_WIN_INCORRECT_STACK:
++ code_string = "FAST_FAIL_INCORRECT_STACK";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_ARG:
++ code_string = "FAST_FAIL_INVALID_ARG";
++ break;
++ case MD_FAST_FAIL_WIN_GS_COOKIE_INIT:
++ code_string = "FAST_FAIL_GS_COOKIE_INIT";
++ break;
++ case MD_FAST_FAIL_WIN_FATAL_APP_EXIT:
++ code_string = "FAST_FAIL_FATAL_APP_EXIT";
++ break;
++ case MD_FAST_FAIL_WIN_RANGE_CHECK_FAILURE:
++ code_string = "FAST_FAIL_RANGE_CHECK_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_UNSAFE_REGISTRY_ACCESS:
++ code_string = "FAST_FAIL_UNSAFE_REGISTRY_ACCESS";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_FAILURE:
++ code_string = "FAST_FAIL_GUARD_ICALL_CHECK_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_WRITE_CHECK_FAILURE:
++ code_string = "FAST_FAIL_GUARD_WRITE_CHECK_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_FIBER_SWITCH:
++ code_string = "FAST_FAIL_INVALID_FIBER_SWITCH";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_SET_OF_CONTEXT:
++ code_string = "FAST_FAIL_INVALID_SET_OF_CONTEXT";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_REFERENCE_COUNT:
++ code_string = "FAST_FAIL_INVALID_REFERENCE_COUNT";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_JUMP_BUFFER:
++ code_string = "FAST_FAIL_INVALID_JUMP_BUFFER";
++ break;
++ case MD_FAST_FAIL_WIN_MRDATA_MODIFIED:
++ code_string = "FAST_FAIL_MRDATA_MODIFIED";
++ break;
++ case MD_FAST_FAIL_WIN_CERTIFICATION_FAILURE:
++ code_string = "FAST_FAIL_CERTIFICATION_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_EXCEPTION_CHAIN:
++ code_string = "FAST_FAIL_INVALID_EXCEPTION_CHAIN";
++ break;
++ case MD_FAST_FAIL_WIN_CRYPTO_LIBRARY:
++ code_string = "FAST_FAIL_CRYPTO_LIBRARY";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_CALL_IN_DLL_CALLOUT:
++ code_string = "FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_IMAGE_BASE:
++ code_string = "FAST_FAIL_INVALID_IMAGE_BASE";
++ break;
++ case MD_FAST_FAIL_WIN_DLOAD_PROTECTION_FAILURE:
++ code_string = "FAST_FAIL_DLOAD_PROTECTION_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_UNSAFE_EXTENSION_CALL:
++ code_string = "FAST_FAIL_UNSAFE_EXTENSION_CALL";
++ break;
++ case MD_FAST_FAIL_WIN_DEPRECATED_SERVICE_INVOKED:
++ code_string = "FAST_FAIL_DEPRECATED_SERVICE_INVOKED";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_BUFFER_ACCESS:
++ code_string = "FAST_FAIL_INVALID_BUFFER_ACCESS";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_BALANCED_TREE:
++ code_string = "FAST_FAIL_INVALID_BALANCED_TREE";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_NEXT_THREAD:
++ code_string = "FAST_FAIL_INVALID_NEXT_THREAD";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_SUPPRESSED:
++ code_string = "FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED";
++ break;
++ case MD_FAST_FAIL_WIN_APCS_DISABLED:
++ code_string = "FAST_FAIL_APCS_DISABLED";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_IDLE_STATE:
++ code_string = "FAST_FAIL_INVALID_IDLE_STATE";
++ break;
++ case MD_FAST_FAIL_WIN_MRDATA_PROTECTION_FAILURE:
++ code_string = "FAST_FAIL_MRDATA_PROTECTION_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_UNEXPECTED_HEAP_EXCEPTION:
++ code_string = "FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_LOCK_STATE:
++ code_string = "FAST_FAIL_INVALID_LOCK_STATE";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_JUMPTABLE:
++ code_string = "FAST_FAIL_GUARD_JUMPTABLE";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_LONGJUMP_TARGET:
++ code_string = "FAST_FAIL_INVALID_LONGJUMP_TARGET";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_DISPATCH_CONTEXT:
++ code_string = "FAST_FAIL_INVALID_DISPATCH_CONTEXT";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_THREAD:
++ code_string = "FAST_FAIL_INVALID_THREAD";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_SYSCALL_NUMBER:
++ code_string = "FAST_FAIL_INVALID_SYSCALL_NUMBER";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_FILE_OPERATION:
++ code_string = "FAST_FAIL_INVALID_FILE_OPERATION";
++ break;
++ case MD_FAST_FAIL_WIN_LPAC_ACCESS_DENIED:
++ code_string = "FAST_FAIL_LPAC_ACCESS_DENIED";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_SS_FAILURE:
++ code_string = "FAST_FAIL_GUARD_SS_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_LOADER_CONTINUITY_FAILURE:
++ code_string = "FAST_FAIL_LOADER_CONTINUITY_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_GUARD_EXPORT_SUPPRESSION_FAILURE:
++ code_string = "FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_CONTROL_STACK:
++ code_string = "FAST_FAIL_INVALID_CONTROL_STACK";
++ break;
++ case MD_FAST_FAIL_WIN_SET_CONTEXT_DENIED:
++ code_string = "FAST_FAIL_SET_CONTEXT_DENIED";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_IAT:
++ code_string = "FAST_FAIL_INVALID_IAT";
++ break;
++ case MD_FAST_FAIL_WIN_HEAP_METADATA_CORRUPTION:
++ code_string = "FAST_FAIL_HEAP_METADATA_CORRUPTION";
++ break;
++ case MD_FAST_FAIL_WIN_PAYLOAD_RESTRICTION_VIOLATION:
++ code_string = "FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION";
++ break;
++ case MD_FAST_FAIL_WIN_LOW_LABEL_ACCESS_DENIED:
++ code_string = "FAST_FAIL_LOW_LABEL_ACCESS_DENIED";
++ break;
++ case MD_FAST_FAIL_WIN_ENCLAVE_CALL_FAILURE:
++ code_string = "FAST_FAIL_ENCLAVE_CALL_FAILURE";
++ break;
++ case MD_FAST_FAIL_WIN_UNHANDLED_LSS_EXCEPTON:
++ code_string = "FAST_FAIL_UNHANDLED_LSS_EXCEPTON";
++ break;
++ case MD_FAST_FAIL_WIN_ADMINLESS_ACCESS_DENIED:
++ code_string = "FAST_FAIL_ADMINLESS_ACCESS_DENIED";
++ break;
++ case MD_FAST_FAIL_WIN_UNEXPECTED_CALL:
++ code_string = "FAST_FAIL_UNEXPECTED_CALL";
++ break;
++ case MD_FAST_FAIL_WIN_CONTROL_INVALID_RETURN_ADDRESS:
++ code_string = "FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS";
++ break;
++ case MD_FAST_FAIL_WIN_UNEXPECTED_HOST_BEHAVIOR:
++ code_string = "FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR";
++ break;
++ case MD_FAST_FAIL_WIN_FLAGS_CORRUPTION:
++ code_string = "FAST_FAIL_FLAGS_CORRUPTION";
++ break;
++ case MD_FAST_FAIL_WIN_VEH_CORRUPTION:
++ code_string = "FAST_FAIL_VEH_CORRUPTION";
++ break;
++ case MD_FAST_FAIL_WIN_ETW_CORRUPTION:
++ code_string = "FAST_FAIL_ETW_CORRUPTION";
++ break;
++ case MD_FAST_FAIL_WIN_RIO_ABORT:
++ code_string = "FAST_FAIL_RIO_ABORT";
++ break;
++ case MD_FAST_FAIL_WIN_INVALID_PFN:
++ code_string = "FAST_FAIL_INVALID_PFN";
++ break;
++ default: {
++ char buffer[11];
++ snprintf(buffer, sizeof(buffer), "%u", fast_fail_code);
++ code_string = buffer;
++ break;
++ }
++ }
++ return code_string;
++}
++
+ } // namespace google_breakpad
+diff --git a/src/processor/symbolic_constants_win.h b/src/processor/symbolic_constants_win.h
+--- a/src/processor/symbolic_constants_win.h
++++ b/src/processor/symbolic_constants_win.h
+@@ -41,11 +41,14 @@
+ #include "common/using_std_string.h"
+ #include "google_breakpad/common/breakpad_types.h"
+
+ namespace google_breakpad {
+
+ /* Converts a NTSTATUS code to a reason string. */
+ string NTStatusToString(uint32_t ntstatus);
+
++/* Converts a FAST_FAIL code to a reason string. */
++string FastFailToString(uint32_t fast_fail_code);
++
+ } // namespace google_breakpad
+
+ #endif // GOOGLE_BREAKPAD_PROCESSOR_SYMBOLIC_CONSTANTS_WIN_H_
+
diff --git a/toolkit/crashreporter/breakpad-patches/19-updated-ntstatus.patch b/toolkit/crashreporter/breakpad-patches/19-updated-ntstatus.patch
new file mode 100644
index 0000000000..13c6597435
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/19-updated-ntstatus.patch
@@ -0,0 +1,3500 @@
+changeset: 651287:a6a1b6cc572e
+tag: tip
+parent: 651282:232ec0fbbaaa
+user: Gabriele Svelto <gsvelto@mozilla.com>
+date: Thu Apr 08 11:13:10 2021 +0200
+summary: Updated ntstatus.h definitions in Breakpad
+
+diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h
+--- a/src/google_breakpad/common/minidump_exception_win32.h
++++ b/src/google_breakpad/common/minidump_exception_win32.h
+@@ -39,22 +39,18 @@
+ #ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__
+ #define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__
+
+ #include <stddef.h>
+
+ #include "google_breakpad/common/breakpad_types.h"
+
+
+-/* For (MDException).exception_code. These values come from WinBase.h
+- * and WinNT.h (names beginning with EXCEPTION_ are in WinBase.h,
+- * they are STATUS_ in WinNT.h). */
++/* For (MDException).exception_code. These values come from WinBase.h */
+ typedef enum {
+- MD_EXCEPTION_CODE_WIN_CONTROL_C = 0x40010005,
+- /* DBG_CONTROL_C */
+ MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION = 0x80000001,
+ /* EXCEPTION_GUARD_PAGE */
+ MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT = 0x80000002,
+ /* EXCEPTION_DATATYPE_MISALIGNMENT */
+ MD_EXCEPTION_CODE_WIN_BREAKPOINT = 0x80000003,
+ /* EXCEPTION_BREAKPOINT */
+ MD_EXCEPTION_CODE_WIN_SINGLE_STEP = 0x80000004,
+ /* EXCEPTION_SINGLE_STEP */
+@@ -93,51 +89,291 @@ typedef enum {
+ MD_EXCEPTION_CODE_WIN_PRIVILEGED_INSTRUCTION = 0xc0000096,
+ /* EXCEPTION_PRIV_INSTRUCTION */
+ MD_EXCEPTION_CODE_WIN_STACK_OVERFLOW = 0xc00000fd,
+ /* EXCEPTION_STACK_OVERFLOW */
+ MD_EXCEPTION_CODE_WIN_BAD_FUNCTION_TABLE = 0xc00000ff,
+ /* EXCEPTION_BAD_FUNCTION_TABLE */
+ MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK = 0xc0000194,
+ /* EXCEPTION_POSSIBLE_DEADLOCK */
+- MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN = 0xc0000409,
+- /* STATUS_STACK_BUFFER_OVERRUN */
+- MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374,
+- /* STATUS_HEAP_CORRUPTION */
+ MD_EXCEPTION_OUT_OF_MEMORY = 0xe0000008,
+ /* Exception thrown by Chromium allocators to indicate OOM.
+ See base/process/memory.h in Chromium for rationale. */
+ MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363,
+ /* Per http://support.microsoft.com/kb/185294,
+ generated by Visual C++ compiler */
+ MD_EXCEPTION_CODE_WIN_SIMULATED = 0x0517a7ed
+ /* Fake exception code used by Crashpad's
+ CrashpadClient::DumpWithoutCrash. */
+ } MDExceptionCodeWin;
+
+
+ /* For (MDException).exception_information[2], when (MDException).exception_code
+ * is MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR. This describes the underlying reason
+ * for the error. These values come from ntstatus.h.
+ *
+- * The content of this enum was created from ntstatus.h in the 8.1 SDK with
++ * The content of this enum was created from ntstatus.h in the 10 SDK
++ * (version 10.0.19041.0) with
+ *
+- * egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0xC[0-9A-F]+L\)' ntstatus.h
++ * egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0x[048C][0-9A-F]+L\)' ntstatus.h
+ * | tr -d '\r'
+- * | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0xC[0-9A-F]+)L\).*@\2 \1@'
++ * | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0x[048C][0-9A-F]+)L\).*@\2 \1@'
+ * | sort
+- * | sed -r 's@(0xC[0-9A-F]+) ([A-Z_0-9]+)@ MD_NTSTATUS_WIN_\2 = \1,@'
++ * | sed -r 's@(0x[048C][0-9A-F]+) ([A-Z_0-9]+)@ MD_NTSTATUS_WIN_\2 = \1,@'
+ *
+ * With easy copy to clipboard with
+ * | xclip -selection c # on linux
+ * | clip # on windows
+- * | pbcopy # on mac
+- *
+- * and then the last comma manually removed. */
++ * | pbcopy # on mac */
+ typedef enum {
++ MD_NTSTATUS_WIN_STATUS_SUCCESS = 0x00000000,
++ MD_NTSTATUS_WIN_STATUS_WAIT_0 = 0x00000000,
++ MD_NTSTATUS_WIN_STATUS_WAIT_1 = 0x00000001,
++ MD_NTSTATUS_WIN_STATUS_WAIT_2 = 0x00000002,
++ MD_NTSTATUS_WIN_STATUS_WAIT_3 = 0x00000003,
++ MD_NTSTATUS_WIN_STATUS_WAIT_63 = 0x0000003F,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED = 0x00000080,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_0 = 0x00000080,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_63 = 0x000000BF,
++ MD_NTSTATUS_WIN_STATUS_USER_APC = 0x000000C0,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_COMPLETE = 0x000000FF,
++ MD_NTSTATUS_WIN_STATUS_KERNEL_APC = 0x00000100,
++ MD_NTSTATUS_WIN_STATUS_ALERTED = 0x00000101,
++ MD_NTSTATUS_WIN_STATUS_TIMEOUT = 0x00000102,
++ MD_NTSTATUS_WIN_STATUS_PENDING = 0x00000103,
++ MD_NTSTATUS_WIN_STATUS_REPARSE = 0x00000104,
++ MD_NTSTATUS_WIN_STATUS_MORE_ENTRIES = 0x00000105,
++ MD_NTSTATUS_WIN_STATUS_NOT_ALL_ASSIGNED = 0x00000106,
++ MD_NTSTATUS_WIN_STATUS_SOME_NOT_MAPPED = 0x00000107,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_BREAK_IN_PROGRESS = 0x00000108,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_MOUNTED = 0x00000109,
++ MD_NTSTATUS_WIN_STATUS_RXACT_COMMITTED = 0x0000010A,
++ MD_NTSTATUS_WIN_STATUS_NOTIFY_CLEANUP = 0x0000010B,
++ MD_NTSTATUS_WIN_STATUS_NOTIFY_ENUM_DIR = 0x0000010C,
++ MD_NTSTATUS_WIN_STATUS_NO_QUOTAS_FOR_ACCOUNT = 0x0000010D,
++ MD_NTSTATUS_WIN_STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED = 0x0000010E,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_TRANSITION = 0x00000110,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_DEMAND_ZERO = 0x00000111,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_COPY_ON_WRITE = 0x00000112,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_GUARD_PAGE = 0x00000113,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_PAGING_FILE = 0x00000114,
++ MD_NTSTATUS_WIN_STATUS_CACHE_PAGE_LOCKED = 0x00000115,
++ MD_NTSTATUS_WIN_STATUS_CRASH_DUMP = 0x00000116,
++ MD_NTSTATUS_WIN_STATUS_BUFFER_ALL_ZEROS = 0x00000117,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_OBJECT = 0x00000118,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_REQUIREMENTS_CHANGED = 0x00000119,
++ MD_NTSTATUS_WIN_STATUS_TRANSLATION_COMPLETE = 0x00000120,
++ MD_NTSTATUS_WIN_STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY = 0x00000121,
++ MD_NTSTATUS_WIN_STATUS_NOTHING_TO_TERMINATE = 0x00000122,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_NOT_IN_JOB = 0x00000123,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_IN_JOB = 0x00000124,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_HIBERNATE_READY = 0x00000125,
++ MD_NTSTATUS_WIN_STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY = 0x00000126,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED = 0x00000127,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPT_STILL_CONNECTED = 0x00000128,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_CLONED = 0x00000129,
++ MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_ONLY_READERS = 0x0000012A,
++ MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_WRITERS = 0x0000012B,
++ MD_NTSTATUS_WIN_STATUS_VALID_IMAGE_HASH = 0x0000012C,
++ MD_NTSTATUS_WIN_STATUS_VALID_CATALOG_HASH = 0x0000012D,
++ MD_NTSTATUS_WIN_STATUS_VALID_STRONG_CODE_HASH = 0x0000012E,
++ MD_NTSTATUS_WIN_STATUS_GHOSTED = 0x0000012F,
++ MD_NTSTATUS_WIN_STATUS_DATA_OVERWRITTEN = 0x00000130,
++ MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_READ_ONLY = 0x00000202,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_EMPTY = 0x00000210,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_FULL = 0x00000211,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_ABOVE_QUOTA = 0x00000212,
++ MD_NTSTATUS_WIN_STATUS_RING_NEWLY_EMPTY = 0x00000213,
++ MD_NTSTATUS_WIN_STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT = 0x00000214,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE = 0x00000215,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_HANDLE_CLOSED = 0x00000216,
++ MD_NTSTATUS_WIN_STATUS_WAIT_FOR_OPLOCK = 0x00000367,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_GLOBAL = 0x00000368,
++ MD_NTSTATUS_WIN_DBG_EXCEPTION_HANDLED = 0x00010001,
++ MD_NTSTATUS_WIN_DBG_CONTINUE = 0x00010002,
++ MD_NTSTATUS_WIN_STATUS_FLT_IO_COMPLETE = 0x001C0001,
++ MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_CONTINUE = 0x00293000,
++ MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_COMPLETE = 0x00293001,
++ MD_NTSTATUS_WIN_STATUS_HV_PENDING_PAGE_REQUESTS = 0x00350059,
++ MD_NTSTATUS_WIN_STATUS_SPACES_REPAIRED = 0x00E70000,
++ MD_NTSTATUS_WIN_STATUS_SPACES_PAUSE = 0x00E70001,
++ MD_NTSTATUS_WIN_STATUS_SPACES_COMPLETE = 0x00E70002,
++ MD_NTSTATUS_WIN_STATUS_SPACES_REDIRECT = 0x00E70003,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_EXISTS = 0x40000000,
++ MD_NTSTATUS_WIN_STATUS_THREAD_WAS_SUSPENDED = 0x40000001,
++ MD_NTSTATUS_WIN_STATUS_WORKING_SET_LIMIT_RANGE = 0x40000002,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_NOT_AT_BASE = 0x40000003,
++ MD_NTSTATUS_WIN_STATUS_RXACT_STATE_CREATED = 0x40000004,
++ MD_NTSTATUS_WIN_STATUS_SEGMENT_NOTIFICATION = 0x40000005,
++ MD_NTSTATUS_WIN_STATUS_LOCAL_USER_SESSION_KEY = 0x40000006,
++ MD_NTSTATUS_WIN_STATUS_BAD_CURRENT_DIRECTORY = 0x40000007,
++ MD_NTSTATUS_WIN_STATUS_SERIAL_MORE_WRITES = 0x40000008,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_RECOVERED = 0x40000009,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_RECOVERY_FROM_BACKUP = 0x4000000A,
++ MD_NTSTATUS_WIN_STATUS_FT_WRITE_RECOVERY = 0x4000000B,
++ MD_NTSTATUS_WIN_STATUS_SERIAL_COUNTER_TIMEOUT = 0x4000000C,
++ MD_NTSTATUS_WIN_STATUS_NULL_LM_PASSWORD = 0x4000000D,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH = 0x4000000E,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL = 0x4000000F,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_EXPEDITED = 0x40000010,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL_EXPEDITED = 0x40000011,
++ MD_NTSTATUS_WIN_STATUS_EVENT_DONE = 0x40000012,
++ MD_NTSTATUS_WIN_STATUS_EVENT_PENDING = 0x40000013,
++ MD_NTSTATUS_WIN_STATUS_CHECKING_FILE_SYSTEM = 0x40000014,
++ MD_NTSTATUS_WIN_STATUS_FATAL_APP_EXIT = 0x40000015,
++ MD_NTSTATUS_WIN_STATUS_PREDEFINED_HANDLE = 0x40000016,
++ MD_NTSTATUS_WIN_STATUS_WAS_UNLOCKED = 0x40000017,
++ MD_NTSTATUS_WIN_STATUS_SERVICE_NOTIFICATION = 0x40000018,
++ MD_NTSTATUS_WIN_STATUS_WAS_LOCKED = 0x40000019,
++ MD_NTSTATUS_WIN_STATUS_LOG_HARD_ERROR = 0x4000001A,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_WIN32 = 0x4000001B,
++ MD_NTSTATUS_WIN_STATUS_WX86_UNSIMULATE = 0x4000001C,
++ MD_NTSTATUS_WIN_STATUS_WX86_CONTINUE = 0x4000001D,
++ MD_NTSTATUS_WIN_STATUS_WX86_SINGLE_STEP = 0x4000001E,
++ MD_NTSTATUS_WIN_STATUS_WX86_BREAKPOINT = 0x4000001F,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CONTINUE = 0x40000020,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_LASTCHANCE = 0x40000021,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CHAIN = 0x40000022,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE = 0x40000023,
++ MD_NTSTATUS_WIN_STATUS_NO_YIELD_PERFORMED = 0x40000024,
++ MD_NTSTATUS_WIN_STATUS_TIMER_RESUME_IGNORED = 0x40000025,
++ MD_NTSTATUS_WIN_STATUS_ARBITRATION_UNHANDLED = 0x40000026,
++ MD_NTSTATUS_WIN_STATUS_CARDBUS_NOT_SUPPORTED = 0x40000027,
++ MD_NTSTATUS_WIN_STATUS_WX86_CREATEWX86TIB = 0x40000028,
++ MD_NTSTATUS_WIN_STATUS_MP_PROCESSOR_MISMATCH = 0x40000029,
++ MD_NTSTATUS_WIN_STATUS_HIBERNATED = 0x4000002A,
++ MD_NTSTATUS_WIN_STATUS_RESUME_HIBERNATION = 0x4000002B,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_UPDATED = 0x4000002C,
++ MD_NTSTATUS_WIN_STATUS_DRIVERS_LEAKING_LOCKED_PAGES = 0x4000002D,
++ MD_NTSTATUS_WIN_STATUS_MESSAGE_RETRIEVED = 0x4000002E,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_TRANSITION = 0x4000002F,
++ MD_NTSTATUS_WIN_STATUS_ALPC_CHECK_COMPLETION_LIST = 0x40000030,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION = 0x40000031,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_AUDIT_BY_POLICY = 0x40000032,
++ MD_NTSTATUS_WIN_STATUS_ABANDON_HIBERFILE = 0x40000033,
++ MD_NTSTATUS_WIN_STATUS_BIZRULES_NOT_ENABLED = 0x40000034,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_FROM_COPY = 0x40000035,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_AT_DIFFERENT_BASE = 0x40000036,
++ MD_NTSTATUS_WIN_STATUS_PATCH_DEFERRED = 0x40000037,
++ MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM = 0x40000294,
++ MD_NTSTATUS_WIN_STATUS_DS_SHUTTING_DOWN = 0x40000370,
++ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_REDIRECTED = 0x40000807,
++ MD_NTSTATUS_WIN_STATUS_SERVICES_FAILED_AUTOSTART = 0x4000A144,
++ MD_NTSTATUS_WIN_DBG_REPLY_LATER = 0x40010001,
++ MD_NTSTATUS_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE = 0x40010002,
++ MD_NTSTATUS_WIN_DBG_TERMINATE_THREAD = 0x40010003,
++ MD_NTSTATUS_WIN_DBG_TERMINATE_PROCESS = 0x40010004,
++ MD_NTSTATUS_WIN_DBG_CONTROL_C = 0x40010005,
++ MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_C = 0x40010006,
++ MD_NTSTATUS_WIN_DBG_RIPEXCEPTION = 0x40010007,
++ MD_NTSTATUS_WIN_DBG_CONTROL_BREAK = 0x40010008,
++ MD_NTSTATUS_WIN_DBG_COMMAND_EXCEPTION = 0x40010009,
++ MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_WIDE_C = 0x4001000A,
++ MD_NTSTATUS_WIN_RPC_NT_UUID_LOCAL_ONLY = 0x40020056,
++ MD_NTSTATUS_WIN_RPC_NT_SEND_INCOMPLETE = 0x400200AF,
++ MD_NTSTATUS_WIN_STATUS_CTX_CDM_CONNECT = 0x400A0004,
++ MD_NTSTATUS_WIN_STATUS_CTX_CDM_DISCONNECT = 0x400A0005,
++ MD_NTSTATUS_WIN_STATUS_SXS_RELEASE_ACTIVATION_CONTEXT = 0x4015000D,
++ MD_NTSTATUS_WIN_STATUS_HEURISTIC_DAMAGE_POSSIBLE = 0x40190001,
++ MD_NTSTATUS_WIN_STATUS_RECOVERY_NOT_NEEDED = 0x40190034,
++ MD_NTSTATUS_WIN_STATUS_RM_ALREADY_STARTED = 0x40190035,
++ MD_NTSTATUS_WIN_STATUS_LOG_NO_RESTART = 0x401A000C,
++ MD_NTSTATUS_WIN_STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST = 0x401B00EC,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARTIAL_DATA_POPULATED = 0x401E000A,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION = 0x401E0201,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_PINNED = 0x401E0307,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_PREFERRED_MODE = 0x401E031E,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DATASET_IS_EMPTY = 0x401E034B,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET = 0x401E034C,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED = 0x401E0351,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS = 0x401E042F,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_START_DEFERRED = 0x401E0437,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY = 0x401E0439,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_START_DEFERRED = 0x401E043A,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS = 0x401E043C,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INDICATION_REQUIRED = 0x40230001,
++ MD_NTSTATUS_WIN_STATUS_PCP_UNSUPPORTED_PSS_SALT = 0x40292023,
++ MD_NTSTATUS_WIN_STATUS_GUARD_PAGE_VIOLATION = 0x80000001,
++ MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT = 0x80000002,
++ MD_NTSTATUS_WIN_STATUS_BREAKPOINT = 0x80000003,
++ MD_NTSTATUS_WIN_STATUS_SINGLE_STEP = 0x80000004,
++ MD_NTSTATUS_WIN_STATUS_BUFFER_OVERFLOW = 0x80000005,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_FILES = 0x80000006,
++ MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM_DEBUGGER = 0x80000007,
++ MD_NTSTATUS_WIN_STATUS_HANDLES_CLOSED = 0x8000000A,
++ MD_NTSTATUS_WIN_STATUS_NO_INHERITANCE = 0x8000000B,
++ MD_NTSTATUS_WIN_STATUS_GUID_SUBSTITUTION_MADE = 0x8000000C,
++ MD_NTSTATUS_WIN_STATUS_PARTIAL_COPY = 0x8000000D,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_PAPER_EMPTY = 0x8000000E,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_POWERED_OFF = 0x8000000F,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_OFF_LINE = 0x80000010,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_BUSY = 0x80000011,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_EAS = 0x80000012,
++ MD_NTSTATUS_WIN_STATUS_INVALID_EA_NAME = 0x80000013,
++ MD_NTSTATUS_WIN_STATUS_EA_LIST_INCONSISTENT = 0x80000014,
++ MD_NTSTATUS_WIN_STATUS_INVALID_EA_FLAG = 0x80000015,
++ MD_NTSTATUS_WIN_STATUS_VERIFY_REQUIRED = 0x80000016,
++ MD_NTSTATUS_WIN_STATUS_EXTRANEOUS_INFORMATION = 0x80000017,
++ MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_NECESSARY = 0x80000018,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_ENTRIES = 0x8000001A,
++ MD_NTSTATUS_WIN_STATUS_FILEMARK_DETECTED = 0x8000001B,
++ MD_NTSTATUS_WIN_STATUS_MEDIA_CHANGED = 0x8000001C,
++ MD_NTSTATUS_WIN_STATUS_BUS_RESET = 0x8000001D,
++ MD_NTSTATUS_WIN_STATUS_END_OF_MEDIA = 0x8000001E,
++ MD_NTSTATUS_WIN_STATUS_BEGINNING_OF_MEDIA = 0x8000001F,
++ MD_NTSTATUS_WIN_STATUS_MEDIA_CHECK = 0x80000020,
++ MD_NTSTATUS_WIN_STATUS_SETMARK_DETECTED = 0x80000021,
++ MD_NTSTATUS_WIN_STATUS_NO_DATA_DETECTED = 0x80000022,
++ MD_NTSTATUS_WIN_STATUS_REDIRECTOR_HAS_OPEN_HANDLES = 0x80000023,
++ MD_NTSTATUS_WIN_STATUS_SERVER_HAS_OPEN_HANDLES = 0x80000024,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_DISCONNECTED = 0x80000025,
++ MD_NTSTATUS_WIN_STATUS_LONGJUMP = 0x80000026,
++ MD_NTSTATUS_WIN_STATUS_CLEANER_CARTRIDGE_INSTALLED = 0x80000027,
++ MD_NTSTATUS_WIN_STATUS_PLUGPLAY_QUERY_VETOED = 0x80000028,
++ MD_NTSTATUS_WIN_STATUS_UNWIND_CONSOLIDATE = 0x80000029,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_HIVE_RECOVERED = 0x8000002A,
++ MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INSECURE = 0x8000002B,
++ MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INCOMPATIBLE = 0x8000002C,
++ MD_NTSTATUS_WIN_STATUS_STOPPED_ON_SYMLINK = 0x8000002D,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_GRANT_REQUESTED_OPLOCK = 0x8000002E,
++ MD_NTSTATUS_WIN_STATUS_NO_ACE_CONDITION = 0x8000002F,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_SUPPORT_IN_PROGRESS = 0x80000030,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_CYCLE_REQUIRED = 0x80000031,
++ MD_NTSTATUS_WIN_STATUS_NO_WORK_DONE = 0x80000032,
++ MD_NTSTATUS_WIN_STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT = 0x80000033,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_REQUIRES_CLEANING = 0x80000288,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_DOOR_OPEN = 0x80000289,
++ MD_NTSTATUS_WIN_STATUS_DATA_LOST_REPAIR = 0x80000803,
++ MD_NTSTATUS_WIN_STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED = 0x8000A127,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH = 0x8000CF00,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE = 0x8000CF04,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS = 0x8000CF05,
++ MD_NTSTATUS_WIN_DBG_EXCEPTION_NOT_HANDLED = 0x80010001,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_UP = 0x80130001,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_DOWN = 0x80130002,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_ONLINE = 0x80130003,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE = 0x80130004,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_MEMBER = 0x80130005,
++ MD_NTSTATUS_WIN_STATUS_COULD_NOT_RESIZE_LOG = 0x80190009,
++ MD_NTSTATUS_WIN_STATUS_NO_TXF_METADATA = 0x80190029,
++ MD_NTSTATUS_WIN_STATUS_CANT_RECOVER_WITH_HANDLE_OPEN = 0x80190031,
++ MD_NTSTATUS_WIN_STATUS_TXF_METADATA_ALREADY_PRESENT = 0x80190041,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET = 0x80190042,
++ MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED = 0x801B00EB,
++ MD_NTSTATUS_WIN_STATUS_FLT_BUFFER_TOO_SMALL = 0x801C0001,
++ MD_NTSTATUS_WIN_STATUS_FVE_PARTIAL_METADATA = 0x80210001,
++ MD_NTSTATUS_WIN_STATUS_FVE_TRANSIENT_STATE = 0x80210002,
++ MD_NTSTATUS_WIN_STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED = 0x80370001,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_REGENERATION = 0x80380001,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION = 0x80380002,
++ MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED = 0x80390001,
++ MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED = 0x80390003,
++ MD_NTSTATUS_WIN_STATUS_QUERY_STORAGE_ERROR = 0x803A0001,
++ MD_NTSTATUS_WIN_STATUS_GDI_HANDLE_LEAK = 0x803F0001,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_ENABLED = 0x80430006,
+ MD_NTSTATUS_WIN_STATUS_UNSUCCESSFUL = 0xC0000001,
+ MD_NTSTATUS_WIN_STATUS_NOT_IMPLEMENTED = 0xC0000002,
+ MD_NTSTATUS_WIN_STATUS_INVALID_INFO_CLASS = 0xC0000003,
+ MD_NTSTATUS_WIN_STATUS_INFO_LENGTH_MISMATCH = 0xC0000004,
+ MD_NTSTATUS_WIN_STATUS_ACCESS_VIOLATION = 0xC0000005,
+ MD_NTSTATUS_WIN_STATUS_IN_PAGE_ERROR = 0xC0000006,
+ MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA = 0xC0000007,
+ MD_NTSTATUS_WIN_STATUS_INVALID_HANDLE = 0xC0000008,
+@@ -181,16 +417,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_INVALID_PORT_ATTRIBUTES = 0xC000002E,
+ MD_NTSTATUS_WIN_STATUS_PORT_MESSAGE_TOO_LONG = 0xC000002F,
+ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_MIX = 0xC0000030,
+ MD_NTSTATUS_WIN_STATUS_INVALID_QUOTA_LOWER = 0xC0000031,
+ MD_NTSTATUS_WIN_STATUS_DISK_CORRUPT_ERROR = 0xC0000032,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_INVALID = 0xC0000033,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_NOT_FOUND = 0xC0000034,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_COLLISION = 0xC0000035,
++ MD_NTSTATUS_WIN_STATUS_PORT_DO_NOT_DISTURB = 0xC0000036,
+ MD_NTSTATUS_WIN_STATUS_PORT_DISCONNECTED = 0xC0000037,
+ MD_NTSTATUS_WIN_STATUS_DEVICE_ALREADY_ATTACHED = 0xC0000038,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_INVALID = 0xC0000039,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_NOT_FOUND = 0xC000003A,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_SYNTAX_BAD = 0xC000003B,
+ MD_NTSTATUS_WIN_STATUS_DATA_OVERRUN = 0xC000003C,
+ MD_NTSTATUS_WIN_STATUS_DATA_LATE_ERROR = 0xC000003D,
+ MD_NTSTATUS_WIN_STATUS_DATA_ERROR = 0xC000003E,
+@@ -549,16 +786,24 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT = 0xC00001A3,
+ MD_NTSTATUS_WIN_STATUS_NOTIFICATION_GUID_ALREADY_DEFINED = 0xC00001A4,
+ MD_NTSTATUS_WIN_STATUS_INVALID_EXCEPTION_HANDLER = 0xC00001A5,
+ MD_NTSTATUS_WIN_STATUS_DUPLICATE_PRIVILEGES = 0xC00001A6,
+ MD_NTSTATUS_WIN_STATUS_NOT_ALLOWED_ON_SYSTEM_FILE = 0xC00001A7,
+ MD_NTSTATUS_WIN_STATUS_REPAIR_NEEDED = 0xC00001A8,
+ MD_NTSTATUS_WIN_STATUS_QUOTA_NOT_ENABLED = 0xC00001A9,
+ MD_NTSTATUS_WIN_STATUS_NO_APPLICATION_PACKAGE = 0xC00001AA,
++ MD_NTSTATUS_WIN_STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS = 0xC00001AB,
++ MD_NTSTATUS_WIN_STATUS_NOT_SAME_OBJECT = 0xC00001AC,
++ MD_NTSTATUS_WIN_STATUS_FATAL_MEMORY_EXHAUSTION = 0xC00001AD,
++ MD_NTSTATUS_WIN_STATUS_ERROR_PROCESS_NOT_IN_JOB = 0xC00001AE,
++ MD_NTSTATUS_WIN_STATUS_CPU_SET_INVALID = 0xC00001AF,
++ MD_NTSTATUS_WIN_STATUS_IO_DEVICE_INVALID_DATA = 0xC00001B0,
++ MD_NTSTATUS_WIN_STATUS_IO_UNALIGNED_WRITE = 0xC00001B1,
++ MD_NTSTATUS_WIN_STATUS_CONTROL_STACK_VIOLATION = 0xC00001B2,
+ MD_NTSTATUS_WIN_STATUS_NETWORK_OPEN_RESTRICTION = 0xC0000201,
+ MD_NTSTATUS_WIN_STATUS_NO_USER_SESSION_KEY = 0xC0000202,
+ MD_NTSTATUS_WIN_STATUS_USER_SESSION_DELETED = 0xC0000203,
+ MD_NTSTATUS_WIN_STATUS_RESOURCE_LANG_NOT_FOUND = 0xC0000204,
+ MD_NTSTATUS_WIN_STATUS_INSUFF_SERVER_RESOURCES = 0xC0000205,
+ MD_NTSTATUS_WIN_STATUS_INVALID_BUFFER_SIZE = 0xC0000206,
+ MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_COMPONENT = 0xC0000207,
+ MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_WILDCARD = 0xC0000208,
+@@ -664,16 +909,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_NO_MORE_MATCHES = 0xC0000273,
+ MD_NTSTATUS_WIN_STATUS_NOT_A_REPARSE_POINT = 0xC0000275,
+ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_INVALID = 0xC0000276,
+ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_MISMATCH = 0xC0000277,
+ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_DATA_INVALID = 0xC0000278,
+ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_NOT_HANDLED = 0xC0000279,
+ MD_NTSTATUS_WIN_STATUS_PWD_TOO_LONG = 0xC000027A,
+ MD_NTSTATUS_WIN_STATUS_STOWED_EXCEPTION = 0xC000027B,
++ MD_NTSTATUS_WIN_STATUS_CONTEXT_STOWED_EXCEPTION = 0xC000027C,
+ MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_NOT_RESOLVED = 0xC0000280,
+ MD_NTSTATUS_WIN_STATUS_DIRECTORY_IS_A_REPARSE_POINT = 0xC0000281,
+ MD_NTSTATUS_WIN_STATUS_RANGE_LIST_CONFLICT = 0xC0000282,
+ MD_NTSTATUS_WIN_STATUS_SOURCE_ELEMENT_EMPTY = 0xC0000283,
+ MD_NTSTATUS_WIN_STATUS_DESTINATION_ELEMENT_FULL = 0xC0000284,
+ MD_NTSTATUS_WIN_STATUS_ILLEGAL_ELEMENT_ADDRESS = 0xC0000285,
+ MD_NTSTATUS_WIN_STATUS_MAGAZINE_NOT_PRESENT = 0xC0000286,
+ MD_NTSTATUS_WIN_STATUS_REINITIALIZATION_NEEDED = 0xC0000287,
+@@ -796,16 +1042,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_COPY_PROTECTION_FAILURE = 0xC0000305,
+ MD_NTSTATUS_WIN_STATUS_CSS_AUTHENTICATION_FAILURE = 0xC0000306,
+ MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_PRESENT = 0xC0000307,
+ MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_ESTABLISHED = 0xC0000308,
+ MD_NTSTATUS_WIN_STATUS_CSS_SCRAMBLED_SECTOR = 0xC0000309,
+ MD_NTSTATUS_WIN_STATUS_CSS_REGION_MISMATCH = 0xC000030A,
+ MD_NTSTATUS_WIN_STATUS_CSS_RESETS_EXHAUSTED = 0xC000030B,
+ MD_NTSTATUS_WIN_STATUS_PASSWORD_CHANGE_REQUIRED = 0xC000030C,
++ MD_NTSTATUS_WIN_STATUS_LOST_MODE_LOGON_RESTRICTION = 0xC000030D,
+ MD_NTSTATUS_WIN_STATUS_PKINIT_FAILURE = 0xC0000320,
+ MD_NTSTATUS_WIN_STATUS_SMARTCARD_SUBSYSTEM_FAILURE = 0xC0000321,
+ MD_NTSTATUS_WIN_STATUS_NO_KERB_KEY = 0xC0000322,
+ MD_NTSTATUS_WIN_STATUS_HOST_DOWN = 0xC0000350,
+ MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_PREAUTH = 0xC0000351,
+ MD_NTSTATUS_WIN_STATUS_EFS_ALG_BLOB_TOO_BIG = 0xC0000352,
+ MD_NTSTATUS_WIN_STATUS_PORT_NOT_SET = 0xC0000353,
+ MD_NTSTATUS_WIN_STATUS_DEBUGGER_INACTIVE = 0xC0000354,
+@@ -928,16 +1175,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_FILE_NOT_AVAILABLE = 0xC0000467,
+ MD_NTSTATUS_WIN_STATUS_DEVICE_INSUFFICIENT_RESOURCES = 0xC0000468,
+ MD_NTSTATUS_WIN_STATUS_PACKAGE_UPDATING = 0xC0000469,
+ MD_NTSTATUS_WIN_STATUS_NOT_READ_FROM_COPY = 0xC000046A,
+ MD_NTSTATUS_WIN_STATUS_FT_WRITE_FAILURE = 0xC000046B,
+ MD_NTSTATUS_WIN_STATUS_FT_DI_SCAN_REQUIRED = 0xC000046C,
+ MD_NTSTATUS_WIN_STATUS_OBJECT_NOT_EXTERNALLY_BACKED = 0xC000046D,
+ MD_NTSTATUS_WIN_STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN = 0xC000046E,
++ MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_BENEFICIAL = 0xC000046F,
+ MD_NTSTATUS_WIN_STATUS_DATA_CHECKSUM_ERROR = 0xC0000470,
+ MD_NTSTATUS_WIN_STATUS_INTERMIXED_KERNEL_EA_OPERATION = 0xC0000471,
+ MD_NTSTATUS_WIN_STATUS_TRIM_READ_ZERO_NOT_SUPPORTED = 0xC0000472,
+ MD_NTSTATUS_WIN_STATUS_TOO_MANY_SEGMENT_DESCRIPTORS = 0xC0000473,
+ MD_NTSTATUS_WIN_STATUS_INVALID_OFFSET_ALIGNMENT = 0xC0000474,
+ MD_NTSTATUS_WIN_STATUS_INVALID_FIELD_IN_PARAMETER_LIST = 0xC0000475,
+ MD_NTSTATUS_WIN_STATUS_OPERATION_IN_PROGRESS = 0xC0000476,
+ MD_NTSTATUS_WIN_STATUS_INVALID_INITIATOR_TARGET_PATH = 0xC0000477,
+@@ -948,26 +1196,101 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_SUPPORTED = 0xC000047C,
+ MD_NTSTATUS_WIN_STATUS_IO_OPERATION_TIMEOUT = 0xC000047D,
+ MD_NTSTATUS_WIN_STATUS_SYSTEM_NEEDS_REMEDIATION = 0xC000047E,
+ MD_NTSTATUS_WIN_STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN = 0xC000047F,
+ MD_NTSTATUS_WIN_STATUS_SHARE_UNAVAILABLE = 0xC0000480,
+ MD_NTSTATUS_WIN_STATUS_APISET_NOT_HOSTED = 0xC0000481,
+ MD_NTSTATUS_WIN_STATUS_APISET_NOT_PRESENT = 0xC0000482,
+ MD_NTSTATUS_WIN_STATUS_DEVICE_HARDWARE_ERROR = 0xC0000483,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_SLOT_INVALID = 0xC0000484,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_IMAGE_INVALID = 0xC0000485,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_TOPOLOGY_ID_MISMATCH = 0xC0000486,
++ MD_NTSTATUS_WIN_STATUS_WIM_NOT_BOOTABLE = 0xC0000487,
++ MD_NTSTATUS_WIN_STATUS_BLOCKED_BY_PARENTAL_CONTROLS = 0xC0000488,
++ MD_NTSTATUS_WIN_STATUS_NEEDS_REGISTRATION = 0xC0000489,
++ MD_NTSTATUS_WIN_STATUS_QUOTA_ACTIVITY = 0xC000048A,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_INVOKE_INLINE = 0xC000048B,
++ MD_NTSTATUS_WIN_STATUS_BLOCK_TOO_MANY_REFERENCES = 0xC000048C,
++ MD_NTSTATUS_WIN_STATUS_MARKED_TO_DISALLOW_WRITES = 0xC000048D,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED_EDP = 0xC000048E,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_FAILURE = 0xC000048F,
++ MD_NTSTATUS_WIN_STATUS_PNP_NO_COMPAT_DRIVERS = 0xC0000490,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND = 0xC0000491,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND = 0xC0000492,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE = 0xC0000493,
++ MD_NTSTATUS_WIN_STATUS_PNP_FUNCTION_DRIVER_REQUIRED = 0xC0000494,
++ MD_NTSTATUS_WIN_STATUS_PNP_DEVICE_CONFIGURATION_PENDING = 0xC0000495,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL = 0xC0000496,
++ MD_NTSTATUS_WIN_STATUS_PACKAGE_NOT_AVAILABLE = 0xC0000497,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_IN_MAINTENANCE = 0xC0000499,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_DAX = 0xC000049A,
++ MD_NTSTATUS_WIN_STATUS_FREE_SPACE_TOO_FRAGMENTED = 0xC000049B,
++ MD_NTSTATUS_WIN_STATUS_DAX_MAPPING_EXISTS = 0xC000049C,
++ MD_NTSTATUS_WIN_STATUS_CHILD_PROCESS_BLOCKED = 0xC000049D,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_LOST_DATA_PERSISTENCE = 0xC000049E,
++ MD_NTSTATUS_WIN_STATUS_VRF_CFG_AND_IO_ENABLED = 0xC000049F,
++ MD_NTSTATUS_WIN_STATUS_PARTITION_TERMINATING = 0xC00004A0,
++ MD_NTSTATUS_WIN_STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED = 0xC00004A1,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_VIOLATION = 0xC00004A2,
++ MD_NTSTATUS_WIN_STATUS_FILE_PROTECTED_UNDER_DPL = 0xC00004A3,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_CLUSTER_ALIGNED = 0xC00004A4,
++ MD_NTSTATUS_WIN_STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND = 0xC00004A5,
++ MD_NTSTATUS_WIN_STATUS_APPX_FILE_NOT_ENCRYPTED = 0xC00004A6,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED = 0xC00004A7,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET = 0xC00004A8,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE = 0xC00004A9,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER = 0xC00004AA,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_FAILURE = 0xC00004AB,
++ MD_NTSTATUS_WIN_STATUS_PATCH_CONFLICT = 0xC00004AC,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ID_INVALID = 0xC00004AD,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_DOES_NOT_EXIST = 0xC00004AE,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ALREADY_EXISTS = 0xC00004AF,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_NOT_EMPTY = 0xC00004B0,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_DAX_VOLUME = 0xC00004B1,
++ MD_NTSTATUS_WIN_STATUS_NOT_DAX_MAPPABLE = 0xC00004B2,
++ MD_NTSTATUS_WIN_STATUS_CASE_DIFFERING_NAMES_IN_DIR = 0xC00004B3,
++ MD_NTSTATUS_WIN_STATUS_FILE_NOT_SUPPORTED = 0xC00004B4,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_WITH_BTT = 0xC00004B5,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTION_DISABLED = 0xC00004B6,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTING_METADATA_DISALLOWED = 0xC00004B7,
++ MD_NTSTATUS_WIN_STATUS_CANT_CLEAR_ENCRYPTION_FLAG = 0xC00004B8,
++ MD_NTSTATUS_WIN_STATUS_UNSATISFIED_DEPENDENCIES = 0xC00004B9,
++ MD_NTSTATUS_WIN_STATUS_CASE_SENSITIVE_PATH = 0xC00004BA,
++ MD_NTSTATUS_WIN_STATUS_HAS_SYSTEM_CRITICAL_FILES = 0xC00004BD,
+ MD_NTSTATUS_WIN_STATUS_INVALID_TASK_NAME = 0xC0000500,
+ MD_NTSTATUS_WIN_STATUS_INVALID_TASK_INDEX = 0xC0000501,
+ MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_TASK = 0xC0000502,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_BYPASS = 0xC0000503,
+ MD_NTSTATUS_WIN_STATUS_UNDEFINED_SCOPE = 0xC0000504,
+ MD_NTSTATUS_WIN_STATUS_INVALID_CAP = 0xC0000505,
+ MD_NTSTATUS_WIN_STATUS_NOT_GUI_PROCESS = 0xC0000506,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_HUNG = 0xC0000507,
++ MD_NTSTATUS_WIN_STATUS_CONTAINER_ASSIGNED = 0xC0000508,
++ MD_NTSTATUS_WIN_STATUS_JOB_NO_CONTAINER = 0xC0000509,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_UNRESPONSIVE = 0xC000050A,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_ENCOUNTERED = 0xC000050B,
++ MD_NTSTATUS_WIN_STATUS_ATTRIBUTE_NOT_PRESENT = 0xC000050C,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_TIERED_VOLUME = 0xC000050D,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_HAS_STREAM_ID = 0xC000050E,
++ MD_NTSTATUS_WIN_STATUS_JOB_NOT_EMPTY = 0xC000050F,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_INITIALIZED = 0xC0000510,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_NOT_TERMINATED = 0xC0000511,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_IS_TERMINATING = 0xC0000512,
++ MD_NTSTATUS_WIN_STATUS_SMB1_NOT_AVAILABLE = 0xC0000513,
++ MD_NTSTATUS_WIN_STATUS_SMR_GARBAGE_COLLECTION_REQUIRED = 0xC0000514,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPTED = 0xC0000515,
++ MD_NTSTATUS_WIN_STATUS_THREAD_NOT_RUNNING = 0xC0000516,
+ MD_NTSTATUS_WIN_STATUS_FAIL_FAST_EXCEPTION = 0xC0000602,
+ MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_REVOKED = 0xC0000603,
+ MD_NTSTATUS_WIN_STATUS_DYNAMIC_CODE_BLOCKED = 0xC0000604,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_EXPIRED = 0xC0000605,
++ MD_NTSTATUS_WIN_STATUS_STRICT_CFG_VIOLATION = 0xC0000606,
++ MD_NTSTATUS_WIN_STATUS_SET_CONTEXT_DENIED = 0xC000060A,
++ MD_NTSTATUS_WIN_STATUS_CROSS_PARTITION_VIOLATION = 0xC000060B,
+ MD_NTSTATUS_WIN_STATUS_PORT_CLOSED = 0xC0000700,
+ MD_NTSTATUS_WIN_STATUS_MESSAGE_LOST = 0xC0000701,
+ MD_NTSTATUS_WIN_STATUS_INVALID_MESSAGE = 0xC0000702,
+ MD_NTSTATUS_WIN_STATUS_REQUEST_CANCELED = 0xC0000703,
+ MD_NTSTATUS_WIN_STATUS_RECURSIVE_DISPATCH = 0xC0000704,
+ MD_NTSTATUS_WIN_STATUS_LPC_RECEIVE_BUFFER_EXPECTED = 0xC0000705,
+ MD_NTSTATUS_WIN_STATUS_LPC_INVALID_CONNECTION_USAGE = 0xC0000706,
+ MD_NTSTATUS_WIN_STATUS_LPC_REQUESTS_NOT_ALLOWED = 0xC0000707,
+@@ -992,16 +1315,21 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_HAS_COMPLETION_LIST = 0xC000071A,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_PRIORITY = 0xC000071B,
+ MD_NTSTATUS_WIN_STATUS_INVALID_THREAD = 0xC000071C,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_TRANSACTION = 0xC000071D,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LDR_LOCK = 0xC000071E,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LANG = 0xC000071F,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_PRI_BACK = 0xC0000720,
+ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY = 0xC0000721,
++ MD_NTSTATUS_WIN_STATUS_LPC_HANDLE_COUNT_EXCEEDED = 0xC0000722,
++ MD_NTSTATUS_WIN_STATUS_EXECUTABLE_MEMORY_WRITE = 0xC0000723,
++ MD_NTSTATUS_WIN_STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE = 0xC0000724,
++ MD_NTSTATUS_WIN_STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE = 0xC0000725,
++ MD_NTSTATUS_WIN_STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE = 0xC0000726,
+ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_DISABLED = 0xC0000800,
+ MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS = 0xC0000801,
+ MD_NTSTATUS_WIN_STATUS_DISK_QUOTA_EXCEEDED = 0xC0000802,
+ MD_NTSTATUS_WIN_STATUS_CONTENT_BLOCKED = 0xC0000804,
+ MD_NTSTATUS_WIN_STATUS_BAD_CLUSTERS = 0xC0000805,
+ MD_NTSTATUS_WIN_STATUS_VOLUME_DIRTY = 0xC0000806,
+ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_UNSUCCESSFUL = 0xC0000808,
+ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_OVERFULL = 0xC0000809,
+@@ -1028,16 +1356,19 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_FILE_HANDLE_REVOKED = 0xC0000910,
+ MD_NTSTATUS_WIN_STATUS_WOW_ASSERTION = 0xC0009898,
+ MD_NTSTATUS_WIN_STATUS_INVALID_SIGNATURE = 0xC000A000,
+ MD_NTSTATUS_WIN_STATUS_HMAC_NOT_SUPPORTED = 0xC000A001,
+ MD_NTSTATUS_WIN_STATUS_AUTH_TAG_MISMATCH = 0xC000A002,
+ MD_NTSTATUS_WIN_STATUS_INVALID_STATE_TRANSITION = 0xC000A003,
+ MD_NTSTATUS_WIN_STATUS_INVALID_KERNEL_INFO_VERSION = 0xC000A004,
+ MD_NTSTATUS_WIN_STATUS_INVALID_PEP_INFO_VERSION = 0xC000A005,
++ MD_NTSTATUS_WIN_STATUS_HANDLE_REVOKED = 0xC000A006,
++ MD_NTSTATUS_WIN_STATUS_EOF_ON_GHOSTED_RANGE = 0xC000A007,
++ MD_NTSTATUS_WIN_STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN = 0xC000A008,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_QUEUE_OVERFLOW = 0xC000A010,
+ MD_NTSTATUS_WIN_STATUS_ND_QUEUE_OVERFLOW = 0xC000A011,
+ MD_NTSTATUS_WIN_STATUS_HOPLIMIT_EXCEEDED = 0xC000A012,
+ MD_NTSTATUS_WIN_STATUS_PROTOCOL_NOT_SUPPORTED = 0xC000A013,
+ MD_NTSTATUS_WIN_STATUS_FASTPATH_REJECTED = 0xC000A014,
+ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = 0xC000A080,
+ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = 0xC000A081,
+ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = 0xC000A082,
+@@ -1059,25 +1390,72 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_CANNOT_SWITCH_RUNLEVEL = 0xC000A141,
+ MD_NTSTATUS_WIN_STATUS_INVALID_RUNLEVEL_SETTING = 0xC000A142,
+ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_TIMEOUT = 0xC000A143,
+ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT = 0xC000A145,
+ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_IN_PROGRESS = 0xC000A146,
+ MD_NTSTATUS_WIN_STATUS_NOT_APPCONTAINER = 0xC000A200,
+ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_IN_APPCONTAINER = 0xC000A201,
+ MD_NTSTATUS_WIN_STATUS_INVALID_PACKAGE_SID_LENGTH = 0xC000A202,
++ MD_NTSTATUS_WIN_STATUS_LPAC_ACCESS_DENIED = 0xC000A203,
++ MD_NTSTATUS_WIN_STATUS_ADMINLESS_ACCESS_DENIED = 0xC000A204,
+ MD_NTSTATUS_WIN_STATUS_APP_DATA_NOT_FOUND = 0xC000A281,
+ MD_NTSTATUS_WIN_STATUS_APP_DATA_EXPIRED = 0xC000A282,
+ MD_NTSTATUS_WIN_STATUS_APP_DATA_CORRUPT = 0xC000A283,
+ MD_NTSTATUS_WIN_STATUS_APP_DATA_LIMIT_EXCEEDED = 0xC000A284,
+ MD_NTSTATUS_WIN_STATUS_APP_DATA_REBOOT_REQUIRED = 0xC000A285,
+ MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED = 0xC000A2A1,
+ MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED = 0xC000A2A2,
+ MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED = 0xC000A2A3,
+ MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED = 0xC000A2A4,
++ MD_NTSTATUS_WIN_STATUS_WOF_WIM_HEADER_CORRUPT = 0xC000A2A5,
++ MD_NTSTATUS_WIN_STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT = 0xC000A2A6,
++ MD_NTSTATUS_WIN_STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT = 0xC000A2A7,
++ MD_NTSTATUS_WIN_STATUS_CIMFS_IMAGE_CORRUPT = 0xC000C001,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE = 0xC000CE01,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT = 0xC000CE02,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY = 0xC000CE03,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN = 0xC000CE04,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION = 0xC000CE05,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT = 0xC000CF00,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING = 0xC000CF01,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_CORRUPT = 0xC000CF02,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_TOO_LARGE = 0xC000CF03,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED = 0xC000CF06,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_FILE = 0xC000CF07,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_IN_SYNC = 0xC000CF08,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ALREADY_CONNECTED = 0xC000CF09,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_SUPPORTED = 0xC000CF0A,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INVALID_REQUEST = 0xC000CF0B,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_READ_ONLY_VOLUME = 0xC000CF0C,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY = 0xC000CF0D,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_VALIDATION_FAILED = 0xC000CF0E,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_AUTHENTICATION_FAILED = 0xC000CF0F,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES = 0xC000CF10,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE = 0xC000CF11,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_UNSUCCESSFUL = 0xC000CF12,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT = 0xC000CF13,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_IN_USE = 0xC000CF14,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PINNED = 0xC000CF15,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_ABORTED = 0xC000CF16,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_CORRUPT = 0xC000CF17,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ACCESS_DENIED = 0xC000CF18,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS = 0xC000CF19,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT = 0xC000CF1A,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_CANCELED = 0xC000CF1B,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_TERMINATED = 0xC000CF1D,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_SYNC_ROOT = 0xC000CF1E,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_TIMEOUT = 0xC000CF1F,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED = 0xC000CF20,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IN_PROGRESS = 0xC000F500,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED = 0xC000F501,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED = 0xC000F502,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IO_NOT_COORDINATED = 0xC000F503,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_UNEXPECTED_ERROR = 0xC000F504,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_INVALID_PARAMETER = 0xC000F505,
+ MD_NTSTATUS_WIN_DBG_NO_STATE_CHANGE = 0xC0010001,
+ MD_NTSTATUS_WIN_DBG_APP_NOT_IDLE = 0xC0010002,
+ MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_BINDING = 0xC0020001,
+ MD_NTSTATUS_WIN_RPC_NT_WRONG_KIND_OF_BINDING = 0xC0020002,
+ MD_NTSTATUS_WIN_RPC_NT_INVALID_BINDING = 0xC0020003,
+ MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_SUPPORTED = 0xC0020004,
+ MD_NTSTATUS_WIN_RPC_NT_INVALID_RPC_PROTSEQ = 0xC0020005,
+ MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_UUID = 0xC0020006,
+@@ -1263,16 +1641,21 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL = 0xC0130019,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS = 0xC0130020,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR = 0xC0130021,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_REDIRECTED = 0xC0130022,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NOT_REDIRECTED = 0xC0130023,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING = 0xC0130024,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS = 0xC0130025,
+ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL = 0xC0130026,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NO_SNAPSHOTS = 0xC0130027,
++ MD_NTSTATUS_WIN_STATUS_CSV_IO_PAUSE_TIMEOUT = 0xC0130028,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_INVALID_HANDLE = 0xC0130029,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR = 0xC0130030,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED = 0xC0130031,
+ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OPCODE = 0xC0140001,
+ MD_NTSTATUS_WIN_STATUS_ACPI_STACK_OVERFLOW = 0xC0140002,
+ MD_NTSTATUS_WIN_STATUS_ACPI_ASSERT_FAILED = 0xC0140003,
+ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_INDEX = 0xC0140004,
+ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGUMENT = 0xC0140005,
+ MD_NTSTATUS_WIN_STATUS_ACPI_FATAL = 0xC0140006,
+ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_SUPERNAME = 0xC0140007,
+ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGTYPE = 0xC0140008,
+@@ -1504,16 +1887,21 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_OCCLUDED = 0xC01E0006,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_DENIED = 0xC01E0007,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANNOTCOLORCONVERT = 0xC01E0008,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DRIVER_MISMATCH = 0xC01E0009,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED = 0xC01E000B,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_UNOCCLUDED = 0xC01E000C,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE = 0xC01E000D,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED = 0xC01E000E,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_INVALID_WINDOW = 0xC01E000F,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND = 0xC01E0010,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VAIL_STATE_CHANGED = 0xC01E0011,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN = 0xC01E0012,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED = 0xC01E0013,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDEO_MEMORY = 0xC01E0100,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_LOCK_MEMORY = 0xC01E0101,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_BUSY = 0xC01E0102,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOO_MANY_REFERENCES = 0xC01E0103,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_LATER = 0xC01E0104,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_NOW = 0xC01E0105,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_INVALID = 0xC01E0106,
+ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE = 0xC01E0107,
+@@ -1725,16 +2113,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_FVE_EDRIVE_DRY_RUN_FAILED = 0xC0210038,
+ MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_DISABLED = 0xC0210039,
+ MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_CONFIG_CHANGE = 0xC021003A,
+ MD_NTSTATUS_WIN_STATUS_FVE_DEVICE_LOCKEDOUT = 0xC021003B,
+ MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT = 0xC021003C,
+ MD_NTSTATUS_WIN_STATUS_FVE_NOT_DE_VOLUME = 0xC021003D,
+ MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_DISABLED = 0xC021003E,
+ MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED = 0xC021003F,
++ MD_NTSTATUS_WIN_STATUS_FVE_OSV_KSR_NOT_ALLOWED = 0xC0210040,
+ MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOT_FOUND = 0xC0220001,
+ MD_NTSTATUS_WIN_STATUS_FWP_CONDITION_NOT_FOUND = 0xC0220002,
+ MD_NTSTATUS_WIN_STATUS_FWP_FILTER_NOT_FOUND = 0xC0220003,
+ MD_NTSTATUS_WIN_STATUS_FWP_LAYER_NOT_FOUND = 0xC0220004,
+ MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_NOT_FOUND = 0xC0220005,
+ MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND = 0xC0220006,
+ MD_NTSTATUS_WIN_STATUS_FWP_SUBLAYER_NOT_FOUND = 0xC0220007,
+ MD_NTSTATUS_WIN_STATUS_FWP_NOT_FOUND = 0xC0220008,
+@@ -1832,25 +2221,32 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_ADDRESS = 0xC0230022,
+ MD_NTSTATUS_WIN_STATUS_NDIS_PAUSED = 0xC023002A,
+ MD_NTSTATUS_WIN_STATUS_NDIS_INTERFACE_NOT_FOUND = 0xC023002B,
+ MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_REVISION = 0xC023002C,
+ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT = 0xC023002D,
+ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT_STATE = 0xC023002E,
+ MD_NTSTATUS_WIN_STATUS_NDIS_LOW_POWER_STATE = 0xC023002F,
+ MD_NTSTATUS_WIN_STATUS_NDIS_REINIT_REQUIRED = 0xC0230030,
++ MD_NTSTATUS_WIN_STATUS_NDIS_NO_QUEUES = 0xC0230031,
+ MD_NTSTATUS_WIN_STATUS_NDIS_NOT_SUPPORTED = 0xC02300BB,
+ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_POLICY = 0xC023100F,
+ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED = 0xC0231012,
+ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_PATH_REJECTED = 0xC0231013,
+ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED = 0xC0232000,
+ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_MEDIA_IN_USE = 0xC0232001,
+ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_POWER_STATE_INVALID = 0xC0232002,
+ MD_NTSTATUS_WIN_STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL = 0xC0232003,
+ MD_NTSTATUS_WIN_STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL = 0xC0232004,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE = 0xC0232005,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE = 0xC0232006,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED = 0xC0232007,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED = 0xC0232008,
++ MD_NTSTATUS_WIN_STATUS_QUIC_HANDSHAKE_FAILURE = 0xC0240000,
++ MD_NTSTATUS_WIN_STATUS_QUIC_VER_NEG_FAILURE = 0xC0240001,
+ MD_NTSTATUS_WIN_STATUS_TPM_ERROR_MASK = 0xC0290000,
+ MD_NTSTATUS_WIN_STATUS_TPM_AUTHFAIL = 0xC0290001,
+ MD_NTSTATUS_WIN_STATUS_TPM_BADINDEX = 0xC0290002,
+ MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAMETER = 0xC0290003,
+ MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAILURE = 0xC0290004,
+ MD_NTSTATUS_WIN_STATUS_TPM_CLEAR_DISABLED = 0xC0290005,
+ MD_NTSTATUS_WIN_STATUS_TPM_DEACTIVATED = 0xC0290006,
+ MD_NTSTATUS_WIN_STATUS_TPM_DISABLED = 0xC0290007,
+@@ -1940,16 +2336,84 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_TPM_TOOMANYCONTEXTS = 0xC029005B,
+ MD_NTSTATUS_WIN_STATUS_TPM_MA_TICKET_SIGNATURE = 0xC029005C,
+ MD_NTSTATUS_WIN_STATUS_TPM_MA_DESTINATION = 0xC029005D,
+ MD_NTSTATUS_WIN_STATUS_TPM_MA_SOURCE = 0xC029005E,
+ MD_NTSTATUS_WIN_STATUS_TPM_MA_AUTHORITY = 0xC029005F,
+ MD_NTSTATUS_WIN_STATUS_TPM_PERMANENTEK = 0xC0290061,
+ MD_NTSTATUS_WIN_STATUS_TPM_BAD_SIGNATURE = 0xC0290062,
+ MD_NTSTATUS_WIN_STATUS_TPM_NOCONTEXTSPACE = 0xC0290063,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ASYMMETRIC = 0xC0290081,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ATTRIBUTES = 0xC0290082,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HASH = 0xC0290083,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_VALUE = 0xC0290084,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HIERARCHY = 0xC0290085,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY_SIZE = 0xC0290087,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_MGF = 0xC0290088,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_MODE = 0xC0290089,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TYPE = 0xC029008A,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HANDLE = 0xC029008B,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KDF = 0xC029008C,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_RANGE = 0xC029008D,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_FAIL = 0xC029008E,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NONCE = 0xC029008F,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PP = 0xC0290090,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SCHEME = 0xC0290092,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIZE = 0xC0290095,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SYMMETRIC = 0xC0290096,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TAG = 0xC0290097,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SELECTOR = 0xC0290098,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INSUFFICIENT = 0xC029009A,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIGNATURE = 0xC029009B,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY = 0xC029009C,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_FAIL = 0xC029009D,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INTEGRITY = 0xC029009F,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TICKET = 0xC02900A0,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_RESERVED_BITS = 0xC02900A1,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_AUTH = 0xC02900A2,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXPIRED = 0xC02900A3,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_CC = 0xC02900A4,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BINDING = 0xC02900A5,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_CURVE = 0xC02900A6,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_POINT = 0xC02900A7,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INITIALIZE = 0xC0290100,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_FAILURE = 0xC0290101,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SEQUENCE = 0xC0290103,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PRIVATE = 0xC029010B,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HMAC = 0xC0290119,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_DISABLED = 0xC0290120,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXCLUSIVE = 0xC0290121,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_CURVE = 0xC0290123,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_TYPE = 0xC0290124,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_MISSING = 0xC0290125,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY = 0xC0290126,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR = 0xC0290127,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR_CHANGED = 0xC0290128,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_UPGRADE = 0xC029012D,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TOO_MANY_CONTEXTS = 0xC029012E,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_UNAVAILABLE = 0xC029012F,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_REBOOT = 0xC0290130,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_UNBALANCED = 0xC0290131,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_SIZE = 0xC0290142,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_CODE = 0xC0290143,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTHSIZE = 0xC0290144,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_CONTEXT = 0xC0290145,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_RANGE = 0xC0290146,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SIZE = 0xC0290147,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_LOCKED = 0xC0290148,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_AUTHORIZATION = 0xC0290149,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_UNINITIALIZED = 0xC029014A,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SPACE = 0xC029014B,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_DEFINED = 0xC029014C,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_CONTEXT = 0xC0290150,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_CPHASH = 0xC0290151,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PARENT = 0xC0290152,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NEEDS_TEST = 0xC0290153,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NO_RESULT = 0xC0290154,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SENSITIVE = 0xC0290155,
+ MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_BLOCKED = 0xC0290400,
+ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_HANDLE = 0xC0290401,
+ MD_NTSTATUS_WIN_STATUS_TPM_DUPLICATE_VHANDLE = 0xC0290402,
+ MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_BLOCKED = 0xC0290403,
+ MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED = 0xC0290404,
+ MD_NTSTATUS_WIN_STATUS_TPM_RETRY = 0xC0290800,
+ MD_NTSTATUS_WIN_STATUS_TPM_NEEDS_SELFTEST = 0xC0290801,
+ MD_NTSTATUS_WIN_STATUS_TPM_DOING_SELFTEST = 0xC0290802,
+@@ -1969,16 +2433,42 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_TOO_SMALL = 0xC0292006,
+ MD_NTSTATUS_WIN_STATUS_PCP_INTERNAL_ERROR = 0xC0292007,
+ MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_FAILED = 0xC0292008,
+ MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_IGNORED = 0xC0292009,
+ MD_NTSTATUS_WIN_STATUS_PCP_POLICY_NOT_FOUND = 0xC029200A,
+ MD_NTSTATUS_WIN_STATUS_PCP_PROFILE_NOT_FOUND = 0xC029200B,
+ MD_NTSTATUS_WIN_STATUS_PCP_VALIDATION_FAILED = 0xC029200C,
+ MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_FOUND = 0xC029200D,
++ MD_NTSTATUS_WIN_STATUS_PCP_WRONG_PARENT = 0xC029200E,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_LOADED = 0xC029200F,
++ MD_NTSTATUS_WIN_STATUS_PCP_NO_KEY_CERTIFICATION = 0xC0292010,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_FINALIZED = 0xC0292011,
++ MD_NTSTATUS_WIN_STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET = 0xC0292012,
++ MD_NTSTATUS_WIN_STATUS_PCP_NOT_PCR_BOUND = 0xC0292013,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_ALREADY_FINALIZED = 0xC0292014,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED = 0xC0292015,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_INVALID = 0xC0292016,
++ MD_NTSTATUS_WIN_STATUS_PCP_SOFT_KEY_ERROR = 0xC0292017,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AUTHENTICATED = 0xC0292018,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AIK = 0xC0292019,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_SIGNING_KEY = 0xC029201A,
++ MD_NTSTATUS_WIN_STATUS_PCP_LOCKED_OUT = 0xC029201B,
++ MD_NTSTATUS_WIN_STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED = 0xC029201C,
++ MD_NTSTATUS_WIN_STATUS_PCP_TPM_VERSION_NOT_SUPPORTED = 0xC029201D,
++ MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_LENGTH_MISMATCH = 0xC029201E,
++ MD_NTSTATUS_WIN_STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED = 0xC029201F,
++ MD_NTSTATUS_WIN_STATUS_PCP_TICKET_MISSING = 0xC0292020,
++ MD_NTSTATUS_WIN_STATUS_PCP_RAW_POLICY_NOT_SUPPORTED = 0xC0292021,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_HANDLE_INVALIDATED = 0xC0292022,
++ MD_NTSTATUS_WIN_STATUS_RTPM_NO_RESULT = 0xC0293002,
++ MD_NTSTATUS_WIN_STATUS_RTPM_PCR_READ_INCOMPLETE = 0xC0293003,
++ MD_NTSTATUS_WIN_STATUS_RTPM_INVALID_CONTEXT = 0xC0293004,
++ MD_NTSTATUS_WIN_STATUS_RTPM_UNSUPPORTED_CMD = 0xC0293005,
++ MD_NTSTATUS_WIN_STATUS_TPM_ZERO_EXHAUST_ENABLED = 0xC0294000,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_CODE = 0xC0350002,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_INPUT = 0xC0350003,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_ALIGNMENT = 0xC0350004,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARAMETER = 0xC0350005,
+ MD_NTSTATUS_WIN_STATUS_HV_ACCESS_DENIED = 0xC0350006,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_STATE = 0xC0350007,
+ MD_NTSTATUS_WIN_STATUS_HV_OPERATION_DENIED = 0xC0350008,
+ MD_NTSTATUS_WIN_STATUS_HV_UNKNOWN_PROPERTY = 0xC0350009,
+@@ -1986,28 +2476,46 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_MEMORY = 0xC035000B,
+ MD_NTSTATUS_WIN_STATUS_HV_PARTITION_TOO_DEEP = 0xC035000C,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_ID = 0xC035000D,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_INDEX = 0xC035000E,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PORT_ID = 0xC0350011,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CONNECTION_ID = 0xC0350012,
+ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFERS = 0xC0350013,
+ MD_NTSTATUS_WIN_STATUS_HV_NOT_ACKNOWLEDGED = 0xC0350014,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_STATE = 0xC0350015,
+ MD_NTSTATUS_WIN_STATUS_HV_ACKNOWLEDGED = 0xC0350016,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_SAVE_RESTORE_STATE = 0xC0350017,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_SYNIC_STATE = 0xC0350018,
+ MD_NTSTATUS_WIN_STATUS_HV_OBJECT_IN_USE = 0xC0350019,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO = 0xC035001A,
+ MD_NTSTATUS_WIN_STATUS_HV_NO_DATA = 0xC035001B,
+ MD_NTSTATUS_WIN_STATUS_HV_INACTIVE = 0xC035001C,
+ MD_NTSTATUS_WIN_STATUS_HV_NO_RESOURCES = 0xC035001D,
+ MD_NTSTATUS_WIN_STATUS_HV_FEATURE_UNAVAILABLE = 0xC035001E,
+ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFER = 0xC0350033,
+ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS = 0xC0350038,
++ MD_NTSTATUS_WIN_STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR = 0xC035003C,
++ MD_NTSTATUS_WIN_STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR = 0xC035003D,
++ MD_NTSTATUS_WIN_STATUS_HV_PROCESSOR_STARTUP_TIMEOUT = 0xC035003E,
++ MD_NTSTATUS_WIN_STATUS_HV_SMX_ENABLED = 0xC035003F,
+ MD_NTSTATUS_WIN_STATUS_HV_INVALID_LP_INDEX = 0xC0350041,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_REGISTER_VALUE = 0xC0350050,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VTL_STATE = 0xC0350051,
++ MD_NTSTATUS_WIN_STATUS_HV_NX_NOT_DETECTED = 0xC0350055,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_ID = 0xC0350057,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_STATE = 0xC0350058,
++ MD_NTSTATUS_WIN_STATUS_HV_PAGE_REQUEST_INVALID = 0xC0350060,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_ID = 0xC035006F,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_STATE = 0xC0350070,
++ MD_NTSTATUS_WIN_STATUS_HV_OPERATION_FAILED = 0xC0350071,
++ MD_NTSTATUS_WIN_STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE = 0xC0350072,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_ROOT_MEMORY = 0xC0350073,
++ MD_NTSTATUS_WIN_STATUS_HV_EVENT_BUFFER_ALREADY_FREED = 0xC0350074,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY = 0xC0350075,
+ MD_NTSTATUS_WIN_STATUS_HV_NOT_PRESENT = 0xC0351000,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_BAD_SPI = 0xC0360001,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_SA_LIFETIME_EXPIRED = 0xC0360002,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_WRONG_SA = 0xC0360003,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_REPLAY_CHECK_FAILED = 0xC0360004,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_INVALID_PACKET = 0xC0360005,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_INTEGRITY_CHECK_FAILED = 0xC0360006,
+ MD_NTSTATUS_WIN_STATUS_IPSEC_CLEAR_TEXT_DROP = 0xC0360007,
+@@ -2056,16 +2564,17 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_VID_INVALID_CHILD_GPA_PAGE_SET = 0xC0370022,
+ MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED = 0xC0370023,
+ MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL = 0xC0370024,
+ MD_NTSTATUS_WIN_STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE = 0xC0370025,
+ MD_NTSTATUS_WIN_STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT = 0xC0370026,
+ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_CORRUPT = 0xC0370027,
+ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM = 0xC0370028,
+ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_INCOMPATIBLE = 0xC0370029,
++ MD_NTSTATUS_WIN_STATUS_VID_VTL_ACCESS_DENIED = 0xC037002A,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DATABASE_FULL = 0xC0380001,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED = 0xC0380002,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC = 0xC0380003,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED = 0xC0380004,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME = 0xC0380005,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DUPLICATE = 0xC0380006,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DYNAMIC = 0xC0380007,
+ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_ID_INVALID = 0xC0380008,
+@@ -2186,25 +2695,32 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ALREADY_OWNED = 0xC03A001E,
+ MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE = 0xC03A001F,
+ MD_NTSTATUS_WIN_STATUS_CTLOG_TRACKING_NOT_INITIALIZED = 0xC03A0020,
+ MD_NTSTATUS_WIN_STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE = 0xC03A0021,
+ MD_NTSTATUS_WIN_STATUS_CTLOG_VHD_CHANGED_OFFLINE = 0xC03A0022,
+ MD_NTSTATUS_WIN_STATUS_CTLOG_INVALID_TRACKING_STATE = 0xC03A0023,
+ MD_NTSTATUS_WIN_STATUS_CTLOG_INCONSISTENT_TRACKING_FILE = 0xC03A0024,
+ MD_NTSTATUS_WIN_STATUS_VHD_METADATA_FULL = 0xC03A0028,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_CHANGE_TRACKING_ID = 0xC03A0029,
++ MD_NTSTATUS_WIN_STATUS_VHD_CHANGE_TRACKING_DISABLED = 0xC03A002A,
++ MD_NTSTATUS_WIN_STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION = 0xC03A0030,
++ MD_NTSTATUS_WIN_STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA = 0xC03A0031,
++ MD_NTSTATUS_WIN_STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE = 0xC03A0032,
++ MD_NTSTATUS_WIN_STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE = 0xC03A0033,
+ MD_NTSTATUS_WIN_STATUS_RKF_KEY_NOT_FOUND = 0xC0400001,
+ MD_NTSTATUS_WIN_STATUS_RKF_DUPLICATE_KEY = 0xC0400002,
+ MD_NTSTATUS_WIN_STATUS_RKF_BLOB_FULL = 0xC0400003,
+ MD_NTSTATUS_WIN_STATUS_RKF_STORE_FULL = 0xC0400004,
+ MD_NTSTATUS_WIN_STATUS_RKF_FILE_BLOCKED = 0xC0400005,
+ MD_NTSTATUS_WIN_STATUS_RKF_ACTIVE_KEY = 0xC0400006,
+ MD_NTSTATUS_WIN_STATUS_RDBSS_RESTART_OPERATION = 0xC0410001,
+ MD_NTSTATUS_WIN_STATUS_RDBSS_CONTINUE_OPERATION = 0xC0410002,
+ MD_NTSTATUS_WIN_STATUS_RDBSS_POST_OPERATION = 0xC0410003,
++ MD_NTSTATUS_WIN_STATUS_RDBSS_RETRY_LOOKUP = 0xC0410004,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_HANDLE = 0xC0420001,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_READ_NOT_PERMITTED = 0xC0420002,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_WRITE_NOT_PERMITTED = 0xC0420003,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_PDU = 0xC0420004,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION = 0xC0420005,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED = 0xC0420006,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_OFFSET = 0xC0420007,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION = 0xC0420008,
+@@ -2219,40 +2735,113 @@ typedef enum {
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_RESOURCES = 0xC0420011,
+ MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNKNOWN_ERROR = 0xC0421000,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_ROLLBACK_DETECTED = 0xC0430001,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_VIOLATION = 0xC0430002,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_INVALID_POLICY = 0xC0430003,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND = 0xC0430004,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_SIGNED = 0xC0430005,
+ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_FILE_REPLACED = 0xC0430007,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED = 0xC0430008,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UNKNOWN = 0xC0430009,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION = 0xC043000A,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH = 0xC043000B,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED = 0xC043000C,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH = 0xC043000D,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING = 0xC043000E,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_BASE_POLICY = 0xC043000F,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY = 0xC0430010,
+ MD_NTSTATUS_WIN_STATUS_AUDIO_ENGINE_NODE_NOT_FOUND = 0xC0440001,
+ MD_NTSTATUS_WIN_STATUS_HDAUDIO_EMPTY_CONNECTION_LIST = 0xC0440002,
+ MD_NTSTATUS_WIN_STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED = 0xC0440003,
+ MD_NTSTATUS_WIN_STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED = 0xC0440004,
+ MD_NTSTATUS_WIN_STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY = 0xC0440005,
++ MD_NTSTATUS_WIN_STATUS_VSM_NOT_INITIALIZED = 0xC0450000,
++ MD_NTSTATUS_WIN_STATUS_VSM_DMA_PROTECTION_NOT_IN_USE = 0xC0450001,
+ MD_NTSTATUS_WIN_STATUS_VOLSNAP_BOOTFILE_NOT_VALID = 0xC0500003,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_ACTIVATION_TIMEOUT = 0xC0500004,
+ MD_NTSTATUS_WIN_STATUS_IO_PREEMPTED = 0xC0510001,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_STORED = 0xC05C0000,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_NOT_AVAILABLE = 0xC05CFF00,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE = 0xC05CFF01,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED = 0xC05CFF02,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED = 0xC05CFF03,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED = 0xC05CFF04,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED = 0xC05CFF05,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED = 0xC05CFF06,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_RESERVATION_CONFLICT = 0xC05CFF07,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_WRONG_FILE_TYPE = 0xC05CFF08,
+ MD_NTSTATUS_WIN_STATUS_SVHDX_VERSION_MISMATCH = 0xC05CFF09,
+ MD_NTSTATUS_WIN_STATUS_VHD_SHARED = 0xC05CFF0A,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_NO_INITIATOR = 0xC05CFF0B,
++ MD_NTSTATUS_WIN_STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND = 0xC05CFF0C,
++ MD_NTSTATUS_WIN_STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP = 0xC05D0000,
++ MD_NTSTATUS_WIN_STATUS_SMB_BAD_CLUSTER_DIALECT = 0xC05D0001,
++ MD_NTSTATUS_WIN_STATUS_SMB_GUEST_LOGON_BLOCKED = 0xC05D0002,
++ MD_NTSTATUS_WIN_STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID = 0xC0E70001,
+ MD_NTSTATUS_WIN_STATUS_SPACES_RESILIENCY_TYPE_INVALID = 0xC0E70003,
+ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID = 0xC0E70004,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_REDUNDANCY_INVALID = 0xC0E70006,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID = 0xC0E70007,
+ MD_NTSTATUS_WIN_STATUS_SPACES_INTERLEAVE_LENGTH_INVALID = 0xC0E70009,
+ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID = 0xC0E7000A,
+- MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES = 0xC0E7000B
++ MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES = 0xC0E7000B,
++ MD_NTSTATUS_WIN_STATUS_SPACES_EXTENDED_ERROR = 0xC0E7000C,
++ MD_NTSTATUS_WIN_STATUS_SPACES_PROVISIONING_TYPE_INVALID = 0xC0E7000D,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ALLOCATION_SIZE_INVALID = 0xC0E7000E,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENCLOSURE_AWARE_INVALID = 0xC0E7000F,
++ MD_NTSTATUS_WIN_STATUS_SPACES_WRITE_CACHE_SIZE_INVALID = 0xC0E70010,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_GROUPS_INVALID = 0xC0E70011,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID = 0xC0E70012,
++ MD_NTSTATUS_WIN_STATUS_SPACES_UPDATE_COLUMN_STATE = 0xC0E70013,
++ MD_NTSTATUS_WIN_STATUS_SPACES_MAP_REQUIRED = 0xC0E70014,
++ MD_NTSTATUS_WIN_STATUS_SPACES_UNSUPPORTED_VERSION = 0xC0E70015,
++ MD_NTSTATUS_WIN_STATUS_SPACES_CORRUPT_METADATA = 0xC0E70016,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRT_FULL = 0xC0E70017,
++ MD_NTSTATUS_WIN_STATUS_SPACES_INCONSISTENCY = 0xC0E70018,
++ MD_NTSTATUS_WIN_STATUS_SPACES_LOG_NOT_READY = 0xC0E70019,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NO_REDUNDANCY = 0xC0E7001A,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_NOT_READY = 0xC0E7001B,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SPLIT = 0xC0E7001C,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_LOST_DATA = 0xC0E7001D,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INCOMPLETE = 0xC0E7001E,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INVALID = 0xC0E7001F,
++ MD_NTSTATUS_WIN_STATUS_SPACES_MARK_DIRTY = 0xC0E70020,
++ MD_NTSTATUS_WIN_STATUS_SECCORE_INVALID_COMMAND = 0xC0E80000,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED = 0xC0E90001,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION = 0xC0E90002,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_INVALID_POLICY = 0xC0E90003,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED = 0xC0E90004,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES = 0xC0E90005,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED = 0xC0E90006,
++ MD_NTSTATUS_WIN_STATUS_NO_APPLICABLE_APP_LICENSES_FOUND = 0xC0EA0001,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_FOUND = 0xC0EA0002,
++ MD_NTSTATUS_WIN_STATUS_CLIP_DEVICE_LICENSE_MISSING = 0xC0EA0003,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_INVALID_SIGNATURE = 0xC0EA0004,
++ MD_NTSTATUS_WIN_STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID = 0xC0EA0005,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_EXPIRED = 0xC0EA0006,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE = 0xC0EA0007,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_SIGNED = 0xC0EA0008,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE = 0xC0EA0009,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH = 0xC0EA000A,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED = 0xC0EB0001,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_INVALID = 0xC0EB0002,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED = 0xC0EB0003,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED = 0xC0EB0004,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND = 0xC0EB0005,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_ACTIVE = 0xC0EB0006,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_SIGNED = 0xC0EB0007,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_CONDITION_NOT_SATISFIED = 0xC0EC0000,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_HANDLE_INVALIDATED = 0xC0EC0001,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_GENERATION = 0xC0EC0002,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION = 0xC0EC0003,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_STATE = 0xC0EC0004,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_NO_DONOR = 0xC0EC0005,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_HOST_ID_MISMATCH = 0xC0EC0006,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_UNKNOWN_USER = 0xC0EC0007,
+ } MDNTStatusCodeWin;
+
+ // These constants are defined in the MSDN documentation of
+ // the EXCEPTION_RECORD structure.
+ typedef enum {
+ MD_ACCESS_VIOLATION_WIN_READ = 0,
+ MD_ACCESS_VIOLATION_WIN_WRITE = 1,
+ MD_ACCESS_VIOLATION_WIN_EXEC = 8
+diff --git a/src/processor/exploitability_win.cc b/src/processor/exploitability_win.cc
+--- a/src/processor/exploitability_win.cc
++++ b/src/processor/exploitability_win.cc
+@@ -147,18 +147,18 @@ ExploitabilityRating ExploitabilityWin::
+ break;
+
+ // These represent bugs in exception handlers.
+ case MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION:
+ case MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION:
+ exploitability_weight += kSmallBump;
+ break;
+
+- case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION:
+- case MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN:
++ case MD_NTSTATUS_WIN_STATUS_HEAP_CORRUPTION:
++ case MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN:
+ exploitability_weight += kHugeBump;
+ break;
+
+ case MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION:
+ exploitability_weight += kLargeBump;
+ break;
+
+ case MD_EXCEPTION_CODE_WIN_ACCESS_VIOLATION:
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1138,19 +1138,16 @@ string MinidumpProcessor::GetCrashReason
+ break;
+ }
+ break;
+ }
+
+ case MD_OS_WIN32_NT:
+ case MD_OS_WIN32_WINDOWS: {
+ switch (exception_code) {
+- case MD_EXCEPTION_CODE_WIN_CONTROL_C:
+- reason = "DBG_CONTROL_C";
+- break;
+ case MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION:
+ reason = "EXCEPTION_GUARD_PAGE";
+ break;
+ case MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT:
+ reason = "EXCEPTION_DATATYPE_MISALIGNMENT";
+ break;
+ case MD_EXCEPTION_CODE_WIN_BREAKPOINT:
+ reason = "EXCEPTION_BREAKPOINT";
+@@ -1245,17 +1242,17 @@ string MinidumpProcessor::GetCrashReason
+ break;
+ case MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION:
+ reason = "EXCEPTION_NONCONTINUABLE_EXCEPTION";
+ break;
+ case MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION:
+ reason = "EXCEPTION_INVALID_DISPOSITION";
+ break;
+ case MD_EXCEPTION_CODE_WIN_ARRAY_BOUNDS_EXCEEDED:
+- reason = "EXCEPTION_BOUNDS_EXCEEDED";
++ reason = "EXCEPTION_ARRAY_BOUNDS_EXCEEDED";
+ break;
+ case MD_EXCEPTION_CODE_WIN_FLOAT_DENORMAL_OPERAND:
+ reason = "EXCEPTION_FLT_DENORMAL_OPERAND";
+ break;
+ case MD_EXCEPTION_CODE_WIN_FLOAT_DIVIDE_BY_ZERO:
+ reason = "EXCEPTION_FLT_DIVIDE_BY_ZERO";
+ break;
+ case MD_EXCEPTION_CODE_WIN_FLOAT_INEXACT_RESULT:
+@@ -1286,41 +1283,41 @@ string MinidumpProcessor::GetCrashReason
+ reason = "EXCEPTION_STACK_OVERFLOW";
+ break;
+ case MD_EXCEPTION_CODE_WIN_BAD_FUNCTION_TABLE:
+ reason = "EXCEPTION_BAD_FUNCTION_TABLE";
+ break;
+ case MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK:
+ reason = "EXCEPTION_POSSIBLE_DEADLOCK";
+ break;
+- case MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN:
+- reason = "EXCEPTION_STACK_BUFFER_OVERRUN";
++ case MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN:
++ reason = "STATUS_STACK_BUFFER_OVERRUN";
+ if (raw_exception->exception_record.number_parameters > 0) {
+ uint32_t fast_fail_code =
+ static_cast<uint32_t>
+ (raw_exception->exception_record.exception_information[0]);
+ reason.append(" / ");
+ reason.append(FastFailToString(fast_fail_code));
+ }
+
+ break;
+- case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION:
+- reason = "EXCEPTION_HEAP_CORRUPTION";
+- break;
+ case MD_EXCEPTION_OUT_OF_MEMORY:
+ reason = "Out of Memory";
+ break;
+ case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION:
+ reason = "Unhandled C++ Exception";
+ break;
+ case MD_EXCEPTION_CODE_WIN_SIMULATED:
+ reason = "Simulated Exception";
+ break;
+ default:
+- BPLOG(INFO) << "Unknown exception reason " << reason;
++ reason = NTStatusToString(exception_code);
++ if (reason.substr(0, 2) == "0x") {
++ BPLOG(INFO) << "Unknown exception reason " << reason;
++ }
+ break;
+ }
+ break;
+ }
+
+ case MD_OS_ANDROID:
+ case MD_OS_LINUX: {
+ switch (exception_code) {
+diff --git a/src/processor/symbolic_constants_win.cc b/src/processor/symbolic_constants_win.cc
+--- a/src/processor/symbolic_constants_win.cc
++++ b/src/processor/symbolic_constants_win.cc
+@@ -39,31 +39,761 @@
+ #include "google_breakpad/common/breakpad_types.h"
+ #include "google_breakpad/common/minidump_exception_win32.h"
+ #include "processor/symbolic_constants_win.h"
+
+ namespace google_breakpad {
+
+ string NTStatusToString(uint32_t ntstatus) {
+ string reason;
+- // The content of this switch was created from ntstatus.h in the 8.1 SDK with
++ // The content of this switch was created from ntstatus.h in the 10 SDK
++ // (version 10.0.19041.0) with
+ //
+- // egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0xC[0-9A-F]+L\)' ntstatus.h
++ // egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0x[048C][0-9A-F]+L\)' ntstatus.h
+ // | tr -d '\r'
+- // | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0xC[0-9A-F]+)L\).*@\2 \1@'
++ // | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0x[048C][0-9A-F]+)L\).*@\2 \1@'
+ // | sort
+- // | sed -r 's@(0xC[0-9A-F]+) ([A-Z_0-9]+)@ case MD_NTSTATUS_WIN_\2:\n reason = "\2";\n break;@'
++ // | sed -r 's@(0x[048C][0-9A-F]+) ([A-Z_0-9]+)@ case MD_NTSTATUS_WIN_\2:\n reason = "\2";\n break;@'
+ //
+ // With easy copy to clipboard with
+ // | xclip -selection c # on linux
+ // | clip # on windows
+ // | pbcopy # on mac
+ //
+ // and then the default case added.
+ switch (ntstatus) {
++ case MD_NTSTATUS_WIN_STATUS_SUCCESS:
++ reason = "STATUS_SUCCESS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAIT_1:
++ reason = "STATUS_WAIT_1";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAIT_2:
++ reason = "STATUS_WAIT_2";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAIT_3:
++ reason = "STATUS_WAIT_3";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAIT_63:
++ reason = "STATUS_WAIT_63";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ABANDONED:
++ reason = "STATUS_ABANDONED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_63:
++ reason = "STATUS_ABANDONED_WAIT_63";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_USER_APC:
++ reason = "STATUS_USER_APC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALREADY_COMPLETE:
++ reason = "STATUS_ALREADY_COMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_KERNEL_APC:
++ reason = "STATUS_KERNEL_APC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALERTED:
++ reason = "STATUS_ALERTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TIMEOUT:
++ reason = "STATUS_TIMEOUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PENDING:
++ reason = "STATUS_PENDING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REPARSE:
++ reason = "STATUS_REPARSE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MORE_ENTRIES:
++ reason = "STATUS_MORE_ENTRIES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_ALL_ASSIGNED:
++ reason = "STATUS_NOT_ALL_ASSIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SOME_NOT_MAPPED:
++ reason = "STATUS_SOME_NOT_MAPPED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_OPLOCK_BREAK_IN_PROGRESS:
++ reason = "STATUS_OPLOCK_BREAK_IN_PROGRESS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLUME_MOUNTED:
++ reason = "STATUS_VOLUME_MOUNTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RXACT_COMMITTED:
++ reason = "STATUS_RXACT_COMMITTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOTIFY_CLEANUP:
++ reason = "STATUS_NOTIFY_CLEANUP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOTIFY_ENUM_DIR:
++ reason = "STATUS_NOTIFY_ENUM_DIR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_QUOTAS_FOR_ACCOUNT:
++ reason = "STATUS_NO_QUOTAS_FOR_ACCOUNT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED:
++ reason = "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_TRANSITION:
++ reason = "STATUS_PAGE_FAULT_TRANSITION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_DEMAND_ZERO:
++ reason = "STATUS_PAGE_FAULT_DEMAND_ZERO";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_COPY_ON_WRITE:
++ reason = "STATUS_PAGE_FAULT_COPY_ON_WRITE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_GUARD_PAGE:
++ reason = "STATUS_PAGE_FAULT_GUARD_PAGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_PAGING_FILE:
++ reason = "STATUS_PAGE_FAULT_PAGING_FILE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CACHE_PAGE_LOCKED:
++ reason = "STATUS_CACHE_PAGE_LOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CRASH_DUMP:
++ reason = "STATUS_CRASH_DUMP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BUFFER_ALL_ZEROS:
++ reason = "STATUS_BUFFER_ALL_ZEROS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REPARSE_OBJECT:
++ reason = "STATUS_REPARSE_OBJECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RESOURCE_REQUIREMENTS_CHANGED:
++ reason = "STATUS_RESOURCE_REQUIREMENTS_CHANGED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TRANSLATION_COMPLETE:
++ reason = "STATUS_TRANSLATION_COMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY:
++ reason = "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOTHING_TO_TERMINATE:
++ reason = "STATUS_NOTHING_TO_TERMINATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PROCESS_NOT_IN_JOB:
++ reason = "STATUS_PROCESS_NOT_IN_JOB";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PROCESS_IN_JOB:
++ reason = "STATUS_PROCESS_IN_JOB";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLSNAP_HIBERNATE_READY:
++ reason = "STATUS_VOLSNAP_HIBERNATE_READY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY:
++ reason = "STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED:
++ reason = "STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_INTERRUPT_STILL_CONNECTED:
++ reason = "STATUS_INTERRUPT_STILL_CONNECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PROCESS_CLONED:
++ reason = "STATUS_PROCESS_CLONED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_ONLY_READERS:
++ reason = "STATUS_FILE_LOCKED_WITH_ONLY_READERS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_WRITERS:
++ reason = "STATUS_FILE_LOCKED_WITH_WRITERS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VALID_IMAGE_HASH:
++ reason = "STATUS_VALID_IMAGE_HASH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VALID_CATALOG_HASH:
++ reason = "STATUS_VALID_CATALOG_HASH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VALID_STRONG_CODE_HASH:
++ reason = "STATUS_VALID_STRONG_CODE_HASH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GHOSTED:
++ reason = "STATUS_GHOSTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DATA_OVERWRITTEN:
++ reason = "STATUS_DATA_OVERWRITTEN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_READ_ONLY:
++ reason = "STATUS_RESOURCEMANAGER_READ_ONLY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_EMPTY:
++ reason = "STATUS_RING_PREVIOUSLY_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_FULL:
++ reason = "STATUS_RING_PREVIOUSLY_FULL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_ABOVE_QUOTA:
++ reason = "STATUS_RING_PREVIOUSLY_ABOVE_QUOTA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RING_NEWLY_EMPTY:
++ reason = "STATUS_RING_NEWLY_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT:
++ reason = "STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE:
++ reason = "STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_OPLOCK_HANDLE_CLOSED:
++ reason = "STATUS_OPLOCK_HANDLE_CLOSED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAIT_FOR_OPLOCK:
++ reason = "STATUS_WAIT_FOR_OPLOCK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REPARSE_GLOBAL:
++ reason = "STATUS_REPARSE_GLOBAL";
++ break;
++ case MD_NTSTATUS_WIN_DBG_EXCEPTION_HANDLED:
++ reason = "DBG_EXCEPTION_HANDLED";
++ break;
++ case MD_NTSTATUS_WIN_DBG_CONTINUE:
++ reason = "DBG_CONTINUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FLT_IO_COMPLETE:
++ reason = "STATUS_FLT_IO_COMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_CONTINUE:
++ reason = "STATUS_RTPM_CONTEXT_CONTINUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_COMPLETE:
++ reason = "STATUS_RTPM_CONTEXT_COMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_PENDING_PAGE_REQUESTS:
++ reason = "STATUS_HV_PENDING_PAGE_REQUESTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_REPAIRED:
++ reason = "STATUS_SPACES_REPAIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_PAUSE:
++ reason = "STATUS_SPACES_PAUSE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_COMPLETE:
++ reason = "STATUS_SPACES_COMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_REDIRECT:
++ reason = "STATUS_SPACES_REDIRECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_EXISTS:
++ reason = "STATUS_OBJECT_NAME_EXISTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_THREAD_WAS_SUSPENDED:
++ reason = "STATUS_THREAD_WAS_SUSPENDED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WORKING_SET_LIMIT_RANGE:
++ reason = "STATUS_WORKING_SET_LIMIT_RANGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IMAGE_NOT_AT_BASE:
++ reason = "STATUS_IMAGE_NOT_AT_BASE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RXACT_STATE_CREATED:
++ reason = "STATUS_RXACT_STATE_CREATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SEGMENT_NOTIFICATION:
++ reason = "STATUS_SEGMENT_NOTIFICATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_LOCAL_USER_SESSION_KEY:
++ reason = "STATUS_LOCAL_USER_SESSION_KEY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BAD_CURRENT_DIRECTORY:
++ reason = "STATUS_BAD_CURRENT_DIRECTORY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SERIAL_MORE_WRITES:
++ reason = "STATUS_SERIAL_MORE_WRITES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REGISTRY_RECOVERED:
++ reason = "STATUS_REGISTRY_RECOVERED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FT_READ_RECOVERY_FROM_BACKUP:
++ reason = "STATUS_FT_READ_RECOVERY_FROM_BACKUP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FT_WRITE_RECOVERY:
++ reason = "STATUS_FT_WRITE_RECOVERY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SERIAL_COUNTER_TIMEOUT:
++ reason = "STATUS_SERIAL_COUNTER_TIMEOUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NULL_LM_PASSWORD:
++ reason = "STATUS_NULL_LM_PASSWORD";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH:
++ reason = "STATUS_IMAGE_MACHINE_TYPE_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL:
++ reason = "STATUS_RECEIVE_PARTIAL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RECEIVE_EXPEDITED:
++ reason = "STATUS_RECEIVE_EXPEDITED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL_EXPEDITED:
++ reason = "STATUS_RECEIVE_PARTIAL_EXPEDITED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EVENT_DONE:
++ reason = "STATUS_EVENT_DONE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EVENT_PENDING:
++ reason = "STATUS_EVENT_PENDING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CHECKING_FILE_SYSTEM:
++ reason = "STATUS_CHECKING_FILE_SYSTEM";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FATAL_APP_EXIT:
++ reason = "STATUS_FATAL_APP_EXIT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PREDEFINED_HANDLE:
++ reason = "STATUS_PREDEFINED_HANDLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAS_UNLOCKED:
++ reason = "STATUS_WAS_UNLOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SERVICE_NOTIFICATION:
++ reason = "STATUS_SERVICE_NOTIFICATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAS_LOCKED:
++ reason = "STATUS_WAS_LOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_LOG_HARD_ERROR:
++ reason = "STATUS_LOG_HARD_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALREADY_WIN32:
++ reason = "STATUS_ALREADY_WIN32";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_UNSIMULATE:
++ reason = "STATUS_WX86_UNSIMULATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_CONTINUE:
++ reason = "STATUS_WX86_CONTINUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_SINGLE_STEP:
++ reason = "STATUS_WX86_SINGLE_STEP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_BREAKPOINT:
++ reason = "STATUS_WX86_BREAKPOINT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CONTINUE:
++ reason = "STATUS_WX86_EXCEPTION_CONTINUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_LASTCHANCE:
++ reason = "STATUS_WX86_EXCEPTION_LASTCHANCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CHAIN:
++ reason = "STATUS_WX86_EXCEPTION_CHAIN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE:
++ reason = "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_YIELD_PERFORMED:
++ reason = "STATUS_NO_YIELD_PERFORMED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TIMER_RESUME_IGNORED:
++ reason = "STATUS_TIMER_RESUME_IGNORED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ARBITRATION_UNHANDLED:
++ reason = "STATUS_ARBITRATION_UNHANDLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CARDBUS_NOT_SUPPORTED:
++ reason = "STATUS_CARDBUS_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WX86_CREATEWX86TIB:
++ reason = "STATUS_WX86_CREATEWX86TIB";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MP_PROCESSOR_MISMATCH:
++ reason = "STATUS_MP_PROCESSOR_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HIBERNATED:
++ reason = "STATUS_HIBERNATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RESUME_HIBERNATION:
++ reason = "STATUS_RESUME_HIBERNATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FIRMWARE_UPDATED:
++ reason = "STATUS_FIRMWARE_UPDATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DRIVERS_LEAKING_LOCKED_PAGES:
++ reason = "STATUS_DRIVERS_LEAKING_LOCKED_PAGES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MESSAGE_RETRIEVED:
++ reason = "STATUS_MESSAGE_RETRIEVED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_TRANSITION:
++ reason = "STATUS_SYSTEM_POWERSTATE_TRANSITION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALPC_CHECK_COMPLETION_LIST:
++ reason = "STATUS_ALPC_CHECK_COMPLETION_LIST";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION:
++ reason = "STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ACCESS_AUDIT_BY_POLICY:
++ reason = "STATUS_ACCESS_AUDIT_BY_POLICY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ABANDON_HIBERFILE:
++ reason = "STATUS_ABANDON_HIBERFILE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BIZRULES_NOT_ENABLED:
++ reason = "STATUS_BIZRULES_NOT_ENABLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FT_READ_FROM_COPY:
++ reason = "STATUS_FT_READ_FROM_COPY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IMAGE_AT_DIFFERENT_BASE:
++ reason = "STATUS_IMAGE_AT_DIFFERENT_BASE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PATCH_DEFERRED:
++ reason = "STATUS_PATCH_DEFERRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM:
++ reason = "STATUS_WAKE_SYSTEM";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DS_SHUTTING_DOWN:
++ reason = "STATUS_DS_SHUTTING_DOWN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_REDIRECTED:
++ reason = "STATUS_DISK_REPAIR_REDIRECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SERVICES_FAILED_AUTOSTART:
++ reason = "STATUS_SERVICES_FAILED_AUTOSTART";
++ break;
++ case MD_NTSTATUS_WIN_DBG_REPLY_LATER:
++ reason = "DBG_REPLY_LATER";
++ break;
++ case MD_NTSTATUS_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE:
++ reason = "DBG_UNABLE_TO_PROVIDE_HANDLE";
++ break;
++ case MD_NTSTATUS_WIN_DBG_TERMINATE_THREAD:
++ reason = "DBG_TERMINATE_THREAD";
++ break;
++ case MD_NTSTATUS_WIN_DBG_TERMINATE_PROCESS:
++ reason = "DBG_TERMINATE_PROCESS";
++ break;
++ case MD_NTSTATUS_WIN_DBG_CONTROL_C:
++ reason = "DBG_CONTROL_C";
++ break;
++ case MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_C:
++ reason = "DBG_PRINTEXCEPTION_C";
++ break;
++ case MD_NTSTATUS_WIN_DBG_RIPEXCEPTION:
++ reason = "DBG_RIPEXCEPTION";
++ break;
++ case MD_NTSTATUS_WIN_DBG_CONTROL_BREAK:
++ reason = "DBG_CONTROL_BREAK";
++ break;
++ case MD_NTSTATUS_WIN_DBG_COMMAND_EXCEPTION:
++ reason = "DBG_COMMAND_EXCEPTION";
++ break;
++ case MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_WIDE_C:
++ reason = "DBG_PRINTEXCEPTION_WIDE_C";
++ break;
++ case MD_NTSTATUS_WIN_RPC_NT_UUID_LOCAL_ONLY:
++ reason = "RPC_NT_UUID_LOCAL_ONLY";
++ break;
++ case MD_NTSTATUS_WIN_RPC_NT_SEND_INCOMPLETE:
++ reason = "RPC_NT_SEND_INCOMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CTX_CDM_CONNECT:
++ reason = "STATUS_CTX_CDM_CONNECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CTX_CDM_DISCONNECT:
++ reason = "STATUS_CTX_CDM_DISCONNECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SXS_RELEASE_ACTIVATION_CONTEXT:
++ reason = "STATUS_SXS_RELEASE_ACTIVATION_CONTEXT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HEURISTIC_DAMAGE_POSSIBLE:
++ reason = "STATUS_HEURISTIC_DAMAGE_POSSIBLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RECOVERY_NOT_NEEDED:
++ reason = "STATUS_RECOVERY_NOT_NEEDED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RM_ALREADY_STARTED:
++ reason = "STATUS_RM_ALREADY_STARTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_LOG_NO_RESTART:
++ reason = "STATUS_LOG_NO_RESTART";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST:
++ reason = "STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARTIAL_DATA_POPULATED:
++ reason = "STATUS_GRAPHICS_PARTIAL_DATA_POPULATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION:
++ reason = "STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_PINNED:
++ reason = "STATUS_GRAPHICS_MODE_NOT_PINNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_PREFERRED_MODE:
++ reason = "STATUS_GRAPHICS_NO_PREFERRED_MODE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DATASET_IS_EMPTY:
++ reason = "STATUS_GRAPHICS_DATASET_IS_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET:
++ reason = "STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED:
++ reason = "STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS:
++ reason = "STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_START_DEFERRED:
++ reason = "STATUS_GRAPHICS_LEADLINK_START_DEFERRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY:
++ reason = "STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_START_DEFERRED:
++ reason = "STATUS_GRAPHICS_START_DEFERRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS:
++ reason = "STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_INDICATION_REQUIRED:
++ reason = "STATUS_NDIS_INDICATION_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_UNSUPPORTED_PSS_SALT:
++ reason = "STATUS_PCP_UNSUPPORTED_PSS_SALT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GUARD_PAGE_VIOLATION:
++ reason = "STATUS_GUARD_PAGE_VIOLATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT:
++ reason = "STATUS_DATATYPE_MISALIGNMENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BREAKPOINT:
++ reason = "STATUS_BREAKPOINT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SINGLE_STEP:
++ reason = "STATUS_SINGLE_STEP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BUFFER_OVERFLOW:
++ reason = "STATUS_BUFFER_OVERFLOW";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_MORE_FILES:
++ reason = "STATUS_NO_MORE_FILES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM_DEBUGGER:
++ reason = "STATUS_WAKE_SYSTEM_DEBUGGER";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HANDLES_CLOSED:
++ reason = "STATUS_HANDLES_CLOSED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_INHERITANCE:
++ reason = "STATUS_NO_INHERITANCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GUID_SUBSTITUTION_MADE:
++ reason = "STATUS_GUID_SUBSTITUTION_MADE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PARTIAL_COPY:
++ reason = "STATUS_PARTIAL_COPY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_PAPER_EMPTY:
++ reason = "STATUS_DEVICE_PAPER_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_POWERED_OFF:
++ reason = "STATUS_DEVICE_POWERED_OFF";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_OFF_LINE:
++ reason = "STATUS_DEVICE_OFF_LINE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_BUSY:
++ reason = "STATUS_DEVICE_BUSY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_MORE_EAS:
++ reason = "STATUS_NO_MORE_EAS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_INVALID_EA_NAME:
++ reason = "STATUS_INVALID_EA_NAME";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EA_LIST_INCONSISTENT:
++ reason = "STATUS_EA_LIST_INCONSISTENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_INVALID_EA_FLAG:
++ reason = "STATUS_INVALID_EA_FLAG";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VERIFY_REQUIRED:
++ reason = "STATUS_VERIFY_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EXTRANEOUS_INFORMATION:
++ reason = "STATUS_EXTRANEOUS_INFORMATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_NECESSARY:
++ reason = "STATUS_RXACT_COMMIT_NECESSARY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_MORE_ENTRIES:
++ reason = "STATUS_NO_MORE_ENTRIES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILEMARK_DETECTED:
++ reason = "STATUS_FILEMARK_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MEDIA_CHANGED:
++ reason = "STATUS_MEDIA_CHANGED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BUS_RESET:
++ reason = "STATUS_BUS_RESET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_END_OF_MEDIA:
++ reason = "STATUS_END_OF_MEDIA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BEGINNING_OF_MEDIA:
++ reason = "STATUS_BEGINNING_OF_MEDIA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MEDIA_CHECK:
++ reason = "STATUS_MEDIA_CHECK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SETMARK_DETECTED:
++ reason = "STATUS_SETMARK_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_DATA_DETECTED:
++ reason = "STATUS_NO_DATA_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REDIRECTOR_HAS_OPEN_HANDLES:
++ reason = "STATUS_REDIRECTOR_HAS_OPEN_HANDLES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SERVER_HAS_OPEN_HANDLES:
++ reason = "STATUS_SERVER_HAS_OPEN_HANDLES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALREADY_DISCONNECTED:
++ reason = "STATUS_ALREADY_DISCONNECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_LONGJUMP:
++ reason = "STATUS_LONGJUMP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLEANER_CARTRIDGE_INSTALLED:
++ reason = "STATUS_CLEANER_CARTRIDGE_INSTALLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLUGPLAY_QUERY_VETOED:
++ reason = "STATUS_PLUGPLAY_QUERY_VETOED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_UNWIND_CONSOLIDATE:
++ reason = "STATUS_UNWIND_CONSOLIDATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REGISTRY_HIVE_RECOVERED:
++ reason = "STATUS_REGISTRY_HIVE_RECOVERED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INSECURE:
++ reason = "STATUS_DLL_MIGHT_BE_INSECURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INCOMPATIBLE:
++ reason = "STATUS_DLL_MIGHT_BE_INCOMPATIBLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STOPPED_ON_SYMLINK:
++ reason = "STATUS_STOPPED_ON_SYMLINK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CANNOT_GRANT_REQUESTED_OPLOCK:
++ reason = "STATUS_CANNOT_GRANT_REQUESTED_OPLOCK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_ACE_CONDITION:
++ reason = "STATUS_NO_ACE_CONDITION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_SUPPORT_IN_PROGRESS:
++ reason = "STATUS_DEVICE_SUPPORT_IN_PROGRESS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_CYCLE_REQUIRED:
++ reason = "STATUS_DEVICE_POWER_CYCLE_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_WORK_DONE:
++ reason = "STATUS_NO_WORK_DONE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT:
++ reason = "STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_REQUIRES_CLEANING:
++ reason = "STATUS_DEVICE_REQUIRES_CLEANING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_DOOR_OPEN:
++ reason = "STATUS_DEVICE_DOOR_OPEN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DATA_LOST_REPAIR:
++ reason = "STATUS_DATA_LOST_REPAIR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED:
++ reason = "STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH:
++ reason = "STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE:
++ reason = "STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS:
++ reason = "STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS";
++ break;
++ case MD_NTSTATUS_WIN_DBG_EXCEPTION_NOT_HANDLED:
++ reason = "DBG_EXCEPTION_NOT_HANDLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_UP:
++ reason = "STATUS_CLUSTER_NODE_ALREADY_UP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_DOWN:
++ reason = "STATUS_CLUSTER_NODE_ALREADY_DOWN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_ONLINE:
++ reason = "STATUS_CLUSTER_NETWORK_ALREADY_ONLINE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE:
++ reason = "STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_MEMBER:
++ reason = "STATUS_CLUSTER_NODE_ALREADY_MEMBER";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_COULD_NOT_RESIZE_LOG:
++ reason = "STATUS_COULD_NOT_RESIZE_LOG";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_TXF_METADATA:
++ reason = "STATUS_NO_TXF_METADATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CANT_RECOVER_WITH_HANDLE_OPEN:
++ reason = "STATUS_CANT_RECOVER_WITH_HANDLE_OPEN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TXF_METADATA_ALREADY_PRESENT:
++ reason = "STATUS_TXF_METADATA_ALREADY_PRESENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET:
++ reason = "STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED:
++ reason = "STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FLT_BUFFER_TOO_SMALL:
++ reason = "STATUS_FLT_BUFFER_TOO_SMALL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FVE_PARTIAL_METADATA:
++ reason = "STATUS_FVE_PARTIAL_METADATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FVE_TRANSIENT_STATE:
++ reason = "STATUS_FVE_TRANSIENT_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED:
++ reason = "STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_REGENERATION:
++ reason = "STATUS_VOLMGR_INCOMPLETE_REGENERATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION:
++ reason = "STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED:
++ reason = "STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED:
++ reason = "STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_QUERY_STORAGE_ERROR:
++ reason = "STATUS_QUERY_STORAGE_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GDI_HANDLE_LEAK:
++ reason = "STATUS_GDI_HANDLE_LEAK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_ENABLED:
++ reason = "STATUS_SECUREBOOT_NOT_ENABLED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_UNSUCCESSFUL:
+ reason = "STATUS_UNSUCCESSFUL";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NOT_IMPLEMENTED:
+ reason = "STATUS_NOT_IMPLEMENTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_INFO_CLASS:
+ reason = "STATUS_INVALID_INFO_CLASS";
+@@ -213,16 +943,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_OBJECT_NAME_INVALID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_NOT_FOUND:
+ reason = "STATUS_OBJECT_NAME_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_COLLISION:
+ reason = "STATUS_OBJECT_NAME_COLLISION";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_PORT_DO_NOT_DISTURB:
++ reason = "STATUS_PORT_DO_NOT_DISTURB";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_PORT_DISCONNECTED:
+ reason = "STATUS_PORT_DISCONNECTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DEVICE_ALREADY_ATTACHED:
+ reason = "STATUS_DEVICE_ALREADY_ATTACHED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_INVALID:
+ reason = "STATUS_OBJECT_PATH_INVALID";
+@@ -1317,16 +2050,40 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_REPAIR_NEEDED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_QUOTA_NOT_ENABLED:
+ reason = "STATUS_QUOTA_NOT_ENABLED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NO_APPLICATION_PACKAGE:
+ reason = "STATUS_NO_APPLICATION_PACKAGE";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS:
++ reason = "STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_SAME_OBJECT:
++ reason = "STATUS_NOT_SAME_OBJECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FATAL_MEMORY_EXHAUSTION:
++ reason = "STATUS_FATAL_MEMORY_EXHAUSTION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ERROR_PROCESS_NOT_IN_JOB:
++ reason = "STATUS_ERROR_PROCESS_NOT_IN_JOB";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CPU_SET_INVALID:
++ reason = "STATUS_CPU_SET_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IO_DEVICE_INVALID_DATA:
++ reason = "STATUS_IO_DEVICE_INVALID_DATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_IO_UNALIGNED_WRITE:
++ reason = "STATUS_IO_UNALIGNED_WRITE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CONTROL_STACK_VIOLATION:
++ reason = "STATUS_CONTROL_STACK_VIOLATION";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_NETWORK_OPEN_RESTRICTION:
+ reason = "STATUS_NETWORK_OPEN_RESTRICTION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NO_USER_SESSION_KEY:
+ reason = "STATUS_NO_USER_SESSION_KEY";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_USER_SESSION_DELETED:
+ reason = "STATUS_USER_SESSION_DELETED";
+@@ -1662,16 +2419,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_IO_REPARSE_TAG_NOT_HANDLED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_PWD_TOO_LONG:
+ reason = "STATUS_PWD_TOO_LONG";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_STOWED_EXCEPTION:
+ reason = "STATUS_STOWED_EXCEPTION";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_CONTEXT_STOWED_EXCEPTION:
++ reason = "STATUS_CONTEXT_STOWED_EXCEPTION";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_NOT_RESOLVED:
+ reason = "STATUS_REPARSE_POINT_NOT_RESOLVED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DIRECTORY_IS_A_REPARSE_POINT:
+ reason = "STATUS_DIRECTORY_IS_A_REPARSE_POINT";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_RANGE_LIST_CONFLICT:
+ reason = "STATUS_RANGE_LIST_CONFLICT";
+@@ -2058,16 +2818,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_CSS_REGION_MISMATCH";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CSS_RESETS_EXHAUSTED:
+ reason = "STATUS_CSS_RESETS_EXHAUSTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_PASSWORD_CHANGE_REQUIRED:
+ reason = "STATUS_PASSWORD_CHANGE_REQUIRED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_LOST_MODE_LOGON_RESTRICTION:
++ reason = "STATUS_LOST_MODE_LOGON_RESTRICTION";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_PKINIT_FAILURE:
+ reason = "STATUS_PKINIT_FAILURE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SMARTCARD_SUBSYSTEM_FAILURE:
+ reason = "STATUS_SMARTCARD_SUBSYSTEM_FAILURE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NO_KERB_KEY:
+ reason = "STATUS_NO_KERB_KEY";
+@@ -2454,16 +3217,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_FT_DI_SCAN_REQUIRED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OBJECT_NOT_EXTERNALLY_BACKED:
+ reason = "STATUS_OBJECT_NOT_EXTERNALLY_BACKED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN:
+ reason = "STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_BENEFICIAL:
++ reason = "STATUS_COMPRESSION_NOT_BENEFICIAL";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_DATA_CHECKSUM_ERROR:
+ reason = "STATUS_DATA_CHECKSUM_ERROR";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INTERMIXED_KERNEL_EA_OPERATION:
+ reason = "STATUS_INTERMIXED_KERNEL_EA_OPERATION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TRIM_READ_ZERO_NOT_SUPPORTED:
+ reason = "STATUS_TRIM_READ_ZERO_NOT_SUPPORTED";
+@@ -2514,16 +3280,181 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_APISET_NOT_HOSTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_APISET_NOT_PRESENT:
+ reason = "STATUS_APISET_NOT_PRESENT";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DEVICE_HARDWARE_ERROR:
+ reason = "STATUS_DEVICE_HARDWARE_ERROR";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_FIRMWARE_SLOT_INVALID:
++ reason = "STATUS_FIRMWARE_SLOT_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FIRMWARE_IMAGE_INVALID:
++ reason = "STATUS_FIRMWARE_IMAGE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_TOPOLOGY_ID_MISMATCH:
++ reason = "STATUS_STORAGE_TOPOLOGY_ID_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WIM_NOT_BOOTABLE:
++ reason = "STATUS_WIM_NOT_BOOTABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BLOCKED_BY_PARENTAL_CONTROLS:
++ reason = "STATUS_BLOCKED_BY_PARENTAL_CONTROLS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NEEDS_REGISTRATION:
++ reason = "STATUS_NEEDS_REGISTRATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_QUOTA_ACTIVITY:
++ reason = "STATUS_QUOTA_ACTIVITY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CALLBACK_INVOKE_INLINE:
++ reason = "STATUS_CALLBACK_INVOKE_INLINE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_BLOCK_TOO_MANY_REFERENCES:
++ reason = "STATUS_BLOCK_TOO_MANY_REFERENCES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_MARKED_TO_DISALLOW_WRITES:
++ reason = "STATUS_MARKED_TO_DISALLOW_WRITES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED_EDP:
++ reason = "STATUS_NETWORK_ACCESS_DENIED_EDP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCLAVE_FAILURE:
++ reason = "STATUS_ENCLAVE_FAILURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_NO_COMPAT_DRIVERS:
++ reason = "STATUS_PNP_NO_COMPAT_DRIVERS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND:
++ reason = "STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND:
++ reason = "STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE:
++ reason = "STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_FUNCTION_DRIVER_REQUIRED:
++ reason = "STATUS_PNP_FUNCTION_DRIVER_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PNP_DEVICE_CONFIGURATION_PENDING:
++ reason = "STATUS_PNP_DEVICE_CONFIGURATION_PENDING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL:
++ reason = "STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PACKAGE_NOT_AVAILABLE:
++ reason = "STATUS_PACKAGE_NOT_AVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_IN_MAINTENANCE:
++ reason = "STATUS_DEVICE_IN_MAINTENANCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_DAX:
++ reason = "STATUS_NOT_SUPPORTED_ON_DAX";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FREE_SPACE_TOO_FRAGMENTED:
++ reason = "STATUS_FREE_SPACE_TOO_FRAGMENTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DAX_MAPPING_EXISTS:
++ reason = "STATUS_DAX_MAPPING_EXISTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CHILD_PROCESS_BLOCKED:
++ reason = "STATUS_CHILD_PROCESS_BLOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_LOST_DATA_PERSISTENCE:
++ reason = "STATUS_STORAGE_LOST_DATA_PERSISTENCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VRF_CFG_AND_IO_ENABLED:
++ reason = "STATUS_VRF_CFG_AND_IO_ENABLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PARTITION_TERMINATING:
++ reason = "STATUS_PARTITION_TERMINATING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED:
++ reason = "STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCLAVE_VIOLATION:
++ reason = "STATUS_ENCLAVE_VIOLATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_PROTECTED_UNDER_DPL:
++ reason = "STATUS_FILE_PROTECTED_UNDER_DPL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_CLUSTER_ALIGNED:
++ reason = "STATUS_VOLUME_NOT_CLUSTER_ALIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND:
++ reason = "STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPX_FILE_NOT_ENCRYPTED:
++ reason = "STATUS_APPX_FILE_NOT_ENCRYPTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED:
++ reason = "STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET:
++ reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE:
++ reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER:
++ reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FT_READ_FAILURE:
++ reason = "STATUS_FT_READ_FAILURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PATCH_CONFLICT:
++ reason = "STATUS_PATCH_CONFLICT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ID_INVALID:
++ reason = "STATUS_STORAGE_RESERVE_ID_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_DOES_NOT_EXIST:
++ reason = "STATUS_STORAGE_RESERVE_DOES_NOT_EXIST";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ALREADY_EXISTS:
++ reason = "STATUS_STORAGE_RESERVE_ALREADY_EXISTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_NOT_EMPTY:
++ reason = "STATUS_STORAGE_RESERVE_NOT_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_A_DAX_VOLUME:
++ reason = "STATUS_NOT_A_DAX_VOLUME";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_DAX_MAPPABLE:
++ reason = "STATUS_NOT_DAX_MAPPABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CASE_DIFFERING_NAMES_IN_DIR:
++ reason = "STATUS_CASE_DIFFERING_NAMES_IN_DIR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_NOT_SUPPORTED:
++ reason = "STATUS_FILE_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_WITH_BTT:
++ reason = "STATUS_NOT_SUPPORTED_WITH_BTT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCRYPTION_DISABLED:
++ reason = "STATUS_ENCRYPTION_DISABLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCRYPTING_METADATA_DISALLOWED:
++ reason = "STATUS_ENCRYPTING_METADATA_DISALLOWED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CANT_CLEAR_ENCRYPTION_FLAG:
++ reason = "STATUS_CANT_CLEAR_ENCRYPTION_FLAG";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_UNSATISFIED_DEPENDENCIES:
++ reason = "STATUS_UNSATISFIED_DEPENDENCIES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CASE_SENSITIVE_PATH:
++ reason = "STATUS_CASE_SENSITIVE_PATH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HAS_SYSTEM_CRITICAL_FILES:
++ reason = "STATUS_HAS_SYSTEM_CRITICAL_FILES";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_TASK_NAME:
+ reason = "STATUS_INVALID_TASK_NAME";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_TASK_INDEX:
+ reason = "STATUS_INVALID_TASK_INDEX";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_TASK:
+ reason = "STATUS_THREAD_ALREADY_IN_TASK";
+@@ -2535,25 +3466,85 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_UNDEFINED_SCOPE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_CAP:
+ reason = "STATUS_INVALID_CAP";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NOT_GUI_PROCESS:
+ reason = "STATUS_NOT_GUI_PROCESS";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_HUNG:
++ reason = "STATUS_DEVICE_HUNG";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CONTAINER_ASSIGNED:
++ reason = "STATUS_CONTAINER_ASSIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_JOB_NO_CONTAINER:
++ reason = "STATUS_JOB_NO_CONTAINER";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_DEVICE_UNRESPONSIVE:
++ reason = "STATUS_DEVICE_UNRESPONSIVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_ENCOUNTERED:
++ reason = "STATUS_REPARSE_POINT_ENCOUNTERED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ATTRIBUTE_NOT_PRESENT:
++ reason = "STATUS_ATTRIBUTE_NOT_PRESENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_A_TIERED_VOLUME:
++ reason = "STATUS_NOT_A_TIERED_VOLUME";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALREADY_HAS_STREAM_ID:
++ reason = "STATUS_ALREADY_HAS_STREAM_ID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_JOB_NOT_EMPTY:
++ reason = "STATUS_JOB_NOT_EMPTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ALREADY_INITIALIZED:
++ reason = "STATUS_ALREADY_INITIALIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCLAVE_NOT_TERMINATED:
++ reason = "STATUS_ENCLAVE_NOT_TERMINATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ENCLAVE_IS_TERMINATING:
++ reason = "STATUS_ENCLAVE_IS_TERMINATING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SMB1_NOT_AVAILABLE:
++ reason = "STATUS_SMB1_NOT_AVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SMR_GARBAGE_COLLECTION_REQUIRED:
++ reason = "STATUS_SMR_GARBAGE_COLLECTION_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_INTERRUPTED:
++ reason = "STATUS_INTERRUPTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_THREAD_NOT_RUNNING:
++ reason = "STATUS_THREAD_NOT_RUNNING";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_FAIL_FAST_EXCEPTION:
+ reason = "STATUS_FAIL_FAST_EXCEPTION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_REVOKED:
+ reason = "STATUS_IMAGE_CERT_REVOKED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DYNAMIC_CODE_BLOCKED:
+ reason = "STATUS_DYNAMIC_CODE_BLOCKED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_EXPIRED:
++ reason = "STATUS_IMAGE_CERT_EXPIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_STRICT_CFG_VIOLATION:
++ reason = "STATUS_STRICT_CFG_VIOLATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SET_CONTEXT_DENIED:
++ reason = "STATUS_SET_CONTEXT_DENIED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CROSS_PARTITION_VIOLATION:
++ reason = "STATUS_CROSS_PARTITION_VIOLATION";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_PORT_CLOSED:
+ reason = "STATUS_PORT_CLOSED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_MESSAGE_LOST:
+ reason = "STATUS_MESSAGE_LOST";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_MESSAGE:
+ reason = "STATUS_INVALID_MESSAGE";
+@@ -2646,16 +3637,31 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_CALLBACK_RETURNED_LANG";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_PRI_BACK:
+ reason = "STATUS_CALLBACK_RETURNED_PRI_BACK";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY:
+ reason = "STATUS_CALLBACK_RETURNED_THREAD_AFFINITY";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_LPC_HANDLE_COUNT_EXCEEDED:
++ reason = "STATUS_LPC_HANDLE_COUNT_EXCEEDED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EXECUTABLE_MEMORY_WRITE:
++ reason = "STATUS_EXECUTABLE_MEMORY_WRITE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE:
++ reason = "STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE:
++ reason = "STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE:
++ reason = "STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_DISABLED:
+ reason = "STATUS_DISK_REPAIR_DISABLED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS:
+ reason = "STATUS_DS_DOMAIN_RENAME_IN_PROGRESS";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_DISK_QUOTA_EXCEEDED:
+ reason = "STATUS_DISK_QUOTA_EXCEEDED";
+@@ -2754,16 +3760,25 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_INVALID_STATE_TRANSITION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_KERNEL_INFO_VERSION:
+ reason = "STATUS_INVALID_KERNEL_INFO_VERSION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_PEP_INFO_VERSION:
+ reason = "STATUS_INVALID_PEP_INFO_VERSION";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_HANDLE_REVOKED:
++ reason = "STATUS_HANDLE_REVOKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_EOF_ON_GHOSTED_RANGE:
++ reason = "STATUS_EOF_ON_GHOSTED_RANGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN:
++ reason = "STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_IPSEC_QUEUE_OVERFLOW:
+ reason = "STATUS_IPSEC_QUEUE_OVERFLOW";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_ND_QUEUE_OVERFLOW:
+ reason = "STATUS_ND_QUEUE_OVERFLOW";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HOPLIMIT_EXCEEDED:
+ reason = "STATUS_HOPLIMIT_EXCEEDED";
+@@ -2847,16 +3862,22 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_NOT_APPCONTAINER";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_IN_APPCONTAINER:
+ reason = "STATUS_NOT_SUPPORTED_IN_APPCONTAINER";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_INVALID_PACKAGE_SID_LENGTH:
+ reason = "STATUS_INVALID_PACKAGE_SID_LENGTH";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_LPAC_ACCESS_DENIED:
++ reason = "STATUS_LPAC_ACCESS_DENIED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_ADMINLESS_ACCESS_DENIED:
++ reason = "STATUS_ADMINLESS_ACCESS_DENIED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_APP_DATA_NOT_FOUND:
+ reason = "STATUS_APP_DATA_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_APP_DATA_EXPIRED:
+ reason = "STATUS_APP_DATA_EXPIRED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_APP_DATA_CORRUPT:
+ reason = "STATUS_APP_DATA_CORRUPT";
+@@ -2874,16 +3895,151 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED:
+ reason = "STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED:
+ reason = "STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_WOF_WIM_HEADER_CORRUPT:
++ reason = "STATUS_WOF_WIM_HEADER_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT:
++ reason = "STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT:
++ reason = "STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CIMFS_IMAGE_CORRUPT:
++ reason = "STATUS_CIMFS_IMAGE_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE:
++ reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT:
++ reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY:
++ reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN:
++ reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION:
++ reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT:
++ reason = "STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING:
++ reason = "STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_CORRUPT:
++ reason = "STATUS_CLOUD_FILE_METADATA_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_TOO_LARGE:
++ reason = "STATUS_CLOUD_FILE_METADATA_TOO_LARGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED:
++ reason = "STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_FILE:
++ reason = "STATUS_NOT_A_CLOUD_FILE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_IN_SYNC:
++ reason = "STATUS_CLOUD_FILE_NOT_IN_SYNC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ALREADY_CONNECTED:
++ reason = "STATUS_CLOUD_FILE_ALREADY_CONNECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_SUPPORTED:
++ reason = "STATUS_CLOUD_FILE_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INVALID_REQUEST:
++ reason = "STATUS_CLOUD_FILE_INVALID_REQUEST";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_READ_ONLY_VOLUME:
++ reason = "STATUS_CLOUD_FILE_READ_ONLY_VOLUME";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY:
++ reason = "STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_VALIDATION_FAILED:
++ reason = "STATUS_CLOUD_FILE_VALIDATION_FAILED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_AUTHENTICATION_FAILED:
++ reason = "STATUS_CLOUD_FILE_AUTHENTICATION_FAILED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES:
++ reason = "STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE:
++ reason = "STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_UNSUCCESSFUL:
++ reason = "STATUS_CLOUD_FILE_UNSUCCESSFUL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT:
++ reason = "STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_IN_USE:
++ reason = "STATUS_CLOUD_FILE_IN_USE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PINNED:
++ reason = "STATUS_CLOUD_FILE_PINNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_ABORTED:
++ reason = "STATUS_CLOUD_FILE_REQUEST_ABORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_CORRUPT:
++ reason = "STATUS_CLOUD_FILE_PROPERTY_CORRUPT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ACCESS_DENIED:
++ reason = "STATUS_CLOUD_FILE_ACCESS_DENIED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS:
++ reason = "STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT:
++ reason = "STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_CANCELED:
++ reason = "STATUS_CLOUD_FILE_REQUEST_CANCELED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_TERMINATED:
++ reason = "STATUS_CLOUD_FILE_PROVIDER_TERMINATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_SYNC_ROOT:
++ reason = "STATUS_NOT_A_CLOUD_SYNC_ROOT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_TIMEOUT:
++ reason = "STATUS_CLOUD_FILE_REQUEST_TIMEOUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED:
++ reason = "STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IN_PROGRESS:
++ reason = "STATUS_FILE_SNAP_IN_PROGRESS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED:
++ reason = "STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED:
++ reason = "STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IO_NOT_COORDINATED:
++ reason = "STATUS_FILE_SNAP_IO_NOT_COORDINATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_UNEXPECTED_ERROR:
++ reason = "STATUS_FILE_SNAP_UNEXPECTED_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_INVALID_PARAMETER:
++ reason = "STATUS_FILE_SNAP_INVALID_PARAMETER";
++ break;
+ case MD_NTSTATUS_WIN_DBG_NO_STATE_CHANGE:
+ reason = "DBG_NO_STATE_CHANGE";
+ break;
+ case MD_NTSTATUS_WIN_DBG_APP_NOT_IDLE:
+ reason = "DBG_APP_NOT_IDLE";
+ break;
+ case MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_BINDING:
+ reason = "RPC_NT_INVALID_STRING_BINDING";
+@@ -3459,16 +4615,31 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_CLUSTER_CSV_VOLUME_DRAINING";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS:
+ reason = "STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL:
+ reason = "STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NO_SNAPSHOTS:
++ reason = "STATUS_CLUSTER_CSV_NO_SNAPSHOTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CSV_IO_PAUSE_TIMEOUT:
++ reason = "STATUS_CSV_IO_PAUSE_TIMEOUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_INVALID_HANDLE:
++ reason = "STATUS_CLUSTER_CSV_INVALID_HANDLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR:
++ reason = "STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED:
++ reason = "STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OPCODE:
+ reason = "STATUS_ACPI_INVALID_OPCODE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_ACPI_STACK_OVERFLOW:
+ reason = "STATUS_ACPI_STACK_OVERFLOW";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_ACPI_ASSERT_FAILED:
+ reason = "STATUS_ACPI_ASSERT_FAILED";
+@@ -4182,16 +5353,31 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_GRAPHICS_PRESENT_UNOCCLUDED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE:
+ reason = "STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED:
+ reason = "STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_INVALID_WINDOW:
++ reason = "STATUS_GRAPHICS_PRESENT_INVALID_WINDOW";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND:
++ reason = "STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VAIL_STATE_CHANGED:
++ reason = "STATUS_GRAPHICS_VAIL_STATE_CHANGED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN:
++ reason = "STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED:
++ reason = "STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDEO_MEMORY:
+ reason = "STATUS_GRAPHICS_NO_VIDEO_MEMORY";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_LOCK_MEMORY:
+ reason = "STATUS_GRAPHICS_CANT_LOCK_MEMORY";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_BUSY:
+ reason = "STATUS_GRAPHICS_ALLOCATION_BUSY";
+@@ -4845,16 +6031,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_FVE_NOT_DE_VOLUME";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_DISABLED:
+ reason = "STATUS_FVE_PROTECTION_DISABLED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED:
+ reason = "STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_FVE_OSV_KSR_NOT_ALLOWED:
++ reason = "STATUS_FVE_OSV_KSR_NOT_ALLOWED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOT_FOUND:
+ reason = "STATUS_FWP_CALLOUT_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_FWP_CONDITION_NOT_FOUND:
+ reason = "STATUS_FWP_CONDITION_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_FWP_FILTER_NOT_FOUND:
+ reason = "STATUS_FWP_FILTER_NOT_FOUND";
+@@ -5166,16 +6355,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_NDIS_INVALID_PORT_STATE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_LOW_POWER_STATE:
+ reason = "STATUS_NDIS_LOW_POWER_STATE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_REINIT_REQUIRED:
+ reason = "STATUS_NDIS_REINIT_REQUIRED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_NO_QUEUES:
++ reason = "STATUS_NDIS_NO_QUEUES";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_NOT_SUPPORTED:
+ reason = "STATUS_NDIS_NOT_SUPPORTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_POLICY:
+ reason = "STATUS_NDIS_OFFLOAD_POLICY";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED:
+ reason = "STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED";
+@@ -5193,16 +6385,34 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_NDIS_DOT11_POWER_STATE_INVALID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL:
+ reason = "STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL:
+ reason = "STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE:
++ reason = "STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE:
++ reason = "STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED:
++ reason = "STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED:
++ reason = "STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_QUIC_HANDSHAKE_FAILURE:
++ reason = "STATUS_QUIC_HANDSHAKE_FAILURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_QUIC_VER_NEG_FAILURE:
++ reason = "STATUS_QUIC_VER_NEG_FAILURE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_ERROR_MASK:
+ reason = "STATUS_TPM_ERROR_MASK";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_AUTHFAIL:
+ reason = "STATUS_TPM_AUTHFAIL";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_BADINDEX:
+ reason = "STATUS_TPM_BADINDEX";
+@@ -5490,16 +6700,220 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_TPM_PERMANENTEK";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_BAD_SIGNATURE:
+ reason = "STATUS_TPM_BAD_SIGNATURE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_NOCONTEXTSPACE:
+ reason = "STATUS_TPM_NOCONTEXTSPACE";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ASYMMETRIC:
++ reason = "STATUS_TPM_20_E_ASYMMETRIC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ATTRIBUTES:
++ reason = "STATUS_TPM_20_E_ATTRIBUTES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HASH:
++ reason = "STATUS_TPM_20_E_HASH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_VALUE:
++ reason = "STATUS_TPM_20_E_VALUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HIERARCHY:
++ reason = "STATUS_TPM_20_E_HIERARCHY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY_SIZE:
++ reason = "STATUS_TPM_20_E_KEY_SIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_MGF:
++ reason = "STATUS_TPM_20_E_MGF";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_MODE:
++ reason = "STATUS_TPM_20_E_MODE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TYPE:
++ reason = "STATUS_TPM_20_E_TYPE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HANDLE:
++ reason = "STATUS_TPM_20_E_HANDLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KDF:
++ reason = "STATUS_TPM_20_E_KDF";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_RANGE:
++ reason = "STATUS_TPM_20_E_RANGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_FAIL:
++ reason = "STATUS_TPM_20_E_AUTH_FAIL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NONCE:
++ reason = "STATUS_TPM_20_E_NONCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PP:
++ reason = "STATUS_TPM_20_E_PP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SCHEME:
++ reason = "STATUS_TPM_20_E_SCHEME";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIZE:
++ reason = "STATUS_TPM_20_E_SIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SYMMETRIC:
++ reason = "STATUS_TPM_20_E_SYMMETRIC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TAG:
++ reason = "STATUS_TPM_20_E_TAG";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SELECTOR:
++ reason = "STATUS_TPM_20_E_SELECTOR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INSUFFICIENT:
++ reason = "STATUS_TPM_20_E_INSUFFICIENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIGNATURE:
++ reason = "STATUS_TPM_20_E_SIGNATURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY:
++ reason = "STATUS_TPM_20_E_KEY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_FAIL:
++ reason = "STATUS_TPM_20_E_POLICY_FAIL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INTEGRITY:
++ reason = "STATUS_TPM_20_E_INTEGRITY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TICKET:
++ reason = "STATUS_TPM_20_E_TICKET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_RESERVED_BITS:
++ reason = "STATUS_TPM_20_E_RESERVED_BITS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_AUTH:
++ reason = "STATUS_TPM_20_E_BAD_AUTH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXPIRED:
++ reason = "STATUS_TPM_20_E_EXPIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_CC:
++ reason = "STATUS_TPM_20_E_POLICY_CC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BINDING:
++ reason = "STATUS_TPM_20_E_BINDING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_CURVE:
++ reason = "STATUS_TPM_20_E_CURVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_POINT:
++ reason = "STATUS_TPM_20_E_ECC_POINT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INITIALIZE:
++ reason = "STATUS_TPM_20_E_INITIALIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_FAILURE:
++ reason = "STATUS_TPM_20_E_FAILURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SEQUENCE:
++ reason = "STATUS_TPM_20_E_SEQUENCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PRIVATE:
++ reason = "STATUS_TPM_20_E_PRIVATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HMAC:
++ reason = "STATUS_TPM_20_E_HMAC";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_DISABLED:
++ reason = "STATUS_TPM_20_E_DISABLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXCLUSIVE:
++ reason = "STATUS_TPM_20_E_EXCLUSIVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_CURVE:
++ reason = "STATUS_TPM_20_E_ECC_CURVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_TYPE:
++ reason = "STATUS_TPM_20_E_AUTH_TYPE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_MISSING:
++ reason = "STATUS_TPM_20_E_AUTH_MISSING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY:
++ reason = "STATUS_TPM_20_E_POLICY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR:
++ reason = "STATUS_TPM_20_E_PCR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR_CHANGED:
++ reason = "STATUS_TPM_20_E_PCR_CHANGED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_UPGRADE:
++ reason = "STATUS_TPM_20_E_UPGRADE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TOO_MANY_CONTEXTS:
++ reason = "STATUS_TPM_20_E_TOO_MANY_CONTEXTS";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_UNAVAILABLE:
++ reason = "STATUS_TPM_20_E_AUTH_UNAVAILABLE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_REBOOT:
++ reason = "STATUS_TPM_20_E_REBOOT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_UNBALANCED:
++ reason = "STATUS_TPM_20_E_UNBALANCED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_SIZE:
++ reason = "STATUS_TPM_20_E_COMMAND_SIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_CODE:
++ reason = "STATUS_TPM_20_E_COMMAND_CODE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTHSIZE:
++ reason = "STATUS_TPM_20_E_AUTHSIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_CONTEXT:
++ reason = "STATUS_TPM_20_E_AUTH_CONTEXT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_RANGE:
++ reason = "STATUS_TPM_20_E_NV_RANGE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SIZE:
++ reason = "STATUS_TPM_20_E_NV_SIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_LOCKED:
++ reason = "STATUS_TPM_20_E_NV_LOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_AUTHORIZATION:
++ reason = "STATUS_TPM_20_E_NV_AUTHORIZATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_UNINITIALIZED:
++ reason = "STATUS_TPM_20_E_NV_UNINITIALIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SPACE:
++ reason = "STATUS_TPM_20_E_NV_SPACE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_DEFINED:
++ reason = "STATUS_TPM_20_E_NV_DEFINED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_CONTEXT:
++ reason = "STATUS_TPM_20_E_BAD_CONTEXT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_CPHASH:
++ reason = "STATUS_TPM_20_E_CPHASH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PARENT:
++ reason = "STATUS_TPM_20_E_PARENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NEEDS_TEST:
++ reason = "STATUS_TPM_20_E_NEEDS_TEST";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NO_RESULT:
++ reason = "STATUS_TPM_20_E_NO_RESULT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SENSITIVE:
++ reason = "STATUS_TPM_20_E_SENSITIVE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_BLOCKED:
+ reason = "STATUS_TPM_COMMAND_BLOCKED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_HANDLE:
+ reason = "STATUS_TPM_INVALID_HANDLE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_TPM_DUPLICATE_VHANDLE:
+ reason = "STATUS_TPM_DUPLICATE_VHANDLE";
+@@ -5577,16 +6991,94 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_PCP_PROFILE_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_PCP_VALIDATION_FAILED:
+ reason = "STATUS_PCP_VALIDATION_FAILED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_FOUND:
+ reason = "STATUS_PCP_DEVICE_NOT_FOUND";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_WRONG_PARENT:
++ reason = "STATUS_PCP_WRONG_PARENT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_LOADED:
++ reason = "STATUS_PCP_KEY_NOT_LOADED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_NO_KEY_CERTIFICATION:
++ reason = "STATUS_PCP_NO_KEY_CERTIFICATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_FINALIZED:
++ reason = "STATUS_PCP_KEY_NOT_FINALIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET:
++ reason = "STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_NOT_PCR_BOUND:
++ reason = "STATUS_PCP_NOT_PCR_BOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_ALREADY_FINALIZED:
++ reason = "STATUS_PCP_KEY_ALREADY_FINALIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED:
++ reason = "STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_INVALID:
++ reason = "STATUS_PCP_KEY_USAGE_POLICY_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_SOFT_KEY_ERROR:
++ reason = "STATUS_PCP_SOFT_KEY_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AUTHENTICATED:
++ reason = "STATUS_PCP_KEY_NOT_AUTHENTICATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AIK:
++ reason = "STATUS_PCP_KEY_NOT_AIK";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_SIGNING_KEY:
++ reason = "STATUS_PCP_KEY_NOT_SIGNING_KEY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_LOCKED_OUT:
++ reason = "STATUS_PCP_LOCKED_OUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED:
++ reason = "STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_TPM_VERSION_NOT_SUPPORTED:
++ reason = "STATUS_PCP_TPM_VERSION_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_LENGTH_MISMATCH:
++ reason = "STATUS_PCP_BUFFER_LENGTH_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED:
++ reason = "STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_TICKET_MISSING:
++ reason = "STATUS_PCP_TICKET_MISSING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_RAW_POLICY_NOT_SUPPORTED:
++ reason = "STATUS_PCP_RAW_POLICY_NOT_SUPPORTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PCP_KEY_HANDLE_INVALIDATED:
++ reason = "STATUS_PCP_KEY_HANDLE_INVALIDATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_NO_RESULT:
++ reason = "STATUS_RTPM_NO_RESULT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_PCR_READ_INCOMPLETE:
++ reason = "STATUS_RTPM_PCR_READ_INCOMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_INVALID_CONTEXT:
++ reason = "STATUS_RTPM_INVALID_CONTEXT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_RTPM_UNSUPPORTED_CMD:
++ reason = "STATUS_RTPM_UNSUPPORTED_CMD";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_TPM_ZERO_EXHAUST_ENABLED:
++ reason = "STATUS_TPM_ZERO_EXHAUST_ENABLED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_CODE:
+ reason = "STATUS_HV_INVALID_HYPERCALL_CODE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_INPUT:
+ reason = "STATUS_HV_INVALID_HYPERCALL_INPUT";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_ALIGNMENT:
+ reason = "STATUS_HV_INVALID_ALIGNMENT";
+@@ -5628,16 +7120,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_HV_INVALID_CONNECTION_ID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFERS:
+ reason = "STATUS_HV_INSUFFICIENT_BUFFERS";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_NOT_ACKNOWLEDGED:
+ reason = "STATUS_HV_NOT_ACKNOWLEDGED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_STATE:
++ reason = "STATUS_HV_INVALID_VP_STATE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_ACKNOWLEDGED:
+ reason = "STATUS_HV_ACKNOWLEDGED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_SAVE_RESTORE_STATE:
+ reason = "STATUS_HV_INVALID_SAVE_RESTORE_STATE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_SYNIC_STATE:
+ reason = "STATUS_HV_INVALID_SYNIC_STATE";
+@@ -5661,19 +7156,70 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_HV_FEATURE_UNAVAILABLE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFER:
+ reason = "STATUS_HV_INSUFFICIENT_BUFFER";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS:
+ reason = "STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR:
++ reason = "STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR:
++ reason = "STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_PROCESSOR_STARTUP_TIMEOUT:
++ reason = "STATUS_HV_PROCESSOR_STARTUP_TIMEOUT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_SMX_ENABLED:
++ reason = "STATUS_HV_SMX_ENABLED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_LP_INDEX:
+ reason = "STATUS_HV_INVALID_LP_INDEX";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_REGISTER_VALUE:
++ reason = "STATUS_HV_INVALID_REGISTER_VALUE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_VTL_STATE:
++ reason = "STATUS_HV_INVALID_VTL_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_NX_NOT_DETECTED:
++ reason = "STATUS_HV_NX_NOT_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_ID:
++ reason = "STATUS_HV_INVALID_DEVICE_ID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_STATE:
++ reason = "STATUS_HV_INVALID_DEVICE_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_PAGE_REQUEST_INVALID:
++ reason = "STATUS_HV_PAGE_REQUEST_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_ID:
++ reason = "STATUS_HV_INVALID_CPU_GROUP_ID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_STATE:
++ reason = "STATUS_HV_INVALID_CPU_GROUP_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_OPERATION_FAILED:
++ reason = "STATUS_HV_OPERATION_FAILED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE:
++ reason = "STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_ROOT_MEMORY:
++ reason = "STATUS_HV_INSUFFICIENT_ROOT_MEMORY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_EVENT_BUFFER_ALREADY_FREED:
++ reason = "STATUS_HV_EVENT_BUFFER_ALREADY_FREED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY:
++ reason = "STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_HV_NOT_PRESENT:
+ reason = "STATUS_HV_NOT_PRESENT";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_IPSEC_BAD_SPI:
+ reason = "STATUS_IPSEC_BAD_SPI";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_IPSEC_SA_LIFETIME_EXPIRED:
+ reason = "STATUS_IPSEC_SA_LIFETIME_EXPIRED";
+@@ -5838,16 +7384,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_VID_SAVED_STATE_CORRUPT";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM:
+ reason = "STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_INCOMPATIBLE:
+ reason = "STATUS_VID_SAVED_STATE_INCOMPATIBLE";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_VID_VTL_ACCESS_DENIED:
++ reason = "STATUS_VID_VTL_ACCESS_DENIED";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_VOLMGR_DATABASE_FULL:
+ reason = "STATUS_VOLMGR_DATABASE_FULL";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED:
+ reason = "STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC:
+ reason = "STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC";
+@@ -6228,16 +7777,34 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_CTLOG_INVALID_TRACKING_STATE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_CTLOG_INCONSISTENT_TRACKING_FILE:
+ reason = "STATUS_CTLOG_INCONSISTENT_TRACKING_FILE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VHD_METADATA_FULL:
+ reason = "STATUS_VHD_METADATA_FULL";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_CHANGE_TRACKING_ID:
++ reason = "STATUS_VHD_INVALID_CHANGE_TRACKING_ID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_CHANGE_TRACKING_DISABLED:
++ reason = "STATUS_VHD_CHANGE_TRACKING_DISABLED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION:
++ reason = "STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA:
++ reason = "STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE:
++ reason = "STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE:
++ reason = "STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_RKF_KEY_NOT_FOUND:
+ reason = "STATUS_RKF_KEY_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_RKF_DUPLICATE_KEY:
+ reason = "STATUS_RKF_DUPLICATE_KEY";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_RKF_BLOB_FULL:
+ reason = "STATUS_RKF_BLOB_FULL";
+@@ -6255,16 +7822,19 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_RDBSS_RESTART_OPERATION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_RDBSS_CONTINUE_OPERATION:
+ reason = "STATUS_RDBSS_CONTINUE_OPERATION";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_RDBSS_POST_OPERATION:
+ reason = "STATUS_RDBSS_POST_OPERATION";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_RDBSS_RETRY_LOOKUP:
++ reason = "STATUS_RDBSS_RETRY_LOOKUP";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_HANDLE:
+ reason = "STATUS_BTH_ATT_INVALID_HANDLE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_BTH_ATT_READ_NOT_PERMITTED:
+ reason = "STATUS_BTH_ATT_READ_NOT_PERMITTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_BTH_ATT_WRITE_NOT_PERMITTED:
+ reason = "STATUS_BTH_ATT_WRITE_NOT_PERMITTED";
+@@ -6327,34 +7897,70 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_SIGNED:
+ reason = "STATUS_SECUREBOOT_POLICY_NOT_SIGNED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_FILE_REPLACED:
+ reason = "STATUS_SECUREBOOT_FILE_REPLACED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED:
++ reason = "STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UNKNOWN:
++ reason = "STATUS_SECUREBOOT_POLICY_UNKNOWN";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION:
++ reason = "STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH:
++ reason = "STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED:
++ reason = "STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH:
++ reason = "STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING:
++ reason = "STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_BASE_POLICY:
++ reason = "STATUS_SECUREBOOT_NOT_BASE_POLICY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY:
++ reason = "STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_AUDIO_ENGINE_NODE_NOT_FOUND:
+ reason = "STATUS_AUDIO_ENGINE_NODE_NOT_FOUND";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HDAUDIO_EMPTY_CONNECTION_LIST:
+ reason = "STATUS_HDAUDIO_EMPTY_CONNECTION_LIST";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED:
+ reason = "STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED:
+ reason = "STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY:
+ reason = "STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_VSM_NOT_INITIALIZED:
++ reason = "STATUS_VSM_NOT_INITIALIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VSM_DMA_PROTECTION_NOT_IN_USE:
++ reason = "STATUS_VSM_DMA_PROTECTION_NOT_IN_USE";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_VOLSNAP_BOOTFILE_NOT_VALID:
+ reason = "STATUS_VOLSNAP_BOOTFILE_NOT_VALID";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_VOLSNAP_ACTIVATION_TIMEOUT:
++ reason = "STATUS_VOLSNAP_ACTIVATION_TIMEOUT";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_IO_PREEMPTED:
+ reason = "STATUS_IO_PREEMPTED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_STORED:
+ reason = "STATUS_SVHDX_ERROR_STORED";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_NOT_AVAILABLE:
+ reason = "STATUS_SVHDX_ERROR_NOT_AVAILABLE";
+@@ -6384,31 +7990,214 @@ string NTStatusToString(uint32_t ntstatu
+ reason = "STATUS_SVHDX_WRONG_FILE_TYPE";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SVHDX_VERSION_MISMATCH:
+ reason = "STATUS_SVHDX_VERSION_MISMATCH";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_VHD_SHARED:
+ reason = "STATUS_VHD_SHARED";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_SVHDX_NO_INITIATOR:
++ reason = "STATUS_SVHDX_NO_INITIATOR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND:
++ reason = "STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP:
++ reason = "STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SMB_BAD_CLUSTER_DIALECT:
++ reason = "STATUS_SMB_BAD_CLUSTER_DIALECT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SMB_GUEST_LOGON_BLOCKED:
++ reason = "STATUS_SMB_GUEST_LOGON_BLOCKED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID:
++ reason = "STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_SPACES_RESILIENCY_TYPE_INVALID:
+ reason = "STATUS_SPACES_RESILIENCY_TYPE_INVALID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID:
+ reason = "STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_REDUNDANCY_INVALID:
++ reason = "STATUS_SPACES_DRIVE_REDUNDANCY_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID:
++ reason = "STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID";
++ break;
+ case MD_NTSTATUS_WIN_STATUS_SPACES_INTERLEAVE_LENGTH_INVALID:
+ reason = "STATUS_SPACES_INTERLEAVE_LENGTH_INVALID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID:
+ reason = "STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES:
+ reason = "STATUS_SPACES_NOT_ENOUGH_DRIVES";
+ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_EXTENDED_ERROR:
++ reason = "STATUS_SPACES_EXTENDED_ERROR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_PROVISIONING_TYPE_INVALID:
++ reason = "STATUS_SPACES_PROVISIONING_TYPE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_ALLOCATION_SIZE_INVALID:
++ reason = "STATUS_SPACES_ALLOCATION_SIZE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_ENCLOSURE_AWARE_INVALID:
++ reason = "STATUS_SPACES_ENCLOSURE_AWARE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_WRITE_CACHE_SIZE_INVALID:
++ reason = "STATUS_SPACES_WRITE_CACHE_SIZE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_GROUPS_INVALID:
++ reason = "STATUS_SPACES_NUMBER_OF_GROUPS_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID:
++ reason = "STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_UPDATE_COLUMN_STATE:
++ reason = "STATUS_SPACES_UPDATE_COLUMN_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_MAP_REQUIRED:
++ reason = "STATUS_SPACES_MAP_REQUIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_UNSUPPORTED_VERSION:
++ reason = "STATUS_SPACES_UNSUPPORTED_VERSION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_CORRUPT_METADATA:
++ reason = "STATUS_SPACES_CORRUPT_METADATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRT_FULL:
++ reason = "STATUS_SPACES_DRT_FULL";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_INCONSISTENCY:
++ reason = "STATUS_SPACES_INCONSISTENCY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_LOG_NOT_READY:
++ reason = "STATUS_SPACES_LOG_NOT_READY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_NO_REDUNDANCY:
++ reason = "STATUS_SPACES_NO_REDUNDANCY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_NOT_READY:
++ reason = "STATUS_SPACES_DRIVE_NOT_READY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SPLIT:
++ reason = "STATUS_SPACES_DRIVE_SPLIT";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_LOST_DATA:
++ reason = "STATUS_SPACES_DRIVE_LOST_DATA";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INCOMPLETE:
++ reason = "STATUS_SPACES_ENTRY_INCOMPLETE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INVALID:
++ reason = "STATUS_SPACES_ENTRY_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SPACES_MARK_DIRTY:
++ reason = "STATUS_SPACES_MARK_DIRTY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SECCORE_INVALID_COMMAND:
++ reason = "STATUS_SECCORE_INVALID_COMMAND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED:
++ reason = "STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION:
++ reason = "STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_INVALID_POLICY:
++ reason = "STATUS_SYSTEM_INTEGRITY_INVALID_POLICY";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED:
++ reason = "STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES:
++ reason = "STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED:
++ reason = "STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_NO_APPLICABLE_APP_LICENSES_FOUND:
++ reason = "STATUS_NO_APPLICABLE_APP_LICENSES_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_FOUND:
++ reason = "STATUS_CLIP_LICENSE_NOT_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_DEVICE_LICENSE_MISSING:
++ reason = "STATUS_CLIP_DEVICE_LICENSE_MISSING";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_INVALID_SIGNATURE:
++ reason = "STATUS_CLIP_LICENSE_INVALID_SIGNATURE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID:
++ reason = "STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_EXPIRED:
++ reason = "STATUS_CLIP_LICENSE_EXPIRED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE:
++ reason = "STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_SIGNED:
++ reason = "STATUS_CLIP_LICENSE_NOT_SIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE:
++ reason = "STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH:
++ reason = "STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED:
++ reason = "STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_INVALID:
++ reason = "STATUS_PLATFORM_MANIFEST_INVALID";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED:
++ reason = "STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED:
++ reason = "STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND:
++ reason = "STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_ACTIVE:
++ reason = "STATUS_PLATFORM_MANIFEST_NOT_ACTIVE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_SIGNED:
++ reason = "STATUS_PLATFORM_MANIFEST_NOT_SIGNED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_CONDITION_NOT_SATISFIED:
++ reason = "STATUS_APPEXEC_CONDITION_NOT_SATISFIED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_HANDLE_INVALIDATED:
++ reason = "STATUS_APPEXEC_HANDLE_INVALIDATED";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_GENERATION:
++ reason = "STATUS_APPEXEC_INVALID_HOST_GENERATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION:
++ reason = "STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_STATE:
++ reason = "STATUS_APPEXEC_INVALID_HOST_STATE";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_NO_DONOR:
++ reason = "STATUS_APPEXEC_NO_DONOR";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_HOST_ID_MISMATCH:
++ reason = "STATUS_APPEXEC_HOST_ID_MISMATCH";
++ break;
++ case MD_NTSTATUS_WIN_STATUS_APPEXEC_UNKNOWN_USER:
++ reason = "STATUS_APPEXEC_UNKNOWN_USER";
++ break;
+ default: {
+ char reason_string[11];
+ snprintf(reason_string, sizeof(reason_string), "0x%08x", ntstatus);
+ reason = reason_string;
+ break;
+ }
+ }
+ return reason;
+
diff --git a/toolkit/crashreporter/breakpad-patches/20-mac-crash-info.patch b/toolkit/crashreporter/breakpad-patches/20-mac-crash-info.patch
new file mode 100644
index 0000000000..be971133a1
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/20-mac-crash-info.patch
@@ -0,0 +1,516 @@
+# HG changeset patch
+# User Steven Michaud <smichaud@pobox.com>
+# Date 1619800781 18000
+# Fri Apr 30 11:39:41 2021 -0500
+# Node ID 9f89eb3d68316e8c3a469d1c058ad40c1807d7bc
+# Parent 0db412525773fff333e8d338551021e083c25619
+Bug 1577886 - Add support to for macOS __crash_info data to Breakpad. r=gsvelto
+Differential Revision: https://phabricator.services.mozilla.com/D112871
+
+diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h
+--- a/src/google_breakpad/common/minidump_format.h
++++ b/src/google_breakpad/common/minidump_format.h
+@@ -351,6 +351,10 @@ typedef enum {
+ /* Crashpad extension types. 0x4350 = "CP"
+ * See Crashpad's minidump/minidump_extensions.h. */
+ MD_CRASHPAD_INFO_STREAM = 0x43500001, /* MDRawCrashpadInfo */
++
++ /* Data from the __DATA,__crash_info section of every module which contains
++ * one that has useful data. Only available on macOS. 0x4D7A = "Mz". */
++ MOZ_MACOS_CRASH_INFO_STREAM = 0x4d7a0001,
+ } MDStreamType; /* MINIDUMP_STREAM_TYPE */
+
+
+@@ -1094,6 +1098,52 @@ typedef struct {
+ MDLocationDescriptor module_list; /* MDRawModuleCrashpadInfoList */
+ } MDRawCrashpadInfo;
+
++/* macOS __DATA,__crash_info data */
++
++typedef struct {
++ uint64_t stream_type; /* MOZ_MACOS_CRASH_INFO_STREAM */
++ uint64_t version;
++ uint64_t thread;
++ uint64_t dialog_mode;
++ uint64_t abort_cause; /* Only valid when 'version' > 4 */
++ /* If/when Apple adds more fields to crashreporter_annotations_t, add
++ * numerical fields here and change (MDRawMacCrashInfo).record_start_size
++ * accordingly. Make them all uint64_t, to keep this structure the same size
++ * on all platforms. 'data' should always be the last field. Add new string
++ * fields to the end of 'data'. */
++ /* 'data' currently contains five null-terminated uint8_t arrays, each
++ * possibly empty (containing only a single terminal null), stored one after
++ * the other:
++ * module_path;
++ * message;
++ * signature_string;
++ * backtrace;
++ * message2; */
++ uint8_t data[0];
++} MDRawMacCrashInfoRecord;
++
++/* This is the maximum supported size for each string in
++ * (MDRawMacCrashInfoRecord).data. If we encounter a string in the
++ * __crash_info section which seems larger than this, that's a sign of data
++ * corruption. */
++#define MACCRASHINFO_STRING_MAXSIZE 8192
++
++/* In principle there should only be one or two non-empty __DATA,__crash_info
++ * sections per process. But the __crash_info section is almost entirely
++ * undocumented, so just in case we set a large maximum. */
++#define MAC_CRASH_INFOS_MAX 20
++
++typedef struct {
++ uint32_t stream_type; /* MOZ_MACOS_CRASH_INFO_STREAM */
++ uint32_t record_count;
++ /* The size of the "fixed-size" part of MDRawMacCrashInfoRecord, before the
++ * 'data' field. This will always be 'sizeof(MDRawMacCrashInfoRecord)'. But
++ * that value may change if more numerical fields are added to
++ * MDRawMacCrashInfoRecord in the future. */
++ uint32_t record_start_size;
++ MDLocationDescriptor records[MAC_CRASH_INFOS_MAX];
++} MDRawMacCrashInfo;
++
+ #if defined(_MSC_VER)
+ #pragma warning(pop)
+ #endif /* _MSC_VER */
+diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h
+--- a/src/google_breakpad/processor/minidump.h
++++ b/src/google_breakpad/processor/minidump.h
+@@ -1151,6 +1151,57 @@ class MinidumpCrashpadInfo : public Mini
+ std::map<std::string, std::string> simple_annotations_;
+ };
+
++// MinidumpMacCrashInfo wraps MDRawMacCrashInfo. It's an optional stream
++// in a minidump that records information from the __DATA,__crash_info
++// section of every module in the crashing process that contains one, and
++// which isn't empty of useful information. Only present on macOS.
++
++// Friendly wrapper for the information in MDRawMacCrashInfoRecord.
++typedef struct crash_info_record {
++ string module_path;
++ unsigned long version;
++ string message;
++ string signature_string;
++ string backtrace;
++ string message2;
++ unsigned long long thread;
++ unsigned int dialog_mode;
++ long long abort_cause; // Only valid when 'version' > 4
++ crash_info_record()
++ : version(0), thread(0), dialog_mode(0), abort_cause(0)
++ {}
++} crash_info_record_t;
++
++class MinidumpMacCrashInfo : public MinidumpStream {
++ public:
++ // A human-readable representation of the data from the __DATA,__crash_info
++ // sections in all of the crashing process's modules that have one, if
++ // it's not empty of useful data. Suitable for use by "minidump_stackwalk".
++ string description() const { return description_; }
++ // A "machine-readable" copy of the same information, suitable for use by
++ // "minidump_stalkwalk -m".
++ vector<crash_info_record_t> const records() {
++ return records_;
++ }
++
++ // Print a human-readable representation of the object to stdout.
++ void Print();
++
++ private:
++ friend class Minidump;
++
++ static const uint32_t kStreamType = MOZ_MACOS_CRASH_INFO_STREAM;
++
++ explicit MinidumpMacCrashInfo(Minidump* minidump_);
++
++ bool ReadCrashInfoRecord(MDLocationDescriptor location,
++ uint32_t record_start_size);
++ bool Read(uint32_t expected_size);
++
++ string description_;
++ vector<crash_info_record_t> records_;
++};
++
+
+ // Minidump is the user's interface to a minidump file. It wraps MDRawHeader
+ // and provides access to the minidump's top-level stream directory.
+@@ -1214,6 +1265,7 @@ class Minidump {
+ virtual MinidumpBreakpadInfo* GetBreakpadInfo();
+ virtual MinidumpMemoryInfoList* GetMemoryInfoList();
+ MinidumpCrashpadInfo* GetCrashpadInfo();
++ MinidumpMacCrashInfo* GetMacCrashInfo();
+
+ // The next method also calls GetStream, but is exclusive for Linux dumps.
+ virtual MinidumpLinuxMapsList *GetLinuxMapsList();
+diff --git a/src/google_breakpad/processor/process_state.h b/src/google_breakpad/processor/process_state.h
+--- a/src/google_breakpad/processor/process_state.h
++++ b/src/google_breakpad/processor/process_state.h
+@@ -112,6 +112,14 @@ class ProcessState {
+ return &thread_memory_regions_;
+ }
+ const SystemInfo* system_info() const { return &system_info_; }
++ string mac_crash_info() const { return mac_crash_info_; }
++ size_t mac_crash_info_records_count() const {
++ return mac_crash_info_records_.size();
++ }
++ const crash_info_record_t* mac_crash_info_records() const {
++ return reinterpret_cast<const crash_info_record_t*>(
++ &mac_crash_info_records_[0]);
++ }
+ const CodeModules* modules() const { return modules_; }
+ const CodeModules* unloaded_modules() const { return unloaded_modules_; }
+ const vector<linked_ptr<const CodeModule> >* shrunk_range_modules() const {
+@@ -179,6 +187,10 @@ class ProcessState {
+ // OS and CPU information.
+ SystemInfo system_info_;
+
++ // Information from __DATA,__crash_info sections. Only present on macOS.
++ string mac_crash_info_;
++ vector<crash_info_record_t> mac_crash_info_records_;
++
+ // The modules that were loaded into the process represented by the
+ // ProcessState.
+ const CodeModules *modules_;
+diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
+--- a/src/processor/minidump.cc
++++ b/src/processor/minidump.cc
+@@ -5116,6 +5116,230 @@ void MinidumpCrashpadInfo::Print() {
+ printf("\n");
+ }
+
++//
++// MinidumpMacCrashInfo
++//
++
++MinidumpMacCrashInfo::MinidumpMacCrashInfo(Minidump* minidump)
++ : MinidumpStream(minidump),
++ description_(),
++ records_() {
++}
++
++bool MinidumpMacCrashInfo::ReadCrashInfoRecord(MDLocationDescriptor location,
++ uint32_t record_start_size) {
++ if (!minidump_->SeekSet(location.rva)) {
++ BPLOG(ERROR) << "ReadCrashInfoRecord could not seek to record";
++ return false;
++ }
++
++ // We may be reading a minidump 1) created by (newer) code that defines more
++ // fields than we do in the fixed-size part of MDRawMacCrashInfoRecord
++ // (before 'data'), or 2) created by (older) code that defines fewer fields.
++ // In the first case we read in the newer fields but ignore them. In the
++ // second case we read in only the older fields, and leave the newer fields
++ // (in 'raw_record_start') set to zero.
++ uint32_t raw_record_size = sizeof(MDRawMacCrashInfoRecord);
++ if (record_start_size > raw_record_size) {
++ raw_record_size = record_start_size;
++ }
++ scoped_ptr< vector<uint8_t> > raw_record(
++ new vector<uint8_t>(raw_record_size));
++ if (!minidump_->ReadBytes(&(*raw_record)[0], record_start_size)) {
++ BPLOG(ERROR) << "ReadCrashInfoRecord could not read " <<
++ record_start_size << " bytes of record";
++ return false;
++ }
++ MDRawMacCrashInfoRecord* raw_record_start =
++ (MDRawMacCrashInfoRecord*) &(*raw_record)[0];
++
++ if (minidump_->swap()) {
++ Swap(&raw_record_start->stream_type);
++ Swap(&raw_record_start->version);
++ Swap(&raw_record_start->thread);
++ Swap(&raw_record_start->dialog_mode);
++ Swap(&raw_record_start->abort_cause);
++ }
++
++ if (raw_record_start->stream_type != MOZ_MACOS_CRASH_INFO_STREAM) {
++ BPLOG(ERROR) << "ReadCrashInfoRecord stream type mismatch, " <<
++ raw_record_start->stream_type << " != " <<
++ MOZ_MACOS_CRASH_INFO_STREAM;
++ return false;
++ }
++
++ uint32_t string_data_size = location.data_size - record_start_size;
++ scoped_ptr< vector<uint8_t> > data(new vector<uint8_t>(string_data_size));
++ if (!minidump_->ReadBytes(&(*data)[0], string_data_size)) {
++ BPLOG(ERROR) << "ReadCrashInfoRecord could not read " <<
++ string_data_size << " bytes of record data";
++ return false;
++ }
++
++ crash_info_record_t record;
++
++ record.version = (unsigned long) raw_record_start->version;
++ record.thread = (unsigned long long) raw_record_start->thread;
++ record.dialog_mode = (unsigned int) raw_record_start->dialog_mode;
++ record.abort_cause = (long long) raw_record_start->abort_cause;
++
++ // Once again, we may be reading a minidump created by newer code that
++ // stores more strings than we expect in (MDRawMacCrashInfoRecord).data,
++ // or one created by older code that contains fewer strings than we
++ // expect. In the first case we ignore the "extra" strings. To deal with
++ // the second case we bail when 'offset >= string_data_size'.
++ const char* string_data = (const char*) &(*data)[0];
++ size_t offset = 0;
++ for (int i = 1; i <= 5; ++i) {
++ switch (i) {
++ case 1:
++ record.module_path.append(string_data);
++ break;
++ case 2:
++ record.message.append(string_data);
++ break;
++ case 3:
++ record.signature_string.append(string_data);
++ break;
++ case 4:
++ record.backtrace.append(string_data);
++ break;
++ case 5:
++ record.message2.append(string_data);
++ break;
++ }
++ size_t char_array_size = strlen(string_data) + 1;
++ offset += char_array_size;
++ if (offset >= string_data_size) {
++ break;
++ }
++ string_data += char_array_size;
++ }
++
++ records_.push_back(record);
++
++ description_.append(" Module \"");
++ description_.append(record.module_path);
++ description_.append("\":\n");
++
++ int num_fields = 6;
++ if (record.version > 4) {
++ num_fields = 7;
++ }
++ for (int i = 1; i <= num_fields; ++i) {
++ switch (i) {
++ case 1:
++ if (!record.message.empty()) {
++ description_.append(" message: \"");
++ description_.append(record.message);
++ description_.append("\"\n");
++ }
++ break;
++ case 2:
++ if (!record.signature_string.empty()) {
++ description_.append(" signature_string: \"");
++ description_.append(record.signature_string);
++ description_.append("\"\n");
++ }
++ break;
++ case 3:
++ if (!record.backtrace.empty()) {
++ description_.append(" backtrace: \"");
++ description_.append(record.backtrace);
++ description_.append("\"\n");
++ }
++ break;
++ case 4:
++ if (!record.message2.empty()) {
++ description_.append(" message2: \"");
++ description_.append(record.message2);
++ description_.append("\"\n");
++ }
++ break;
++ case 5:
++ if (record.thread) {
++ char thread[128];
++ snprintf(thread, sizeof(thread), " thread: 0x%llx\n",
++ record.thread);
++ description_.append(thread);
++ }
++ break;
++ case 6:
++ if (record.dialog_mode) {
++ char dialog_mode[128];
++ snprintf(dialog_mode, sizeof(dialog_mode), " dialog_mode: 0x%x\n",
++ record.dialog_mode);
++ description_.append(dialog_mode);
++ }
++ break;
++ case 7:
++ if (record.abort_cause) {
++ char abort_cause[128];
++ snprintf(abort_cause, sizeof(abort_cause), " abort_cause: %lld\n",
++ record.abort_cause);
++ description_.append(abort_cause);
++ }
++ break;
++ default:
++ break;
++ }
++ }
++
++ return true;
++}
++
++bool MinidumpMacCrashInfo::Read(uint32_t expected_size) {
++ description_.clear();
++ records_.clear();
++ valid_ = false;
++
++ MDRawMacCrashInfo crash_info;
++ if (expected_size != sizeof(crash_info)) {
++ BPLOG(ERROR) << "MinidumpMacCrashInfo size mismatch, " <<
++ expected_size << " != " << sizeof(crash_info);
++ return false;
++ }
++ if (!minidump_->ReadBytes(&crash_info, sizeof(crash_info))) {
++ BPLOG(ERROR) << "MinidumpMacCrashInfo could not read " <<
++ sizeof(crash_info) << " bytes";
++ return false;
++ }
++ if (minidump_->swap()) {
++ Swap(&crash_info.stream_type);
++ Swap(&crash_info.record_count);
++ Swap(&crash_info.record_start_size);
++ for (uint32_t i = 0; i < crash_info.record_count; ++i) {
++ Swap(&crash_info.records[i].data_size);
++ Swap(&crash_info.records[i].rva);
++ }
++ }
++ if (crash_info.stream_type != MOZ_MACOS_CRASH_INFO_STREAM) {
++ BPLOG(ERROR) << "MinidumpMacCrashInfo stream type mismatch, " <<
++ crash_info.stream_type << " != " <<
++ MOZ_MACOS_CRASH_INFO_STREAM;
++ return false;
++ }
++
++ for (uint32_t i = 0; i < crash_info.record_count; ++i) {
++ if (!ReadCrashInfoRecord(crash_info.records[i],
++ crash_info.record_start_size)) {
++ return false;
++ }
++ }
++
++ valid_ = true;
++ return true;
++}
++
++void MinidumpMacCrashInfo::Print() {
++ if (!valid_) {
++ BPLOG(ERROR) << "MinidumpMacCrashInfo cannot print invalid data";
++ return;
++ }
++
++ printf("MinidumpMacCrashInfo:\n\n");
++ printf("%s", description_.c_str());
++}
+
+ //
+ // Minidump
+@@ -5378,7 +5602,8 @@ bool Minidump::Read() {
+ case MD_SYSTEM_INFO_STREAM:
+ case MD_MISC_INFO_STREAM:
+ case MD_BREAKPAD_INFO_STREAM:
+- case MD_CRASHPAD_INFO_STREAM: {
++ case MD_CRASHPAD_INFO_STREAM:
++ case MOZ_MACOS_CRASH_INFO_STREAM: {
+ if (stream_map_->find(stream_type) != stream_map_->end()) {
+ // Another stream with this type was already found. A minidump
+ // file should contain at most one of each of these stream types.
+@@ -5499,6 +5724,11 @@ MinidumpCrashpadInfo* Minidump::GetCrash
+ return GetStream(&crashpad_info);
+ }
+
++MinidumpMacCrashInfo* Minidump::GetMacCrashInfo() {
++ MinidumpMacCrashInfo* mac_crash_info;
++ return GetStream(&mac_crash_info);
++}
++
+ static const char* get_stream_name(uint32_t stream_type) {
+ switch (stream_type) {
+ case MD_UNUSED_STREAM:
+@@ -5571,6 +5801,8 @@ static const char* get_stream_name(uint3
+ return "MD_LINUX_DSO_DEBUG";
+ case MD_CRASHPAD_INFO_STREAM:
+ return "MD_CRASHPAD_INFO_STREAM";
++ case MOZ_MACOS_CRASH_INFO_STREAM:
++ return "MOZ_MACOS_CRASH_INFO_STREAM";
+ default:
+ return "unknown";
+ }
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -137,6 +137,12 @@ ProcessResult MinidumpProcessor::Process
+ }
+ }
+
++ MinidumpMacCrashInfo *crash_info = dump->GetMacCrashInfo();
++ if (crash_info) {
++ process_state->mac_crash_info_ = crash_info->description();
++ process_state->mac_crash_info_records_ = crash_info->records();
++ }
++
+ // This will just return an empty string if it doesn't exist.
+ process_state->assertion_ = GetAssertion(dump);
+
+diff --git a/src/processor/stackwalk_common.cc b/src/processor/stackwalk_common.cc
+--- a/src/processor/stackwalk_common.cc
++++ b/src/processor/stackwalk_common.cc
+@@ -872,6 +872,12 @@ void PrintProcessState(const ProcessStat
+ printf("Process uptime: not available\n");
+ }
+
++ if (!process_state.mac_crash_info().empty()) {
++ printf("\n");
++ printf("Application-specific information:\n");
++ printf("%s", process_state.mac_crash_info().c_str());
++ }
++
+ // If the thread that requested the dump is known, print it first.
+ int requesting_thread = process_state.requesting_thread();
+ if (requesting_thread != -1) {
+@@ -955,6 +961,44 @@ void PrintProcessStateMachineReadable(co
+ printf("\n");
+ }
+
++ const crash_info_record_t* crash_info_records =
++ process_state.mac_crash_info_records();
++ size_t num_records =
++ process_state.mac_crash_info_records_count();
++ for (size_t i = 0; i < num_records; ++i) {
++ char thread_str[32];
++ if (crash_info_records[i].thread) {
++ snprintf(thread_str, sizeof(thread_str), "0x%llx",
++ crash_info_records[i].thread);
++ } else {
++ strncpy(thread_str, "0", sizeof(thread_str));
++ }
++ char dialog_mode_str[32];
++ if (crash_info_records[i].dialog_mode) {
++ snprintf(dialog_mode_str, sizeof(dialog_mode_str), "0x%x",
++ crash_info_records[i].dialog_mode);
++ } else {
++ strncpy(dialog_mode_str, "0", sizeof(dialog_mode_str));
++ }
++ char abort_cause_str[32];
++ if (crash_info_records[i].abort_cause) {
++ snprintf(abort_cause_str, sizeof(abort_cause_str), "%lld",
++ crash_info_records[i].abort_cause);
++ } else {
++ strncpy(abort_cause_str, "0", sizeof(abort_cause_str));
++ }
++ printf("MacCrashInfo%c%s%c%lu%c%s%c%s%c%s%c%s%c%s%c%s%c%s\n",
++ kOutputSeparator, crash_info_records[i].module_path.c_str(),
++ kOutputSeparator, crash_info_records[i].version,
++ kOutputSeparator, crash_info_records[i].message.c_str(),
++ kOutputSeparator, crash_info_records[i].signature_string.c_str(),
++ kOutputSeparator, crash_info_records[i].backtrace.c_str(),
++ kOutputSeparator, crash_info_records[i].message2.c_str(),
++ kOutputSeparator, thread_str,
++ kOutputSeparator, dialog_mode_str,
++ kOutputSeparator, abort_cause_str);
++ }
++
+ PrintModulesMachineReadable(process_state.modules());
+ PrintUnloadedModulesMachineReadable(process_state.unloaded_modules());
+
diff --git a/toolkit/crashreporter/breakpad-patches/21-thread-names.patch b/toolkit/crashreporter/breakpad-patches/21-thread-names.patch
new file mode 100644
index 0000000000..ea4dd67cd1
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/21-thread-names.patch
@@ -0,0 +1,661 @@
+diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h
+--- a/src/google_breakpad/common/minidump_format.h
++++ b/src/google_breakpad/common/minidump_format.h
+@@ -227,17 +227,18 @@ typedef struct {
+
+ /*
+ * DbgHelp.h
+ */
+
+
+ /* An MDRVA is an offset into the minidump file. The beginning of the
+ * MDRawHeader is at offset 0. */
+-typedef uint32_t MDRVA; /* RVA */
++typedef uint32_t MDRVA; /* RVA */
++typedef uint64_t MDRVA64; /* RVA64 */
+
+ typedef struct {
+ uint32_t data_size;
+ MDRVA rva;
+ } MDLocationDescriptor; /* MINIDUMP_LOCATION_DESCRIPTOR */
+
+
+ typedef struct {
+@@ -327,16 +328,18 @@ typedef enum {
+ MD_MISC_INFO_STREAM = 15, /* MDRawMiscInfo */
+ MD_MEMORY_INFO_LIST_STREAM = 16, /* MDRawMemoryInfoList */
+ MD_THREAD_INFO_LIST_STREAM = 17,
+ MD_HANDLE_OPERATION_LIST_STREAM = 18,
+ MD_TOKEN_STREAM = 19,
+ MD_JAVASCRIPT_DATA_STREAM = 20,
+ MD_SYSTEM_MEMORY_INFO_STREAM = 21,
+ MD_PROCESS_VM_COUNTERS_STREAM = 22,
++ MD_IPT_TRACE_STREAM = 23,
++ MD_THREAD_NAMES_STREAM = 24,
+ MD_LAST_RESERVED_STREAM = 0x0000ffff,
+
+ /* Breakpad extension types. 0x4767 = "Gg" */
+ MD_BREAKPAD_INFO_STREAM = 0x47670001, /* MDRawBreakpadInfo */
+ MD_ASSERTION_INFO_STREAM = 0x47670002, /* MDRawAssertionInfo */
+ /* These are additional minidump stream values which are specific to
+ * the linux breakpad implementation. */
+ MD_LINUX_CPU_INFO = 0x47670003, /* /proc/cpuinfo */
+@@ -1117,16 +1120,26 @@ typedef struct {
+ * module_path;
+ * message;
+ * signature_string;
+ * backtrace;
+ * message2; */
+ uint8_t data[0];
+ } MDRawMacCrashInfoRecord;
+
++typedef struct __attribute__((packed,aligned(4))) {
++ uint32_t thread_id;
++ MDRVA64 rva_of_thread_name;
++} MDRawThreadName;
++
++typedef struct {
++ uint32_t number_of_thread_names;
++ MDRawThreadName thread_names[0];
++} MDRawThreadNamesList;
++
+ /* This is the maximum supported size for each string in
+ * (MDRawMacCrashInfoRecord).data. If we encounter a string in the
+ * __crash_info section which seems larger than this, that's a sign of data
+ * corruption. */
+ #define MACCRASHINFO_STRING_MAXSIZE 8192
+
+ /* In principle there should only be one or two non-empty __DATA,__crash_info
+ * sections per process. But the __crash_info section is almost entirely
+diff --git a/src/google_breakpad/processor/call_stack.h b/src/google_breakpad/processor/call_stack.h
+--- a/src/google_breakpad/processor/call_stack.h
++++ b/src/google_breakpad/processor/call_stack.h
+@@ -41,21 +41,23 @@
+ // beginning with the innermost callee frame.
+ //
+ // Author: Mark Mentovai
+
+ #ifndef GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__
+ #define GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__
+
+ #include <cstdint>
++#include <string>
+ #include <vector>
+
+ namespace google_breakpad {
+
+ using std::vector;
++using std::string;
+
+ struct StackFrame;
+ template<typename T> class linked_ptr;
+
+ class CallStack {
+ public:
+ CallStack() { Clear(); }
+ ~CallStack();
+@@ -63,29 +65,33 @@ class CallStack {
+ // Resets the CallStack to its initial empty state
+ void Clear();
+
+ const vector<StackFrame*>* frames() const { return &frames_; }
+
+ // Set the TID associated with this call stack.
+ void set_tid(uint32_t tid) { tid_ = tid; }
+ void set_last_error(uint32_t last_error) { last_error_ = last_error; }
++ void set_name(const string& name) { name_ = name; }
+
+ uint32_t tid() const { return tid_; }
+ uint32_t last_error() const { return last_error_; }
++ const string name() const { return name_; }
+
+ private:
+ // Stackwalker is responsible for building the frames_ vector.
+ friend class Stackwalker;
+
+ // Storage for pushed frames.
+ vector<StackFrame*> frames_;
+
+ // The TID associated with this call stack. Default to 0 if it's not
+ // available.
+ uint32_t tid_;
+ // The last error the OS set for this thread (win32's GetLastError())
+ uint32_t last_error_;
++ // The name of this thread, empty if it's not available
++ string name_;
+ };
+
+ } // namespace google_breakpad
+
+ #endif // GOOGLE_BREAKPAD_PROCSSOR_CALL_STACK_H__
+diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h
+--- a/src/google_breakpad/processor/minidump.h
++++ b/src/google_breakpad/processor/minidump.h
+@@ -1197,16 +1197,96 @@ class MinidumpMacCrashInfo : public Mini
+ bool ReadCrashInfoRecord(MDLocationDescriptor location,
+ uint32_t record_start_size);
+ bool Read(uint32_t expected_size);
+
+ string description_;
+ vector<crash_info_record_t> records_;
+ };
+
++// MinidumpThreadName wraps MDRawThreadName
++class MinidumpThreadName : public MinidumpObject {
++ public:
++ ~MinidumpThreadName() override;
++
++ const MDRawThreadName* thread_name() const {
++ if (valid_) {
++ return &thread_name_;
++ }
++
++ return NULL;
++ }
++
++ uint32_t thread_id() const {
++ if (valid_) {
++ return thread_name_.thread_id;
++ }
++
++ return 0;
++ }
++
++ string name() const;
++
++ // Print a human-readable representation of the object to stdout.
++ void Print();
++
++ protected:
++ explicit MinidumpThreadName(Minidump* minidump);
++
++ private:
++ // These objects are managed by MinidumpThreadNameList
++ friend class MinidumpThreadNamesList;
++
++ // This works like MinidumpStream::Read, but is driven by
++ // MinidumpThreadNameList.
++ bool Read(uint32_t expected_size);
++
++ // Reads the thread name. This is done separately from Read to
++ // allow contiguous reading of thread names by MinidumpThreadNameList.
++ bool ReadAuxiliaryData();
++
++ bool valid_;
++ MDRawThreadName thread_name_;
++ const string* name_;
++};
++
++
++// MinidumpThreadNamesList contains all the names for threads in a process
++// in the form of MinidumpThreadNames.
++class MinidumpThreadNamesList : public MinidumpStream {
++ public:
++ ~MinidumpThreadNamesList() override;
++
++ unsigned int name_count() const {
++ return valid_ ? name_count_ : 0;
++ }
++
++ const string GetNameForThreadId(uint32_t thread_id) const;
++
++ // Print a human-readable representation of the object to stdout.
++ void Print();
++
++ protected:
++ explicit MinidumpThreadNamesList(Minidump* minidump_);
++
++ private:
++ friend class Minidump;
++
++ typedef vector<MinidumpThreadName> MinidumpThreadNames;
++
++ static const uint32_t kStreamType = MD_THREAD_NAMES_STREAM;
++
++ bool Read(uint32_t expected_size_) override;
++
++ MinidumpThreadNames* thread_names_;
++ uint32_t name_count_;
++ bool valid_;
++
++ DISALLOW_COPY_AND_ASSIGN(MinidumpThreadNamesList);
++};
+
+ // Minidump is the user's interface to a minidump file. It wraps MDRawHeader
+ // and provides access to the minidump's top-level stream directory.
+ class Minidump {
+ public:
+ // path is the pathname of a file containing the minidump.
+ explicit Minidump(const string& path,
+ bool hexdump=false,
+@@ -1261,16 +1343,17 @@ class Minidump {
+ virtual MinidumpAssertion* GetAssertion();
+ virtual MinidumpSystemInfo* GetSystemInfo();
+ virtual MinidumpUnloadedModuleList* GetUnloadedModuleList();
+ virtual MinidumpMiscInfo* GetMiscInfo();
+ virtual MinidumpBreakpadInfo* GetBreakpadInfo();
+ virtual MinidumpMemoryInfoList* GetMemoryInfoList();
+ MinidumpCrashpadInfo* GetCrashpadInfo();
+ MinidumpMacCrashInfo* GetMacCrashInfo();
++ MinidumpThreadNamesList* GetThreadNamesList();
+
+ // The next method also calls GetStream, but is exclusive for Linux dumps.
+ virtual MinidumpLinuxMapsList *GetLinuxMapsList();
+
+ // The next set of methods are provided for users who wish to access
+ // data in minidump files directly, while leveraging the rest of
+ // this class and related classes to handle the basic minidump
+ // structure and known stream types.
+diff --git a/src/processor/call_stack.cc b/src/processor/call_stack.cc
+--- a/src/processor/call_stack.cc
++++ b/src/processor/call_stack.cc
+@@ -45,11 +45,12 @@ CallStack::~CallStack() {
+ void CallStack::Clear() {
+ for (vector<StackFrame *>::const_iterator iterator = frames_.begin();
+ iterator != frames_.end();
+ ++iterator) {
+ delete *iterator;
+ }
+ tid_ = 0;
+ last_error_ = 0;
++ name_ = "";
+ }
+
+ } // namespace google_breakpad
+diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
+--- a/src/processor/minidump.cc
++++ b/src/processor/minidump.cc
+@@ -5724,16 +5724,226 @@ MinidumpCrashpadInfo* Minidump::GetCrash
+ return GetStream(&crashpad_info);
+ }
+
+ MinidumpMacCrashInfo* Minidump::GetMacCrashInfo() {
+ MinidumpMacCrashInfo* mac_crash_info;
+ return GetStream(&mac_crash_info);
+ }
+
++MinidumpThreadNamesList* Minidump::GetThreadNamesList() {
++ MinidumpThreadNamesList* thread_names_list;
++ return GetStream(&thread_names_list);
++}
++
++//
++// MinidumpThreadName
++//
++
++
++MinidumpThreadName::MinidumpThreadName(Minidump* minidump)
++ : MinidumpObject(minidump),
++ valid_(false),
++ thread_name_(),
++ name_(NULL) {
++
++}
++
++MinidumpThreadName::~MinidumpThreadName() {
++ ;
++}
++
++void MinidumpThreadName::Print() {
++ if (!valid_) {
++ BPLOG(ERROR) << "MinidumpThreadName cannot print invalid data";
++ return;
++ }
++
++ printf("MDRawThreadName\n");
++ printf(" thread_id = 0x%x\n",
++ thread_name_.thread_id);
++ printf(" rva_of_thread_name = 0x%" PRIx64 "\n",
++ thread_name_.rva_of_thread_name);
++
++ printf(" (name) = \"%s\"\n", name().c_str());
++ printf("\n");
++}
++
++string MinidumpThreadName::name() const {
++ if (!valid_) {
++ BPLOG(ERROR) << "Invalid MinidumpThreadName for name";
++ return "";
++ }
++
++ return *name_;
++}
++
++bool MinidumpThreadName::Read(uint32_t expected_size) {
++
++ delete name_;
++
++ if (expected_size < sizeof(thread_name_)) {
++ BPLOG(ERROR) << "MinidumpThreadName expected size is less than size "
++ << "of struct " << expected_size << " < "
++ << sizeof(thread_name_);
++ return false;
++ }
++
++ if (!minidump_->ReadBytes(&thread_name_, sizeof(thread_name_))) {
++ BPLOG(ERROR) << "MinidumpThreadName cannot read name";
++ return false;
++ }
++
++ if (expected_size > sizeof(thread_name_)) {
++ uint32_t thread_name_bytes_remaining = expected_size - sizeof(thread_name_);
++ off_t pos = minidump_->Tell();
++ if (!minidump_->SeekSet(pos + thread_name_bytes_remaining)) {
++ BPLOG(ERROR) << "MinidumpThreadName unable to seek to end of name";
++ return false;
++ }
++ }
++
++ if (minidump_->swap()) {
++ Swap(&thread_name_.thread_id);
++ uint64_t rva_of_thread_name;
++ memcpy(&rva_of_thread_name, &thread_name_.rva_of_thread_name, sizeof(uint64_t));
++ Swap(&rva_of_thread_name);
++ memcpy(&thread_name_.rva_of_thread_name, &rva_of_thread_name, sizeof(uint64_t));
++ }
++
++ return true;
++}
++
++bool MinidumpThreadName::ReadAuxiliaryData() {
++ // Each thread must have a name string.
++ name_ = minidump_->ReadString(thread_name_.rva_of_thread_name);
++ if (!name_) {
++ BPLOG(ERROR) << "MinidumpThreadName could not read name";
++ valid_ = false;
++ return false;
++ }
++
++ // At this point, we have enough info for the name to be valid.
++ valid_ = true;
++ return true;
++}
++
++//
++// MinidumpThreadNamesList
++//
++
++
++MinidumpThreadNamesList::MinidumpThreadNamesList(Minidump* minidump)
++ : MinidumpStream(minidump),
++ thread_names_(NULL),
++ name_count_(0),
++ valid_(false) {
++ ;
++}
++
++MinidumpThreadNamesList::~MinidumpThreadNamesList() {
++ delete thread_names_;
++}
++
++const string MinidumpThreadNamesList::GetNameForThreadId(uint32_t thread_id) const {
++ if (valid_) {
++ for (unsigned int name_index = 0;
++ name_index < name_count_;
++ ++name_index) {
++ const MinidumpThreadName& thread_name = (*thread_names_)[name_index];
++ if (thread_name.thread_id() == thread_id) {
++ return thread_name.name();
++ }
++ }
++ }
++
++ return "";
++}
++
++void MinidumpThreadNamesList::Print() {
++ if (!valid_) {
++ BPLOG(ERROR) << "MinidumpThreadNamesList cannot print invalid data";
++ return;
++ }
++
++ printf("MinidumpThreadNamesList\n");
++ printf(" name_count = %d\n", name_count_);
++ printf("\n");
++
++ for (unsigned int name_index = 0;
++ name_index < name_count_;
++ ++name_index) {
++ printf("thread_name[%d]\n", name_index);
++
++ (*thread_names_)[name_index].Print();
++ }
++}
++
++bool MinidumpThreadNamesList::Read(uint32_t expected_size) {
++ delete thread_names_;
++ thread_names_ = NULL;
++ name_count_ = 0;
++
++ valid_ = false;
++
++ uint32_t number_of_thread_names;
++ if (!minidump_->ReadBytes(&number_of_thread_names, sizeof(number_of_thread_names))) {
++ BPLOG(ERROR) << "MinidumpThreadNamesList could not read the number of thread names";
++ return false;
++ }
++
++ if (minidump_->swap()) {
++ Swap(&number_of_thread_names);
++ }
++
++ if (expected_size !=
++ sizeof(number_of_thread_names) + (sizeof(MDRawThreadName) * number_of_thread_names)) {
++ BPLOG(ERROR) << "MinidumpThreadNamesList expected_size mismatch " <<
++ expected_size << " != " << sizeof(number_of_thread_names) << " + (" <<
++ sizeof(MDRawThreadName) << " * " << number_of_thread_names << ")";
++ return false;
++ }
++
++ if (number_of_thread_names != 0) {
++ scoped_ptr<MinidumpThreadNames> thread_names(
++ new MinidumpThreadNames(number_of_thread_names,
++ MinidumpThreadName(minidump_)));
++
++ for (unsigned int name_index = 0;
++ name_index < number_of_thread_names;
++ ++name_index) {
++ MinidumpThreadName* thread_name = &(*thread_names)[name_index];
++
++ if (!thread_name->Read(sizeof(MDRawThreadName))) {
++ BPLOG(ERROR) << "MinidumpThreadNamesList could not read name " <<
++ name_index << "/" << number_of_thread_names;
++ return false;
++ }
++ }
++
++ for (unsigned int name_index = 0;
++ name_index < number_of_thread_names;
++ ++name_index) {
++ MinidumpThreadName* thread_name = &(*thread_names)[name_index];
++
++ if (!thread_name->ReadAuxiliaryData()) {
++ BPLOG(ERROR) << "MinidumpThreadNamesList could not read required "
++ "auxiliary data for thread name " <<
++ name_index << "/" << number_of_thread_names;
++ return false;
++ }
++ }
++ thread_names_ = thread_names.release();
++ }
++
++ name_count_ = number_of_thread_names;
++ valid_ = true;
++ return true;
++}
++
+ static const char* get_stream_name(uint32_t stream_type) {
+ switch (stream_type) {
+ case MD_UNUSED_STREAM:
+ return "MD_UNUSED_STREAM";
+ case MD_RESERVED_STREAM_0:
+ return "MD_RESERVED_STREAM_0";
+ case MD_RESERVED_STREAM_1:
+ return "MD_RESERVED_STREAM_1";
+@@ -5772,16 +5982,20 @@ static const char* get_stream_name(uint3
+ case MD_TOKEN_STREAM:
+ return "MD_TOKEN_STREAM";
+ case MD_JAVASCRIPT_DATA_STREAM:
+ return "MD_JAVASCRIPT_DATA_STREAM";
+ case MD_SYSTEM_MEMORY_INFO_STREAM:
+ return "MD_SYSTEM_MEMORY_INFO_STREAM";
+ case MD_PROCESS_VM_COUNTERS_STREAM:
+ return "MD_PROCESS_VM_COUNTERS_STREAM";
++ case MD_IPT_TRACE_STREAM:
++ return "MD_IPT_TRACE_STREAM";
++ case MD_THREAD_NAMES_STREAM:
++ return "MD_THREAD_NAMES_STREAM";
+ case MD_LAST_RESERVED_STREAM:
+ return "MD_LAST_RESERVED_STREAM";
+ case MD_BREAKPAD_INFO_STREAM:
+ return "MD_BREAKPAD_INFO_STREAM";
+ case MD_ASSERTION_INFO_STREAM:
+ return "MD_ASSERTION_INFO_STREAM";
+ case MD_LINUX_CPU_INFO:
+ return "MD_LINUX_CPU_INFO";
+diff --git a/src/processor/minidump_dump.cc b/src/processor/minidump_dump.cc
+--- a/src/processor/minidump_dump.cc
++++ b/src/processor/minidump_dump.cc
+@@ -49,16 +49,17 @@ using google_breakpad::MinidumpUnloadedM
+ using google_breakpad::MinidumpMemoryInfoList;
+ using google_breakpad::MinidumpMemoryList;
+ using google_breakpad::MinidumpException;
+ using google_breakpad::MinidumpAssertion;
+ using google_breakpad::MinidumpSystemInfo;
+ using google_breakpad::MinidumpMiscInfo;
+ using google_breakpad::MinidumpBreakpadInfo;
+ using google_breakpad::MinidumpCrashpadInfo;
++using google_breakpad::MinidumpThreadNamesList;
+
+ struct Options {
+ Options()
+ : minidumpPath(), hexdump(false), hexdump_width(16) {}
+
+ string minidumpPath;
+ bool hexdump;
+ unsigned int hexdump_width;
+@@ -197,16 +198,21 @@ static bool PrintMinidumpDump(const Opti
+ }
+
+ MinidumpCrashpadInfo *crashpad_info = minidump.GetCrashpadInfo();
+ if (crashpad_info) {
+ // Crashpad info is optional, so don't treat absence as an error.
+ crashpad_info->Print();
+ }
+
++ MinidumpThreadNamesList *thread_names_list = minidump.GetThreadNamesList();
++ if (thread_names_list) {
++ thread_names_list->Print();
++ }
++
+ DumpRawStream(&minidump,
+ MD_LINUX_CMD_LINE,
+ "MD_LINUX_CMD_LINE",
+ &errors);
+ DumpRawStream(&minidump,
+ MD_LINUX_ENVIRON,
+ "MD_LINUX_ENVIRON",
+ &errors);
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -173,16 +173,22 @@ ProcessResult MinidumpProcessor::Process
+ }
+
+ MinidumpMemoryList *memory_list = dump->GetMemoryList();
+ if (memory_list) {
+ BPLOG(INFO) << "Found " << memory_list->region_count()
+ << " memory regions.";
+ }
+
++ MinidumpThreadNamesList* thread_names_list = dump->GetThreadNamesList();
++ if (thread_names_list) {
++ BPLOG(INFO) << "Found " << thread_names_list->name_count()
++ << " thread names.";
++ }
++
+ MinidumpThreadList *threads = dump->GetThreadList();
+ if (!threads) {
+ BPLOG(ERROR) << "Minidump " << dump->path() << " has no thread list";
+ return PROCESS_ERROR_NO_THREAD_LIST;
+ }
+
+ BPLOG(INFO) << "Minidump " << dump->path() << " has " <<
+ (has_cpu_info ? "" : "no ") << "CPU info, " <<
+@@ -308,16 +314,19 @@ ProcessResult MinidumpProcessor::Process
+ } else {
+ // Threads with missing CPU contexts will hit this, but
+ // don't abort processing the rest of the dump just for
+ // one bad thread.
+ BPLOG(ERROR) << "No stackwalker for " << thread_string;
+ }
+ stack->set_tid(thread_id);
+ stack->set_last_error(thread->GetLastError());
++ if (thread_names_list) {
++ stack->set_name(thread_names_list->GetNameForThreadId(thread_id));
++ }
+ process_state->threads_.push_back(stack.release());
+ process_state->thread_memory_regions_.push_back(thread_memory);
+ }
+
+ if (interrupted) {
+ BPLOG(INFO) << "Processing interrupted for " << dump->path();
+ return PROCESS_SYMBOL_SUPPLIER_INTERRUPTED;
+ }
+diff --git a/src/processor/stackwalk_common.cc b/src/processor/stackwalk_common.cc
+--- a/src/processor/stackwalk_common.cc
++++ b/src/processor/stackwalk_common.cc
+@@ -876,35 +876,45 @@ void PrintProcessState(const ProcessStat
+ printf("\n");
+ printf("Application-specific information:\n");
+ printf("%s", process_state.mac_crash_info().c_str());
+ }
+
+ // If the thread that requested the dump is known, print it first.
+ int requesting_thread = process_state.requesting_thread();
+ if (requesting_thread != -1) {
+- printf("\n");
+- printf("Thread %d (%s)\n",
+- requesting_thread,
+- process_state.crashed() ? "crashed" :
+- "requested dump, did not crash");
+- PrintStack(process_state.threads()->at(requesting_thread), cpu,
++ const CallStack* requesting_thread_callstack =
++ process_state.threads()->at(requesting_thread);
++ printf("\n"
++ "Thread %d (%s)",
++ requesting_thread,
++ process_state.crashed() ? "crashed" :
++ "requested dump, did not crash");
++ if (!requesting_thread_callstack->name().empty()) {
++ printf(" - %s", requesting_thread_callstack->name().c_str());
++ }
++ PrintStack(requesting_thread_callstack, cpu,
+ output_stack_contents,
+ process_state.thread_memory_regions()->at(requesting_thread),
+ process_state.modules(), resolver);
+ }
+
+ // Print all of the threads in the dump.
+ int thread_count = process_state.threads()->size();
+ for (int thread_index = 0; thread_index < thread_count; ++thread_index) {
+ if (thread_index != requesting_thread) {
+ // Don't print the crash thread again, it was already printed.
++ const CallStack* callstack = process_state.threads()->at(thread_index);
++ printf("\n"
++ "Thread %d", thread_index);
++ if (!callstack->name().empty()) {
++ printf(" - %s", callstack->name().c_str());
++ }
+ printf("\n");
+- printf("Thread %d\n", thread_index);
+- PrintStack(process_state.threads()->at(thread_index), cpu,
++ PrintStack(callstack, cpu,
+ output_stack_contents,
+ process_state.thread_memory_regions()->at(thread_index),
+ process_state.modules(), resolver);
+ }
+ }
+
+ PrintModules(process_state.modules(),
+ process_state.modules_without_symbols(),
diff --git a/toolkit/crashreporter/breakpad-patches/22-winerror-codes.patch b/toolkit/crashreporter/breakpad-patches/22-winerror-codes.patch
new file mode 100644
index 0000000000..f0845366dc
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/22-winerror-codes.patch
@@ -0,0 +1,22069 @@
+diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h
+--- a/src/google_breakpad/common/minidump_exception_win32.h
++++ b/src/google_breakpad/common/minidump_exception_win32.h
+@@ -2925,9 +2925,2651 @@ typedef enum {
+ MD_FAST_FAIL_WIN_UNEXPECTED_HOST_BEHAVIOR = 58,
+ MD_FAST_FAIL_WIN_FLAGS_CORRUPTION = 59,
+ MD_FAST_FAIL_WIN_VEH_CORRUPTION = 60,
+ MD_FAST_FAIL_WIN_ETW_CORRUPTION = 61,
+ MD_FAST_FAIL_WIN_RIO_ABORT = 62,
+ MD_FAST_FAIL_WIN_INVALID_PFN = 63,
+ } MDFastFailWin;
+
++/* For various (MDException).exception_information entries. This describes the
++* underlying reason for the crash. These values come from winerror.h.
++ *
++ * The content of this enum was created from winnt.h in the 10 SDK
++ * (version 10.0.19041.0) with
++ *
++ * egrep -o '#define ERROR_[A-Z_0-9]+\s+[0-9]+L' winerror.h
++ * | tr -d '\r'
++ * | sed -r 's@#define ERROR_([A-Z_0-9]+)\s+([0-9]+)L@\2 \1@'
++ * | sort -n
++ * | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ MD_ERROR_WIN_\2 = \1,@' */
++typedef enum {
++ MD_ERROR_WIN_SUCCESS = 0,
++ MD_ERROR_WIN_INVALID_FUNCTION = 1,
++ MD_ERROR_WIN_FILE_NOT_FOUND = 2,
++ MD_ERROR_WIN_PATH_NOT_FOUND = 3,
++ MD_ERROR_WIN_TOO_MANY_OPEN_FILES = 4,
++ MD_ERROR_WIN_ACCESS_DENIED = 5,
++ MD_ERROR_WIN_INVALID_HANDLE = 6,
++ MD_ERROR_WIN_ARENA_TRASHED = 7,
++ MD_ERROR_WIN_NOT_ENOUGH_MEMORY = 8,
++ MD_ERROR_WIN_INVALID_BLOCK = 9,
++ MD_ERROR_WIN_BAD_ENVIRONMENT = 10,
++ MD_ERROR_WIN_BAD_FORMAT = 11,
++ MD_ERROR_WIN_INVALID_ACCESS = 12,
++ MD_ERROR_WIN_INVALID_DATA = 13,
++ MD_ERROR_WIN_OUTOFMEMORY = 14,
++ MD_ERROR_WIN_INVALID_DRIVE = 15,
++ MD_ERROR_WIN_CURRENT_DIRECTORY = 16,
++ MD_ERROR_WIN_NOT_SAME_DEVICE = 17,
++ MD_ERROR_WIN_NO_MORE_FILES = 18,
++ MD_ERROR_WIN_WRITE_PROTECT = 19,
++ MD_ERROR_WIN_BAD_UNIT = 20,
++ MD_ERROR_WIN_NOT_READY = 21,
++ MD_ERROR_WIN_BAD_COMMAND = 22,
++ MD_ERROR_WIN_CRC = 23,
++ MD_ERROR_WIN_BAD_LENGTH = 24,
++ MD_ERROR_WIN_SEEK = 25,
++ MD_ERROR_WIN_NOT_DOS_DISK = 26,
++ MD_ERROR_WIN_SECTOR_NOT_FOUND = 27,
++ MD_ERROR_WIN_OUT_OF_PAPER = 28,
++ MD_ERROR_WIN_WRITE_FAULT = 29,
++ MD_ERROR_WIN_READ_FAULT = 30,
++ MD_ERROR_WIN_GEN_FAILURE = 31,
++ MD_ERROR_WIN_SHARING_VIOLATION = 32,
++ MD_ERROR_WIN_LOCK_VIOLATION = 33,
++ MD_ERROR_WIN_WRONG_DISK = 34,
++ MD_ERROR_WIN_SHARING_BUFFER_EXCEEDED = 36,
++ MD_ERROR_WIN_HANDLE_EOF = 38,
++ MD_ERROR_WIN_HANDLE_DISK_FULL = 39,
++ MD_ERROR_WIN_NOT_SUPPORTED = 50,
++ MD_ERROR_WIN_REM_NOT_LIST = 51,
++ MD_ERROR_WIN_DUP_NAME = 52,
++ MD_ERROR_WIN_BAD_NETPATH = 53,
++ MD_ERROR_WIN_NETWORK_BUSY = 54,
++ MD_ERROR_WIN_DEV_NOT_EXIST = 55,
++ MD_ERROR_WIN_TOO_MANY_CMDS = 56,
++ MD_ERROR_WIN_ADAP_HDW_ERR = 57,
++ MD_ERROR_WIN_BAD_NET_RESP = 58,
++ MD_ERROR_WIN_UNEXP_NET_ERR = 59,
++ MD_ERROR_WIN_BAD_REM_ADAP = 60,
++ MD_ERROR_WIN_PRINTQ_FULL = 61,
++ MD_ERROR_WIN_NO_SPOOL_SPACE = 62,
++ MD_ERROR_WIN_PRINT_CANCELLED = 63,
++ MD_ERROR_WIN_NETNAME_DELETED = 64,
++ MD_ERROR_WIN_NETWORK_ACCESS_DENIED = 65,
++ MD_ERROR_WIN_BAD_DEV_TYPE = 66,
++ MD_ERROR_WIN_BAD_NET_NAME = 67,
++ MD_ERROR_WIN_TOO_MANY_NAMES = 68,
++ MD_ERROR_WIN_TOO_MANY_SESS = 69,
++ MD_ERROR_WIN_SHARING_PAUSED = 70,
++ MD_ERROR_WIN_REQ_NOT_ACCEP = 71,
++ MD_ERROR_WIN_REDIR_PAUSED = 72,
++ MD_ERROR_WIN_FILE_EXISTS = 80,
++ MD_ERROR_WIN_CANNOT_MAKE = 82,
++ MD_ERROR_WIN_FAIL_I24 = 83,
++ MD_ERROR_WIN_OUT_OF_STRUCTURES = 84,
++ MD_ERROR_WIN_ALREADY_ASSIGNED = 85,
++ MD_ERROR_WIN_INVALID_PASSWORD = 86,
++ MD_ERROR_WIN_INVALID_PARAMETER = 87,
++ MD_ERROR_WIN_NET_WRITE_FAULT = 88,
++ MD_ERROR_WIN_NO_PROC_SLOTS = 89,
++ MD_ERROR_WIN_TOO_MANY_SEMAPHORES = 100,
++ MD_ERROR_WIN_EXCL_SEM_ALREADY_OWNED = 101,
++ MD_ERROR_WIN_SEM_IS_SET = 102,
++ MD_ERROR_WIN_TOO_MANY_SEM_REQUESTS = 103,
++ MD_ERROR_WIN_INVALID_AT_INTERRUPT_TIME = 104,
++ MD_ERROR_WIN_SEM_OWNER_DIED = 105,
++ MD_ERROR_WIN_SEM_USER_LIMIT = 106,
++ MD_ERROR_WIN_DISK_CHANGE = 107,
++ MD_ERROR_WIN_DRIVE_LOCKED = 108,
++ MD_ERROR_WIN_BROKEN_PIPE = 109,
++ MD_ERROR_WIN_OPEN_FAILED = 110,
++ MD_ERROR_WIN_BUFFER_OVERFLOW = 111,
++ MD_ERROR_WIN_DISK_FULL = 112,
++ MD_ERROR_WIN_NO_MORE_SEARCH_HANDLES = 113,
++ MD_ERROR_WIN_INVALID_TARGET_HANDLE = 114,
++ MD_ERROR_WIN_INVALID_CATEGORY = 117,
++ MD_ERROR_WIN_INVALID_VERIFY_SWITCH = 118,
++ MD_ERROR_WIN_BAD_DRIVER_LEVEL = 119,
++ MD_ERROR_WIN_CALL_NOT_IMPLEMENTED = 120,
++ MD_ERROR_WIN_SEM_TIMEOUT = 121,
++ MD_ERROR_WIN_INSUFFICIENT_BUFFER = 122,
++ MD_ERROR_WIN_INVALID_NAME = 123,
++ MD_ERROR_WIN_INVALID_LEVEL = 124,
++ MD_ERROR_WIN_NO_VOLUME_LABEL = 125,
++ MD_ERROR_WIN_MOD_NOT_FOUND = 126,
++ MD_ERROR_WIN_PROC_NOT_FOUND = 127,
++ MD_ERROR_WIN_WAIT_NO_CHILDREN = 128,
++ MD_ERROR_WIN_CHILD_NOT_COMPLETE = 129,
++ MD_ERROR_WIN_DIRECT_ACCESS_HANDLE = 130,
++ MD_ERROR_WIN_NEGATIVE_SEEK = 131,
++ MD_ERROR_WIN_SEEK_ON_DEVICE = 132,
++ MD_ERROR_WIN_IS_JOIN_TARGET = 133,
++ MD_ERROR_WIN_IS_JOINED = 134,
++ MD_ERROR_WIN_IS_SUBSTED = 135,
++ MD_ERROR_WIN_NOT_JOINED = 136,
++ MD_ERROR_WIN_NOT_SUBSTED = 137,
++ MD_ERROR_WIN_JOIN_TO_JOIN = 138,
++ MD_ERROR_WIN_SUBST_TO_SUBST = 139,
++ MD_ERROR_WIN_JOIN_TO_SUBST = 140,
++ MD_ERROR_WIN_SUBST_TO_JOIN = 141,
++ MD_ERROR_WIN_BUSY_DRIVE = 142,
++ MD_ERROR_WIN_SAME_DRIVE = 143,
++ MD_ERROR_WIN_DIR_NOT_ROOT = 144,
++ MD_ERROR_WIN_DIR_NOT_EMPTY = 145,
++ MD_ERROR_WIN_IS_SUBST_PATH = 146,
++ MD_ERROR_WIN_IS_JOIN_PATH = 147,
++ MD_ERROR_WIN_PATH_BUSY = 148,
++ MD_ERROR_WIN_IS_SUBST_TARGET = 149,
++ MD_ERROR_WIN_SYSTEM_TRACE = 150,
++ MD_ERROR_WIN_INVALID_EVENT_COUNT = 151,
++ MD_ERROR_WIN_TOO_MANY_MUXWAITERS = 152,
++ MD_ERROR_WIN_INVALID_LIST_FORMAT = 153,
++ MD_ERROR_WIN_LABEL_TOO_LONG = 154,
++ MD_ERROR_WIN_TOO_MANY_TCBS = 155,
++ MD_ERROR_WIN_SIGNAL_REFUSED = 156,
++ MD_ERROR_WIN_DISCARDED = 157,
++ MD_ERROR_WIN_NOT_LOCKED = 158,
++ MD_ERROR_WIN_BAD_THREADID_ADDR = 159,
++ MD_ERROR_WIN_BAD_ARGUMENTS = 160,
++ MD_ERROR_WIN_BAD_PATHNAME = 161,
++ MD_ERROR_WIN_SIGNAL_PENDING = 162,
++ MD_ERROR_WIN_MAX_THRDS_REACHED = 164,
++ MD_ERROR_WIN_LOCK_FAILED = 167,
++ MD_ERROR_WIN_BUSY = 170,
++ MD_ERROR_WIN_DEVICE_SUPPORT_IN_PROGRESS = 171,
++ MD_ERROR_WIN_CANCEL_VIOLATION = 173,
++ MD_ERROR_WIN_ATOMIC_LOCKS_NOT_SUPPORTED = 174,
++ MD_ERROR_WIN_INVALID_SEGMENT_NUMBER = 180,
++ MD_ERROR_WIN_INVALID_ORDINAL = 182,
++ MD_ERROR_WIN_ALREADY_EXISTS = 183,
++ MD_ERROR_WIN_INVALID_FLAG_NUMBER = 186,
++ MD_ERROR_WIN_SEM_NOT_FOUND = 187,
++ MD_ERROR_WIN_INVALID_STARTING_CODESEG = 188,
++ MD_ERROR_WIN_INVALID_STACKSEG = 189,
++ MD_ERROR_WIN_INVALID_MODULETYPE = 190,
++ MD_ERROR_WIN_INVALID_EXE_SIGNATURE = 191,
++ MD_ERROR_WIN_EXE_MARKED_INVALID = 192,
++ MD_ERROR_WIN_BAD_EXE_FORMAT = 193,
++ MD_ERROR_WIN_INVALID_MINALLOCSIZE = 195,
++ MD_ERROR_WIN_DYNLINK_FROM_INVALID_RING = 196,
++ MD_ERROR_WIN_IOPL_NOT_ENABLED = 197,
++ MD_ERROR_WIN_INVALID_SEGDPL = 198,
++ MD_ERROR_WIN_RING2SEG_MUST_BE_MOVABLE = 200,
++ MD_ERROR_WIN_RELOC_CHAIN_XEEDS_SEGLIM = 201,
++ MD_ERROR_WIN_INFLOOP_IN_RELOC_CHAIN = 202,
++ MD_ERROR_WIN_ENVVAR_NOT_FOUND = 203,
++ MD_ERROR_WIN_NO_SIGNAL_SENT = 205,
++ MD_ERROR_WIN_FILENAME_EXCED_RANGE = 206,
++ MD_ERROR_WIN_RING2_STACK_IN_USE = 207,
++ MD_ERROR_WIN_META_EXPANSION_TOO_LONG = 208,
++ MD_ERROR_WIN_INVALID_SIGNAL_NUMBER = 209,
++ MD_ERROR_WIN_THREAD_1_INACTIVE = 210,
++ MD_ERROR_WIN_LOCKED = 212,
++ MD_ERROR_WIN_TOO_MANY_MODULES = 214,
++ MD_ERROR_WIN_NESTING_NOT_ALLOWED = 215,
++ MD_ERROR_WIN_EXE_MACHINE_TYPE_MISMATCH = 216,
++ MD_ERROR_WIN_EXE_CANNOT_MODIFY_SIGNED_BINARY = 217,
++ MD_ERROR_WIN_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY = 218,
++ MD_ERROR_WIN_FILE_CHECKED_OUT = 220,
++ MD_ERROR_WIN_CHECKOUT_REQUIRED = 221,
++ MD_ERROR_WIN_BAD_FILE_TYPE = 222,
++ MD_ERROR_WIN_FILE_TOO_LARGE = 223,
++ MD_ERROR_WIN_FORMS_AUTH_REQUIRED = 224,
++ MD_ERROR_WIN_VIRUS_INFECTED = 225,
++ MD_ERROR_WIN_VIRUS_DELETED = 226,
++ MD_ERROR_WIN_PIPE_LOCAL = 229,
++ MD_ERROR_WIN_BAD_PIPE = 230,
++ MD_ERROR_WIN_PIPE_BUSY = 231,
++ MD_ERROR_WIN_NO_DATA = 232,
++ MD_ERROR_WIN_PIPE_NOT_CONNECTED = 233,
++ MD_ERROR_WIN_MORE_DATA = 234,
++ MD_ERROR_WIN_NO_WORK_DONE = 235,
++ MD_ERROR_WIN_VC_DISCONNECTED = 240,
++ MD_ERROR_WIN_INVALID_EA_NAME = 254,
++ MD_ERROR_WIN_EA_LIST_INCONSISTENT = 255,
++ MD_ERROR_WIN_NO_MORE_ITEMS = 259,
++ MD_ERROR_WIN_CANNOT_COPY = 266,
++ MD_ERROR_WIN_DIRECTORY = 267,
++ MD_ERROR_WIN_EAS_DIDNT_FIT = 275,
++ MD_ERROR_WIN_EA_FILE_CORRUPT = 276,
++ MD_ERROR_WIN_EA_TABLE_FULL = 277,
++ MD_ERROR_WIN_INVALID_EA_HANDLE = 278,
++ MD_ERROR_WIN_EAS_NOT_SUPPORTED = 282,
++ MD_ERROR_WIN_NOT_OWNER = 288,
++ MD_ERROR_WIN_TOO_MANY_POSTS = 298,
++ MD_ERROR_WIN_PARTIAL_COPY = 299,
++ MD_ERROR_WIN_OPLOCK_NOT_GRANTED = 300,
++ MD_ERROR_WIN_INVALID_OPLOCK_PROTOCOL = 301,
++ MD_ERROR_WIN_DISK_TOO_FRAGMENTED = 302,
++ MD_ERROR_WIN_DELETE_PENDING = 303,
++ MD_ERROR_WIN_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING = 304,
++ MD_ERROR_WIN_SHORT_NAMES_NOT_ENABLED_ON_VOLUME = 305,
++ MD_ERROR_WIN_SECURITY_STREAM_IS_INCONSISTENT = 306,
++ MD_ERROR_WIN_INVALID_LOCK_RANGE = 307,
++ MD_ERROR_WIN_IMAGE_SUBSYSTEM_NOT_PRESENT = 308,
++ MD_ERROR_WIN_NOTIFICATION_GUID_ALREADY_DEFINED = 309,
++ MD_ERROR_WIN_INVALID_EXCEPTION_HANDLER = 310,
++ MD_ERROR_WIN_DUPLICATE_PRIVILEGES = 311,
++ MD_ERROR_WIN_NO_RANGES_PROCESSED = 312,
++ MD_ERROR_WIN_NOT_ALLOWED_ON_SYSTEM_FILE = 313,
++ MD_ERROR_WIN_DISK_RESOURCES_EXHAUSTED = 314,
++ MD_ERROR_WIN_INVALID_TOKEN = 315,
++ MD_ERROR_WIN_DEVICE_FEATURE_NOT_SUPPORTED = 316,
++ MD_ERROR_WIN_MR_MID_NOT_FOUND = 317,
++ MD_ERROR_WIN_SCOPE_NOT_FOUND = 318,
++ MD_ERROR_WIN_UNDEFINED_SCOPE = 319,
++ MD_ERROR_WIN_INVALID_CAP = 320,
++ MD_ERROR_WIN_DEVICE_UNREACHABLE = 321,
++ MD_ERROR_WIN_DEVICE_NO_RESOURCES = 322,
++ MD_ERROR_WIN_DATA_CHECKSUM_ERROR = 323,
++ MD_ERROR_WIN_INTERMIXED_KERNEL_EA_OPERATION = 324,
++ MD_ERROR_WIN_FILE_LEVEL_TRIM_NOT_SUPPORTED = 326,
++ MD_ERROR_WIN_OFFSET_ALIGNMENT_VIOLATION = 327,
++ MD_ERROR_WIN_INVALID_FIELD_IN_PARAMETER_LIST = 328,
++ MD_ERROR_WIN_OPERATION_IN_PROGRESS = 329,
++ MD_ERROR_WIN_BAD_DEVICE_PATH = 330,
++ MD_ERROR_WIN_TOO_MANY_DESCRIPTORS = 331,
++ MD_ERROR_WIN_SCRUB_DATA_DISABLED = 332,
++ MD_ERROR_WIN_NOT_REDUNDANT_STORAGE = 333,
++ MD_ERROR_WIN_RESIDENT_FILE_NOT_SUPPORTED = 334,
++ MD_ERROR_WIN_COMPRESSED_FILE_NOT_SUPPORTED = 335,
++ MD_ERROR_WIN_DIRECTORY_NOT_SUPPORTED = 336,
++ MD_ERROR_WIN_NOT_READ_FROM_COPY = 337,
++ MD_ERROR_WIN_FT_WRITE_FAILURE = 338,
++ MD_ERROR_WIN_FT_DI_SCAN_REQUIRED = 339,
++ MD_ERROR_WIN_INVALID_KERNEL_INFO_VERSION = 340,
++ MD_ERROR_WIN_INVALID_PEP_INFO_VERSION = 341,
++ MD_ERROR_WIN_OBJECT_NOT_EXTERNALLY_BACKED = 342,
++ MD_ERROR_WIN_EXTERNAL_BACKING_PROVIDER_UNKNOWN = 343,
++ MD_ERROR_WIN_COMPRESSION_NOT_BENEFICIAL = 344,
++ MD_ERROR_WIN_STORAGE_TOPOLOGY_ID_MISMATCH = 345,
++ MD_ERROR_WIN_BLOCKED_BY_PARENTAL_CONTROLS = 346,
++ MD_ERROR_WIN_BLOCK_TOO_MANY_REFERENCES = 347,
++ MD_ERROR_WIN_MARKED_TO_DISALLOW_WRITES = 348,
++ MD_ERROR_WIN_ENCLAVE_FAILURE = 349,
++ MD_ERROR_WIN_FAIL_NOACTION_REBOOT = 350,
++ MD_ERROR_WIN_FAIL_SHUTDOWN = 351,
++ MD_ERROR_WIN_FAIL_RESTART = 352,
++ MD_ERROR_WIN_MAX_SESSIONS_REACHED = 353,
++ MD_ERROR_WIN_NETWORK_ACCESS_DENIED_EDP = 354,
++ MD_ERROR_WIN_DEVICE_HINT_NAME_BUFFER_TOO_SMALL = 355,
++ MD_ERROR_WIN_EDP_POLICY_DENIES_OPERATION = 356,
++ MD_ERROR_WIN_EDP_DPL_POLICY_CANT_BE_SATISFIED = 357,
++ MD_ERROR_WIN_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT = 358,
++ MD_ERROR_WIN_DEVICE_IN_MAINTENANCE = 359,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_DAX = 360,
++ MD_ERROR_WIN_DAX_MAPPING_EXISTS = 361,
++ MD_ERROR_WIN_CLOUD_FILE_PROVIDER_NOT_RUNNING = 362,
++ MD_ERROR_WIN_CLOUD_FILE_METADATA_CORRUPT = 363,
++ MD_ERROR_WIN_CLOUD_FILE_METADATA_TOO_LARGE = 364,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE = 365,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH = 366,
++ MD_ERROR_WIN_CHILD_PROCESS_BLOCKED = 367,
++ MD_ERROR_WIN_STORAGE_LOST_DATA_PERSISTENCE = 368,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE = 369,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT = 370,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_BUSY = 371,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN = 372,
++ MD_ERROR_WIN_GDI_HANDLE_LEAK = 373,
++ MD_ERROR_WIN_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS = 374,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED = 375,
++ MD_ERROR_WIN_NOT_A_CLOUD_FILE = 376,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_IN_SYNC = 377,
++ MD_ERROR_WIN_CLOUD_FILE_ALREADY_CONNECTED = 378,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_SUPPORTED = 379,
++ MD_ERROR_WIN_CLOUD_FILE_INVALID_REQUEST = 380,
++ MD_ERROR_WIN_CLOUD_FILE_READ_ONLY_VOLUME = 381,
++ MD_ERROR_WIN_CLOUD_FILE_CONNECTED_PROVIDER_ONLY = 382,
++ MD_ERROR_WIN_CLOUD_FILE_VALIDATION_FAILED = 383,
++ MD_ERROR_WIN_SMB1_NOT_AVAILABLE = 384,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION = 385,
++ MD_ERROR_WIN_CLOUD_FILE_AUTHENTICATION_FAILED = 386,
++ MD_ERROR_WIN_CLOUD_FILE_INSUFFICIENT_RESOURCES = 387,
++ MD_ERROR_WIN_CLOUD_FILE_NETWORK_UNAVAILABLE = 388,
++ MD_ERROR_WIN_CLOUD_FILE_UNSUCCESSFUL = 389,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_UNDER_SYNC_ROOT = 390,
++ MD_ERROR_WIN_CLOUD_FILE_IN_USE = 391,
++ MD_ERROR_WIN_CLOUD_FILE_PINNED = 392,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_ABORTED = 393,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_CORRUPT = 394,
++ MD_ERROR_WIN_CLOUD_FILE_ACCESS_DENIED = 395,
++ MD_ERROR_WIN_CLOUD_FILE_INCOMPATIBLE_HARDLINKS = 396,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_LOCK_CONFLICT = 397,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_CANCELED = 398,
++ MD_ERROR_WIN_EXTERNAL_SYSKEY_NOT_SUPPORTED = 399,
++ MD_ERROR_WIN_THREAD_MODE_ALREADY_BACKGROUND = 400,
++ MD_ERROR_WIN_THREAD_MODE_NOT_BACKGROUND = 401,
++ MD_ERROR_WIN_PROCESS_MODE_ALREADY_BACKGROUND = 402,
++ MD_ERROR_WIN_PROCESS_MODE_NOT_BACKGROUND = 403,
++ MD_ERROR_WIN_CLOUD_FILE_PROVIDER_TERMINATED = 404,
++ MD_ERROR_WIN_NOT_A_CLOUD_SYNC_ROOT = 405,
++ MD_ERROR_WIN_FILE_PROTECTED_UNDER_DPL = 406,
++ MD_ERROR_WIN_VOLUME_NOT_CLUSTER_ALIGNED = 407,
++ MD_ERROR_WIN_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND = 408,
++ MD_ERROR_WIN_APPX_FILE_NOT_ENCRYPTED = 409,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED = 410,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET = 411,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE = 412,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER = 413,
++ MD_ERROR_WIN_LINUX_SUBSYSTEM_NOT_PRESENT = 414,
++ MD_ERROR_WIN_FT_READ_FAILURE = 415,
++ MD_ERROR_WIN_STORAGE_RESERVE_ID_INVALID = 416,
++ MD_ERROR_WIN_STORAGE_RESERVE_DOES_NOT_EXIST = 417,
++ MD_ERROR_WIN_STORAGE_RESERVE_ALREADY_EXISTS = 418,
++ MD_ERROR_WIN_STORAGE_RESERVE_NOT_EMPTY = 419,
++ MD_ERROR_WIN_NOT_A_DAX_VOLUME = 420,
++ MD_ERROR_WIN_NOT_DAX_MAPPABLE = 421,
++ MD_ERROR_WIN_TIME_SENSITIVE_THREAD = 422,
++ MD_ERROR_WIN_DPL_NOT_SUPPORTED_FOR_USER = 423,
++ MD_ERROR_WIN_CASE_DIFFERING_NAMES_IN_DIR = 424,
++ MD_ERROR_WIN_FILE_NOT_SUPPORTED = 425,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_TIMEOUT = 426,
++ MD_ERROR_WIN_NO_TASK_QUEUE = 427,
++ MD_ERROR_WIN_SRC_SRV_DLL_LOAD_FAILED = 428,
++ MD_ERROR_WIN_NOT_SUPPORTED_WITH_BTT = 429,
++ MD_ERROR_WIN_ENCRYPTION_DISABLED = 430,
++ MD_ERROR_WIN_ENCRYPTING_METADATA_DISALLOWED = 431,
++ MD_ERROR_WIN_CANT_CLEAR_ENCRYPTION_FLAG = 432,
++ MD_ERROR_WIN_NO_SUCH_DEVICE = 433,
++ MD_ERROR_WIN_CLOUD_FILE_DEHYDRATION_DISALLOWED = 434,
++ MD_ERROR_WIN_FILE_SNAP_IN_PROGRESS = 435,
++ MD_ERROR_WIN_FILE_SNAP_USER_SECTION_NOT_SUPPORTED = 436,
++ MD_ERROR_WIN_FILE_SNAP_MODIFY_NOT_SUPPORTED = 437,
++ MD_ERROR_WIN_FILE_SNAP_IO_NOT_COORDINATED = 438,
++ MD_ERROR_WIN_FILE_SNAP_UNEXPECTED_ERROR = 439,
++ MD_ERROR_WIN_FILE_SNAP_INVALID_PARAMETER = 440,
++ MD_ERROR_WIN_UNSATISFIED_DEPENDENCIES = 441,
++ MD_ERROR_WIN_CASE_SENSITIVE_PATH = 442,
++ MD_ERROR_WIN_UNEXPECTED_NTCACHEMANAGER_ERROR = 443,
++ MD_ERROR_WIN_LINUX_SUBSYSTEM_UPDATE_REQUIRED = 444,
++ MD_ERROR_WIN_DLP_POLICY_WARNS_AGAINST_OPERATION = 445,
++ MD_ERROR_WIN_DLP_POLICY_DENIES_OPERATION = 446,
++ MD_ERROR_WIN_DLP_POLICY_SILENTLY_FAIL = 449,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_DEVUNLOCKED = 450,
++ MD_ERROR_WIN_CAPAUTHZ_CHANGE_TYPE = 451,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_PROVISIONED = 452,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_AUTHORIZED = 453,
++ MD_ERROR_WIN_CAPAUTHZ_NO_POLICY = 454,
++ MD_ERROR_WIN_CAPAUTHZ_DB_CORRUPTED = 455,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_INVALID_CATALOG = 456,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_NO_AUTH_ENTITY = 457,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_PARSE_ERROR = 458,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED = 459,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH = 460,
++ MD_ERROR_WIN_CIMFS_IMAGE_CORRUPT = 470,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_DEVICE_TIMEOUT = 480,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT = 481,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT = 482,
++ MD_ERROR_WIN_DEVICE_HARDWARE_ERROR = 483,
++ MD_ERROR_WIN_INVALID_ADDRESS = 487,
++ MD_ERROR_WIN_HAS_SYSTEM_CRITICAL_FILES = 488,
++ MD_ERROR_WIN_USER_PROFILE_LOAD = 500,
++ MD_ERROR_WIN_ARITHMETIC_OVERFLOW = 534,
++ MD_ERROR_WIN_PIPE_CONNECTED = 535,
++ MD_ERROR_WIN_PIPE_LISTENING = 536,
++ MD_ERROR_WIN_VERIFIER_STOP = 537,
++ MD_ERROR_WIN_ABIOS_ERROR = 538,
++ MD_ERROR_WIN_WX86_WARNING = 539,
++ MD_ERROR_WIN_WX86_ERROR = 540,
++ MD_ERROR_WIN_TIMER_NOT_CANCELED = 541,
++ MD_ERROR_WIN_UNWIND = 542,
++ MD_ERROR_WIN_BAD_STACK = 543,
++ MD_ERROR_WIN_INVALID_UNWIND_TARGET = 544,
++ MD_ERROR_WIN_INVALID_PORT_ATTRIBUTES = 545,
++ MD_ERROR_WIN_PORT_MESSAGE_TOO_LONG = 546,
++ MD_ERROR_WIN_INVALID_QUOTA_LOWER = 547,
++ MD_ERROR_WIN_DEVICE_ALREADY_ATTACHED = 548,
++ MD_ERROR_WIN_INSTRUCTION_MISALIGNMENT = 549,
++ MD_ERROR_WIN_PROFILING_NOT_STARTED = 550,
++ MD_ERROR_WIN_PROFILING_NOT_STOPPED = 551,
++ MD_ERROR_WIN_COULD_NOT_INTERPRET = 552,
++ MD_ERROR_WIN_PROFILING_AT_LIMIT = 553,
++ MD_ERROR_WIN_CANT_WAIT = 554,
++ MD_ERROR_WIN_CANT_TERMINATE_SELF = 555,
++ MD_ERROR_WIN_UNEXPECTED_MM_CREATE_ERR = 556,
++ MD_ERROR_WIN_UNEXPECTED_MM_MAP_ERROR = 557,
++ MD_ERROR_WIN_UNEXPECTED_MM_EXTEND_ERR = 558,
++ MD_ERROR_WIN_BAD_FUNCTION_TABLE = 559,
++ MD_ERROR_WIN_NO_GUID_TRANSLATION = 560,
++ MD_ERROR_WIN_INVALID_LDT_SIZE = 561,
++ MD_ERROR_WIN_INVALID_LDT_OFFSET = 563,
++ MD_ERROR_WIN_INVALID_LDT_DESCRIPTOR = 564,
++ MD_ERROR_WIN_TOO_MANY_THREADS = 565,
++ MD_ERROR_WIN_THREAD_NOT_IN_PROCESS = 566,
++ MD_ERROR_WIN_PAGEFILE_QUOTA_EXCEEDED = 567,
++ MD_ERROR_WIN_LOGON_SERVER_CONFLICT = 568,
++ MD_ERROR_WIN_SYNCHRONIZATION_REQUIRED = 569,
++ MD_ERROR_WIN_NET_OPEN_FAILED = 570,
++ MD_ERROR_WIN_IO_PRIVILEGE_FAILED = 571,
++ MD_ERROR_WIN_CONTROL_C_EXIT = 572,
++ MD_ERROR_WIN_MISSING_SYSTEMFILE = 573,
++ MD_ERROR_WIN_UNHANDLED_EXCEPTION = 574,
++ MD_ERROR_WIN_APP_INIT_FAILURE = 575,
++ MD_ERROR_WIN_PAGEFILE_CREATE_FAILED = 576,
++ MD_ERROR_WIN_INVALID_IMAGE_HASH = 577,
++ MD_ERROR_WIN_NO_PAGEFILE = 578,
++ MD_ERROR_WIN_ILLEGAL_FLOAT_CONTEXT = 579,
++ MD_ERROR_WIN_NO_EVENT_PAIR = 580,
++ MD_ERROR_WIN_DOMAIN_CTRLR_CONFIG_ERROR = 581,
++ MD_ERROR_WIN_ILLEGAL_CHARACTER = 582,
++ MD_ERROR_WIN_UNDEFINED_CHARACTER = 583,
++ MD_ERROR_WIN_FLOPPY_VOLUME = 584,
++ MD_ERROR_WIN_BIOS_FAILED_TO_CONNECT_INTERRUPT = 585,
++ MD_ERROR_WIN_BACKUP_CONTROLLER = 586,
++ MD_ERROR_WIN_MUTANT_LIMIT_EXCEEDED = 587,
++ MD_ERROR_WIN_FS_DRIVER_REQUIRED = 588,
++ MD_ERROR_WIN_CANNOT_LOAD_REGISTRY_FILE = 589,
++ MD_ERROR_WIN_DEBUG_ATTACH_FAILED = 590,
++ MD_ERROR_WIN_SYSTEM_PROCESS_TERMINATED = 591,
++ MD_ERROR_WIN_DATA_NOT_ACCEPTED = 592,
++ MD_ERROR_WIN_VDM_HARD_ERROR = 593,
++ MD_ERROR_WIN_DRIVER_CANCEL_TIMEOUT = 594,
++ MD_ERROR_WIN_REPLY_MESSAGE_MISMATCH = 595,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA = 596,
++ MD_ERROR_WIN_CLIENT_SERVER_PARAMETERS_INVALID = 597,
++ MD_ERROR_WIN_NOT_TINY_STREAM = 598,
++ MD_ERROR_WIN_STACK_OVERFLOW_READ = 599,
++ MD_ERROR_WIN_CONVERT_TO_LARGE = 600,
++ MD_ERROR_WIN_FOUND_OUT_OF_SCOPE = 601,
++ MD_ERROR_WIN_ALLOCATE_BUCKET = 602,
++ MD_ERROR_WIN_MARSHALL_OVERFLOW = 603,
++ MD_ERROR_WIN_INVALID_VARIANT = 604,
++ MD_ERROR_WIN_BAD_COMPRESSION_BUFFER = 605,
++ MD_ERROR_WIN_AUDIT_FAILED = 606,
++ MD_ERROR_WIN_TIMER_RESOLUTION_NOT_SET = 607,
++ MD_ERROR_WIN_INSUFFICIENT_LOGON_INFO = 608,
++ MD_ERROR_WIN_BAD_DLL_ENTRYPOINT = 609,
++ MD_ERROR_WIN_BAD_SERVICE_ENTRYPOINT = 610,
++ MD_ERROR_WIN_IP_ADDRESS_CONFLICT1 = 611,
++ MD_ERROR_WIN_IP_ADDRESS_CONFLICT2 = 612,
++ MD_ERROR_WIN_REGISTRY_QUOTA_LIMIT = 613,
++ MD_ERROR_WIN_NO_CALLBACK_ACTIVE = 614,
++ MD_ERROR_WIN_PWD_TOO_SHORT = 615,
++ MD_ERROR_WIN_PWD_TOO_RECENT = 616,
++ MD_ERROR_WIN_PWD_HISTORY_CONFLICT = 617,
++ MD_ERROR_WIN_UNSUPPORTED_COMPRESSION = 618,
++ MD_ERROR_WIN_INVALID_HW_PROFILE = 619,
++ MD_ERROR_WIN_INVALID_PLUGPLAY_DEVICE_PATH = 620,
++ MD_ERROR_WIN_QUOTA_LIST_INCONSISTENT = 621,
++ MD_ERROR_WIN_EVALUATION_EXPIRATION = 622,
++ MD_ERROR_WIN_ILLEGAL_DLL_RELOCATION = 623,
++ MD_ERROR_WIN_DLL_INIT_FAILED_LOGOFF = 624,
++ MD_ERROR_WIN_VALIDATE_CONTINUE = 625,
++ MD_ERROR_WIN_NO_MORE_MATCHES = 626,
++ MD_ERROR_WIN_RANGE_LIST_CONFLICT = 627,
++ MD_ERROR_WIN_SERVER_SID_MISMATCH = 628,
++ MD_ERROR_WIN_CANT_ENABLE_DENY_ONLY = 629,
++ MD_ERROR_WIN_FLOAT_MULTIPLE_FAULTS = 630,
++ MD_ERROR_WIN_FLOAT_MULTIPLE_TRAPS = 631,
++ MD_ERROR_WIN_NOINTERFACE = 632,
++ MD_ERROR_WIN_DRIVER_FAILED_SLEEP = 633,
++ MD_ERROR_WIN_CORRUPT_SYSTEM_FILE = 634,
++ MD_ERROR_WIN_COMMITMENT_MINIMUM = 635,
++ MD_ERROR_WIN_PNP_RESTART_ENUMERATION = 636,
++ MD_ERROR_WIN_SYSTEM_IMAGE_BAD_SIGNATURE = 637,
++ MD_ERROR_WIN_PNP_REBOOT_REQUIRED = 638,
++ MD_ERROR_WIN_INSUFFICIENT_POWER = 639,
++ MD_ERROR_WIN_MULTIPLE_FAULT_VIOLATION = 640,
++ MD_ERROR_WIN_SYSTEM_SHUTDOWN = 641,
++ MD_ERROR_WIN_PORT_NOT_SET = 642,
++ MD_ERROR_WIN_DS_VERSION_CHECK_FAILURE = 643,
++ MD_ERROR_WIN_RANGE_NOT_FOUND = 644,
++ MD_ERROR_WIN_NOT_SAFE_MODE_DRIVER = 646,
++ MD_ERROR_WIN_FAILED_DRIVER_ENTRY = 647,
++ MD_ERROR_WIN_DEVICE_ENUMERATION_ERROR = 648,
++ MD_ERROR_WIN_MOUNT_POINT_NOT_RESOLVED = 649,
++ MD_ERROR_WIN_INVALID_DEVICE_OBJECT_PARAMETER = 650,
++ MD_ERROR_WIN_MCA_OCCURED = 651,
++ MD_ERROR_WIN_DRIVER_DATABASE_ERROR = 652,
++ MD_ERROR_WIN_SYSTEM_HIVE_TOO_LARGE = 653,
++ MD_ERROR_WIN_DRIVER_FAILED_PRIOR_UNLOAD = 654,
++ MD_ERROR_WIN_VOLSNAP_PREPARE_HIBERNATE = 655,
++ MD_ERROR_WIN_HIBERNATION_FAILURE = 656,
++ MD_ERROR_WIN_PWD_TOO_LONG = 657,
++ MD_ERROR_WIN_FILE_SYSTEM_LIMITATION = 665,
++ MD_ERROR_WIN_ASSERTION_FAILURE = 668,
++ MD_ERROR_WIN_ACPI_ERROR = 669,
++ MD_ERROR_WIN_WOW_ASSERTION = 670,
++ MD_ERROR_WIN_PNP_BAD_MPS_TABLE = 671,
++ MD_ERROR_WIN_PNP_TRANSLATION_FAILED = 672,
++ MD_ERROR_WIN_PNP_IRQ_TRANSLATION_FAILED = 673,
++ MD_ERROR_WIN_PNP_INVALID_ID = 674,
++ MD_ERROR_WIN_WAKE_SYSTEM_DEBUGGER = 675,
++ MD_ERROR_WIN_HANDLES_CLOSED = 676,
++ MD_ERROR_WIN_EXTRANEOUS_INFORMATION = 677,
++ MD_ERROR_WIN_RXACT_COMMIT_NECESSARY = 678,
++ MD_ERROR_WIN_MEDIA_CHECK = 679,
++ MD_ERROR_WIN_GUID_SUBSTITUTION_MADE = 680,
++ MD_ERROR_WIN_STOPPED_ON_SYMLINK = 681,
++ MD_ERROR_WIN_LONGJUMP = 682,
++ MD_ERROR_WIN_PLUGPLAY_QUERY_VETOED = 683,
++ MD_ERROR_WIN_UNWIND_CONSOLIDATE = 684,
++ MD_ERROR_WIN_REGISTRY_HIVE_RECOVERED = 685,
++ MD_ERROR_WIN_DLL_MIGHT_BE_INSECURE = 686,
++ MD_ERROR_WIN_DLL_MIGHT_BE_INCOMPATIBLE = 687,
++ MD_ERROR_WIN_DBG_EXCEPTION_NOT_HANDLED = 688,
++ MD_ERROR_WIN_DBG_REPLY_LATER = 689,
++ MD_ERROR_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE = 690,
++ MD_ERROR_WIN_DBG_TERMINATE_THREAD = 691,
++ MD_ERROR_WIN_DBG_TERMINATE_PROCESS = 692,
++ MD_ERROR_WIN_DBG_CONTROL_C = 693,
++ MD_ERROR_WIN_DBG_PRINTEXCEPTION_C = 694,
++ MD_ERROR_WIN_DBG_RIPEXCEPTION = 695,
++ MD_ERROR_WIN_DBG_CONTROL_BREAK = 696,
++ MD_ERROR_WIN_DBG_COMMAND_EXCEPTION = 697,
++ MD_ERROR_WIN_OBJECT_NAME_EXISTS = 698,
++ MD_ERROR_WIN_THREAD_WAS_SUSPENDED = 699,
++ MD_ERROR_WIN_IMAGE_NOT_AT_BASE = 700,
++ MD_ERROR_WIN_RXACT_STATE_CREATED = 701,
++ MD_ERROR_WIN_SEGMENT_NOTIFICATION = 702,
++ MD_ERROR_WIN_BAD_CURRENT_DIRECTORY = 703,
++ MD_ERROR_WIN_FT_READ_RECOVERY_FROM_BACKUP = 704,
++ MD_ERROR_WIN_FT_WRITE_RECOVERY = 705,
++ MD_ERROR_WIN_IMAGE_MACHINE_TYPE_MISMATCH = 706,
++ MD_ERROR_WIN_RECEIVE_PARTIAL = 707,
++ MD_ERROR_WIN_RECEIVE_EXPEDITED = 708,
++ MD_ERROR_WIN_RECEIVE_PARTIAL_EXPEDITED = 709,
++ MD_ERROR_WIN_EVENT_DONE = 710,
++ MD_ERROR_WIN_EVENT_PENDING = 711,
++ MD_ERROR_WIN_CHECKING_FILE_SYSTEM = 712,
++ MD_ERROR_WIN_FATAL_APP_EXIT = 713,
++ MD_ERROR_WIN_PREDEFINED_HANDLE = 714,
++ MD_ERROR_WIN_WAS_UNLOCKED = 715,
++ MD_ERROR_WIN_SERVICE_NOTIFICATION = 716,
++ MD_ERROR_WIN_WAS_LOCKED = 717,
++ MD_ERROR_WIN_LOG_HARD_ERROR = 718,
++ MD_ERROR_WIN_ALREADY_WIN32 = 719,
++ MD_ERROR_WIN_IMAGE_MACHINE_TYPE_MISMATCH_EXE = 720,
++ MD_ERROR_WIN_NO_YIELD_PERFORMED = 721,
++ MD_ERROR_WIN_TIMER_RESUME_IGNORED = 722,
++ MD_ERROR_WIN_ARBITRATION_UNHANDLED = 723,
++ MD_ERROR_WIN_CARDBUS_NOT_SUPPORTED = 724,
++ MD_ERROR_WIN_MP_PROCESSOR_MISMATCH = 725,
++ MD_ERROR_WIN_HIBERNATED = 726,
++ MD_ERROR_WIN_RESUME_HIBERNATION = 727,
++ MD_ERROR_WIN_FIRMWARE_UPDATED = 728,
++ MD_ERROR_WIN_DRIVERS_LEAKING_LOCKED_PAGES = 729,
++ MD_ERROR_WIN_WAKE_SYSTEM = 730,
++ MD_ERROR_WIN_WAIT_1 = 731,
++ MD_ERROR_WIN_WAIT_2 = 732,
++ MD_ERROR_WIN_WAIT_3 = 733,
++ MD_ERROR_WIN_WAIT_63 = 734,
++ MD_ERROR_WIN_ABANDONED_WAIT_0 = 735,
++ MD_ERROR_WIN_ABANDONED_WAIT_63 = 736,
++ MD_ERROR_WIN_USER_APC = 737,
++ MD_ERROR_WIN_KERNEL_APC = 738,
++ MD_ERROR_WIN_ALERTED = 739,
++ MD_ERROR_WIN_ELEVATION_REQUIRED = 740,
++ MD_ERROR_WIN_REPARSE = 741,
++ MD_ERROR_WIN_OPLOCK_BREAK_IN_PROGRESS = 742,
++ MD_ERROR_WIN_VOLUME_MOUNTED = 743,
++ MD_ERROR_WIN_RXACT_COMMITTED = 744,
++ MD_ERROR_WIN_NOTIFY_CLEANUP = 745,
++ MD_ERROR_WIN_PRIMARY_TRANSPORT_CONNECT_FAILED = 746,
++ MD_ERROR_WIN_PAGE_FAULT_TRANSITION = 747,
++ MD_ERROR_WIN_PAGE_FAULT_DEMAND_ZERO = 748,
++ MD_ERROR_WIN_PAGE_FAULT_COPY_ON_WRITE = 749,
++ MD_ERROR_WIN_PAGE_FAULT_GUARD_PAGE = 750,
++ MD_ERROR_WIN_PAGE_FAULT_PAGING_FILE = 751,
++ MD_ERROR_WIN_CACHE_PAGE_LOCKED = 752,
++ MD_ERROR_WIN_CRASH_DUMP = 753,
++ MD_ERROR_WIN_BUFFER_ALL_ZEROS = 754,
++ MD_ERROR_WIN_REPARSE_OBJECT = 755,
++ MD_ERROR_WIN_RESOURCE_REQUIREMENTS_CHANGED = 756,
++ MD_ERROR_WIN_TRANSLATION_COMPLETE = 757,
++ MD_ERROR_WIN_NOTHING_TO_TERMINATE = 758,
++ MD_ERROR_WIN_PROCESS_NOT_IN_JOB = 759,
++ MD_ERROR_WIN_PROCESS_IN_JOB = 760,
++ MD_ERROR_WIN_VOLSNAP_HIBERNATE_READY = 761,
++ MD_ERROR_WIN_FSFILTER_OP_COMPLETED_SUCCESSFULLY = 762,
++ MD_ERROR_WIN_INTERRUPT_VECTOR_ALREADY_CONNECTED = 763,
++ MD_ERROR_WIN_INTERRUPT_STILL_CONNECTED = 764,
++ MD_ERROR_WIN_WAIT_FOR_OPLOCK = 765,
++ MD_ERROR_WIN_DBG_EXCEPTION_HANDLED = 766,
++ MD_ERROR_WIN_DBG_CONTINUE = 767,
++ MD_ERROR_WIN_CALLBACK_POP_STACK = 768,
++ MD_ERROR_WIN_COMPRESSION_DISABLED = 769,
++ MD_ERROR_WIN_CANTFETCHBACKWARDS = 770,
++ MD_ERROR_WIN_CANTSCROLLBACKWARDS = 771,
++ MD_ERROR_WIN_ROWSNOTRELEASED = 772,
++ MD_ERROR_WIN_BAD_ACCESSOR_FLAGS = 773,
++ MD_ERROR_WIN_ERRORS_ENCOUNTERED = 774,
++ MD_ERROR_WIN_NOT_CAPABLE = 775,
++ MD_ERROR_WIN_REQUEST_OUT_OF_SEQUENCE = 776,
++ MD_ERROR_WIN_VERSION_PARSE_ERROR = 777,
++ MD_ERROR_WIN_BADSTARTPOSITION = 778,
++ MD_ERROR_WIN_MEMORY_HARDWARE = 779,
++ MD_ERROR_WIN_DISK_REPAIR_DISABLED = 780,
++ MD_ERROR_WIN_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE = 781,
++ MD_ERROR_WIN_SYSTEM_POWERSTATE_TRANSITION = 782,
++ MD_ERROR_WIN_SYSTEM_POWERSTATE_COMPLEX_TRANSITION = 783,
++ MD_ERROR_WIN_MCA_EXCEPTION = 784,
++ MD_ERROR_WIN_ACCESS_AUDIT_BY_POLICY = 785,
++ MD_ERROR_WIN_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY = 786,
++ MD_ERROR_WIN_ABANDON_HIBERFILE = 787,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = 788,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = 789,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = 790,
++ MD_ERROR_WIN_BAD_MCFG_TABLE = 791,
++ MD_ERROR_WIN_DISK_REPAIR_REDIRECTED = 792,
++ MD_ERROR_WIN_DISK_REPAIR_UNSUCCESSFUL = 793,
++ MD_ERROR_WIN_CORRUPT_LOG_OVERFULL = 794,
++ MD_ERROR_WIN_CORRUPT_LOG_CORRUPTED = 795,
++ MD_ERROR_WIN_CORRUPT_LOG_UNAVAILABLE = 796,
++ MD_ERROR_WIN_CORRUPT_LOG_DELETED_FULL = 797,
++ MD_ERROR_WIN_CORRUPT_LOG_CLEARED = 798,
++ MD_ERROR_WIN_ORPHAN_NAME_EXHAUSTED = 799,
++ MD_ERROR_WIN_OPLOCK_SWITCHED_TO_NEW_HANDLE = 800,
++ MD_ERROR_WIN_CANNOT_GRANT_REQUESTED_OPLOCK = 801,
++ MD_ERROR_WIN_CANNOT_BREAK_OPLOCK = 802,
++ MD_ERROR_WIN_OPLOCK_HANDLE_CLOSED = 803,
++ MD_ERROR_WIN_NO_ACE_CONDITION = 804,
++ MD_ERROR_WIN_INVALID_ACE_CONDITION = 805,
++ MD_ERROR_WIN_FILE_HANDLE_REVOKED = 806,
++ MD_ERROR_WIN_IMAGE_AT_DIFFERENT_BASE = 807,
++ MD_ERROR_WIN_ENCRYPTED_IO_NOT_POSSIBLE = 808,
++ MD_ERROR_WIN_FILE_METADATA_OPTIMIZATION_IN_PROGRESS = 809,
++ MD_ERROR_WIN_QUOTA_ACTIVITY = 810,
++ MD_ERROR_WIN_HANDLE_REVOKED = 811,
++ MD_ERROR_WIN_CALLBACK_INVOKE_INLINE = 812,
++ MD_ERROR_WIN_CPU_SET_INVALID = 813,
++ MD_ERROR_WIN_ENCLAVE_NOT_TERMINATED = 814,
++ MD_ERROR_WIN_ENCLAVE_VIOLATION = 815,
++ MD_ERROR_WIN_EA_ACCESS_DENIED = 994,
++ MD_ERROR_WIN_OPERATION_ABORTED = 995,
++ MD_ERROR_WIN_IO_INCOMPLETE = 996,
++ MD_ERROR_WIN_IO_PENDING = 997,
++ MD_ERROR_WIN_NOACCESS = 998,
++ MD_ERROR_WIN_SWAPERROR = 999,
++ MD_ERROR_WIN_STACK_OVERFLOW = 1001,
++ MD_ERROR_WIN_INVALID_MESSAGE = 1002,
++ MD_ERROR_WIN_CAN_NOT_COMPLETE = 1003,
++ MD_ERROR_WIN_INVALID_FLAGS = 1004,
++ MD_ERROR_WIN_UNRECOGNIZED_VOLUME = 1005,
++ MD_ERROR_WIN_FILE_INVALID = 1006,
++ MD_ERROR_WIN_FULLSCREEN_MODE = 1007,
++ MD_ERROR_WIN_NO_TOKEN = 1008,
++ MD_ERROR_WIN_BADDB = 1009,
++ MD_ERROR_WIN_BADKEY = 1010,
++ MD_ERROR_WIN_CANTOPEN = 1011,
++ MD_ERROR_WIN_CANTREAD = 1012,
++ MD_ERROR_WIN_CANTWRITE = 1013,
++ MD_ERROR_WIN_REGISTRY_RECOVERED = 1014,
++ MD_ERROR_WIN_REGISTRY_CORRUPT = 1015,
++ MD_ERROR_WIN_REGISTRY_IO_FAILED = 1016,
++ MD_ERROR_WIN_NOT_REGISTRY_FILE = 1017,
++ MD_ERROR_WIN_KEY_DELETED = 1018,
++ MD_ERROR_WIN_NO_LOG_SPACE = 1019,
++ MD_ERROR_WIN_KEY_HAS_CHILDREN = 1020,
++ MD_ERROR_WIN_CHILD_MUST_BE_VOLATILE = 1021,
++ MD_ERROR_WIN_NOTIFY_ENUM_DIR = 1022,
++ MD_ERROR_WIN_DEPENDENT_SERVICES_RUNNING = 1051,
++ MD_ERROR_WIN_INVALID_SERVICE_CONTROL = 1052,
++ MD_ERROR_WIN_SERVICE_REQUEST_TIMEOUT = 1053,
++ MD_ERROR_WIN_SERVICE_NO_THREAD = 1054,
++ MD_ERROR_WIN_SERVICE_DATABASE_LOCKED = 1055,
++ MD_ERROR_WIN_SERVICE_ALREADY_RUNNING = 1056,
++ MD_ERROR_WIN_INVALID_SERVICE_ACCOUNT = 1057,
++ MD_ERROR_WIN_SERVICE_DISABLED = 1058,
++ MD_ERROR_WIN_CIRCULAR_DEPENDENCY = 1059,
++ MD_ERROR_WIN_SERVICE_DOES_NOT_EXIST = 1060,
++ MD_ERROR_WIN_SERVICE_CANNOT_ACCEPT_CTRL = 1061,
++ MD_ERROR_WIN_SERVICE_NOT_ACTIVE = 1062,
++ MD_ERROR_WIN_FAILED_SERVICE_CONTROLLER_CONNECT = 1063,
++ MD_ERROR_WIN_EXCEPTION_IN_SERVICE = 1064,
++ MD_ERROR_WIN_DATABASE_DOES_NOT_EXIST = 1065,
++ MD_ERROR_WIN_SERVICE_SPECIFIC_ERROR = 1066,
++ MD_ERROR_WIN_PROCESS_ABORTED = 1067,
++ MD_ERROR_WIN_SERVICE_DEPENDENCY_FAIL = 1068,
++ MD_ERROR_WIN_SERVICE_LOGON_FAILED = 1069,
++ MD_ERROR_WIN_SERVICE_START_HANG = 1070,
++ MD_ERROR_WIN_INVALID_SERVICE_LOCK = 1071,
++ MD_ERROR_WIN_SERVICE_MARKED_FOR_DELETE = 1072,
++ MD_ERROR_WIN_SERVICE_EXISTS = 1073,
++ MD_ERROR_WIN_ALREADY_RUNNING_LKG = 1074,
++ MD_ERROR_WIN_SERVICE_DEPENDENCY_DELETED = 1075,
++ MD_ERROR_WIN_BOOT_ALREADY_ACCEPTED = 1076,
++ MD_ERROR_WIN_SERVICE_NEVER_STARTED = 1077,
++ MD_ERROR_WIN_DUPLICATE_SERVICE_NAME = 1078,
++ MD_ERROR_WIN_DIFFERENT_SERVICE_ACCOUNT = 1079,
++ MD_ERROR_WIN_CANNOT_DETECT_DRIVER_FAILURE = 1080,
++ MD_ERROR_WIN_CANNOT_DETECT_PROCESS_ABORT = 1081,
++ MD_ERROR_WIN_NO_RECOVERY_PROGRAM = 1082,
++ MD_ERROR_WIN_SERVICE_NOT_IN_EXE = 1083,
++ MD_ERROR_WIN_NOT_SAFEBOOT_SERVICE = 1084,
++ MD_ERROR_WIN_END_OF_MEDIA = 1100,
++ MD_ERROR_WIN_FILEMARK_DETECTED = 1101,
++ MD_ERROR_WIN_BEGINNING_OF_MEDIA = 1102,
++ MD_ERROR_WIN_SETMARK_DETECTED = 1103,
++ MD_ERROR_WIN_NO_DATA_DETECTED = 1104,
++ MD_ERROR_WIN_PARTITION_FAILURE = 1105,
++ MD_ERROR_WIN_INVALID_BLOCK_LENGTH = 1106,
++ MD_ERROR_WIN_DEVICE_NOT_PARTITIONED = 1107,
++ MD_ERROR_WIN_UNABLE_TO_LOCK_MEDIA = 1108,
++ MD_ERROR_WIN_UNABLE_TO_UNLOAD_MEDIA = 1109,
++ MD_ERROR_WIN_MEDIA_CHANGED = 1110,
++ MD_ERROR_WIN_BUS_RESET = 1111,
++ MD_ERROR_WIN_NO_MEDIA_IN_DRIVE = 1112,
++ MD_ERROR_WIN_NO_UNICODE_TRANSLATION = 1113,
++ MD_ERROR_WIN_DLL_INIT_FAILED = 1114,
++ MD_ERROR_WIN_SHUTDOWN_IN_PROGRESS = 1115,
++ MD_ERROR_WIN_NO_SHUTDOWN_IN_PROGRESS = 1116,
++ MD_ERROR_WIN_IO_DEVICE = 1117,
++ MD_ERROR_WIN_SERIAL_NO_DEVICE = 1118,
++ MD_ERROR_WIN_IRQ_BUSY = 1119,
++ MD_ERROR_WIN_MORE_WRITES = 1120,
++ MD_ERROR_WIN_COUNTER_TIMEOUT = 1121,
++ MD_ERROR_WIN_FLOPPY_ID_MARK_NOT_FOUND = 1122,
++ MD_ERROR_WIN_FLOPPY_WRONG_CYLINDER = 1123,
++ MD_ERROR_WIN_FLOPPY_UNKNOWN_ERROR = 1124,
++ MD_ERROR_WIN_FLOPPY_BAD_REGISTERS = 1125,
++ MD_ERROR_WIN_DISK_RECALIBRATE_FAILED = 1126,
++ MD_ERROR_WIN_DISK_OPERATION_FAILED = 1127,
++ MD_ERROR_WIN_DISK_RESET_FAILED = 1128,
++ MD_ERROR_WIN_EOM_OVERFLOW = 1129,
++ MD_ERROR_WIN_NOT_ENOUGH_SERVER_MEMORY = 1130,
++ MD_ERROR_WIN_POSSIBLE_DEADLOCK = 1131,
++ MD_ERROR_WIN_MAPPED_ALIGNMENT = 1132,
++ MD_ERROR_WIN_SET_POWER_STATE_VETOED = 1140,
++ MD_ERROR_WIN_SET_POWER_STATE_FAILED = 1141,
++ MD_ERROR_WIN_TOO_MANY_LINKS = 1142,
++ MD_ERROR_WIN_OLD_WIN_VERSION = 1150,
++ MD_ERROR_WIN_APP_WRONG_OS = 1151,
++ MD_ERROR_WIN_SINGLE_INSTANCE_APP = 1152,
++ MD_ERROR_WIN_RMODE_APP = 1153,
++ MD_ERROR_WIN_INVALID_DLL = 1154,
++ MD_ERROR_WIN_NO_ASSOCIATION = 1155,
++ MD_ERROR_WIN_DDE_FAIL = 1156,
++ MD_ERROR_WIN_DLL_NOT_FOUND = 1157,
++ MD_ERROR_WIN_NO_MORE_USER_HANDLES = 1158,
++ MD_ERROR_WIN_MESSAGE_SYNC_ONLY = 1159,
++ MD_ERROR_WIN_SOURCE_ELEMENT_EMPTY = 1160,
++ MD_ERROR_WIN_DESTINATION_ELEMENT_FULL = 1161,
++ MD_ERROR_WIN_ILLEGAL_ELEMENT_ADDRESS = 1162,
++ MD_ERROR_WIN_MAGAZINE_NOT_PRESENT = 1163,
++ MD_ERROR_WIN_DEVICE_REINITIALIZATION_NEEDED = 1164,
++ MD_ERROR_WIN_DEVICE_REQUIRES_CLEANING = 1165,
++ MD_ERROR_WIN_DEVICE_DOOR_OPEN = 1166,
++ MD_ERROR_WIN_DEVICE_NOT_CONNECTED = 1167,
++ MD_ERROR_WIN_NOT_FOUND = 1168,
++ MD_ERROR_WIN_NO_MATCH = 1169,
++ MD_ERROR_WIN_SET_NOT_FOUND = 1170,
++ MD_ERROR_WIN_POINT_NOT_FOUND = 1171,
++ MD_ERROR_WIN_NO_TRACKING_SERVICE = 1172,
++ MD_ERROR_WIN_NO_VOLUME_ID = 1173,
++ MD_ERROR_WIN_UNABLE_TO_REMOVE_REPLACED = 1175,
++ MD_ERROR_WIN_UNABLE_TO_MOVE_REPLACEMENT = 1176,
++ MD_ERROR_WIN_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177,
++ MD_ERROR_WIN_JOURNAL_DELETE_IN_PROGRESS = 1178,
++ MD_ERROR_WIN_JOURNAL_NOT_ACTIVE = 1179,
++ MD_ERROR_WIN_POTENTIAL_FILE_FOUND = 1180,
++ MD_ERROR_WIN_JOURNAL_ENTRY_DELETED = 1181,
++ MD_ERROR_WIN_VRF_CFG_AND_IO_ENABLED = 1183,
++ MD_ERROR_WIN_PARTITION_TERMINATING = 1184,
++ MD_ERROR_WIN_SHUTDOWN_IS_SCHEDULED = 1190,
++ MD_ERROR_WIN_SHUTDOWN_USERS_LOGGED_ON = 1191,
++ MD_ERROR_WIN_BAD_DEVICE = 1200,
++ MD_ERROR_WIN_CONNECTION_UNAVAIL = 1201,
++ MD_ERROR_WIN_DEVICE_ALREADY_REMEMBERED = 1202,
++ MD_ERROR_WIN_NO_NET_OR_BAD_PATH = 1203,
++ MD_ERROR_WIN_BAD_PROVIDER = 1204,
++ MD_ERROR_WIN_CANNOT_OPEN_PROFILE = 1205,
++ MD_ERROR_WIN_BAD_PROFILE = 1206,
++ MD_ERROR_WIN_NOT_CONTAINER = 1207,
++ MD_ERROR_WIN_EXTENDED_ERROR = 1208,
++ MD_ERROR_WIN_INVALID_GROUPNAME = 1209,
++ MD_ERROR_WIN_INVALID_COMPUTERNAME = 1210,
++ MD_ERROR_WIN_INVALID_EVENTNAME = 1211,
++ MD_ERROR_WIN_INVALID_DOMAINNAME = 1212,
++ MD_ERROR_WIN_INVALID_SERVICENAME = 1213,
++ MD_ERROR_WIN_INVALID_NETNAME = 1214,
++ MD_ERROR_WIN_INVALID_SHARENAME = 1215,
++ MD_ERROR_WIN_INVALID_PASSWORDNAME = 1216,
++ MD_ERROR_WIN_INVALID_MESSAGENAME = 1217,
++ MD_ERROR_WIN_INVALID_MESSAGEDEST = 1218,
++ MD_ERROR_WIN_SESSION_CREDENTIAL_CONFLICT = 1219,
++ MD_ERROR_WIN_REMOTE_SESSION_LIMIT_EXCEEDED = 1220,
++ MD_ERROR_WIN_DUP_DOMAINNAME = 1221,
++ MD_ERROR_WIN_NO_NETWORK = 1222,
++ MD_ERROR_WIN_CANCELLED = 1223,
++ MD_ERROR_WIN_USER_MAPPED_FILE = 1224,
++ MD_ERROR_WIN_CONNECTION_REFUSED = 1225,
++ MD_ERROR_WIN_GRACEFUL_DISCONNECT = 1226,
++ MD_ERROR_WIN_ADDRESS_ALREADY_ASSOCIATED = 1227,
++ MD_ERROR_WIN_ADDRESS_NOT_ASSOCIATED = 1228,
++ MD_ERROR_WIN_CONNECTION_INVALID = 1229,
++ MD_ERROR_WIN_CONNECTION_ACTIVE = 1230,
++ MD_ERROR_WIN_NETWORK_UNREACHABLE = 1231,
++ MD_ERROR_WIN_HOST_UNREACHABLE = 1232,
++ MD_ERROR_WIN_PROTOCOL_UNREACHABLE = 1233,
++ MD_ERROR_WIN_PORT_UNREACHABLE = 1234,
++ MD_ERROR_WIN_REQUEST_ABORTED = 1235,
++ MD_ERROR_WIN_CONNECTION_ABORTED = 1236,
++ MD_ERROR_WIN_RETRY = 1237,
++ MD_ERROR_WIN_CONNECTION_COUNT_LIMIT = 1238,
++ MD_ERROR_WIN_LOGIN_TIME_RESTRICTION = 1239,
++ MD_ERROR_WIN_LOGIN_WKSTA_RESTRICTION = 1240,
++ MD_ERROR_WIN_INCORRECT_ADDRESS = 1241,
++ MD_ERROR_WIN_ALREADY_REGISTERED = 1242,
++ MD_ERROR_WIN_SERVICE_NOT_FOUND = 1243,
++ MD_ERROR_WIN_NOT_AUTHENTICATED = 1244,
++ MD_ERROR_WIN_NOT_LOGGED_ON = 1245,
++ MD_ERROR_WIN_CONTINUE = 1246,
++ MD_ERROR_WIN_ALREADY_INITIALIZED = 1247,
++ MD_ERROR_WIN_NO_MORE_DEVICES = 1248,
++ MD_ERROR_WIN_NO_SUCH_SITE = 1249,
++ MD_ERROR_WIN_DOMAIN_CONTROLLER_EXISTS = 1250,
++ MD_ERROR_WIN_ONLY_IF_CONNECTED = 1251,
++ MD_ERROR_WIN_OVERRIDE_NOCHANGES = 1252,
++ MD_ERROR_WIN_BAD_USER_PROFILE = 1253,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_SBS = 1254,
++ MD_ERROR_WIN_SERVER_SHUTDOWN_IN_PROGRESS = 1255,
++ MD_ERROR_WIN_HOST_DOWN = 1256,
++ MD_ERROR_WIN_NON_ACCOUNT_SID = 1257,
++ MD_ERROR_WIN_NON_DOMAIN_SID = 1258,
++ MD_ERROR_WIN_APPHELP_BLOCK = 1259,
++ MD_ERROR_WIN_ACCESS_DISABLED_BY_POLICY = 1260,
++ MD_ERROR_WIN_REG_NAT_CONSUMPTION = 1261,
++ MD_ERROR_WIN_CSCSHARE_OFFLINE = 1262,
++ MD_ERROR_WIN_PKINIT_FAILURE = 1263,
++ MD_ERROR_WIN_SMARTCARD_SUBSYSTEM_FAILURE = 1264,
++ MD_ERROR_WIN_DOWNGRADE_DETECTED = 1265,
++ MD_ERROR_WIN_MACHINE_LOCKED = 1271,
++ MD_ERROR_WIN_SMB_GUEST_LOGON_BLOCKED = 1272,
++ MD_ERROR_WIN_CALLBACK_SUPPLIED_INVALID_DATA = 1273,
++ MD_ERROR_WIN_SYNC_FOREGROUND_REFRESH_REQUIRED = 1274,
++ MD_ERROR_WIN_DRIVER_BLOCKED = 1275,
++ MD_ERROR_WIN_INVALID_IMPORT_OF_NON_DLL = 1276,
++ MD_ERROR_WIN_ACCESS_DISABLED_WEBBLADE = 1277,
++ MD_ERROR_WIN_ACCESS_DISABLED_WEBBLADE_TAMPER = 1278,
++ MD_ERROR_WIN_RECOVERY_FAILURE = 1279,
++ MD_ERROR_WIN_ALREADY_FIBER = 1280,
++ MD_ERROR_WIN_ALREADY_THREAD = 1281,
++ MD_ERROR_WIN_STACK_BUFFER_OVERRUN = 1282,
++ MD_ERROR_WIN_PARAMETER_QUOTA_EXCEEDED = 1283,
++ MD_ERROR_WIN_DEBUGGER_INACTIVE = 1284,
++ MD_ERROR_WIN_DELAY_LOAD_FAILED = 1285,
++ MD_ERROR_WIN_VDM_DISALLOWED = 1286,
++ MD_ERROR_WIN_UNIDENTIFIED_ERROR = 1287,
++ MD_ERROR_WIN_INVALID_CRUNTIME_PARAMETER = 1288,
++ MD_ERROR_WIN_BEYOND_VDL = 1289,
++ MD_ERROR_WIN_INCOMPATIBLE_SERVICE_SID_TYPE = 1290,
++ MD_ERROR_WIN_DRIVER_PROCESS_TERMINATED = 1291,
++ MD_ERROR_WIN_IMPLEMENTATION_LIMIT = 1292,
++ MD_ERROR_WIN_PROCESS_IS_PROTECTED = 1293,
++ MD_ERROR_WIN_SERVICE_NOTIFY_CLIENT_LAGGING = 1294,
++ MD_ERROR_WIN_DISK_QUOTA_EXCEEDED = 1295,
++ MD_ERROR_WIN_CONTENT_BLOCKED = 1296,
++ MD_ERROR_WIN_INCOMPATIBLE_SERVICE_PRIVILEGE = 1297,
++ MD_ERROR_WIN_APP_HANG = 1298,
++ MD_ERROR_WIN_INVALID_LABEL = 1299,
++ MD_ERROR_WIN_NOT_ALL_ASSIGNED = 1300,
++ MD_ERROR_WIN_SOME_NOT_MAPPED = 1301,
++ MD_ERROR_WIN_NO_QUOTAS_FOR_ACCOUNT = 1302,
++ MD_ERROR_WIN_LOCAL_USER_SESSION_KEY = 1303,
++ MD_ERROR_WIN_NULL_LM_PASSWORD = 1304,
++ MD_ERROR_WIN_UNKNOWN_REVISION = 1305,
++ MD_ERROR_WIN_REVISION_MISMATCH = 1306,
++ MD_ERROR_WIN_INVALID_OWNER = 1307,
++ MD_ERROR_WIN_INVALID_PRIMARY_GROUP = 1308,
++ MD_ERROR_WIN_NO_IMPERSONATION_TOKEN = 1309,
++ MD_ERROR_WIN_CANT_DISABLE_MANDATORY = 1310,
++ MD_ERROR_WIN_NO_LOGON_SERVERS = 1311,
++ MD_ERROR_WIN_NO_SUCH_LOGON_SESSION = 1312,
++ MD_ERROR_WIN_NO_SUCH_PRIVILEGE = 1313,
++ MD_ERROR_WIN_PRIVILEGE_NOT_HELD = 1314,
++ MD_ERROR_WIN_INVALID_ACCOUNT_NAME = 1315,
++ MD_ERROR_WIN_USER_EXISTS = 1316,
++ MD_ERROR_WIN_NO_SUCH_USER = 1317,
++ MD_ERROR_WIN_GROUP_EXISTS = 1318,
++ MD_ERROR_WIN_NO_SUCH_GROUP = 1319,
++ MD_ERROR_WIN_MEMBER_IN_GROUP = 1320,
++ MD_ERROR_WIN_MEMBER_NOT_IN_GROUP = 1321,
++ MD_ERROR_WIN_LAST_ADMIN = 1322,
++ MD_ERROR_WIN_WRONG_PASSWORD = 1323,
++ MD_ERROR_WIN_ILL_FORMED_PASSWORD = 1324,
++ MD_ERROR_WIN_PASSWORD_RESTRICTION = 1325,
++ MD_ERROR_WIN_LOGON_FAILURE = 1326,
++ MD_ERROR_WIN_ACCOUNT_RESTRICTION = 1327,
++ MD_ERROR_WIN_INVALID_LOGON_HOURS = 1328,
++ MD_ERROR_WIN_INVALID_WORKSTATION = 1329,
++ MD_ERROR_WIN_PASSWORD_EXPIRED = 1330,
++ MD_ERROR_WIN_ACCOUNT_DISABLED = 1331,
++ MD_ERROR_WIN_NONE_MAPPED = 1332,
++ MD_ERROR_WIN_TOO_MANY_LUIDS_REQUESTED = 1333,
++ MD_ERROR_WIN_LUIDS_EXHAUSTED = 1334,
++ MD_ERROR_WIN_INVALID_SUB_AUTHORITY = 1335,
++ MD_ERROR_WIN_INVALID_ACL = 1336,
++ MD_ERROR_WIN_INVALID_SID = 1337,
++ MD_ERROR_WIN_INVALID_SECURITY_DESCR = 1338,
++ MD_ERROR_WIN_BAD_INHERITANCE_ACL = 1340,
++ MD_ERROR_WIN_SERVER_DISABLED = 1341,
++ MD_ERROR_WIN_SERVER_NOT_DISABLED = 1342,
++ MD_ERROR_WIN_INVALID_ID_AUTHORITY = 1343,
++ MD_ERROR_WIN_ALLOTTED_SPACE_EXCEEDED = 1344,
++ MD_ERROR_WIN_INVALID_GROUP_ATTRIBUTES = 1345,
++ MD_ERROR_WIN_BAD_IMPERSONATION_LEVEL = 1346,
++ MD_ERROR_WIN_CANT_OPEN_ANONYMOUS = 1347,
++ MD_ERROR_WIN_BAD_VALIDATION_CLASS = 1348,
++ MD_ERROR_WIN_BAD_TOKEN_TYPE = 1349,
++ MD_ERROR_WIN_NO_SECURITY_ON_OBJECT = 1350,
++ MD_ERROR_WIN_CANT_ACCESS_DOMAIN_INFO = 1351,
++ MD_ERROR_WIN_INVALID_SERVER_STATE = 1352,
++ MD_ERROR_WIN_INVALID_DOMAIN_STATE = 1353,
++ MD_ERROR_WIN_INVALID_DOMAIN_ROLE = 1354,
++ MD_ERROR_WIN_NO_SUCH_DOMAIN = 1355,
++ MD_ERROR_WIN_DOMAIN_EXISTS = 1356,
++ MD_ERROR_WIN_DOMAIN_LIMIT_EXCEEDED = 1357,
++ MD_ERROR_WIN_INTERNAL_DB_CORRUPTION = 1358,
++ MD_ERROR_WIN_INTERNAL_ERROR = 1359,
++ MD_ERROR_WIN_GENERIC_NOT_MAPPED = 1360,
++ MD_ERROR_WIN_BAD_DESCRIPTOR_FORMAT = 1361,
++ MD_ERROR_WIN_NOT_LOGON_PROCESS = 1362,
++ MD_ERROR_WIN_LOGON_SESSION_EXISTS = 1363,
++ MD_ERROR_WIN_NO_SUCH_PACKAGE = 1364,
++ MD_ERROR_WIN_BAD_LOGON_SESSION_STATE = 1365,
++ MD_ERROR_WIN_LOGON_SESSION_COLLISION = 1366,
++ MD_ERROR_WIN_INVALID_LOGON_TYPE = 1367,
++ MD_ERROR_WIN_CANNOT_IMPERSONATE = 1368,
++ MD_ERROR_WIN_RXACT_INVALID_STATE = 1369,
++ MD_ERROR_WIN_RXACT_COMMIT_FAILURE = 1370,
++ MD_ERROR_WIN_SPECIAL_ACCOUNT = 1371,
++ MD_ERROR_WIN_SPECIAL_GROUP = 1372,
++ MD_ERROR_WIN_SPECIAL_USER = 1373,
++ MD_ERROR_WIN_MEMBERS_PRIMARY_GROUP = 1374,
++ MD_ERROR_WIN_TOKEN_ALREADY_IN_USE = 1375,
++ MD_ERROR_WIN_NO_SUCH_ALIAS = 1376,
++ MD_ERROR_WIN_MEMBER_NOT_IN_ALIAS = 1377,
++ MD_ERROR_WIN_MEMBER_IN_ALIAS = 1378,
++ MD_ERROR_WIN_ALIAS_EXISTS = 1379,
++ MD_ERROR_WIN_LOGON_NOT_GRANTED = 1380,
++ MD_ERROR_WIN_TOO_MANY_SECRETS = 1381,
++ MD_ERROR_WIN_SECRET_TOO_LONG = 1382,
++ MD_ERROR_WIN_INTERNAL_DB_ERROR = 1383,
++ MD_ERROR_WIN_TOO_MANY_CONTEXT_IDS = 1384,
++ MD_ERROR_WIN_LOGON_TYPE_NOT_GRANTED = 1385,
++ MD_ERROR_WIN_NT_CROSS_ENCRYPTION_REQUIRED = 1386,
++ MD_ERROR_WIN_NO_SUCH_MEMBER = 1387,
++ MD_ERROR_WIN_INVALID_MEMBER = 1388,
++ MD_ERROR_WIN_TOO_MANY_SIDS = 1389,
++ MD_ERROR_WIN_LM_CROSS_ENCRYPTION_REQUIRED = 1390,
++ MD_ERROR_WIN_NO_INHERITANCE = 1391,
++ MD_ERROR_WIN_FILE_CORRUPT = 1392,
++ MD_ERROR_WIN_DISK_CORRUPT = 1393,
++ MD_ERROR_WIN_NO_USER_SESSION_KEY = 1394,
++ MD_ERROR_WIN_LICENSE_QUOTA_EXCEEDED = 1395,
++ MD_ERROR_WIN_WRONG_TARGET_NAME = 1396,
++ MD_ERROR_WIN_MUTUAL_AUTH_FAILED = 1397,
++ MD_ERROR_WIN_TIME_SKEW = 1398,
++ MD_ERROR_WIN_CURRENT_DOMAIN_NOT_ALLOWED = 1399,
++ MD_ERROR_WIN_INVALID_WINDOW_HANDLE = 1400,
++ MD_ERROR_WIN_INVALID_MENU_HANDLE = 1401,
++ MD_ERROR_WIN_INVALID_CURSOR_HANDLE = 1402,
++ MD_ERROR_WIN_INVALID_ACCEL_HANDLE = 1403,
++ MD_ERROR_WIN_INVALID_HOOK_HANDLE = 1404,
++ MD_ERROR_WIN_INVALID_DWP_HANDLE = 1405,
++ MD_ERROR_WIN_TLW_WITH_WSCHILD = 1406,
++ MD_ERROR_WIN_CANNOT_FIND_WND_CLASS = 1407,
++ MD_ERROR_WIN_WINDOW_OF_OTHER_THREAD = 1408,
++ MD_ERROR_WIN_HOTKEY_ALREADY_REGISTERED = 1409,
++ MD_ERROR_WIN_CLASS_ALREADY_EXISTS = 1410,
++ MD_ERROR_WIN_CLASS_DOES_NOT_EXIST = 1411,
++ MD_ERROR_WIN_CLASS_HAS_WINDOWS = 1412,
++ MD_ERROR_WIN_INVALID_INDEX = 1413,
++ MD_ERROR_WIN_INVALID_ICON_HANDLE = 1414,
++ MD_ERROR_WIN_PRIVATE_DIALOG_INDEX = 1415,
++ MD_ERROR_WIN_LISTBOX_ID_NOT_FOUND = 1416,
++ MD_ERROR_WIN_NO_WILDCARD_CHARACTERS = 1417,
++ MD_ERROR_WIN_CLIPBOARD_NOT_OPEN = 1418,
++ MD_ERROR_WIN_HOTKEY_NOT_REGISTERED = 1419,
++ MD_ERROR_WIN_WINDOW_NOT_DIALOG = 1420,
++ MD_ERROR_WIN_CONTROL_ID_NOT_FOUND = 1421,
++ MD_ERROR_WIN_INVALID_COMBOBOX_MESSAGE = 1422,
++ MD_ERROR_WIN_WINDOW_NOT_COMBOBOX = 1423,
++ MD_ERROR_WIN_INVALID_EDIT_HEIGHT = 1424,
++ MD_ERROR_WIN_DC_NOT_FOUND = 1425,
++ MD_ERROR_WIN_INVALID_HOOK_FILTER = 1426,
++ MD_ERROR_WIN_INVALID_FILTER_PROC = 1427,
++ MD_ERROR_WIN_HOOK_NEEDS_HMOD = 1428,
++ MD_ERROR_WIN_GLOBAL_ONLY_HOOK = 1429,
++ MD_ERROR_WIN_JOURNAL_HOOK_SET = 1430,
++ MD_ERROR_WIN_HOOK_NOT_INSTALLED = 1431,
++ MD_ERROR_WIN_INVALID_LB_MESSAGE = 1432,
++ MD_ERROR_WIN_SETCOUNT_ON_BAD_LB = 1433,
++ MD_ERROR_WIN_LB_WITHOUT_TABSTOPS = 1434,
++ MD_ERROR_WIN_DESTROY_OBJECT_OF_OTHER_THREAD = 1435,
++ MD_ERROR_WIN_CHILD_WINDOW_MENU = 1436,
++ MD_ERROR_WIN_NO_SYSTEM_MENU = 1437,
++ MD_ERROR_WIN_INVALID_MSGBOX_STYLE = 1438,
++ MD_ERROR_WIN_INVALID_SPI_VALUE = 1439,
++ MD_ERROR_WIN_SCREEN_ALREADY_LOCKED = 1440,
++ MD_ERROR_WIN_HWNDS_HAVE_DIFF_PARENT = 1441,
++ MD_ERROR_WIN_NOT_CHILD_WINDOW = 1442,
++ MD_ERROR_WIN_INVALID_GW_COMMAND = 1443,
++ MD_ERROR_WIN_INVALID_THREAD_ID = 1444,
++ MD_ERROR_WIN_NON_MDICHILD_WINDOW = 1445,
++ MD_ERROR_WIN_POPUP_ALREADY_ACTIVE = 1446,
++ MD_ERROR_WIN_NO_SCROLLBARS = 1447,
++ MD_ERROR_WIN_INVALID_SCROLLBAR_RANGE = 1448,
++ MD_ERROR_WIN_INVALID_SHOWWIN_COMMAND = 1449,
++ MD_ERROR_WIN_NO_SYSTEM_RESOURCES = 1450,
++ MD_ERROR_WIN_NONPAGED_SYSTEM_RESOURCES = 1451,
++ MD_ERROR_WIN_PAGED_SYSTEM_RESOURCES = 1452,
++ MD_ERROR_WIN_WORKING_SET_QUOTA = 1453,
++ MD_ERROR_WIN_PAGEFILE_QUOTA = 1454,
++ MD_ERROR_WIN_COMMITMENT_LIMIT = 1455,
++ MD_ERROR_WIN_MENU_ITEM_NOT_FOUND = 1456,
++ MD_ERROR_WIN_INVALID_KEYBOARD_HANDLE = 1457,
++ MD_ERROR_WIN_HOOK_TYPE_NOT_ALLOWED = 1458,
++ MD_ERROR_WIN_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459,
++ MD_ERROR_WIN_TIMEOUT = 1460,
++ MD_ERROR_WIN_INVALID_MONITOR_HANDLE = 1461,
++ MD_ERROR_WIN_INCORRECT_SIZE = 1462,
++ MD_ERROR_WIN_SYMLINK_CLASS_DISABLED = 1463,
++ MD_ERROR_WIN_SYMLINK_NOT_SUPPORTED = 1464,
++ MD_ERROR_WIN_XML_PARSE_ERROR = 1465,
++ MD_ERROR_WIN_XMLDSIG_ERROR = 1466,
++ MD_ERROR_WIN_RESTART_APPLICATION = 1467,
++ MD_ERROR_WIN_WRONG_COMPARTMENT = 1468,
++ MD_ERROR_WIN_AUTHIP_FAILURE = 1469,
++ MD_ERROR_WIN_NO_NVRAM_RESOURCES = 1470,
++ MD_ERROR_WIN_NOT_GUI_PROCESS = 1471,
++ MD_ERROR_WIN_EVENTLOG_FILE_CORRUPT = 1500,
++ MD_ERROR_WIN_EVENTLOG_CANT_START = 1501,
++ MD_ERROR_WIN_LOG_FILE_FULL = 1502,
++ MD_ERROR_WIN_EVENTLOG_FILE_CHANGED = 1503,
++ MD_ERROR_WIN_CONTAINER_ASSIGNED = 1504,
++ MD_ERROR_WIN_JOB_NO_CONTAINER = 1505,
++ MD_ERROR_WIN_INVALID_TASK_NAME = 1550,
++ MD_ERROR_WIN_INVALID_TASK_INDEX = 1551,
++ MD_ERROR_WIN_THREAD_ALREADY_IN_TASK = 1552,
++ MD_ERROR_WIN_INSTALL_SERVICE_FAILURE = 1601,
++ MD_ERROR_WIN_INSTALL_USEREXIT = 1602,
++ MD_ERROR_WIN_INSTALL_FAILURE = 1603,
++ MD_ERROR_WIN_INSTALL_SUSPEND = 1604,
++ MD_ERROR_WIN_UNKNOWN_PRODUCT = 1605,
++ MD_ERROR_WIN_UNKNOWN_FEATURE = 1606,
++ MD_ERROR_WIN_UNKNOWN_COMPONENT = 1607,
++ MD_ERROR_WIN_UNKNOWN_PROPERTY = 1608,
++ MD_ERROR_WIN_INVALID_HANDLE_STATE = 1609,
++ MD_ERROR_WIN_BAD_CONFIGURATION = 1610,
++ MD_ERROR_WIN_INDEX_ABSENT = 1611,
++ MD_ERROR_WIN_INSTALL_SOURCE_ABSENT = 1612,
++ MD_ERROR_WIN_INSTALL_PACKAGE_VERSION = 1613,
++ MD_ERROR_WIN_PRODUCT_UNINSTALLED = 1614,
++ MD_ERROR_WIN_BAD_QUERY_SYNTAX = 1615,
++ MD_ERROR_WIN_INVALID_FIELD = 1616,
++ MD_ERROR_WIN_DEVICE_REMOVED = 1617,
++ MD_ERROR_WIN_INSTALL_ALREADY_RUNNING = 1618,
++ MD_ERROR_WIN_INSTALL_PACKAGE_OPEN_FAILED = 1619,
++ MD_ERROR_WIN_INSTALL_PACKAGE_INVALID = 1620,
++ MD_ERROR_WIN_INSTALL_UI_FAILURE = 1621,
++ MD_ERROR_WIN_INSTALL_LOG_FAILURE = 1622,
++ MD_ERROR_WIN_INSTALL_LANGUAGE_UNSUPPORTED = 1623,
++ MD_ERROR_WIN_INSTALL_TRANSFORM_FAILURE = 1624,
++ MD_ERROR_WIN_INSTALL_PACKAGE_REJECTED = 1625,
++ MD_ERROR_WIN_FUNCTION_NOT_CALLED = 1626,
++ MD_ERROR_WIN_FUNCTION_FAILED = 1627,
++ MD_ERROR_WIN_INVALID_TABLE = 1628,
++ MD_ERROR_WIN_DATATYPE_MISMATCH = 1629,
++ MD_ERROR_WIN_UNSUPPORTED_TYPE = 1630,
++ MD_ERROR_WIN_CREATE_FAILED = 1631,
++ MD_ERROR_WIN_INSTALL_TEMP_UNWRITABLE = 1632,
++ MD_ERROR_WIN_INSTALL_PLATFORM_UNSUPPORTED = 1633,
++ MD_ERROR_WIN_INSTALL_NOTUSED = 1634,
++ MD_ERROR_WIN_PATCH_PACKAGE_OPEN_FAILED = 1635,
++ MD_ERROR_WIN_PATCH_PACKAGE_INVALID = 1636,
++ MD_ERROR_WIN_PATCH_PACKAGE_UNSUPPORTED = 1637,
++ MD_ERROR_WIN_PRODUCT_VERSION = 1638,
++ MD_ERROR_WIN_INVALID_COMMAND_LINE = 1639,
++ MD_ERROR_WIN_INSTALL_REMOTE_DISALLOWED = 1640,
++ MD_ERROR_WIN_SUCCESS_REBOOT_INITIATED = 1641,
++ MD_ERROR_WIN_PATCH_TARGET_NOT_FOUND = 1642,
++ MD_ERROR_WIN_PATCH_PACKAGE_REJECTED = 1643,
++ MD_ERROR_WIN_INSTALL_TRANSFORM_REJECTED = 1644,
++ MD_ERROR_WIN_INSTALL_REMOTE_PROHIBITED = 1645,
++ MD_ERROR_WIN_PATCH_REMOVAL_UNSUPPORTED = 1646,
++ MD_ERROR_WIN_UNKNOWN_PATCH = 1647,
++ MD_ERROR_WIN_PATCH_NO_SEQUENCE = 1648,
++ MD_ERROR_WIN_PATCH_REMOVAL_DISALLOWED = 1649,
++ MD_ERROR_WIN_INVALID_PATCH_XML = 1650,
++ MD_ERROR_WIN_PATCH_MANAGED_ADVERTISED_PRODUCT = 1651,
++ MD_ERROR_WIN_INSTALL_SERVICE_SAFEBOOT = 1652,
++ MD_ERROR_WIN_FAIL_FAST_EXCEPTION = 1653,
++ MD_ERROR_WIN_INSTALL_REJECTED = 1654,
++ MD_ERROR_WIN_DYNAMIC_CODE_BLOCKED = 1655,
++ MD_ERROR_WIN_NOT_SAME_OBJECT = 1656,
++ MD_ERROR_WIN_STRICT_CFG_VIOLATION = 1657,
++ MD_ERROR_WIN_SET_CONTEXT_DENIED = 1660,
++ MD_ERROR_WIN_CROSS_PARTITION_VIOLATION = 1661,
++ MD_ERROR_WIN_RETURN_ADDRESS_HIJACK_ATTEMPT = 1662,
++ MD_ERROR_WIN_INVALID_USER_BUFFER = 1784,
++ MD_ERROR_WIN_UNRECOGNIZED_MEDIA = 1785,
++ MD_ERROR_WIN_NO_TRUST_LSA_SECRET = 1786,
++ MD_ERROR_WIN_NO_TRUST_SAM_ACCOUNT = 1787,
++ MD_ERROR_WIN_TRUSTED_DOMAIN_FAILURE = 1788,
++ MD_ERROR_WIN_TRUSTED_RELATIONSHIP_FAILURE = 1789,
++ MD_ERROR_WIN_TRUST_FAILURE = 1790,
++ MD_ERROR_WIN_NETLOGON_NOT_STARTED = 1792,
++ MD_ERROR_WIN_ACCOUNT_EXPIRED = 1793,
++ MD_ERROR_WIN_REDIRECTOR_HAS_OPEN_HANDLES = 1794,
++ MD_ERROR_WIN_PRINTER_DRIVER_ALREADY_INSTALLED = 1795,
++ MD_ERROR_WIN_UNKNOWN_PORT = 1796,
++ MD_ERROR_WIN_UNKNOWN_PRINTER_DRIVER = 1797,
++ MD_ERROR_WIN_UNKNOWN_PRINTPROCESSOR = 1798,
++ MD_ERROR_WIN_INVALID_SEPARATOR_FILE = 1799,
++ MD_ERROR_WIN_INVALID_PRIORITY = 1800,
++ MD_ERROR_WIN_INVALID_PRINTER_NAME = 1801,
++ MD_ERROR_WIN_PRINTER_ALREADY_EXISTS = 1802,
++ MD_ERROR_WIN_INVALID_PRINTER_COMMAND = 1803,
++ MD_ERROR_WIN_INVALID_DATATYPE = 1804,
++ MD_ERROR_WIN_INVALID_ENVIRONMENT = 1805,
++ MD_ERROR_WIN_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807,
++ MD_ERROR_WIN_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808,
++ MD_ERROR_WIN_NOLOGON_SERVER_TRUST_ACCOUNT = 1809,
++ MD_ERROR_WIN_DOMAIN_TRUST_INCONSISTENT = 1810,
++ MD_ERROR_WIN_SERVER_HAS_OPEN_HANDLES = 1811,
++ MD_ERROR_WIN_RESOURCE_DATA_NOT_FOUND = 1812,
++ MD_ERROR_WIN_RESOURCE_TYPE_NOT_FOUND = 1813,
++ MD_ERROR_WIN_RESOURCE_NAME_NOT_FOUND = 1814,
++ MD_ERROR_WIN_RESOURCE_LANG_NOT_FOUND = 1815,
++ MD_ERROR_WIN_NOT_ENOUGH_QUOTA = 1816,
++ MD_ERROR_WIN_INVALID_TIME = 1901,
++ MD_ERROR_WIN_INVALID_FORM_NAME = 1902,
++ MD_ERROR_WIN_INVALID_FORM_SIZE = 1903,
++ MD_ERROR_WIN_ALREADY_WAITING = 1904,
++ MD_ERROR_WIN_PRINTER_DELETED = 1905,
++ MD_ERROR_WIN_INVALID_PRINTER_STATE = 1906,
++ MD_ERROR_WIN_PASSWORD_MUST_CHANGE = 1907,
++ MD_ERROR_WIN_DOMAIN_CONTROLLER_NOT_FOUND = 1908,
++ MD_ERROR_WIN_ACCOUNT_LOCKED_OUT = 1909,
++ MD_ERROR_WIN_NO_SITENAME = 1919,
++ MD_ERROR_WIN_CANT_ACCESS_FILE = 1920,
++ MD_ERROR_WIN_CANT_RESOLVE_FILENAME = 1921,
++ MD_ERROR_WIN_KM_DRIVER_BLOCKED = 1930,
++ MD_ERROR_WIN_CONTEXT_EXPIRED = 1931,
++ MD_ERROR_WIN_PER_USER_TRUST_QUOTA_EXCEEDED = 1932,
++ MD_ERROR_WIN_ALL_USER_TRUST_QUOTA_EXCEEDED = 1933,
++ MD_ERROR_WIN_USER_DELETE_TRUST_QUOTA_EXCEEDED = 1934,
++ MD_ERROR_WIN_AUTHENTICATION_FIREWALL_FAILED = 1935,
++ MD_ERROR_WIN_REMOTE_PRINT_CONNECTIONS_BLOCKED = 1936,
++ MD_ERROR_WIN_NTLM_BLOCKED = 1937,
++ MD_ERROR_WIN_PASSWORD_CHANGE_REQUIRED = 1938,
++ MD_ERROR_WIN_LOST_MODE_LOGON_RESTRICTION = 1939,
++ MD_ERROR_WIN_INVALID_PIXEL_FORMAT = 2000,
++ MD_ERROR_WIN_BAD_DRIVER = 2001,
++ MD_ERROR_WIN_INVALID_WINDOW_STYLE = 2002,
++ MD_ERROR_WIN_METAFILE_NOT_SUPPORTED = 2003,
++ MD_ERROR_WIN_TRANSFORM_NOT_SUPPORTED = 2004,
++ MD_ERROR_WIN_CLIPPING_NOT_SUPPORTED = 2005,
++ MD_ERROR_WIN_INVALID_CMM = 2010,
++ MD_ERROR_WIN_INVALID_PROFILE = 2011,
++ MD_ERROR_WIN_TAG_NOT_FOUND = 2012,
++ MD_ERROR_WIN_TAG_NOT_PRESENT = 2013,
++ MD_ERROR_WIN_DUPLICATE_TAG = 2014,
++ MD_ERROR_WIN_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015,
++ MD_ERROR_WIN_PROFILE_NOT_FOUND = 2016,
++ MD_ERROR_WIN_INVALID_COLORSPACE = 2017,
++ MD_ERROR_WIN_ICM_NOT_ENABLED = 2018,
++ MD_ERROR_WIN_DELETING_ICM_XFORM = 2019,
++ MD_ERROR_WIN_INVALID_TRANSFORM = 2020,
++ MD_ERROR_WIN_COLORSPACE_MISMATCH = 2021,
++ MD_ERROR_WIN_INVALID_COLORINDEX = 2022,
++ MD_ERROR_WIN_PROFILE_DOES_NOT_MATCH_DEVICE = 2023,
++ MD_ERROR_WIN_CONNECTED_OTHER_PASSWORD = 2108,
++ MD_ERROR_WIN_CONNECTED_OTHER_PASSWORD_DEFAULT = 2109,
++ MD_ERROR_WIN_BAD_USERNAME = 2202,
++ MD_ERROR_WIN_NOT_CONNECTED = 2250,
++ MD_ERROR_WIN_OPEN_FILES = 2401,
++ MD_ERROR_WIN_ACTIVE_CONNECTIONS = 2402,
++ MD_ERROR_WIN_DEVICE_IN_USE = 2404,
++ MD_ERROR_WIN_UNKNOWN_PRINT_MONITOR = 3000,
++ MD_ERROR_WIN_PRINTER_DRIVER_IN_USE = 3001,
++ MD_ERROR_WIN_SPOOL_FILE_NOT_FOUND = 3002,
++ MD_ERROR_WIN_SPL_NO_STARTDOC = 3003,
++ MD_ERROR_WIN_SPL_NO_ADDJOB = 3004,
++ MD_ERROR_WIN_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005,
++ MD_ERROR_WIN_PRINT_MONITOR_ALREADY_INSTALLED = 3006,
++ MD_ERROR_WIN_INVALID_PRINT_MONITOR = 3007,
++ MD_ERROR_WIN_PRINT_MONITOR_IN_USE = 3008,
++ MD_ERROR_WIN_PRINTER_HAS_JOBS_QUEUED = 3009,
++ MD_ERROR_WIN_SUCCESS_REBOOT_REQUIRED = 3010,
++ MD_ERROR_WIN_SUCCESS_RESTART_REQUIRED = 3011,
++ MD_ERROR_WIN_PRINTER_NOT_FOUND = 3012,
++ MD_ERROR_WIN_PRINTER_DRIVER_WARNED = 3013,
++ MD_ERROR_WIN_PRINTER_DRIVER_BLOCKED = 3014,
++ MD_ERROR_WIN_PRINTER_DRIVER_PACKAGE_IN_USE = 3015,
++ MD_ERROR_WIN_CORE_DRIVER_PACKAGE_NOT_FOUND = 3016,
++ MD_ERROR_WIN_FAIL_REBOOT_REQUIRED = 3017,
++ MD_ERROR_WIN_FAIL_REBOOT_INITIATED = 3018,
++ MD_ERROR_WIN_PRINTER_DRIVER_DOWNLOAD_NEEDED = 3019,
++ MD_ERROR_WIN_PRINT_JOB_RESTART_REQUIRED = 3020,
++ MD_ERROR_WIN_INVALID_PRINTER_DRIVER_MANIFEST = 3021,
++ MD_ERROR_WIN_PRINTER_NOT_SHAREABLE = 3022,
++ MD_ERROR_WIN_REQUEST_PAUSED = 3050,
++ MD_ERROR_WIN_APPEXEC_CONDITION_NOT_SATISFIED = 3060,
++ MD_ERROR_WIN_APPEXEC_HANDLE_INVALIDATED = 3061,
++ MD_ERROR_WIN_APPEXEC_INVALID_HOST_GENERATION = 3062,
++ MD_ERROR_WIN_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION = 3063,
++ MD_ERROR_WIN_APPEXEC_INVALID_HOST_STATE = 3064,
++ MD_ERROR_WIN_APPEXEC_NO_DONOR = 3065,
++ MD_ERROR_WIN_APPEXEC_HOST_ID_MISMATCH = 3066,
++ MD_ERROR_WIN_APPEXEC_UNKNOWN_USER = 3067,
++ MD_ERROR_WIN_IO_REISSUE_AS_CACHED = 3950,
++ MD_ERROR_WIN_WINS_INTERNAL = 4000,
++ MD_ERROR_WIN_CAN_NOT_DEL_LOCAL_WINS = 4001,
++ MD_ERROR_WIN_STATIC_INIT = 4002,
++ MD_ERROR_WIN_INC_BACKUP = 4003,
++ MD_ERROR_WIN_FULL_BACKUP = 4004,
++ MD_ERROR_WIN_REC_NON_EXISTENT = 4005,
++ MD_ERROR_WIN_RPL_NOT_ALLOWED = 4006,
++ MD_ERROR_WIN_DHCP_ADDRESS_CONFLICT = 4100,
++ MD_ERROR_WIN_WMI_GUID_NOT_FOUND = 4200,
++ MD_ERROR_WIN_WMI_INSTANCE_NOT_FOUND = 4201,
++ MD_ERROR_WIN_WMI_ITEMID_NOT_FOUND = 4202,
++ MD_ERROR_WIN_WMI_TRY_AGAIN = 4203,
++ MD_ERROR_WIN_WMI_DP_NOT_FOUND = 4204,
++ MD_ERROR_WIN_WMI_UNRESOLVED_INSTANCE_REF = 4205,
++ MD_ERROR_WIN_WMI_ALREADY_ENABLED = 4206,
++ MD_ERROR_WIN_WMI_GUID_DISCONNECTED = 4207,
++ MD_ERROR_WIN_WMI_SERVER_UNAVAILABLE = 4208,
++ MD_ERROR_WIN_WMI_DP_FAILED = 4209,
++ MD_ERROR_WIN_WMI_INVALID_MOF = 4210,
++ MD_ERROR_WIN_WMI_INVALID_REGINFO = 4211,
++ MD_ERROR_WIN_WMI_ALREADY_DISABLED = 4212,
++ MD_ERROR_WIN_WMI_READ_ONLY = 4213,
++ MD_ERROR_WIN_WMI_SET_FAILURE = 4214,
++ MD_ERROR_WIN_NOT_APPCONTAINER = 4250,
++ MD_ERROR_WIN_APPCONTAINER_REQUIRED = 4251,
++ MD_ERROR_WIN_NOT_SUPPORTED_IN_APPCONTAINER = 4252,
++ MD_ERROR_WIN_INVALID_PACKAGE_SID_LENGTH = 4253,
++ MD_ERROR_WIN_INVALID_MEDIA = 4300,
++ MD_ERROR_WIN_INVALID_LIBRARY = 4301,
++ MD_ERROR_WIN_INVALID_MEDIA_POOL = 4302,
++ MD_ERROR_WIN_DRIVE_MEDIA_MISMATCH = 4303,
++ MD_ERROR_WIN_MEDIA_OFFLINE = 4304,
++ MD_ERROR_WIN_LIBRARY_OFFLINE = 4305,
++ MD_ERROR_WIN_EMPTY = 4306,
++ MD_ERROR_WIN_NOT_EMPTY = 4307,
++ MD_ERROR_WIN_MEDIA_UNAVAILABLE = 4308,
++ MD_ERROR_WIN_RESOURCE_DISABLED = 4309,
++ MD_ERROR_WIN_INVALID_CLEANER = 4310,
++ MD_ERROR_WIN_UNABLE_TO_CLEAN = 4311,
++ MD_ERROR_WIN_OBJECT_NOT_FOUND = 4312,
++ MD_ERROR_WIN_DATABASE_FAILURE = 4313,
++ MD_ERROR_WIN_DATABASE_FULL = 4314,
++ MD_ERROR_WIN_MEDIA_INCOMPATIBLE = 4315,
++ MD_ERROR_WIN_RESOURCE_NOT_PRESENT = 4316,
++ MD_ERROR_WIN_INVALID_OPERATION = 4317,
++ MD_ERROR_WIN_MEDIA_NOT_AVAILABLE = 4318,
++ MD_ERROR_WIN_DEVICE_NOT_AVAILABLE = 4319,
++ MD_ERROR_WIN_REQUEST_REFUSED = 4320,
++ MD_ERROR_WIN_INVALID_DRIVE_OBJECT = 4321,
++ MD_ERROR_WIN_LIBRARY_FULL = 4322,
++ MD_ERROR_WIN_MEDIUM_NOT_ACCESSIBLE = 4323,
++ MD_ERROR_WIN_UNABLE_TO_LOAD_MEDIUM = 4324,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_DRIVE = 4325,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_SLOT = 4326,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_TRANSPORT = 4327,
++ MD_ERROR_WIN_TRANSPORT_FULL = 4328,
++ MD_ERROR_WIN_CONTROLLING_IEPORT = 4329,
++ MD_ERROR_WIN_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330,
++ MD_ERROR_WIN_CLEANER_SLOT_SET = 4331,
++ MD_ERROR_WIN_CLEANER_SLOT_NOT_SET = 4332,
++ MD_ERROR_WIN_CLEANER_CARTRIDGE_SPENT = 4333,
++ MD_ERROR_WIN_UNEXPECTED_OMID = 4334,
++ MD_ERROR_WIN_CANT_DELETE_LAST_ITEM = 4335,
++ MD_ERROR_WIN_MESSAGE_EXCEEDS_MAX_SIZE = 4336,
++ MD_ERROR_WIN_VOLUME_CONTAINS_SYS_FILES = 4337,
++ MD_ERROR_WIN_INDIGENOUS_TYPE = 4338,
++ MD_ERROR_WIN_NO_SUPPORTING_DRIVES = 4339,
++ MD_ERROR_WIN_CLEANER_CARTRIDGE_INSTALLED = 4340,
++ MD_ERROR_WIN_IEPORT_FULL = 4341,
++ MD_ERROR_WIN_FILE_OFFLINE = 4350,
++ MD_ERROR_WIN_REMOTE_STORAGE_NOT_ACTIVE = 4351,
++ MD_ERROR_WIN_REMOTE_STORAGE_MEDIA_ERROR = 4352,
++ MD_ERROR_WIN_NOT_A_REPARSE_POINT = 4390,
++ MD_ERROR_WIN_REPARSE_ATTRIBUTE_CONFLICT = 4391,
++ MD_ERROR_WIN_INVALID_REPARSE_DATA = 4392,
++ MD_ERROR_WIN_REPARSE_TAG_INVALID = 4393,
++ MD_ERROR_WIN_REPARSE_TAG_MISMATCH = 4394,
++ MD_ERROR_WIN_REPARSE_POINT_ENCOUNTERED = 4395,
++ MD_ERROR_WIN_APP_DATA_NOT_FOUND = 4400,
++ MD_ERROR_WIN_APP_DATA_EXPIRED = 4401,
++ MD_ERROR_WIN_APP_DATA_CORRUPT = 4402,
++ MD_ERROR_WIN_APP_DATA_LIMIT_EXCEEDED = 4403,
++ MD_ERROR_WIN_APP_DATA_REBOOT_REQUIRED = 4404,
++ MD_ERROR_WIN_SECUREBOOT_ROLLBACK_DETECTED = 4420,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_VIOLATION = 4421,
++ MD_ERROR_WIN_SECUREBOOT_INVALID_POLICY = 4422,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND = 4423,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_NOT_SIGNED = 4424,
++ MD_ERROR_WIN_SECUREBOOT_NOT_ENABLED = 4425,
++ MD_ERROR_WIN_SECUREBOOT_FILE_REPLACED = 4426,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_NOT_AUTHORIZED = 4427,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_UNKNOWN = 4428,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION = 4429,
++ MD_ERROR_WIN_SECUREBOOT_PLATFORM_ID_MISMATCH = 4430,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_ROLLBACK_DETECTED = 4431,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_UPGRADE_MISMATCH = 4432,
++ MD_ERROR_WIN_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING = 4433,
++ MD_ERROR_WIN_SECUREBOOT_NOT_BASE_POLICY = 4434,
++ MD_ERROR_WIN_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY = 4435,
++ MD_ERROR_WIN_OFFLOAD_READ_FLT_NOT_SUPPORTED = 4440,
++ MD_ERROR_WIN_OFFLOAD_WRITE_FLT_NOT_SUPPORTED = 4441,
++ MD_ERROR_WIN_OFFLOAD_READ_FILE_NOT_SUPPORTED = 4442,
++ MD_ERROR_WIN_OFFLOAD_WRITE_FILE_NOT_SUPPORTED = 4443,
++ MD_ERROR_WIN_ALREADY_HAS_STREAM_ID = 4444,
++ MD_ERROR_WIN_SMR_GARBAGE_COLLECTION_REQUIRED = 4445,
++ MD_ERROR_WIN_WOF_WIM_HEADER_CORRUPT = 4446,
++ MD_ERROR_WIN_WOF_WIM_RESOURCE_TABLE_CORRUPT = 4447,
++ MD_ERROR_WIN_WOF_FILE_RESOURCE_TABLE_CORRUPT = 4448,
++ MD_ERROR_WIN_VOLUME_NOT_SIS_ENABLED = 4500,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_ROLLBACK_DETECTED = 4550,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_POLICY_VIOLATION = 4551,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_INVALID_POLICY = 4552,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED = 4553,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_TOO_MANY_POLICIES = 4554,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED = 4555,
++ MD_ERROR_WIN_VSM_NOT_INITIALIZED = 4560,
++ MD_ERROR_WIN_VSM_DMA_PROTECTION_NOT_IN_USE = 4561,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_AUTHORIZED = 4570,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_INVALID = 4571,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED = 4572,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED = 4573,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND = 4574,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_ACTIVE = 4575,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_SIGNED = 4576,
++ MD_ERROR_WIN_DEPENDENT_RESOURCE_EXISTS = 5001,
++ MD_ERROR_WIN_DEPENDENCY_NOT_FOUND = 5002,
++ MD_ERROR_WIN_DEPENDENCY_ALREADY_EXISTS = 5003,
++ MD_ERROR_WIN_RESOURCE_NOT_ONLINE = 5004,
++ MD_ERROR_WIN_HOST_NODE_NOT_AVAILABLE = 5005,
++ MD_ERROR_WIN_RESOURCE_NOT_AVAILABLE = 5006,
++ MD_ERROR_WIN_RESOURCE_NOT_FOUND = 5007,
++ MD_ERROR_WIN_SHUTDOWN_CLUSTER = 5008,
++ MD_ERROR_WIN_CANT_EVICT_ACTIVE_NODE = 5009,
++ MD_ERROR_WIN_OBJECT_ALREADY_EXISTS = 5010,
++ MD_ERROR_WIN_OBJECT_IN_LIST = 5011,
++ MD_ERROR_WIN_GROUP_NOT_AVAILABLE = 5012,
++ MD_ERROR_WIN_GROUP_NOT_FOUND = 5013,
++ MD_ERROR_WIN_GROUP_NOT_ONLINE = 5014,
++ MD_ERROR_WIN_HOST_NODE_NOT_RESOURCE_OWNER = 5015,
++ MD_ERROR_WIN_HOST_NODE_NOT_GROUP_OWNER = 5016,
++ MD_ERROR_WIN_RESMON_CREATE_FAILED = 5017,
++ MD_ERROR_WIN_RESMON_ONLINE_FAILED = 5018,
++ MD_ERROR_WIN_RESOURCE_ONLINE = 5019,
++ MD_ERROR_WIN_QUORUM_RESOURCE = 5020,
++ MD_ERROR_WIN_NOT_QUORUM_CAPABLE = 5021,
++ MD_ERROR_WIN_CLUSTER_SHUTTING_DOWN = 5022,
++ MD_ERROR_WIN_INVALID_STATE = 5023,
++ MD_ERROR_WIN_RESOURCE_PROPERTIES_STORED = 5024,
++ MD_ERROR_WIN_NOT_QUORUM_CLASS = 5025,
++ MD_ERROR_WIN_CORE_RESOURCE = 5026,
++ MD_ERROR_WIN_QUORUM_RESOURCE_ONLINE_FAILED = 5027,
++ MD_ERROR_WIN_QUORUMLOG_OPEN_FAILED = 5028,
++ MD_ERROR_WIN_CLUSTERLOG_CORRUPT = 5029,
++ MD_ERROR_WIN_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030,
++ MD_ERROR_WIN_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031,
++ MD_ERROR_WIN_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032,
++ MD_ERROR_WIN_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033,
++ MD_ERROR_WIN_QUORUM_OWNER_ALIVE = 5034,
++ MD_ERROR_WIN_NETWORK_NOT_AVAILABLE = 5035,
++ MD_ERROR_WIN_NODE_NOT_AVAILABLE = 5036,
++ MD_ERROR_WIN_ALL_NODES_NOT_AVAILABLE = 5037,
++ MD_ERROR_WIN_RESOURCE_FAILED = 5038,
++ MD_ERROR_WIN_CLUSTER_INVALID_NODE = 5039,
++ MD_ERROR_WIN_CLUSTER_NODE_EXISTS = 5040,
++ MD_ERROR_WIN_CLUSTER_JOIN_IN_PROGRESS = 5041,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_FOUND = 5042,
++ MD_ERROR_WIN_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043,
++ MD_ERROR_WIN_CLUSTER_NETWORK_EXISTS = 5044,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_FOUND = 5045,
++ MD_ERROR_WIN_CLUSTER_NETINTERFACE_EXISTS = 5046,
++ MD_ERROR_WIN_CLUSTER_NETINTERFACE_NOT_FOUND = 5047,
++ MD_ERROR_WIN_CLUSTER_INVALID_REQUEST = 5048,
++ MD_ERROR_WIN_CLUSTER_INVALID_NETWORK_PROVIDER = 5049,
++ MD_ERROR_WIN_CLUSTER_NODE_DOWN = 5050,
++ MD_ERROR_WIN_CLUSTER_NODE_UNREACHABLE = 5051,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_MEMBER = 5052,
++ MD_ERROR_WIN_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053,
++ MD_ERROR_WIN_CLUSTER_INVALID_NETWORK = 5054,
++ MD_ERROR_WIN_CLUSTER_NODE_UP = 5056,
++ MD_ERROR_WIN_CLUSTER_IPADDR_IN_USE = 5057,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_PAUSED = 5058,
++ MD_ERROR_WIN_CLUSTER_NO_SECURITY_CONTEXT = 5059,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_INTERNAL = 5060,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_UP = 5061,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_DOWN = 5062,
++ MD_ERROR_WIN_CLUSTER_NETWORK_ALREADY_ONLINE = 5063,
++ MD_ERROR_WIN_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_MEMBER = 5065,
++ MD_ERROR_WIN_CLUSTER_LAST_INTERNAL_NETWORK = 5066,
++ MD_ERROR_WIN_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067,
++ MD_ERROR_WIN_INVALID_OPERATION_ON_QUORUM = 5068,
++ MD_ERROR_WIN_DEPENDENCY_NOT_ALLOWED = 5069,
++ MD_ERROR_WIN_CLUSTER_NODE_PAUSED = 5070,
++ MD_ERROR_WIN_NODE_CANT_HOST_RESOURCE = 5071,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_READY = 5072,
++ MD_ERROR_WIN_CLUSTER_NODE_SHUTTING_DOWN = 5073,
++ MD_ERROR_WIN_CLUSTER_JOIN_ABORTED = 5074,
++ MD_ERROR_WIN_CLUSTER_INCOMPATIBLE_VERSIONS = 5075,
++ MD_ERROR_WIN_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076,
++ MD_ERROR_WIN_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078,
++ MD_ERROR_WIN_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079,
++ MD_ERROR_WIN_CLUSTER_RESNAME_NOT_FOUND = 5080,
++ MD_ERROR_WIN_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081,
++ MD_ERROR_WIN_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082,
++ MD_ERROR_WIN_CLUSTER_DATABASE_SEQMISMATCH = 5083,
++ MD_ERROR_WIN_RESMON_INVALID_STATE = 5084,
++ MD_ERROR_WIN_CLUSTER_GUM_NOT_LOCKER = 5085,
++ MD_ERROR_WIN_QUORUM_DISK_NOT_FOUND = 5086,
++ MD_ERROR_WIN_DATABASE_BACKUP_CORRUPT = 5087,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088,
++ MD_ERROR_WIN_RESOURCE_PROPERTY_UNCHANGEABLE = 5089,
++ MD_ERROR_WIN_NO_ADMIN_ACCESS_POINT = 5090,
++ MD_ERROR_WIN_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890,
++ MD_ERROR_WIN_CLUSTER_QUORUMLOG_NOT_FOUND = 5891,
++ MD_ERROR_WIN_CLUSTER_MEMBERSHIP_HALT = 5892,
++ MD_ERROR_WIN_CLUSTER_INSTANCE_ID_MISMATCH = 5893,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 5894,
++ MD_ERROR_WIN_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 5895,
++ MD_ERROR_WIN_CLUSTER_EVICT_WITHOUT_CLEANUP = 5896,
++ MD_ERROR_WIN_CLUSTER_PARAMETER_MISMATCH = 5897,
++ MD_ERROR_WIN_NODE_CANNOT_BE_CLUSTERED = 5898,
++ MD_ERROR_WIN_CLUSTER_WRONG_OS_VERSION = 5899,
++ MD_ERROR_WIN_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 5900,
++ MD_ERROR_WIN_CLUSCFG_ALREADY_COMMITTED = 5901,
++ MD_ERROR_WIN_CLUSCFG_ROLLBACK_FAILED = 5902,
++ MD_ERROR_WIN_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT = 5903,
++ MD_ERROR_WIN_CLUSTER_OLD_VERSION = 5904,
++ MD_ERROR_WIN_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME = 5905,
++ MD_ERROR_WIN_CLUSTER_NO_NET_ADAPTERS = 5906,
++ MD_ERROR_WIN_CLUSTER_POISONED = 5907,
++ MD_ERROR_WIN_CLUSTER_GROUP_MOVING = 5908,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_TYPE_BUSY = 5909,
++ MD_ERROR_WIN_RESOURCE_CALL_TIMED_OUT = 5910,
++ MD_ERROR_WIN_INVALID_CLUSTER_IPV6_ADDRESS = 5911,
++ MD_ERROR_WIN_CLUSTER_INTERNAL_INVALID_FUNCTION = 5912,
++ MD_ERROR_WIN_CLUSTER_PARAMETER_OUT_OF_BOUNDS = 5913,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_SEND = 5914,
++ MD_ERROR_WIN_CLUSTER_REGISTRY_INVALID_FUNCTION = 5915,
++ MD_ERROR_WIN_CLUSTER_INVALID_STRING_TERMINATION = 5916,
++ MD_ERROR_WIN_CLUSTER_INVALID_STRING_FORMAT = 5917,
++ MD_ERROR_WIN_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS = 5918,
++ MD_ERROR_WIN_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS = 5919,
++ MD_ERROR_WIN_CLUSTER_NULL_DATA = 5920,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_READ = 5921,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_WRITE = 5922,
++ MD_ERROR_WIN_CLUSTER_CANT_DESERIALIZE_DATA = 5923,
++ MD_ERROR_WIN_DEPENDENT_RESOURCE_PROPERTY_CONFLICT = 5924,
++ MD_ERROR_WIN_CLUSTER_NO_QUORUM = 5925,
++ MD_ERROR_WIN_CLUSTER_INVALID_IPV6_NETWORK = 5926,
++ MD_ERROR_WIN_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK = 5927,
++ MD_ERROR_WIN_QUORUM_NOT_ALLOWED_IN_THIS_GROUP = 5928,
++ MD_ERROR_WIN_DEPENDENCY_TREE_TOO_COMPLEX = 5929,
++ MD_ERROR_WIN_EXCEPTION_IN_RESOURCE_CALL = 5930,
++ MD_ERROR_WIN_CLUSTER_RHS_FAILED_INITIALIZATION = 5931,
++ MD_ERROR_WIN_CLUSTER_NOT_INSTALLED = 5932,
++ MD_ERROR_WIN_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE = 5933,
++ MD_ERROR_WIN_CLUSTER_MAX_NODES_IN_CLUSTER = 5934,
++ MD_ERROR_WIN_CLUSTER_TOO_MANY_NODES = 5935,
++ MD_ERROR_WIN_CLUSTER_OBJECT_ALREADY_USED = 5936,
++ MD_ERROR_WIN_NONCORE_GROUPS_FOUND = 5937,
++ MD_ERROR_WIN_FILE_SHARE_RESOURCE_CONFLICT = 5938,
++ MD_ERROR_WIN_CLUSTER_EVICT_INVALID_REQUEST = 5939,
++ MD_ERROR_WIN_CLUSTER_SINGLETON_RESOURCE = 5940,
++ MD_ERROR_WIN_CLUSTER_GROUP_SINGLETON_RESOURCE = 5941,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_PROVIDER_FAILED = 5942,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_CONFIGURATION_ERROR = 5943,
++ MD_ERROR_WIN_CLUSTER_GROUP_BUSY = 5944,
++ MD_ERROR_WIN_CLUSTER_NOT_SHARED_VOLUME = 5945,
++ MD_ERROR_WIN_CLUSTER_INVALID_SECURITY_DESCRIPTOR = 5946,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUMES_IN_USE = 5947,
++ MD_ERROR_WIN_CLUSTER_USE_SHARED_VOLUMES_API = 5948,
++ MD_ERROR_WIN_CLUSTER_BACKUP_IN_PROGRESS = 5949,
++ MD_ERROR_WIN_NON_CSV_PATH = 5950,
++ MD_ERROR_WIN_CSV_VOLUME_NOT_LOCAL = 5951,
++ MD_ERROR_WIN_CLUSTER_WATCHDOG_TERMINATING = 5952,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES = 5953,
++ MD_ERROR_WIN_CLUSTER_INVALID_NODE_WEIGHT = 5954,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_CALL = 5955,
++ MD_ERROR_WIN_RESMON_SYSTEM_RESOURCES_LACKING = 5956,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION = 5957,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE = 5958,
++ MD_ERROR_WIN_CLUSTER_GROUP_QUEUED = 5959,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_LOCKED_STATUS = 5960,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED = 5961,
++ MD_ERROR_WIN_CLUSTER_NODE_DRAIN_IN_PROGRESS = 5962,
++ MD_ERROR_WIN_CLUSTER_DISK_NOT_CONNECTED = 5963,
++ MD_ERROR_WIN_DISK_NOT_CSV_CAPABLE = 5964,
++ MD_ERROR_WIN_RESOURCE_NOT_IN_AVAILABLE_STORAGE = 5965,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_REDIRECTED = 5966,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED = 5967,
++ MD_ERROR_WIN_CLUSTER_CANNOT_RETURN_PROPERTIES = 5968,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES = 5969,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE = 5970,
++ MD_ERROR_WIN_CLUSTER_AFFINITY_CONFLICT = 5971,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE = 5972,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS = 5973,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED = 5974,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_RESTART_REQUIRED = 5975,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_IN_PROGRESS = 5976,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_INCOMPLETE = 5977,
++ MD_ERROR_WIN_CLUSTER_NODE_IN_GRACE_PERIOD = 5978,
++ MD_ERROR_WIN_CLUSTER_CSV_IO_PAUSE_TIMEOUT = 5979,
++ MD_ERROR_WIN_NODE_NOT_ACTIVE_CLUSTER_MEMBER = 5980,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_NOT_MONITORED = 5981,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED = 5982,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_REPLICATED = 5983,
++ MD_ERROR_WIN_CLUSTER_NODE_ISOLATED = 5984,
++ MD_ERROR_WIN_CLUSTER_NODE_QUARANTINED = 5985,
++ MD_ERROR_WIN_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED = 5986,
++ MD_ERROR_WIN_CLUSTER_SPACE_DEGRADED = 5987,
++ MD_ERROR_WIN_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED = 5988,
++ MD_ERROR_WIN_CLUSTER_CSV_INVALID_HANDLE = 5989,
++ MD_ERROR_WIN_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR = 5990,
++ MD_ERROR_WIN_GROUPSET_NOT_AVAILABLE = 5991,
++ MD_ERROR_WIN_GROUPSET_NOT_FOUND = 5992,
++ MD_ERROR_WIN_GROUPSET_CANT_PROVIDE = 5993,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND = 5994,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY = 5995,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION = 5996,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS = 5997,
++ MD_ERROR_WIN_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME = 5998,
++ MD_ERROR_WIN_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE = 5999,
++ MD_ERROR_WIN_ENCRYPTION_FAILED = 6000,
++ MD_ERROR_WIN_DECRYPTION_FAILED = 6001,
++ MD_ERROR_WIN_FILE_ENCRYPTED = 6002,
++ MD_ERROR_WIN_NO_RECOVERY_POLICY = 6003,
++ MD_ERROR_WIN_NO_EFS = 6004,
++ MD_ERROR_WIN_WRONG_EFS = 6005,
++ MD_ERROR_WIN_NO_USER_KEYS = 6006,
++ MD_ERROR_WIN_FILE_NOT_ENCRYPTED = 6007,
++ MD_ERROR_WIN_NOT_EXPORT_FORMAT = 6008,
++ MD_ERROR_WIN_FILE_READ_ONLY = 6009,
++ MD_ERROR_WIN_DIR_EFS_DISALLOWED = 6010,
++ MD_ERROR_WIN_EFS_SERVER_NOT_TRUSTED = 6011,
++ MD_ERROR_WIN_BAD_RECOVERY_POLICY = 6012,
++ MD_ERROR_WIN_EFS_ALG_BLOB_TOO_BIG = 6013,
++ MD_ERROR_WIN_VOLUME_NOT_SUPPORT_EFS = 6014,
++ MD_ERROR_WIN_EFS_DISABLED = 6015,
++ MD_ERROR_WIN_EFS_VERSION_NOT_SUPPORT = 6016,
++ MD_ERROR_WIN_CS_ENCRYPTION_INVALID_SERVER_RESPONSE = 6017,
++ MD_ERROR_WIN_CS_ENCRYPTION_UNSUPPORTED_SERVER = 6018,
++ MD_ERROR_WIN_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE = 6019,
++ MD_ERROR_WIN_CS_ENCRYPTION_NEW_ENCRYPTED_FILE = 6020,
++ MD_ERROR_WIN_CS_ENCRYPTION_FILE_NOT_CSE = 6021,
++ MD_ERROR_WIN_ENCRYPTION_POLICY_DENIES_OPERATION = 6022,
++ MD_ERROR_WIN_WIP_ENCRYPTION_FAILED = 6023,
++ MD_ERROR_WIN_NO_BROWSER_SERVERS_FOUND = 6118,
++ MD_ERROR_WIN_CLUSTER_OBJECT_IS_CLUSTER_SET_VM = 6250,
++ MD_ERROR_WIN_LOG_SECTOR_INVALID = 6600,
++ MD_ERROR_WIN_LOG_SECTOR_PARITY_INVALID = 6601,
++ MD_ERROR_WIN_LOG_SECTOR_REMAPPED = 6602,
++ MD_ERROR_WIN_LOG_BLOCK_INCOMPLETE = 6603,
++ MD_ERROR_WIN_LOG_INVALID_RANGE = 6604,
++ MD_ERROR_WIN_LOG_BLOCKS_EXHAUSTED = 6605,
++ MD_ERROR_WIN_LOG_READ_CONTEXT_INVALID = 6606,
++ MD_ERROR_WIN_LOG_RESTART_INVALID = 6607,
++ MD_ERROR_WIN_LOG_BLOCK_VERSION = 6608,
++ MD_ERROR_WIN_LOG_BLOCK_INVALID = 6609,
++ MD_ERROR_WIN_LOG_READ_MODE_INVALID = 6610,
++ MD_ERROR_WIN_LOG_NO_RESTART = 6611,
++ MD_ERROR_WIN_LOG_METADATA_CORRUPT = 6612,
++ MD_ERROR_WIN_LOG_METADATA_INVALID = 6613,
++ MD_ERROR_WIN_LOG_METADATA_INCONSISTENT = 6614,
++ MD_ERROR_WIN_LOG_RESERVATION_INVALID = 6615,
++ MD_ERROR_WIN_LOG_CANT_DELETE = 6616,
++ MD_ERROR_WIN_LOG_CONTAINER_LIMIT_EXCEEDED = 6617,
++ MD_ERROR_WIN_LOG_START_OF_LOG = 6618,
++ MD_ERROR_WIN_LOG_POLICY_ALREADY_INSTALLED = 6619,
++ MD_ERROR_WIN_LOG_POLICY_NOT_INSTALLED = 6620,
++ MD_ERROR_WIN_LOG_POLICY_INVALID = 6621,
++ MD_ERROR_WIN_LOG_POLICY_CONFLICT = 6622,
++ MD_ERROR_WIN_LOG_PINNED_ARCHIVE_TAIL = 6623,
++ MD_ERROR_WIN_LOG_RECORD_NONEXISTENT = 6624,
++ MD_ERROR_WIN_LOG_RECORDS_RESERVED_INVALID = 6625,
++ MD_ERROR_WIN_LOG_SPACE_RESERVED_INVALID = 6626,
++ MD_ERROR_WIN_LOG_TAIL_INVALID = 6627,
++ MD_ERROR_WIN_LOG_FULL = 6628,
++ MD_ERROR_WIN_COULD_NOT_RESIZE_LOG = 6629,
++ MD_ERROR_WIN_LOG_MULTIPLEXED = 6630,
++ MD_ERROR_WIN_LOG_DEDICATED = 6631,
++ MD_ERROR_WIN_LOG_ARCHIVE_NOT_IN_PROGRESS = 6632,
++ MD_ERROR_WIN_LOG_ARCHIVE_IN_PROGRESS = 6633,
++ MD_ERROR_WIN_LOG_EPHEMERAL = 6634,
++ MD_ERROR_WIN_LOG_NOT_ENOUGH_CONTAINERS = 6635,
++ MD_ERROR_WIN_LOG_CLIENT_ALREADY_REGISTERED = 6636,
++ MD_ERROR_WIN_LOG_CLIENT_NOT_REGISTERED = 6637,
++ MD_ERROR_WIN_LOG_FULL_HANDLER_IN_PROGRESS = 6638,
++ MD_ERROR_WIN_LOG_CONTAINER_READ_FAILED = 6639,
++ MD_ERROR_WIN_LOG_CONTAINER_WRITE_FAILED = 6640,
++ MD_ERROR_WIN_LOG_CONTAINER_OPEN_FAILED = 6641,
++ MD_ERROR_WIN_LOG_CONTAINER_STATE_INVALID = 6642,
++ MD_ERROR_WIN_LOG_STATE_INVALID = 6643,
++ MD_ERROR_WIN_LOG_PINNED = 6644,
++ MD_ERROR_WIN_LOG_METADATA_FLUSH_FAILED = 6645,
++ MD_ERROR_WIN_LOG_INCONSISTENT_SECURITY = 6646,
++ MD_ERROR_WIN_LOG_APPENDED_FLUSH_FAILED = 6647,
++ MD_ERROR_WIN_LOG_PINNED_RESERVATION = 6648,
++ MD_ERROR_WIN_INVALID_TRANSACTION = 6700,
++ MD_ERROR_WIN_TRANSACTION_NOT_ACTIVE = 6701,
++ MD_ERROR_WIN_TRANSACTION_REQUEST_NOT_VALID = 6702,
++ MD_ERROR_WIN_TRANSACTION_NOT_REQUESTED = 6703,
++ MD_ERROR_WIN_TRANSACTION_ALREADY_ABORTED = 6704,
++ MD_ERROR_WIN_TRANSACTION_ALREADY_COMMITTED = 6705,
++ MD_ERROR_WIN_TM_INITIALIZATION_FAILED = 6706,
++ MD_ERROR_WIN_RESOURCEMANAGER_READ_ONLY = 6707,
++ MD_ERROR_WIN_TRANSACTION_NOT_JOINED = 6708,
++ MD_ERROR_WIN_TRANSACTION_SUPERIOR_EXISTS = 6709,
++ MD_ERROR_WIN_CRM_PROTOCOL_ALREADY_EXISTS = 6710,
++ MD_ERROR_WIN_TRANSACTION_PROPAGATION_FAILED = 6711,
++ MD_ERROR_WIN_CRM_PROTOCOL_NOT_FOUND = 6712,
++ MD_ERROR_WIN_TRANSACTION_INVALID_MARSHALL_BUFFER = 6713,
++ MD_ERROR_WIN_CURRENT_TRANSACTION_NOT_VALID = 6714,
++ MD_ERROR_WIN_TRANSACTION_NOT_FOUND = 6715,
++ MD_ERROR_WIN_RESOURCEMANAGER_NOT_FOUND = 6716,
++ MD_ERROR_WIN_ENLISTMENT_NOT_FOUND = 6717,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_NOT_FOUND = 6718,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_NOT_ONLINE = 6719,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION = 6720,
++ MD_ERROR_WIN_TRANSACTION_NOT_ROOT = 6721,
++ MD_ERROR_WIN_TRANSACTION_OBJECT_EXPIRED = 6722,
++ MD_ERROR_WIN_TRANSACTION_RESPONSE_NOT_ENLISTED = 6723,
++ MD_ERROR_WIN_TRANSACTION_RECORD_TOO_LONG = 6724,
++ MD_ERROR_WIN_IMPLICIT_TRANSACTION_NOT_SUPPORTED = 6725,
++ MD_ERROR_WIN_TRANSACTION_INTEGRITY_VIOLATED = 6726,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_IDENTITY_MISMATCH = 6727,
++ MD_ERROR_WIN_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT = 6728,
++ MD_ERROR_WIN_TRANSACTION_MUST_WRITETHROUGH = 6729,
++ MD_ERROR_WIN_TRANSACTION_NO_SUPERIOR = 6730,
++ MD_ERROR_WIN_HEURISTIC_DAMAGE_POSSIBLE = 6731,
++ MD_ERROR_WIN_TRANSACTIONAL_CONFLICT = 6800,
++ MD_ERROR_WIN_RM_NOT_ACTIVE = 6801,
++ MD_ERROR_WIN_RM_METADATA_CORRUPT = 6802,
++ MD_ERROR_WIN_DIRECTORY_NOT_RM = 6803,
++ MD_ERROR_WIN_TRANSACTIONS_UNSUPPORTED_REMOTE = 6805,
++ MD_ERROR_WIN_LOG_RESIZE_INVALID_SIZE = 6806,
++ MD_ERROR_WIN_OBJECT_NO_LONGER_EXISTS = 6807,
++ MD_ERROR_WIN_STREAM_MINIVERSION_NOT_FOUND = 6808,
++ MD_ERROR_WIN_STREAM_MINIVERSION_NOT_VALID = 6809,
++ MD_ERROR_WIN_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION = 6810,
++ MD_ERROR_WIN_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT = 6811,
++ MD_ERROR_WIN_CANT_CREATE_MORE_STREAM_MINIVERSIONS = 6812,
++ MD_ERROR_WIN_REMOTE_FILE_VERSION_MISMATCH = 6814,
++ MD_ERROR_WIN_HANDLE_NO_LONGER_VALID = 6815,
++ MD_ERROR_WIN_NO_TXF_METADATA = 6816,
++ MD_ERROR_WIN_LOG_CORRUPTION_DETECTED = 6817,
++ MD_ERROR_WIN_CANT_RECOVER_WITH_HANDLE_OPEN = 6818,
++ MD_ERROR_WIN_RM_DISCONNECTED = 6819,
++ MD_ERROR_WIN_ENLISTMENT_NOT_SUPERIOR = 6820,
++ MD_ERROR_WIN_RECOVERY_NOT_NEEDED = 6821,
++ MD_ERROR_WIN_RM_ALREADY_STARTED = 6822,
++ MD_ERROR_WIN_FILE_IDENTITY_NOT_PERSISTENT = 6823,
++ MD_ERROR_WIN_CANT_BREAK_TRANSACTIONAL_DEPENDENCY = 6824,
++ MD_ERROR_WIN_CANT_CROSS_RM_BOUNDARY = 6825,
++ MD_ERROR_WIN_TXF_DIR_NOT_EMPTY = 6826,
++ MD_ERROR_WIN_INDOUBT_TRANSACTIONS_EXIST = 6827,
++ MD_ERROR_WIN_TM_VOLATILE = 6828,
++ MD_ERROR_WIN_ROLLBACK_TIMER_EXPIRED = 6829,
++ MD_ERROR_WIN_TXF_ATTRIBUTE_CORRUPT = 6830,
++ MD_ERROR_WIN_EFS_NOT_ALLOWED_IN_TRANSACTION = 6831,
++ MD_ERROR_WIN_TRANSACTIONAL_OPEN_NOT_ALLOWED = 6832,
++ MD_ERROR_WIN_LOG_GROWTH_FAILED = 6833,
++ MD_ERROR_WIN_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE = 6834,
++ MD_ERROR_WIN_TXF_METADATA_ALREADY_PRESENT = 6835,
++ MD_ERROR_WIN_TRANSACTION_SCOPE_CALLBACKS_NOT_SET = 6836,
++ MD_ERROR_WIN_TRANSACTION_REQUIRED_PROMOTION = 6837,
++ MD_ERROR_WIN_CANNOT_EXECUTE_FILE_IN_TRANSACTION = 6838,
++ MD_ERROR_WIN_TRANSACTIONS_NOT_FROZEN = 6839,
++ MD_ERROR_WIN_TRANSACTION_FREEZE_IN_PROGRESS = 6840,
++ MD_ERROR_WIN_NOT_SNAPSHOT_VOLUME = 6841,
++ MD_ERROR_WIN_NO_SAVEPOINT_WITH_OPEN_FILES = 6842,
++ MD_ERROR_WIN_DATA_LOST_REPAIR = 6843,
++ MD_ERROR_WIN_SPARSE_NOT_ALLOWED_IN_TRANSACTION = 6844,
++ MD_ERROR_WIN_TM_IDENTITY_MISMATCH = 6845,
++ MD_ERROR_WIN_FLOATED_SECTION = 6846,
++ MD_ERROR_WIN_CANNOT_ACCEPT_TRANSACTED_WORK = 6847,
++ MD_ERROR_WIN_CANNOT_ABORT_TRANSACTIONS = 6848,
++ MD_ERROR_WIN_BAD_CLUSTERS = 6849,
++ MD_ERROR_WIN_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION = 6850,
++ MD_ERROR_WIN_VOLUME_DIRTY = 6851,
++ MD_ERROR_WIN_NO_LINK_TRACKING_IN_TRANSACTION = 6852,
++ MD_ERROR_WIN_OPERATION_NOT_SUPPORTED_IN_TRANSACTION = 6853,
++ MD_ERROR_WIN_EXPIRED_HANDLE = 6854,
++ MD_ERROR_WIN_TRANSACTION_NOT_ENLISTED = 6855,
++ MD_ERROR_WIN_CTX_WINSTATION_NAME_INVALID = 7001,
++ MD_ERROR_WIN_CTX_INVALID_PD = 7002,
++ MD_ERROR_WIN_CTX_PD_NOT_FOUND = 7003,
++ MD_ERROR_WIN_CTX_WD_NOT_FOUND = 7004,
++ MD_ERROR_WIN_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005,
++ MD_ERROR_WIN_CTX_SERVICE_NAME_COLLISION = 7006,
++ MD_ERROR_WIN_CTX_CLOSE_PENDING = 7007,
++ MD_ERROR_WIN_CTX_NO_OUTBUF = 7008,
++ MD_ERROR_WIN_CTX_MODEM_INF_NOT_FOUND = 7009,
++ MD_ERROR_WIN_CTX_INVALID_MODEMNAME = 7010,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_ERROR = 7011,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_TIMEOUT = 7012,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_NO_CARRIER = 7013,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_BUSY = 7015,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_VOICE = 7016,
++ MD_ERROR_WIN_CTX_TD_ERROR = 7017,
++ MD_ERROR_WIN_CTX_WINSTATION_NOT_FOUND = 7022,
++ MD_ERROR_WIN_CTX_WINSTATION_ALREADY_EXISTS = 7023,
++ MD_ERROR_WIN_CTX_WINSTATION_BUSY = 7024,
++ MD_ERROR_WIN_CTX_BAD_VIDEO_MODE = 7025,
++ MD_ERROR_WIN_CTX_GRAPHICS_INVALID = 7035,
++ MD_ERROR_WIN_CTX_LOGON_DISABLED = 7037,
++ MD_ERROR_WIN_CTX_NOT_CONSOLE = 7038,
++ MD_ERROR_WIN_CTX_CLIENT_QUERY_TIMEOUT = 7040,
++ MD_ERROR_WIN_CTX_CONSOLE_DISCONNECT = 7041,
++ MD_ERROR_WIN_CTX_CONSOLE_CONNECT = 7042,
++ MD_ERROR_WIN_CTX_SHADOW_DENIED = 7044,
++ MD_ERROR_WIN_CTX_WINSTATION_ACCESS_DENIED = 7045,
++ MD_ERROR_WIN_CTX_INVALID_WD = 7049,
++ MD_ERROR_WIN_CTX_SHADOW_INVALID = 7050,
++ MD_ERROR_WIN_CTX_SHADOW_DISABLED = 7051,
++ MD_ERROR_WIN_CTX_CLIENT_LICENSE_IN_USE = 7052,
++ MD_ERROR_WIN_CTX_CLIENT_LICENSE_NOT_SET = 7053,
++ MD_ERROR_WIN_CTX_LICENSE_NOT_AVAILABLE = 7054,
++ MD_ERROR_WIN_CTX_LICENSE_CLIENT_INVALID = 7055,
++ MD_ERROR_WIN_CTX_LICENSE_EXPIRED = 7056,
++ MD_ERROR_WIN_CTX_SHADOW_NOT_RUNNING = 7057,
++ MD_ERROR_WIN_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 7058,
++ MD_ERROR_WIN_ACTIVATION_COUNT_EXCEEDED = 7059,
++ MD_ERROR_WIN_CTX_WINSTATIONS_DISABLED = 7060,
++ MD_ERROR_WIN_CTX_ENCRYPTION_LEVEL_REQUIRED = 7061,
++ MD_ERROR_WIN_CTX_SESSION_IN_USE = 7062,
++ MD_ERROR_WIN_CTX_NO_FORCE_LOGOFF = 7063,
++ MD_ERROR_WIN_CTX_ACCOUNT_RESTRICTION = 7064,
++ MD_ERROR_WIN_RDP_PROTOCOL_ERROR = 7065,
++ MD_ERROR_WIN_CTX_CDM_CONNECT = 7066,
++ MD_ERROR_WIN_CTX_CDM_DISCONNECT = 7067,
++ MD_ERROR_WIN_CTX_SECURITY_LAYER_ERROR = 7068,
++ MD_ERROR_WIN_TS_INCOMPATIBLE_SESSIONS = 7069,
++ MD_ERROR_WIN_TS_VIDEO_SUBSYSTEM_ERROR = 7070,
++ MD_ERROR_WIN_DS_NOT_INSTALLED = 8200,
++ MD_ERROR_WIN_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201,
++ MD_ERROR_WIN_DS_NO_ATTRIBUTE_OR_VALUE = 8202,
++ MD_ERROR_WIN_DS_INVALID_ATTRIBUTE_SYNTAX = 8203,
++ MD_ERROR_WIN_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204,
++ MD_ERROR_WIN_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205,
++ MD_ERROR_WIN_DS_BUSY = 8206,
++ MD_ERROR_WIN_DS_UNAVAILABLE = 8207,
++ MD_ERROR_WIN_DS_NO_RIDS_ALLOCATED = 8208,
++ MD_ERROR_WIN_DS_NO_MORE_RIDS = 8209,
++ MD_ERROR_WIN_DS_INCORRECT_ROLE_OWNER = 8210,
++ MD_ERROR_WIN_DS_RIDMGR_INIT_ERROR = 8211,
++ MD_ERROR_WIN_DS_OBJ_CLASS_VIOLATION = 8212,
++ MD_ERROR_WIN_DS_CANT_ON_NON_LEAF = 8213,
++ MD_ERROR_WIN_DS_CANT_ON_RDN = 8214,
++ MD_ERROR_WIN_DS_CANT_MOD_OBJ_CLASS = 8215,
++ MD_ERROR_WIN_DS_CROSS_DOM_MOVE_ERROR = 8216,
++ MD_ERROR_WIN_DS_GC_NOT_AVAILABLE = 8217,
++ MD_ERROR_WIN_SHARED_POLICY = 8218,
++ MD_ERROR_WIN_POLICY_OBJECT_NOT_FOUND = 8219,
++ MD_ERROR_WIN_POLICY_ONLY_IN_DS = 8220,
++ MD_ERROR_WIN_PROMOTION_ACTIVE = 8221,
++ MD_ERROR_WIN_NO_PROMOTION_ACTIVE = 8222,
++ MD_ERROR_WIN_DS_OPERATIONS_ERROR = 8224,
++ MD_ERROR_WIN_DS_PROTOCOL_ERROR = 8225,
++ MD_ERROR_WIN_DS_TIMELIMIT_EXCEEDED = 8226,
++ MD_ERROR_WIN_DS_SIZELIMIT_EXCEEDED = 8227,
++ MD_ERROR_WIN_DS_ADMIN_LIMIT_EXCEEDED = 8228,
++ MD_ERROR_WIN_DS_COMPARE_FALSE = 8229,
++ MD_ERROR_WIN_DS_COMPARE_TRUE = 8230,
++ MD_ERROR_WIN_DS_AUTH_METHOD_NOT_SUPPORTED = 8231,
++ MD_ERROR_WIN_DS_STRONG_AUTH_REQUIRED = 8232,
++ MD_ERROR_WIN_DS_INAPPROPRIATE_AUTH = 8233,
++ MD_ERROR_WIN_DS_AUTH_UNKNOWN = 8234,
++ MD_ERROR_WIN_DS_REFERRAL = 8235,
++ MD_ERROR_WIN_DS_UNAVAILABLE_CRIT_EXTENSION = 8236,
++ MD_ERROR_WIN_DS_CONFIDENTIALITY_REQUIRED = 8237,
++ MD_ERROR_WIN_DS_INAPPROPRIATE_MATCHING = 8238,
++ MD_ERROR_WIN_DS_CONSTRAINT_VIOLATION = 8239,
++ MD_ERROR_WIN_DS_NO_SUCH_OBJECT = 8240,
++ MD_ERROR_WIN_DS_ALIAS_PROBLEM = 8241,
++ MD_ERROR_WIN_DS_INVALID_DN_SYNTAX = 8242,
++ MD_ERROR_WIN_DS_IS_LEAF = 8243,
++ MD_ERROR_WIN_DS_ALIAS_DEREF_PROBLEM = 8244,
++ MD_ERROR_WIN_DS_UNWILLING_TO_PERFORM = 8245,
++ MD_ERROR_WIN_DS_LOOP_DETECT = 8246,
++ MD_ERROR_WIN_DS_NAMING_VIOLATION = 8247,
++ MD_ERROR_WIN_DS_OBJECT_RESULTS_TOO_LARGE = 8248,
++ MD_ERROR_WIN_DS_AFFECTS_MULTIPLE_DSAS = 8249,
++ MD_ERROR_WIN_DS_SERVER_DOWN = 8250,
++ MD_ERROR_WIN_DS_LOCAL_ERROR = 8251,
++ MD_ERROR_WIN_DS_ENCODING_ERROR = 8252,
++ MD_ERROR_WIN_DS_DECODING_ERROR = 8253,
++ MD_ERROR_WIN_DS_FILTER_UNKNOWN = 8254,
++ MD_ERROR_WIN_DS_PARAM_ERROR = 8255,
++ MD_ERROR_WIN_DS_NOT_SUPPORTED = 8256,
++ MD_ERROR_WIN_DS_NO_RESULTS_RETURNED = 8257,
++ MD_ERROR_WIN_DS_CONTROL_NOT_FOUND = 8258,
++ MD_ERROR_WIN_DS_CLIENT_LOOP = 8259,
++ MD_ERROR_WIN_DS_REFERRAL_LIMIT_EXCEEDED = 8260,
++ MD_ERROR_WIN_DS_SORT_CONTROL_MISSING = 8261,
++ MD_ERROR_WIN_DS_OFFSET_RANGE_ERROR = 8262,
++ MD_ERROR_WIN_DS_RIDMGR_DISABLED = 8263,
++ MD_ERROR_WIN_DS_ROOT_MUST_BE_NC = 8301,
++ MD_ERROR_WIN_DS_ADD_REPLICA_INHIBITED = 8302,
++ MD_ERROR_WIN_DS_ATT_NOT_DEF_IN_SCHEMA = 8303,
++ MD_ERROR_WIN_DS_MAX_OBJ_SIZE_EXCEEDED = 8304,
++ MD_ERROR_WIN_DS_OBJ_STRING_NAME_EXISTS = 8305,
++ MD_ERROR_WIN_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306,
++ MD_ERROR_WIN_DS_RDN_DOESNT_MATCH_SCHEMA = 8307,
++ MD_ERROR_WIN_DS_NO_REQUESTED_ATTS_FOUND = 8308,
++ MD_ERROR_WIN_DS_USER_BUFFER_TO_SMALL = 8309,
++ MD_ERROR_WIN_DS_ATT_IS_NOT_ON_OBJ = 8310,
++ MD_ERROR_WIN_DS_ILLEGAL_MOD_OPERATION = 8311,
++ MD_ERROR_WIN_DS_OBJ_TOO_LARGE = 8312,
++ MD_ERROR_WIN_DS_BAD_INSTANCE_TYPE = 8313,
++ MD_ERROR_WIN_DS_MASTERDSA_REQUIRED = 8314,
++ MD_ERROR_WIN_DS_OBJECT_CLASS_REQUIRED = 8315,
++ MD_ERROR_WIN_DS_MISSING_REQUIRED_ATT = 8316,
++ MD_ERROR_WIN_DS_ATT_NOT_DEF_FOR_CLASS = 8317,
++ MD_ERROR_WIN_DS_ATT_ALREADY_EXISTS = 8318,
++ MD_ERROR_WIN_DS_CANT_ADD_ATT_VALUES = 8320,
++ MD_ERROR_WIN_DS_SINGLE_VALUE_CONSTRAINT = 8321,
++ MD_ERROR_WIN_DS_RANGE_CONSTRAINT = 8322,
++ MD_ERROR_WIN_DS_ATT_VAL_ALREADY_EXISTS = 8323,
++ MD_ERROR_WIN_DS_CANT_REM_MISSING_ATT = 8324,
++ MD_ERROR_WIN_DS_CANT_REM_MISSING_ATT_VAL = 8325,
++ MD_ERROR_WIN_DS_ROOT_CANT_BE_SUBREF = 8326,
++ MD_ERROR_WIN_DS_NO_CHAINING = 8327,
++ MD_ERROR_WIN_DS_NO_CHAINED_EVAL = 8328,
++ MD_ERROR_WIN_DS_NO_PARENT_OBJECT = 8329,
++ MD_ERROR_WIN_DS_PARENT_IS_AN_ALIAS = 8330,
++ MD_ERROR_WIN_DS_CANT_MIX_MASTER_AND_REPS = 8331,
++ MD_ERROR_WIN_DS_CHILDREN_EXIST = 8332,
++ MD_ERROR_WIN_DS_OBJ_NOT_FOUND = 8333,
++ MD_ERROR_WIN_DS_ALIASED_OBJ_MISSING = 8334,
++ MD_ERROR_WIN_DS_BAD_NAME_SYNTAX = 8335,
++ MD_ERROR_WIN_DS_ALIAS_POINTS_TO_ALIAS = 8336,
++ MD_ERROR_WIN_DS_CANT_DEREF_ALIAS = 8337,
++ MD_ERROR_WIN_DS_OUT_OF_SCOPE = 8338,
++ MD_ERROR_WIN_DS_OBJECT_BEING_REMOVED = 8339,
++ MD_ERROR_WIN_DS_CANT_DELETE_DSA_OBJ = 8340,
++ MD_ERROR_WIN_DS_GENERIC_ERROR = 8341,
++ MD_ERROR_WIN_DS_DSA_MUST_BE_INT_MASTER = 8342,
++ MD_ERROR_WIN_DS_CLASS_NOT_DSA = 8343,
++ MD_ERROR_WIN_DS_INSUFF_ACCESS_RIGHTS = 8344,
++ MD_ERROR_WIN_DS_ILLEGAL_SUPERIOR = 8345,
++ MD_ERROR_WIN_DS_ATTRIBUTE_OWNED_BY_SAM = 8346,
++ MD_ERROR_WIN_DS_NAME_TOO_MANY_PARTS = 8347,
++ MD_ERROR_WIN_DS_NAME_TOO_LONG = 8348,
++ MD_ERROR_WIN_DS_NAME_VALUE_TOO_LONG = 8349,
++ MD_ERROR_WIN_DS_NAME_UNPARSEABLE = 8350,
++ MD_ERROR_WIN_DS_NAME_TYPE_UNKNOWN = 8351,
++ MD_ERROR_WIN_DS_NOT_AN_OBJECT = 8352,
++ MD_ERROR_WIN_DS_SEC_DESC_TOO_SHORT = 8353,
++ MD_ERROR_WIN_DS_SEC_DESC_INVALID = 8354,
++ MD_ERROR_WIN_DS_NO_DELETED_NAME = 8355,
++ MD_ERROR_WIN_DS_SUBREF_MUST_HAVE_PARENT = 8356,
++ MD_ERROR_WIN_DS_NCNAME_MUST_BE_NC = 8357,
++ MD_ERROR_WIN_DS_CANT_ADD_SYSTEM_ONLY = 8358,
++ MD_ERROR_WIN_DS_CLASS_MUST_BE_CONCRETE = 8359,
++ MD_ERROR_WIN_DS_INVALID_DMD = 8360,
++ MD_ERROR_WIN_DS_OBJ_GUID_EXISTS = 8361,
++ MD_ERROR_WIN_DS_NOT_ON_BACKLINK = 8362,
++ MD_ERROR_WIN_DS_NO_CROSSREF_FOR_NC = 8363,
++ MD_ERROR_WIN_DS_SHUTTING_DOWN = 8364,
++ MD_ERROR_WIN_DS_UNKNOWN_OPERATION = 8365,
++ MD_ERROR_WIN_DS_INVALID_ROLE_OWNER = 8366,
++ MD_ERROR_WIN_DS_COULDNT_CONTACT_FSMO = 8367,
++ MD_ERROR_WIN_DS_CROSS_NC_DN_RENAME = 8368,
++ MD_ERROR_WIN_DS_CANT_MOD_SYSTEM_ONLY = 8369,
++ MD_ERROR_WIN_DS_REPLICATOR_ONLY = 8370,
++ MD_ERROR_WIN_DS_OBJ_CLASS_NOT_DEFINED = 8371,
++ MD_ERROR_WIN_DS_OBJ_CLASS_NOT_SUBCLASS = 8372,
++ MD_ERROR_WIN_DS_NAME_REFERENCE_INVALID = 8373,
++ MD_ERROR_WIN_DS_CROSS_REF_EXISTS = 8374,
++ MD_ERROR_WIN_DS_CANT_DEL_MASTER_CROSSREF = 8375,
++ MD_ERROR_WIN_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376,
++ MD_ERROR_WIN_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377,
++ MD_ERROR_WIN_DS_DUP_RDN = 8378,
++ MD_ERROR_WIN_DS_DUP_OID = 8379,
++ MD_ERROR_WIN_DS_DUP_MAPI_ID = 8380,
++ MD_ERROR_WIN_DS_DUP_SCHEMA_ID_GUID = 8381,
++ MD_ERROR_WIN_DS_DUP_LDAP_DISPLAY_NAME = 8382,
++ MD_ERROR_WIN_DS_SEMANTIC_ATT_TEST = 8383,
++ MD_ERROR_WIN_DS_SYNTAX_MISMATCH = 8384,
++ MD_ERROR_WIN_DS_EXISTS_IN_MUST_HAVE = 8385,
++ MD_ERROR_WIN_DS_EXISTS_IN_MAY_HAVE = 8386,
++ MD_ERROR_WIN_DS_NONEXISTENT_MAY_HAVE = 8387,
++ MD_ERROR_WIN_DS_NONEXISTENT_MUST_HAVE = 8388,
++ MD_ERROR_WIN_DS_AUX_CLS_TEST_FAIL = 8389,
++ MD_ERROR_WIN_DS_NONEXISTENT_POSS_SUP = 8390,
++ MD_ERROR_WIN_DS_SUB_CLS_TEST_FAIL = 8391,
++ MD_ERROR_WIN_DS_BAD_RDN_ATT_ID_SYNTAX = 8392,
++ MD_ERROR_WIN_DS_EXISTS_IN_AUX_CLS = 8393,
++ MD_ERROR_WIN_DS_EXISTS_IN_SUB_CLS = 8394,
++ MD_ERROR_WIN_DS_EXISTS_IN_POSS_SUP = 8395,
++ MD_ERROR_WIN_DS_RECALCSCHEMA_FAILED = 8396,
++ MD_ERROR_WIN_DS_TREE_DELETE_NOT_FINISHED = 8397,
++ MD_ERROR_WIN_DS_CANT_DELETE = 8398,
++ MD_ERROR_WIN_DS_ATT_SCHEMA_REQ_ID = 8399,
++ MD_ERROR_WIN_DS_BAD_ATT_SCHEMA_SYNTAX = 8400,
++ MD_ERROR_WIN_DS_CANT_CACHE_ATT = 8401,
++ MD_ERROR_WIN_DS_CANT_CACHE_CLASS = 8402,
++ MD_ERROR_WIN_DS_CANT_REMOVE_ATT_CACHE = 8403,
++ MD_ERROR_WIN_DS_CANT_REMOVE_CLASS_CACHE = 8404,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_DN = 8405,
++ MD_ERROR_WIN_DS_MISSING_SUPREF = 8406,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_INSTANCE = 8407,
++ MD_ERROR_WIN_DS_CODE_INCONSISTENCY = 8408,
++ MD_ERROR_WIN_DS_DATABASE_ERROR = 8409,
++ MD_ERROR_WIN_DS_GOVERNSID_MISSING = 8410,
++ MD_ERROR_WIN_DS_MISSING_EXPECTED_ATT = 8411,
++ MD_ERROR_WIN_DS_NCNAME_MISSING_CR_REF = 8412,
++ MD_ERROR_WIN_DS_SECURITY_CHECKING_ERROR = 8413,
++ MD_ERROR_WIN_DS_SCHEMA_NOT_LOADED = 8414,
++ MD_ERROR_WIN_DS_SCHEMA_ALLOC_FAILED = 8415,
++ MD_ERROR_WIN_DS_ATT_SCHEMA_REQ_SYNTAX = 8416,
++ MD_ERROR_WIN_DS_GCVERIFY_ERROR = 8417,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_MISMATCH = 8418,
++ MD_ERROR_WIN_DS_CANT_FIND_DSA_OBJ = 8419,
++ MD_ERROR_WIN_DS_CANT_FIND_EXPECTED_NC = 8420,
++ MD_ERROR_WIN_DS_CANT_FIND_NC_IN_CACHE = 8421,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_CHILD = 8422,
++ MD_ERROR_WIN_DS_SECURITY_ILLEGAL_MODIFY = 8423,
++ MD_ERROR_WIN_DS_CANT_REPLACE_HIDDEN_REC = 8424,
++ MD_ERROR_WIN_DS_BAD_HIERARCHY_FILE = 8425,
++ MD_ERROR_WIN_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426,
++ MD_ERROR_WIN_DS_CONFIG_PARAM_MISSING = 8427,
++ MD_ERROR_WIN_DS_COUNTING_AB_INDICES_FAILED = 8428,
++ MD_ERROR_WIN_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429,
++ MD_ERROR_WIN_DS_INTERNAL_FAILURE = 8430,
++ MD_ERROR_WIN_DS_UNKNOWN_ERROR = 8431,
++ MD_ERROR_WIN_DS_ROOT_REQUIRES_CLASS_TOP = 8432,
++ MD_ERROR_WIN_DS_REFUSING_FSMO_ROLES = 8433,
++ MD_ERROR_WIN_DS_MISSING_FSMO_SETTINGS = 8434,
++ MD_ERROR_WIN_DS_UNABLE_TO_SURRENDER_ROLES = 8435,
++ MD_ERROR_WIN_DS_DRA_GENERIC = 8436,
++ MD_ERROR_WIN_DS_DRA_INVALID_PARAMETER = 8437,
++ MD_ERROR_WIN_DS_DRA_BUSY = 8438,
++ MD_ERROR_WIN_DS_DRA_BAD_DN = 8439,
++ MD_ERROR_WIN_DS_DRA_BAD_NC = 8440,
++ MD_ERROR_WIN_DS_DRA_DN_EXISTS = 8441,
++ MD_ERROR_WIN_DS_DRA_INTERNAL_ERROR = 8442,
++ MD_ERROR_WIN_DS_DRA_INCONSISTENT_DIT = 8443,
++ MD_ERROR_WIN_DS_DRA_CONNECTION_FAILED = 8444,
++ MD_ERROR_WIN_DS_DRA_BAD_INSTANCE_TYPE = 8445,
++ MD_ERROR_WIN_DS_DRA_OUT_OF_MEM = 8446,
++ MD_ERROR_WIN_DS_DRA_MAIL_PROBLEM = 8447,
++ MD_ERROR_WIN_DS_DRA_REF_ALREADY_EXISTS = 8448,
++ MD_ERROR_WIN_DS_DRA_REF_NOT_FOUND = 8449,
++ MD_ERROR_WIN_DS_DRA_OBJ_IS_REP_SOURCE = 8450,
++ MD_ERROR_WIN_DS_DRA_DB_ERROR = 8451,
++ MD_ERROR_WIN_DS_DRA_NO_REPLICA = 8452,
++ MD_ERROR_WIN_DS_DRA_ACCESS_DENIED = 8453,
++ MD_ERROR_WIN_DS_DRA_NOT_SUPPORTED = 8454,
++ MD_ERROR_WIN_DS_DRA_RPC_CANCELLED = 8455,
++ MD_ERROR_WIN_DS_DRA_SOURCE_DISABLED = 8456,
++ MD_ERROR_WIN_DS_DRA_SINK_DISABLED = 8457,
++ MD_ERROR_WIN_DS_DRA_NAME_COLLISION = 8458,
++ MD_ERROR_WIN_DS_DRA_SOURCE_REINSTALLED = 8459,
++ MD_ERROR_WIN_DS_DRA_MISSING_PARENT = 8460,
++ MD_ERROR_WIN_DS_DRA_PREEMPTED = 8461,
++ MD_ERROR_WIN_DS_DRA_ABANDON_SYNC = 8462,
++ MD_ERROR_WIN_DS_DRA_SHUTDOWN = 8463,
++ MD_ERROR_WIN_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464,
++ MD_ERROR_WIN_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465,
++ MD_ERROR_WIN_DS_DRA_EXTN_CONNECTION_FAILED = 8466,
++ MD_ERROR_WIN_DS_INSTALL_SCHEMA_MISMATCH = 8467,
++ MD_ERROR_WIN_DS_DUP_LINK_ID = 8468,
++ MD_ERROR_WIN_DS_NAME_ERROR_RESOLVING = 8469,
++ MD_ERROR_WIN_DS_NAME_ERROR_NOT_FOUND = 8470,
++ MD_ERROR_WIN_DS_NAME_ERROR_NOT_UNIQUE = 8471,
++ MD_ERROR_WIN_DS_NAME_ERROR_NO_MAPPING = 8472,
++ MD_ERROR_WIN_DS_NAME_ERROR_DOMAIN_ONLY = 8473,
++ MD_ERROR_WIN_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474,
++ MD_ERROR_WIN_DS_CONSTRUCTED_ATT_MOD = 8475,
++ MD_ERROR_WIN_DS_WRONG_OM_OBJ_CLASS = 8476,
++ MD_ERROR_WIN_DS_DRA_REPL_PENDING = 8477,
++ MD_ERROR_WIN_DS_DS_REQUIRED = 8478,
++ MD_ERROR_WIN_DS_INVALID_LDAP_DISPLAY_NAME = 8479,
++ MD_ERROR_WIN_DS_NON_BASE_SEARCH = 8480,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_ATTS = 8481,
++ MD_ERROR_WIN_DS_BACKLINK_WITHOUT_LINK = 8482,
++ MD_ERROR_WIN_DS_EPOCH_MISMATCH = 8483,
++ MD_ERROR_WIN_DS_SRC_NAME_MISMATCH = 8484,
++ MD_ERROR_WIN_DS_SRC_AND_DST_NC_IDENTICAL = 8485,
++ MD_ERROR_WIN_DS_DST_NC_MISMATCH = 8486,
++ MD_ERROR_WIN_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487,
++ MD_ERROR_WIN_DS_SRC_GUID_MISMATCH = 8488,
++ MD_ERROR_WIN_DS_CANT_MOVE_DELETED_OBJECT = 8489,
++ MD_ERROR_WIN_DS_PDC_OPERATION_IN_PROGRESS = 8490,
++ MD_ERROR_WIN_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491,
++ MD_ERROR_WIN_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492,
++ MD_ERROR_WIN_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493,
++ MD_ERROR_WIN_DS_NC_MUST_HAVE_NC_PARENT = 8494,
++ MD_ERROR_WIN_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495,
++ MD_ERROR_WIN_DS_DST_DOMAIN_NOT_NATIVE = 8496,
++ MD_ERROR_WIN_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497,
++ MD_ERROR_WIN_DS_CANT_MOVE_ACCOUNT_GROUP = 8498,
++ MD_ERROR_WIN_DS_CANT_MOVE_RESOURCE_GROUP = 8499,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG = 8500,
++ MD_ERROR_WIN_DS_NO_TREE_DELETE_ABOVE_NC = 8501,
++ MD_ERROR_WIN_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502,
++ MD_ERROR_WIN_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503,
++ MD_ERROR_WIN_DS_SAM_INIT_FAILURE = 8504,
++ MD_ERROR_WIN_DS_SENSITIVE_GROUP_VIOLATION = 8505,
++ MD_ERROR_WIN_DS_CANT_MOD_PRIMARYGROUPID = 8506,
++ MD_ERROR_WIN_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507,
++ MD_ERROR_WIN_DS_NONSAFE_SCHEMA_CHANGE = 8508,
++ MD_ERROR_WIN_DS_SCHEMA_UPDATE_DISALLOWED = 8509,
++ MD_ERROR_WIN_DS_CANT_CREATE_UNDER_SCHEMA = 8510,
++ MD_ERROR_WIN_DS_INSTALL_NO_SRC_SCH_VERSION = 8511,
++ MD_ERROR_WIN_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512,
++ MD_ERROR_WIN_DS_INVALID_GROUP_TYPE = 8513,
++ MD_ERROR_WIN_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514,
++ MD_ERROR_WIN_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517,
++ MD_ERROR_WIN_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519,
++ MD_ERROR_WIN_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520,
++ MD_ERROR_WIN_DS_HAVE_PRIMARY_MEMBERS = 8521,
++ MD_ERROR_WIN_DS_STRING_SD_CONVERSION_FAILED = 8522,
++ MD_ERROR_WIN_DS_NAMING_MASTER_GC = 8523,
++ MD_ERROR_WIN_DS_DNS_LOOKUP_FAILURE = 8524,
++ MD_ERROR_WIN_DS_COULDNT_UPDATE_SPNS = 8525,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_SD = 8526,
++ MD_ERROR_WIN_DS_KEY_NOT_UNIQUE = 8527,
++ MD_ERROR_WIN_DS_WRONG_LINKED_ATT_SYNTAX = 8528,
++ MD_ERROR_WIN_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529,
++ MD_ERROR_WIN_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530,
++ MD_ERROR_WIN_DS_CANT_START = 8531,
++ MD_ERROR_WIN_DS_INIT_FAILURE = 8532,
++ MD_ERROR_WIN_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533,
++ MD_ERROR_WIN_DS_SOURCE_DOMAIN_IN_FOREST = 8534,
++ MD_ERROR_WIN_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535,
++ MD_ERROR_WIN_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536,
++ MD_ERROR_WIN_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537,
++ MD_ERROR_WIN_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538,
++ MD_ERROR_WIN_DS_SRC_SID_EXISTS_IN_FOREST = 8539,
++ MD_ERROR_WIN_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540,
++ MD_ERROR_WIN_SAM_INIT_FAILURE = 8541,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_INFO_SHIP = 8542,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_CONFLICT = 8543,
++ MD_ERROR_WIN_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544,
++ MD_ERROR_WIN_DS_DRA_OBJ_NC_MISMATCH = 8545,
++ MD_ERROR_WIN_DS_NC_STILL_HAS_DSAS = 8546,
++ MD_ERROR_WIN_DS_GC_REQUIRED = 8547,
++ MD_ERROR_WIN_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548,
++ MD_ERROR_WIN_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549,
++ MD_ERROR_WIN_DS_CANT_ADD_TO_GC = 8550,
++ MD_ERROR_WIN_DS_NO_CHECKPOINT_WITH_PDC = 8551,
++ MD_ERROR_WIN_DS_SOURCE_AUDITING_NOT_ENABLED = 8552,
++ MD_ERROR_WIN_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553,
++ MD_ERROR_WIN_DS_INVALID_NAME_FOR_SPN = 8554,
++ MD_ERROR_WIN_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555,
++ MD_ERROR_WIN_DS_UNICODEPWD_NOT_IN_QUOTES = 8556,
++ MD_ERROR_WIN_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557,
++ MD_ERROR_WIN_DS_MUST_BE_RUN_ON_DST_DC = 8558,
++ MD_ERROR_WIN_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559,
++ MD_ERROR_WIN_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560,
++ MD_ERROR_WIN_DS_INIT_FAILURE_CONSOLE = 8561,
++ MD_ERROR_WIN_DS_SAM_INIT_FAILURE_CONSOLE = 8562,
++ MD_ERROR_WIN_DS_FOREST_VERSION_TOO_HIGH = 8563,
++ MD_ERROR_WIN_DS_DOMAIN_VERSION_TOO_HIGH = 8564,
++ MD_ERROR_WIN_DS_FOREST_VERSION_TOO_LOW = 8565,
++ MD_ERROR_WIN_DS_DOMAIN_VERSION_TOO_LOW = 8566,
++ MD_ERROR_WIN_DS_INCOMPATIBLE_VERSION = 8567,
++ MD_ERROR_WIN_DS_LOW_DSA_VERSION = 8568,
++ MD_ERROR_WIN_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 8569,
++ MD_ERROR_WIN_DS_NOT_SUPPORTED_SORT_ORDER = 8570,
++ MD_ERROR_WIN_DS_NAME_NOT_UNIQUE = 8571,
++ MD_ERROR_WIN_DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 8572,
++ MD_ERROR_WIN_DS_OUT_OF_VERSION_STORE = 8573,
++ MD_ERROR_WIN_DS_INCOMPATIBLE_CONTROLS_USED = 8574,
++ MD_ERROR_WIN_DS_NO_REF_DOMAIN = 8575,
++ MD_ERROR_WIN_DS_RESERVED_LINK_ID = 8576,
++ MD_ERROR_WIN_DS_LINK_ID_NOT_AVAILABLE = 8577,
++ MD_ERROR_WIN_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 8578,
++ MD_ERROR_WIN_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 8579,
++ MD_ERROR_WIN_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 8580,
++ MD_ERROR_WIN_DS_MODIFYDN_DISALLOWED_BY_FLAG = 8581,
++ MD_ERROR_WIN_DS_MODIFYDN_WRONG_GRANDPARENT = 8582,
++ MD_ERROR_WIN_DS_NAME_ERROR_TRUST_REFERRAL = 8583,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_STANDARD_SERVER = 8584,
++ MD_ERROR_WIN_DS_CANT_ACCESS_REMOTE_PART_OF_AD = 8585,
++ MD_ERROR_WIN_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 8586,
++ MD_ERROR_WIN_DS_THREAD_LIMIT_EXCEEDED = 8587,
++ MD_ERROR_WIN_DS_NOT_CLOSEST = 8588,
++ MD_ERROR_WIN_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 8589,
++ MD_ERROR_WIN_DS_SINGLE_USER_MODE_FAILED = 8590,
++ MD_ERROR_WIN_DS_NTDSCRIPT_SYNTAX_ERROR = 8591,
++ MD_ERROR_WIN_DS_NTDSCRIPT_PROCESS_ERROR = 8592,
++ MD_ERROR_WIN_DS_DIFFERENT_REPL_EPOCHS = 8593,
++ MD_ERROR_WIN_DS_DRS_EXTENSIONS_CHANGED = 8594,
++ MD_ERROR_WIN_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 8595,
++ MD_ERROR_WIN_DS_NO_MSDS_INTID = 8596,
++ MD_ERROR_WIN_DS_DUP_MSDS_INTID = 8597,
++ MD_ERROR_WIN_DS_EXISTS_IN_RDNATTID = 8598,
++ MD_ERROR_WIN_DS_AUTHORIZATION_FAILED = 8599,
++ MD_ERROR_WIN_DS_INVALID_SCRIPT = 8600,
++ MD_ERROR_WIN_DS_REMOTE_CROSSREF_OP_FAILED = 8601,
++ MD_ERROR_WIN_DS_CROSS_REF_BUSY = 8602,
++ MD_ERROR_WIN_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN = 8603,
++ MD_ERROR_WIN_DS_CANT_DEMOTE_WITH_WRITEABLE_NC = 8604,
++ MD_ERROR_WIN_DS_DUPLICATE_ID_FOUND = 8605,
++ MD_ERROR_WIN_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT = 8606,
++ MD_ERROR_WIN_DS_GROUP_CONVERSION_ERROR = 8607,
++ MD_ERROR_WIN_DS_CANT_MOVE_APP_BASIC_GROUP = 8608,
++ MD_ERROR_WIN_DS_CANT_MOVE_APP_QUERY_GROUP = 8609,
++ MD_ERROR_WIN_DS_ROLE_NOT_VERIFIED = 8610,
++ MD_ERROR_WIN_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL = 8611,
++ MD_ERROR_WIN_DS_DOMAIN_RENAME_IN_PROGRESS = 8612,
++ MD_ERROR_WIN_DS_EXISTING_AD_CHILD_NC = 8613,
++ MD_ERROR_WIN_DS_REPL_LIFETIME_EXCEEDED = 8614,
++ MD_ERROR_WIN_DS_DISALLOWED_IN_SYSTEM_CONTAINER = 8615,
++ MD_ERROR_WIN_DS_LDAP_SEND_QUEUE_FULL = 8616,
++ MD_ERROR_WIN_DS_DRA_OUT_SCHEDULE_WINDOW = 8617,
++ MD_ERROR_WIN_DS_POLICY_NOT_KNOWN = 8618,
++ MD_ERROR_WIN_NO_SITE_SETTINGS_OBJECT = 8619,
++ MD_ERROR_WIN_NO_SECRETS = 8620,
++ MD_ERROR_WIN_NO_WRITABLE_DC_FOUND = 8621,
++ MD_ERROR_WIN_DS_NO_SERVER_OBJECT = 8622,
++ MD_ERROR_WIN_DS_NO_NTDSA_OBJECT = 8623,
++ MD_ERROR_WIN_DS_NON_ASQ_SEARCH = 8624,
++ MD_ERROR_WIN_DS_AUDIT_FAILURE = 8625,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG_SUBTREE = 8626,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG_TUPLE = 8627,
++ MD_ERROR_WIN_DS_HIERARCHY_TABLE_TOO_DEEP = 8628,
++ MD_ERROR_WIN_DS_DRA_CORRUPT_UTD_VECTOR = 8629,
++ MD_ERROR_WIN_DS_DRA_SECRETS_DENIED = 8630,
++ MD_ERROR_WIN_DS_RESERVED_MAPI_ID = 8631,
++ MD_ERROR_WIN_DS_MAPI_ID_NOT_AVAILABLE = 8632,
++ MD_ERROR_WIN_DS_DRA_MISSING_KRBTGT_SECRET = 8633,
++ MD_ERROR_WIN_DS_DOMAIN_NAME_EXISTS_IN_FOREST = 8634,
++ MD_ERROR_WIN_DS_FLAT_NAME_EXISTS_IN_FOREST = 8635,
++ MD_ERROR_WIN_INVALID_USER_PRINCIPAL_NAME = 8636,
++ MD_ERROR_WIN_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS = 8637,
++ MD_ERROR_WIN_DS_OID_NOT_FOUND = 8638,
++ MD_ERROR_WIN_DS_DRA_RECYCLED_TARGET = 8639,
++ MD_ERROR_WIN_DS_DISALLOWED_NC_REDIRECT = 8640,
++ MD_ERROR_WIN_DS_HIGH_ADLDS_FFL = 8641,
++ MD_ERROR_WIN_DS_HIGH_DSA_VERSION = 8642,
++ MD_ERROR_WIN_DS_LOW_ADLDS_FFL = 8643,
++ MD_ERROR_WIN_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION = 8644,
++ MD_ERROR_WIN_DS_UNDELETE_SAM_VALIDATION_FAILED = 8645,
++ MD_ERROR_WIN_INCORRECT_ACCOUNT_TYPE = 8646,
++ MD_ERROR_WIN_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST = 8647,
++ MD_ERROR_WIN_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST = 8648,
++ MD_ERROR_WIN_DS_MISSING_FOREST_TRUST = 8649,
++ MD_ERROR_WIN_DS_VALUE_KEY_NOT_UNIQUE = 8650,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_EXISTS = 13000,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_NOT_FOUND = 13001,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_IN_USE = 13002,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_EXISTS = 13003,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_NOT_FOUND = 13004,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_IN_USE = 13005,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_EXISTS = 13006,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_NOT_FOUND = 13007,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_EXISTS = 13008,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_NOT_FOUND = 13009,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_EXISTS = 13010,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_NOT_FOUND = 13011,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_IN_USE = 13012,
++ MD_ERROR_WIN_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 13013,
++ MD_ERROR_WIN_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 13014,
++ MD_ERROR_WIN_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 13015,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_EXISTS = 13016,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_NOT_FOUND = 13017,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_PENDING_DELETION = 13018,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 13019,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_PENDING_DELETION = 13020,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_PENDING_DELETION = 13021,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_PENDING_DELETION = 13022,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_PENDING_DELETION = 13023,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_BEGIN = 13800,
++ MD_ERROR_WIN_IPSEC_IKE_AUTH_FAIL = 13801,
++ MD_ERROR_WIN_IPSEC_IKE_ATTRIB_FAIL = 13802,
++ MD_ERROR_WIN_IPSEC_IKE_NEGOTIATION_PENDING = 13803,
++ MD_ERROR_WIN_IPSEC_IKE_GENERAL_PROCESSING_ERROR = 13804,
++ MD_ERROR_WIN_IPSEC_IKE_TIMED_OUT = 13805,
++ MD_ERROR_WIN_IPSEC_IKE_NO_CERT = 13806,
++ MD_ERROR_WIN_IPSEC_IKE_SA_DELETED = 13807,
++ MD_ERROR_WIN_IPSEC_IKE_SA_REAPED = 13808,
++ MD_ERROR_WIN_IPSEC_IKE_MM_ACQUIRE_DROP = 13809,
++ MD_ERROR_WIN_IPSEC_IKE_QM_ACQUIRE_DROP = 13810,
++ MD_ERROR_WIN_IPSEC_IKE_QUEUE_DROP_MM = 13811,
++ MD_ERROR_WIN_IPSEC_IKE_QUEUE_DROP_NO_MM = 13812,
++ MD_ERROR_WIN_IPSEC_IKE_DROP_NO_RESPONSE = 13813,
++ MD_ERROR_WIN_IPSEC_IKE_MM_DELAY_DROP = 13814,
++ MD_ERROR_WIN_IPSEC_IKE_QM_DELAY_DROP = 13815,
++ MD_ERROR_WIN_IPSEC_IKE_ERROR = 13816,
++ MD_ERROR_WIN_IPSEC_IKE_CRL_FAILED = 13817,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_KEY_USAGE = 13818,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_CERT_TYPE = 13819,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PRIVATE_KEY = 13820,
++ MD_ERROR_WIN_IPSEC_IKE_SIMULTANEOUS_REKEY = 13821,
++ MD_ERROR_WIN_IPSEC_IKE_DH_FAIL = 13822,
++ MD_ERROR_WIN_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED = 13823,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HEADER = 13824,
++ MD_ERROR_WIN_IPSEC_IKE_NO_POLICY = 13825,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SIGNATURE = 13826,
++ MD_ERROR_WIN_IPSEC_IKE_KERBEROS_ERROR = 13827,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PUBLIC_KEY = 13828,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR = 13829,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_SA = 13830,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_PROP = 13831,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_TRANS = 13832,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_KE = 13833,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_ID = 13834,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_CERT = 13835,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_CERT_REQ = 13836,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_HASH = 13837,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_SIG = 13838,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NONCE = 13839,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NOTIFY = 13840,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_DELETE = 13841,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_VENDOR = 13842,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_PAYLOAD = 13843,
++ MD_ERROR_WIN_IPSEC_IKE_LOAD_SOFT_SA = 13844,
++ MD_ERROR_WIN_IPSEC_IKE_SOFT_SA_TORN_DOWN = 13845,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_COOKIE = 13846,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PEER_CERT = 13847,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_CRL_FAILED = 13848,
++ MD_ERROR_WIN_IPSEC_IKE_POLICY_CHANGE = 13849,
++ MD_ERROR_WIN_IPSEC_IKE_NO_MM_POLICY = 13850,
++ MD_ERROR_WIN_IPSEC_IKE_NOTCBPRIV = 13851,
++ MD_ERROR_WIN_IPSEC_IKE_SECLOADFAIL = 13852,
++ MD_ERROR_WIN_IPSEC_IKE_FAILSSPINIT = 13853,
++ MD_ERROR_WIN_IPSEC_IKE_FAILQUERYSSP = 13854,
++ MD_ERROR_WIN_IPSEC_IKE_SRVACQFAIL = 13855,
++ MD_ERROR_WIN_IPSEC_IKE_SRVQUERYCRED = 13856,
++ MD_ERROR_WIN_IPSEC_IKE_GETSPIFAIL = 13857,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_FILTER = 13858,
++ MD_ERROR_WIN_IPSEC_IKE_OUT_OF_MEMORY = 13859,
++ MD_ERROR_WIN_IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 13860,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_POLICY = 13861,
++ MD_ERROR_WIN_IPSEC_IKE_UNKNOWN_DOI = 13862,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SITUATION = 13863,
++ MD_ERROR_WIN_IPSEC_IKE_DH_FAILURE = 13864,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_GROUP = 13865,
++ MD_ERROR_WIN_IPSEC_IKE_ENCRYPT = 13866,
++ MD_ERROR_WIN_IPSEC_IKE_DECRYPT = 13867,
++ MD_ERROR_WIN_IPSEC_IKE_POLICY_MATCH = 13868,
++ MD_ERROR_WIN_IPSEC_IKE_UNSUPPORTED_ID = 13869,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH = 13870,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH_ALG = 13871,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH_SIZE = 13872,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_ENCRYPT_ALG = 13873,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_AUTH_ALG = 13874,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SIG = 13875,
++ MD_ERROR_WIN_IPSEC_IKE_LOAD_FAILED = 13876,
++ MD_ERROR_WIN_IPSEC_IKE_RPC_DELETE = 13877,
++ MD_ERROR_WIN_IPSEC_IKE_BENIGN_REINIT = 13878,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 13879,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_MAJOR_VERSION = 13880,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881,
++ MD_ERROR_WIN_IPSEC_IKE_MM_LIMIT = 13882,
++ MD_ERROR_WIN_IPSEC_IKE_NEGOTIATION_DISABLED = 13883,
++ MD_ERROR_WIN_IPSEC_IKE_QM_LIMIT = 13884,
++ MD_ERROR_WIN_IPSEC_IKE_MM_EXPIRED = 13885,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_MM_ASSUMED_INVALID = 13886,
++ MD_ERROR_WIN_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH = 13887,
++ MD_ERROR_WIN_IPSEC_IKE_UNEXPECTED_MESSAGE_ID = 13888,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_AUTH_PAYLOAD = 13889,
++ MD_ERROR_WIN_IPSEC_IKE_DOS_COOKIE_SENT = 13890,
++ MD_ERROR_WIN_IPSEC_IKE_SHUTTING_DOWN = 13891,
++ MD_ERROR_WIN_IPSEC_IKE_CGA_AUTH_FAILED = 13892,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NATOA = 13893,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_MM_FOR_QM = 13894,
++ MD_ERROR_WIN_IPSEC_IKE_QM_EXPIRED = 13895,
++ MD_ERROR_WIN_IPSEC_IKE_TOO_MANY_FILTERS = 13896,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_END = 13897,
++ MD_ERROR_WIN_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL = 13898,
++ MD_ERROR_WIN_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE = 13899,
++ MD_ERROR_WIN_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING = 13900,
++ MD_ERROR_WIN_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING = 13901,
++ MD_ERROR_WIN_IPSEC_IKE_COEXISTENCE_SUPPRESS = 13902,
++ MD_ERROR_WIN_IPSEC_IKE_RATELIMIT_DROP = 13903,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE = 13904,
++ MD_ERROR_WIN_IPSEC_IKE_AUTHORIZATION_FAILURE = 13905,
++ MD_ERROR_WIN_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE = 13906,
++ MD_ERROR_WIN_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY = 13907,
++ MD_ERROR_WIN_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE = 13908,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_EXTENDED_END = 13909,
++ MD_ERROR_WIN_IPSEC_BAD_SPI = 13910,
++ MD_ERROR_WIN_IPSEC_SA_LIFETIME_EXPIRED = 13911,
++ MD_ERROR_WIN_IPSEC_WRONG_SA = 13912,
++ MD_ERROR_WIN_IPSEC_REPLAY_CHECK_FAILED = 13913,
++ MD_ERROR_WIN_IPSEC_INVALID_PACKET = 13914,
++ MD_ERROR_WIN_IPSEC_INTEGRITY_CHECK_FAILED = 13915,
++ MD_ERROR_WIN_IPSEC_CLEAR_TEXT_DROP = 13916,
++ MD_ERROR_WIN_IPSEC_AUTH_FIREWALL_DROP = 13917,
++ MD_ERROR_WIN_IPSEC_THROTTLE_DROP = 13918,
++ MD_ERROR_WIN_IPSEC_DOSP_BLOCK = 13925,
++ MD_ERROR_WIN_IPSEC_DOSP_RECEIVED_MULTICAST = 13926,
++ MD_ERROR_WIN_IPSEC_DOSP_INVALID_PACKET = 13927,
++ MD_ERROR_WIN_IPSEC_DOSP_STATE_LOOKUP_FAILED = 13928,
++ MD_ERROR_WIN_IPSEC_DOSP_MAX_ENTRIES = 13929,
++ MD_ERROR_WIN_IPSEC_DOSP_KEYMOD_NOT_ALLOWED = 13930,
++ MD_ERROR_WIN_IPSEC_DOSP_NOT_INSTALLED = 13931,
++ MD_ERROR_WIN_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES = 13932,
++ MD_ERROR_WIN_SXS_SECTION_NOT_FOUND = 14000,
++ MD_ERROR_WIN_SXS_CANT_GEN_ACTCTX = 14001,
++ MD_ERROR_WIN_SXS_INVALID_ACTCTXDATA_FORMAT = 14002,
++ MD_ERROR_WIN_SXS_ASSEMBLY_NOT_FOUND = 14003,
++ MD_ERROR_WIN_SXS_MANIFEST_FORMAT_ERROR = 14004,
++ MD_ERROR_WIN_SXS_MANIFEST_PARSE_ERROR = 14005,
++ MD_ERROR_WIN_SXS_ACTIVATION_CONTEXT_DISABLED = 14006,
++ MD_ERROR_WIN_SXS_KEY_NOT_FOUND = 14007,
++ MD_ERROR_WIN_SXS_VERSION_CONFLICT = 14008,
++ MD_ERROR_WIN_SXS_WRONG_SECTION_TYPE = 14009,
++ MD_ERROR_WIN_SXS_THREAD_QUERIES_DISABLED = 14010,
++ MD_ERROR_WIN_SXS_PROCESS_DEFAULT_ALREADY_SET = 14011,
++ MD_ERROR_WIN_SXS_UNKNOWN_ENCODING_GROUP = 14012,
++ MD_ERROR_WIN_SXS_UNKNOWN_ENCODING = 14013,
++ MD_ERROR_WIN_SXS_INVALID_XML_NAMESPACE_URI = 14014,
++ MD_ERROR_WIN_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14015,
++ MD_ERROR_WIN_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14016,
++ MD_ERROR_WIN_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 14017,
++ MD_ERROR_WIN_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 14018,
++ MD_ERROR_WIN_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 14019,
++ MD_ERROR_WIN_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 14020,
++ MD_ERROR_WIN_SXS_DUPLICATE_DLL_NAME = 14021,
++ MD_ERROR_WIN_SXS_DUPLICATE_WINDOWCLASS_NAME = 14022,
++ MD_ERROR_WIN_SXS_DUPLICATE_CLSID = 14023,
++ MD_ERROR_WIN_SXS_DUPLICATE_IID = 14024,
++ MD_ERROR_WIN_SXS_DUPLICATE_TLBID = 14025,
++ MD_ERROR_WIN_SXS_DUPLICATE_PROGID = 14026,
++ MD_ERROR_WIN_SXS_DUPLICATE_ASSEMBLY_NAME = 14027,
++ MD_ERROR_WIN_SXS_FILE_HASH_MISMATCH = 14028,
++ MD_ERROR_WIN_SXS_POLICY_PARSE_ERROR = 14029,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGQUOTE = 14030,
++ MD_ERROR_WIN_SXS_XML_E_COMMENTSYNTAX = 14031,
++ MD_ERROR_WIN_SXS_XML_E_BADSTARTNAMECHAR = 14032,
++ MD_ERROR_WIN_SXS_XML_E_BADNAMECHAR = 14033,
++ MD_ERROR_WIN_SXS_XML_E_BADCHARINSTRING = 14034,
++ MD_ERROR_WIN_SXS_XML_E_XMLDECLSYNTAX = 14035,
++ MD_ERROR_WIN_SXS_XML_E_BADCHARDATA = 14036,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGWHITESPACE = 14037,
++ MD_ERROR_WIN_SXS_XML_E_EXPECTINGTAGEND = 14038,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGSEMICOLON = 14039,
++ MD_ERROR_WIN_SXS_XML_E_UNBALANCEDPAREN = 14040,
++ MD_ERROR_WIN_SXS_XML_E_INTERNALERROR = 14041,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTED_WHITESPACE = 14042,
++ MD_ERROR_WIN_SXS_XML_E_INCOMPLETE_ENCODING = 14043,
++ MD_ERROR_WIN_SXS_XML_E_MISSING_PAREN = 14044,
++ MD_ERROR_WIN_SXS_XML_E_EXPECTINGCLOSEQUOTE = 14045,
++ MD_ERROR_WIN_SXS_XML_E_MULTIPLE_COLONS = 14046,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_DECIMAL = 14047,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_HEXIDECIMAL = 14048,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_UNICODE = 14049,
++ MD_ERROR_WIN_SXS_XML_E_WHITESPACEORQUESTIONMARK = 14050,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTEDENDTAG = 14051,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDTAG = 14052,
++ MD_ERROR_WIN_SXS_XML_E_DUPLICATEATTRIBUTE = 14053,
++ MD_ERROR_WIN_SXS_XML_E_MULTIPLEROOTS = 14054,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDATROOTLEVEL = 14055,
++ MD_ERROR_WIN_SXS_XML_E_BADXMLDECL = 14056,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGROOT = 14057,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTEDEOF = 14058,
++ MD_ERROR_WIN_SXS_XML_E_BADPEREFINSUBSET = 14059,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDSTARTTAG = 14060,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDENDTAG = 14061,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDSTRING = 14062,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDCOMMENT = 14063,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDDECL = 14064,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDCDATA = 14065,
++ MD_ERROR_WIN_SXS_XML_E_RESERVEDNAMESPACE = 14066,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDENCODING = 14067,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDSWITCH = 14068,
++ MD_ERROR_WIN_SXS_XML_E_BADXMLCASE = 14069,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_STANDALONE = 14070,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTED_STANDALONE = 14071,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_VERSION = 14072,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGEQUALS = 14073,
++ MD_ERROR_WIN_SXS_PROTECTION_RECOVERY_FAILED = 14074,
++ MD_ERROR_WIN_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 14075,
++ MD_ERROR_WIN_SXS_PROTECTION_CATALOG_NOT_VALID = 14076,
++ MD_ERROR_WIN_SXS_UNTRANSLATABLE_HRESULT = 14077,
++ MD_ERROR_WIN_SXS_PROTECTION_CATALOG_FILE_MISSING = 14078,
++ MD_ERROR_WIN_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 14079,
++ MD_ERROR_WIN_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 14080,
++ MD_ERROR_WIN_SXS_ASSEMBLY_MISSING = 14081,
++ MD_ERROR_WIN_SXS_CORRUPT_ACTIVATION_STACK = 14082,
++ MD_ERROR_WIN_SXS_CORRUPTION = 14083,
++ MD_ERROR_WIN_SXS_EARLY_DEACTIVATION = 14084,
++ MD_ERROR_WIN_SXS_INVALID_DEACTIVATION = 14085,
++ MD_ERROR_WIN_SXS_MULTIPLE_DEACTIVATION = 14086,
++ MD_ERROR_WIN_SXS_PROCESS_TERMINATION_REQUESTED = 14087,
++ MD_ERROR_WIN_SXS_RELEASE_ACTIVATION_CONTEXT = 14088,
++ MD_ERROR_WIN_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY = 14089,
++ MD_ERROR_WIN_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE = 14090,
++ MD_ERROR_WIN_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME = 14091,
++ MD_ERROR_WIN_SXS_IDENTITY_DUPLICATE_ATTRIBUTE = 14092,
++ MD_ERROR_WIN_SXS_IDENTITY_PARSE_ERROR = 14093,
++ MD_ERROR_WIN_MALFORMED_SUBSTITUTION_STRING = 14094,
++ MD_ERROR_WIN_SXS_INCORRECT_PUBLIC_KEY_TOKEN = 14095,
++ MD_ERROR_WIN_UNMAPPED_SUBSTITUTION_STRING = 14096,
++ MD_ERROR_WIN_SXS_ASSEMBLY_NOT_LOCKED = 14097,
++ MD_ERROR_WIN_SXS_COMPONENT_STORE_CORRUPT = 14098,
++ MD_ERROR_WIN_ADVANCED_INSTALLER_FAILED = 14099,
++ MD_ERROR_WIN_XML_ENCODING_MISMATCH = 14100,
++ MD_ERROR_WIN_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT = 14101,
++ MD_ERROR_WIN_SXS_IDENTITIES_DIFFERENT = 14102,
++ MD_ERROR_WIN_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT = 14103,
++ MD_ERROR_WIN_SXS_FILE_NOT_PART_OF_ASSEMBLY = 14104,
++ MD_ERROR_WIN_SXS_MANIFEST_TOO_BIG = 14105,
++ MD_ERROR_WIN_SXS_SETTING_NOT_REGISTERED = 14106,
++ MD_ERROR_WIN_SXS_TRANSACTION_CLOSURE_INCOMPLETE = 14107,
++ MD_ERROR_WIN_SMI_PRIMITIVE_INSTALLER_FAILED = 14108,
++ MD_ERROR_WIN_GENERIC_COMMAND_FAILED = 14109,
++ MD_ERROR_WIN_SXS_FILE_HASH_MISSING = 14110,
++ MD_ERROR_WIN_SXS_DUPLICATE_ACTIVATABLE_CLASS = 14111,
++ MD_ERROR_WIN_EVT_INVALID_CHANNEL_PATH = 15000,
++ MD_ERROR_WIN_EVT_INVALID_QUERY = 15001,
++ MD_ERROR_WIN_EVT_PUBLISHER_METADATA_NOT_FOUND = 15002,
++ MD_ERROR_WIN_EVT_EVENT_TEMPLATE_NOT_FOUND = 15003,
++ MD_ERROR_WIN_EVT_INVALID_PUBLISHER_NAME = 15004,
++ MD_ERROR_WIN_EVT_INVALID_EVENT_DATA = 15005,
++ MD_ERROR_WIN_EVT_CHANNEL_NOT_FOUND = 15007,
++ MD_ERROR_WIN_EVT_MALFORMED_XML_TEXT = 15008,
++ MD_ERROR_WIN_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL = 15009,
++ MD_ERROR_WIN_EVT_CONFIGURATION_ERROR = 15010,
++ MD_ERROR_WIN_EVT_QUERY_RESULT_STALE = 15011,
++ MD_ERROR_WIN_EVT_QUERY_RESULT_INVALID_POSITION = 15012,
++ MD_ERROR_WIN_EVT_NON_VALIDATING_MSXML = 15013,
++ MD_ERROR_WIN_EVT_FILTER_ALREADYSCOPED = 15014,
++ MD_ERROR_WIN_EVT_FILTER_NOTELTSET = 15015,
++ MD_ERROR_WIN_EVT_FILTER_INVARG = 15016,
++ MD_ERROR_WIN_EVT_FILTER_INVTEST = 15017,
++ MD_ERROR_WIN_EVT_FILTER_INVTYPE = 15018,
++ MD_ERROR_WIN_EVT_FILTER_PARSEERR = 15019,
++ MD_ERROR_WIN_EVT_FILTER_UNSUPPORTEDOP = 15020,
++ MD_ERROR_WIN_EVT_FILTER_UNEXPECTEDTOKEN = 15021,
++ MD_ERROR_WIN_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL = 15022,
++ MD_ERROR_WIN_EVT_INVALID_CHANNEL_PROPERTY_VALUE = 15023,
++ MD_ERROR_WIN_EVT_INVALID_PUBLISHER_PROPERTY_VALUE = 15024,
++ MD_ERROR_WIN_EVT_CHANNEL_CANNOT_ACTIVATE = 15025,
++ MD_ERROR_WIN_EVT_FILTER_TOO_COMPLEX = 15026,
++ MD_ERROR_WIN_EVT_MESSAGE_NOT_FOUND = 15027,
++ MD_ERROR_WIN_EVT_MESSAGE_ID_NOT_FOUND = 15028,
++ MD_ERROR_WIN_EVT_UNRESOLVED_VALUE_INSERT = 15029,
++ MD_ERROR_WIN_EVT_UNRESOLVED_PARAMETER_INSERT = 15030,
++ MD_ERROR_WIN_EVT_MAX_INSERTS_REACHED = 15031,
++ MD_ERROR_WIN_EVT_EVENT_DEFINITION_NOT_FOUND = 15032,
++ MD_ERROR_WIN_EVT_MESSAGE_LOCALE_NOT_FOUND = 15033,
++ MD_ERROR_WIN_EVT_VERSION_TOO_OLD = 15034,
++ MD_ERROR_WIN_EVT_VERSION_TOO_NEW = 15035,
++ MD_ERROR_WIN_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY = 15036,
++ MD_ERROR_WIN_EVT_PUBLISHER_DISABLED = 15037,
++ MD_ERROR_WIN_EVT_FILTER_OUT_OF_RANGE = 15038,
++ MD_ERROR_WIN_EC_SUBSCRIPTION_CANNOT_ACTIVATE = 15080,
++ MD_ERROR_WIN_EC_LOG_DISABLED = 15081,
++ MD_ERROR_WIN_EC_CIRCULAR_FORWARDING = 15082,
++ MD_ERROR_WIN_EC_CREDSTORE_FULL = 15083,
++ MD_ERROR_WIN_EC_CRED_NOT_FOUND = 15084,
++ MD_ERROR_WIN_EC_NO_ACTIVE_CHANNEL = 15085,
++ MD_ERROR_WIN_MUI_FILE_NOT_FOUND = 15100,
++ MD_ERROR_WIN_MUI_INVALID_FILE = 15101,
++ MD_ERROR_WIN_MUI_INVALID_RC_CONFIG = 15102,
++ MD_ERROR_WIN_MUI_INVALID_LOCALE_NAME = 15103,
++ MD_ERROR_WIN_MUI_INVALID_ULTIMATEFALLBACK_NAME = 15104,
++ MD_ERROR_WIN_MUI_FILE_NOT_LOADED = 15105,
++ MD_ERROR_WIN_RESOURCE_ENUM_USER_STOP = 15106,
++ MD_ERROR_WIN_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED = 15107,
++ MD_ERROR_WIN_MUI_INTLSETTINGS_INVALID_LOCALE_NAME = 15108,
++ MD_ERROR_WIN_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE = 15110,
++ MD_ERROR_WIN_MRM_INVALID_PRICONFIG = 15111,
++ MD_ERROR_WIN_MRM_INVALID_FILE_TYPE = 15112,
++ MD_ERROR_WIN_MRM_UNKNOWN_QUALIFIER = 15113,
++ MD_ERROR_WIN_MRM_INVALID_QUALIFIER_VALUE = 15114,
++ MD_ERROR_WIN_MRM_NO_CANDIDATE = 15115,
++ MD_ERROR_WIN_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE = 15116,
++ MD_ERROR_WIN_MRM_RESOURCE_TYPE_MISMATCH = 15117,
++ MD_ERROR_WIN_MRM_DUPLICATE_MAP_NAME = 15118,
++ MD_ERROR_WIN_MRM_DUPLICATE_ENTRY = 15119,
++ MD_ERROR_WIN_MRM_INVALID_RESOURCE_IDENTIFIER = 15120,
++ MD_ERROR_WIN_MRM_FILEPATH_TOO_LONG = 15121,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_DIRECTORY_TYPE = 15122,
++ MD_ERROR_WIN_MRM_INVALID_PRI_FILE = 15126,
++ MD_ERROR_WIN_MRM_NAMED_RESOURCE_NOT_FOUND = 15127,
++ MD_ERROR_WIN_MRM_MAP_NOT_FOUND = 15135,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_PROFILE_TYPE = 15136,
++ MD_ERROR_WIN_MRM_INVALID_QUALIFIER_OPERATOR = 15137,
++ MD_ERROR_WIN_MRM_INDETERMINATE_QUALIFIER_VALUE = 15138,
++ MD_ERROR_WIN_MRM_AUTOMERGE_ENABLED = 15139,
++ MD_ERROR_WIN_MRM_TOO_MANY_RESOURCES = 15140,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE = 15141,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE = 15142,
++ MD_ERROR_WIN_MRM_NO_CURRENT_VIEW_ON_THREAD = 15143,
++ MD_ERROR_WIN_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST = 15144,
++ MD_ERROR_WIN_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT = 15145,
++ MD_ERROR_WIN_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE = 15146,
++ MD_ERROR_WIN_MRM_GENERATION_COUNT_MISMATCH = 15147,
++ MD_ERROR_WIN_PRI_MERGE_VERSION_MISMATCH = 15148,
++ MD_ERROR_WIN_PRI_MERGE_MISSING_SCHEMA = 15149,
++ MD_ERROR_WIN_PRI_MERGE_LOAD_FILE_FAILED = 15150,
++ MD_ERROR_WIN_PRI_MERGE_ADD_FILE_FAILED = 15151,
++ MD_ERROR_WIN_PRI_MERGE_WRITE_FILE_FAILED = 15152,
++ MD_ERROR_WIN_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED = 15153,
++ MD_ERROR_WIN_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED = 15154,
++ MD_ERROR_WIN_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED = 15155,
++ MD_ERROR_WIN_PRI_MERGE_MAIN_PACKAGE_REQUIRED = 15156,
++ MD_ERROR_WIN_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED = 15157,
++ MD_ERROR_WIN_PRI_MERGE_INVALID_FILE_NAME = 15158,
++ MD_ERROR_WIN_MRM_PACKAGE_NOT_FOUND = 15159,
++ MD_ERROR_WIN_MRM_MISSING_DEFAULT_LANGUAGE = 15160,
++ MD_ERROR_WIN_MCA_INVALID_CAPABILITIES_STRING = 15200,
++ MD_ERROR_WIN_MCA_INVALID_VCP_VERSION = 15201,
++ MD_ERROR_WIN_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION = 15202,
++ MD_ERROR_WIN_MCA_MCCS_VERSION_MISMATCH = 15203,
++ MD_ERROR_WIN_MCA_UNSUPPORTED_MCCS_VERSION = 15204,
++ MD_ERROR_WIN_MCA_INTERNAL_ERROR = 15205,
++ MD_ERROR_WIN_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED = 15206,
++ MD_ERROR_WIN_MCA_UNSUPPORTED_COLOR_TEMPERATURE = 15207,
++ MD_ERROR_WIN_AMBIGUOUS_SYSTEM_DEVICE = 15250,
++ MD_ERROR_WIN_SYSTEM_DEVICE_NOT_FOUND = 15299,
++ MD_ERROR_WIN_HASH_NOT_SUPPORTED = 15300,
++ MD_ERROR_WIN_HASH_NOT_PRESENT = 15301,
++ MD_ERROR_WIN_SECONDARY_IC_PROVIDER_NOT_REGISTERED = 15321,
++ MD_ERROR_WIN_GPIO_CLIENT_INFORMATION_INVALID = 15322,
++ MD_ERROR_WIN_GPIO_VERSION_NOT_SUPPORTED = 15323,
++ MD_ERROR_WIN_GPIO_INVALID_REGISTRATION_PACKET = 15324,
++ MD_ERROR_WIN_GPIO_OPERATION_DENIED = 15325,
++ MD_ERROR_WIN_GPIO_INCOMPATIBLE_CONNECT_MODE = 15326,
++ MD_ERROR_WIN_GPIO_INTERRUPT_ALREADY_UNMASKED = 15327,
++ MD_ERROR_WIN_CANNOT_SWITCH_RUNLEVEL = 15400,
++ MD_ERROR_WIN_INVALID_RUNLEVEL_SETTING = 15401,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_TIMEOUT = 15402,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_AGENT_TIMEOUT = 15403,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_IN_PROGRESS = 15404,
++ MD_ERROR_WIN_SERVICES_FAILED_AUTOSTART = 15405,
++ MD_ERROR_WIN_COM_TASK_STOP_PENDING = 15501,
++ MD_ERROR_WIN_INSTALL_OPEN_PACKAGE_FAILED = 15600,
++ MD_ERROR_WIN_INSTALL_PACKAGE_NOT_FOUND = 15601,
++ MD_ERROR_WIN_INSTALL_INVALID_PACKAGE = 15602,
++ MD_ERROR_WIN_INSTALL_RESOLVE_DEPENDENCY_FAILED = 15603,
++ MD_ERROR_WIN_INSTALL_OUT_OF_DISK_SPACE = 15604,
++ MD_ERROR_WIN_INSTALL_NETWORK_FAILURE = 15605,
++ MD_ERROR_WIN_INSTALL_REGISTRATION_FAILURE = 15606,
++ MD_ERROR_WIN_INSTALL_DEREGISTRATION_FAILURE = 15607,
++ MD_ERROR_WIN_INSTALL_CANCEL = 15608,
++ MD_ERROR_WIN_INSTALL_FAILED = 15609,
++ MD_ERROR_WIN_REMOVE_FAILED = 15610,
++ MD_ERROR_WIN_PACKAGE_ALREADY_EXISTS = 15611,
++ MD_ERROR_WIN_NEEDS_REMEDIATION = 15612,
++ MD_ERROR_WIN_INSTALL_PREREQUISITE_FAILED = 15613,
++ MD_ERROR_WIN_PACKAGE_REPOSITORY_CORRUPTED = 15614,
++ MD_ERROR_WIN_INSTALL_POLICY_FAILURE = 15615,
++ MD_ERROR_WIN_PACKAGE_UPDATING = 15616,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_POLICY = 15617,
++ MD_ERROR_WIN_PACKAGES_IN_USE = 15618,
++ MD_ERROR_WIN_RECOVERY_FILE_CORRUPT = 15619,
++ MD_ERROR_WIN_INVALID_STAGED_SIGNATURE = 15620,
++ MD_ERROR_WIN_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED = 15621,
++ MD_ERROR_WIN_INSTALL_PACKAGE_DOWNGRADE = 15622,
++ MD_ERROR_WIN_SYSTEM_NEEDS_REMEDIATION = 15623,
++ MD_ERROR_WIN_APPX_INTEGRITY_FAILURE_CLR_NGEN = 15624,
++ MD_ERROR_WIN_RESILIENCY_FILE_CORRUPT = 15625,
++ MD_ERROR_WIN_INSTALL_FIREWALL_SERVICE_NOT_RUNNING = 15626,
++ MD_ERROR_WIN_PACKAGE_MOVE_FAILED = 15627,
++ MD_ERROR_WIN_INSTALL_VOLUME_NOT_EMPTY = 15628,
++ MD_ERROR_WIN_INSTALL_VOLUME_OFFLINE = 15629,
++ MD_ERROR_WIN_INSTALL_VOLUME_CORRUPT = 15630,
++ MD_ERROR_WIN_NEEDS_REGISTRATION = 15631,
++ MD_ERROR_WIN_INSTALL_WRONG_PROCESSOR_ARCHITECTURE = 15632,
++ MD_ERROR_WIN_DEV_SIDELOAD_LIMIT_EXCEEDED = 15633,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE = 15634,
++ MD_ERROR_WIN_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM = 15635,
++ MD_ERROR_WIN_PACKAGE_MOVE_BLOCKED_BY_STREAMING = 15636,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE = 15637,
++ MD_ERROR_WIN_PACKAGE_STAGING_ONHOLD = 15638,
++ MD_ERROR_WIN_INSTALL_INVALID_RELATED_SET_UPDATE = 15639,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY = 15640,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF = 15641,
++ MD_ERROR_WIN_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED = 15642,
++ MD_ERROR_WIN_PACKAGES_REPUTATION_CHECK_FAILED = 15643,
++ MD_ERROR_WIN_PACKAGES_REPUTATION_CHECK_TIMEDOUT = 15644,
++ MD_ERROR_WIN_DEPLOYMENT_OPTION_NOT_SUPPORTED = 15645,
++ MD_ERROR_WIN_APPINSTALLER_ACTIVATION_BLOCKED = 15646,
++ MD_ERROR_WIN_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED = 15647,
++ MD_ERROR_WIN_APPX_RAW_DATA_WRITE_FAILED = 15648,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE = 15649,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE = 15650,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY = 15651,
++ MD_ERROR_WIN_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY = 15652,
++ MD_ERROR_WIN_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER = 15653,
++ MD_ERROR_WIN_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED = 15654,
++ MD_ERROR_WIN_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE = 15655,
++ MD_ERROR_WIN_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES = 15656,
++ MD_ERROR_WIN_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED = 15657,
++ MD_ERROR_WIN_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST = 15658,
++ MD_ERROR_WIN_UNSIGNED_PACKAGE_INVALID_CONTENT = 15659,
++ MD_ERROR_WIN_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE = 15660,
++ MD_ERROR_WIN_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE = 15661,
++ MD_ERROR_WIN_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED = 15662,
++ MD_ERROR_WIN_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY = 15663,
++ MD_ERROR_WIN_STATE_LOAD_STORE_FAILED = 15800,
++ MD_ERROR_WIN_STATE_GET_VERSION_FAILED = 15801,
++ MD_ERROR_WIN_STATE_SET_VERSION_FAILED = 15802,
++ MD_ERROR_WIN_STATE_STRUCTURED_RESET_FAILED = 15803,
++ MD_ERROR_WIN_STATE_OPEN_CONTAINER_FAILED = 15804,
++ MD_ERROR_WIN_STATE_CREATE_CONTAINER_FAILED = 15805,
++ MD_ERROR_WIN_STATE_DELETE_CONTAINER_FAILED = 15806,
++ MD_ERROR_WIN_STATE_READ_SETTING_FAILED = 15807,
++ MD_ERROR_WIN_STATE_WRITE_SETTING_FAILED = 15808,
++ MD_ERROR_WIN_STATE_DELETE_SETTING_FAILED = 15809,
++ MD_ERROR_WIN_STATE_QUERY_SETTING_FAILED = 15810,
++ MD_ERROR_WIN_STATE_READ_COMPOSITE_SETTING_FAILED = 15811,
++ MD_ERROR_WIN_STATE_WRITE_COMPOSITE_SETTING_FAILED = 15812,
++ MD_ERROR_WIN_STATE_ENUMERATE_CONTAINER_FAILED = 15813,
++ MD_ERROR_WIN_STATE_ENUMERATE_SETTINGS_FAILED = 15814,
++ MD_ERROR_WIN_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 15815,
++ MD_ERROR_WIN_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 15816,
++ MD_ERROR_WIN_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED = 15817,
++ MD_ERROR_WIN_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED = 15818,
++ MD_ERROR_WIN_API_UNAVAILABLE = 15841,
++} MDErrorWin;
++
+ #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1241,17 +1241,23 @@ string MinidumpProcessor::GetCrashReason
+ *address =
+ raw_exception->exception_record.exception_information[1];
+ }
+ if (raw_exception->exception_record.number_parameters >= 3) {
+ uint32_t ntstatus =
+ static_cast<uint32_t>
+ (raw_exception->exception_record.exception_information[2]);
+ reason.append(" / ");
+- reason.append(NTStatusToString(ntstatus));
++ const char* ntstatus_str = NTStatusToString(ntstatus);
++ if (ntstatus_str) {
++ reason.append(ntstatus_str);
++ } else {
++ snprintf(reason_string, sizeof(reason_string), "%#010x", ntstatus);
++ reason.append(reason_string);
++ }
+ }
+ break;
+ case MD_EXCEPTION_CODE_WIN_INVALID_HANDLE:
+ reason = "EXCEPTION_INVALID_HANDLE";
+ break;
+ case MD_EXCEPTION_CODE_WIN_ILLEGAL_INSTRUCTION:
+ reason = "EXCEPTION_ILLEGAL_INSTRUCTION";
+ break;
+@@ -1304,34 +1310,47 @@ string MinidumpProcessor::GetCrashReason
+ reason = "EXCEPTION_POSSIBLE_DEADLOCK";
+ break;
+ case MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN:
+ reason = "STATUS_STACK_BUFFER_OVERRUN";
+ if (raw_exception->exception_record.number_parameters > 0) {
+ uint32_t fast_fail_code =
+ static_cast<uint32_t>
+ (raw_exception->exception_record.exception_information[0]);
++ char fast_fail_buff[13] = {};
++ const char* fast_fail_string = FastFailToString(fast_fail_code);
++ if (!fast_fail_string) {
++ snprintf(fast_fail_buff, sizeof(fast_fail_buff), "%#010x",
++ fast_fail_code);
++ fast_fail_string = fast_fail_buff;
++ }
++
+ reason.append(" / ");
+- reason.append(FastFailToString(fast_fail_code));
++ reason.append(fast_fail_string);
+ }
+
+ break;
+ case MD_EXCEPTION_OUT_OF_MEMORY:
+ reason = "Out of Memory";
+ break;
+ case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION:
+ reason = "Unhandled C++ Exception";
+ break;
+ case MD_EXCEPTION_CODE_WIN_SIMULATED:
+ reason = "Simulated Exception";
+ break;
+ default:
+- reason = NTStatusToString(exception_code);
+- if (reason.substr(0, 2) == "0x") {
+- BPLOG(INFO) << "Unknown exception reason " << reason;
++ fprintf(stderr, "exception_code = %u\n", exception_code);
++ const char* exception_str = NTStatusToString(exception_code);
++ fprintf(stderr, "exception_str = %s\n", exception_str);
++ if (exception_str == nullptr) {
++ exception_str = WinErrorToString(exception_code);
++ }
++ if (exception_str != nullptr) {
++ reason = exception_str;
+ }
+ break;
+ }
+ break;
+ }
+
+ case MD_OS_ANDROID:
+ case MD_OS_LINUX: {
+diff --git a/src/processor/symbolic_constants_win.cc b/src/processor/symbolic_constants_win.cc
+--- a/src/processor/symbolic_constants_win.cc
++++ b/src/processor/symbolic_constants_win.cc
+@@ -28,8384 +28,10931 @@
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ // ntstatus_reason_win.h: Windows NTSTATUS code to string.
+ //
+ // Provides a means to convert NTSTATUS codes to strings.
+ //
+ // Author: Ben Wagner
+
++#include <algorithm>
+ #include <string>
+
+ #include "common/stdio_wrapper.h"
+ #include "google_breakpad/common/breakpad_types.h"
+ #include "google_breakpad/common/minidump_exception_win32.h"
+ #include "processor/symbolic_constants_win.h"
+
+ namespace google_breakpad {
+
+-string NTStatusToString(uint32_t ntstatus) {
+- string reason;
+- // The content of this switch was created from ntstatus.h in the 10 SDK
+- // (version 10.0.19041.0) with
+- //
+- // egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0x[048C][0-9A-F]+L\)' ntstatus.h
+- // | tr -d '\r'
+- // | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0x[048C][0-9A-F]+)L\).*@\2 \1@'
+- // | sort
+- // | sed -r 's@(0x[048C][0-9A-F]+) ([A-Z_0-9]+)@ case MD_NTSTATUS_WIN_\2:\n reason = "\2";\n break;@'
+- //
+- // With easy copy to clipboard with
+- // | xclip -selection c # on linux
+- // | clip # on windows
+- // | pbcopy # on mac
+- //
+- // and then the default case added.
+- switch (ntstatus) {
+- case MD_NTSTATUS_WIN_STATUS_SUCCESS:
+- reason = "STATUS_SUCCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAIT_1:
+- reason = "STATUS_WAIT_1";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAIT_2:
+- reason = "STATUS_WAIT_2";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAIT_3:
+- reason = "STATUS_WAIT_3";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAIT_63:
+- reason = "STATUS_WAIT_63";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABANDONED:
+- reason = "STATUS_ABANDONED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_63:
+- reason = "STATUS_ABANDONED_WAIT_63";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER_APC:
+- reason = "STATUS_USER_APC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_COMPLETE:
+- reason = "STATUS_ALREADY_COMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KERNEL_APC:
+- reason = "STATUS_KERNEL_APC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALERTED:
+- reason = "STATUS_ALERTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TIMEOUT:
+- reason = "STATUS_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PENDING:
+- reason = "STATUS_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE:
+- reason = "STATUS_REPARSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MORE_ENTRIES:
+- reason = "STATUS_MORE_ENTRIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_ALL_ASSIGNED:
+- reason = "STATUS_NOT_ALL_ASSIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SOME_NOT_MAPPED:
+- reason = "STATUS_SOME_NOT_MAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPLOCK_BREAK_IN_PROGRESS:
+- reason = "STATUS_OPLOCK_BREAK_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLUME_MOUNTED:
+- reason = "STATUS_VOLUME_MOUNTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RXACT_COMMITTED:
+- reason = "STATUS_RXACT_COMMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOTIFY_CLEANUP:
+- reason = "STATUS_NOTIFY_CLEANUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOTIFY_ENUM_DIR:
+- reason = "STATUS_NOTIFY_ENUM_DIR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_QUOTAS_FOR_ACCOUNT:
+- reason = "STATUS_NO_QUOTAS_FOR_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED:
+- reason = "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_TRANSITION:
+- reason = "STATUS_PAGE_FAULT_TRANSITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_DEMAND_ZERO:
+- reason = "STATUS_PAGE_FAULT_DEMAND_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_COPY_ON_WRITE:
+- reason = "STATUS_PAGE_FAULT_COPY_ON_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_GUARD_PAGE:
+- reason = "STATUS_PAGE_FAULT_GUARD_PAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_PAGING_FILE:
+- reason = "STATUS_PAGE_FAULT_PAGING_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CACHE_PAGE_LOCKED:
+- reason = "STATUS_CACHE_PAGE_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRASH_DUMP:
+- reason = "STATUS_CRASH_DUMP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BUFFER_ALL_ZEROS:
+- reason = "STATUS_BUFFER_ALL_ZEROS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE_OBJECT:
+- reason = "STATUS_REPARSE_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_REQUIREMENTS_CHANGED:
+- reason = "STATUS_RESOURCE_REQUIREMENTS_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSLATION_COMPLETE:
+- reason = "STATUS_TRANSLATION_COMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY:
+- reason = "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOTHING_TO_TERMINATE:
+- reason = "STATUS_NOTHING_TO_TERMINATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCESS_NOT_IN_JOB:
+- reason = "STATUS_PROCESS_NOT_IN_JOB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCESS_IN_JOB:
+- reason = "STATUS_PROCESS_IN_JOB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLSNAP_HIBERNATE_READY:
+- reason = "STATUS_VOLSNAP_HIBERNATE_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY:
+- reason = "STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED:
+- reason = "STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERRUPT_STILL_CONNECTED:
+- reason = "STATUS_INTERRUPT_STILL_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCESS_CLONED:
+- reason = "STATUS_PROCESS_CLONED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_ONLY_READERS:
+- reason = "STATUS_FILE_LOCKED_WITH_ONLY_READERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_WRITERS:
+- reason = "STATUS_FILE_LOCKED_WITH_WRITERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VALID_IMAGE_HASH:
+- reason = "STATUS_VALID_IMAGE_HASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VALID_CATALOG_HASH:
+- reason = "STATUS_VALID_CATALOG_HASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VALID_STRONG_CODE_HASH:
+- reason = "STATUS_VALID_STRONG_CODE_HASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GHOSTED:
+- reason = "STATUS_GHOSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_OVERWRITTEN:
+- reason = "STATUS_DATA_OVERWRITTEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_READ_ONLY:
+- reason = "STATUS_RESOURCEMANAGER_READ_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_EMPTY:
+- reason = "STATUS_RING_PREVIOUSLY_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_FULL:
+- reason = "STATUS_RING_PREVIOUSLY_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_ABOVE_QUOTA:
+- reason = "STATUS_RING_PREVIOUSLY_ABOVE_QUOTA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RING_NEWLY_EMPTY:
+- reason = "STATUS_RING_NEWLY_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT:
+- reason = "STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE:
+- reason = "STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPLOCK_HANDLE_CLOSED:
+- reason = "STATUS_OPLOCK_HANDLE_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAIT_FOR_OPLOCK:
+- reason = "STATUS_WAIT_FOR_OPLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE_GLOBAL:
+- reason = "STATUS_REPARSE_GLOBAL";
+- break;
+- case MD_NTSTATUS_WIN_DBG_EXCEPTION_HANDLED:
+- reason = "DBG_EXCEPTION_HANDLED";
+- break;
+- case MD_NTSTATUS_WIN_DBG_CONTINUE:
+- reason = "DBG_CONTINUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_IO_COMPLETE:
+- reason = "STATUS_FLT_IO_COMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_CONTINUE:
+- reason = "STATUS_RTPM_CONTEXT_CONTINUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_COMPLETE:
+- reason = "STATUS_RTPM_CONTEXT_COMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_PENDING_PAGE_REQUESTS:
+- reason = "STATUS_HV_PENDING_PAGE_REQUESTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_REPAIRED:
+- reason = "STATUS_SPACES_REPAIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_PAUSE:
+- reason = "STATUS_SPACES_PAUSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_COMPLETE:
+- reason = "STATUS_SPACES_COMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_REDIRECT:
+- reason = "STATUS_SPACES_REDIRECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_EXISTS:
+- reason = "STATUS_OBJECT_NAME_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_WAS_SUSPENDED:
+- reason = "STATUS_THREAD_WAS_SUSPENDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WORKING_SET_LIMIT_RANGE:
+- reason = "STATUS_WORKING_SET_LIMIT_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_NOT_AT_BASE:
+- reason = "STATUS_IMAGE_NOT_AT_BASE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RXACT_STATE_CREATED:
+- reason = "STATUS_RXACT_STATE_CREATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SEGMENT_NOTIFICATION:
+- reason = "STATUS_SEGMENT_NOTIFICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOCAL_USER_SESSION_KEY:
+- reason = "STATUS_LOCAL_USER_SESSION_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_CURRENT_DIRECTORY:
+- reason = "STATUS_BAD_CURRENT_DIRECTORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERIAL_MORE_WRITES:
+- reason = "STATUS_SERIAL_MORE_WRITES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REGISTRY_RECOVERED:
+- reason = "STATUS_REGISTRY_RECOVERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_READ_RECOVERY_FROM_BACKUP:
+- reason = "STATUS_FT_READ_RECOVERY_FROM_BACKUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_WRITE_RECOVERY:
+- reason = "STATUS_FT_WRITE_RECOVERY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERIAL_COUNTER_TIMEOUT:
+- reason = "STATUS_SERIAL_COUNTER_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NULL_LM_PASSWORD:
+- reason = "STATUS_NULL_LM_PASSWORD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH:
+- reason = "STATUS_IMAGE_MACHINE_TYPE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL:
+- reason = "STATUS_RECEIVE_PARTIAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECEIVE_EXPEDITED:
+- reason = "STATUS_RECEIVE_EXPEDITED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL_EXPEDITED:
+- reason = "STATUS_RECEIVE_PARTIAL_EXPEDITED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVENT_DONE:
+- reason = "STATUS_EVENT_DONE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVENT_PENDING:
+- reason = "STATUS_EVENT_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CHECKING_FILE_SYSTEM:
+- reason = "STATUS_CHECKING_FILE_SYSTEM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FATAL_APP_EXIT:
+- reason = "STATUS_FATAL_APP_EXIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PREDEFINED_HANDLE:
+- reason = "STATUS_PREDEFINED_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAS_UNLOCKED:
+- reason = "STATUS_WAS_UNLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVICE_NOTIFICATION:
+- reason = "STATUS_SERVICE_NOTIFICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAS_LOCKED:
+- reason = "STATUS_WAS_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_HARD_ERROR:
+- reason = "STATUS_LOG_HARD_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_WIN32:
+- reason = "STATUS_ALREADY_WIN32";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_UNSIMULATE:
+- reason = "STATUS_WX86_UNSIMULATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_CONTINUE:
+- reason = "STATUS_WX86_CONTINUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_SINGLE_STEP:
+- reason = "STATUS_WX86_SINGLE_STEP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_BREAKPOINT:
+- reason = "STATUS_WX86_BREAKPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CONTINUE:
+- reason = "STATUS_WX86_EXCEPTION_CONTINUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_LASTCHANCE:
+- reason = "STATUS_WX86_EXCEPTION_LASTCHANCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CHAIN:
+- reason = "STATUS_WX86_EXCEPTION_CHAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE:
+- reason = "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_YIELD_PERFORMED:
+- reason = "STATUS_NO_YIELD_PERFORMED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TIMER_RESUME_IGNORED:
+- reason = "STATUS_TIMER_RESUME_IGNORED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ARBITRATION_UNHANDLED:
+- reason = "STATUS_ARBITRATION_UNHANDLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CARDBUS_NOT_SUPPORTED:
+- reason = "STATUS_CARDBUS_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_CREATEWX86TIB:
+- reason = "STATUS_WX86_CREATEWX86TIB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MP_PROCESSOR_MISMATCH:
+- reason = "STATUS_MP_PROCESSOR_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HIBERNATED:
+- reason = "STATUS_HIBERNATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESUME_HIBERNATION:
+- reason = "STATUS_RESUME_HIBERNATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FIRMWARE_UPDATED:
+- reason = "STATUS_FIRMWARE_UPDATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVERS_LEAKING_LOCKED_PAGES:
+- reason = "STATUS_DRIVERS_LEAKING_LOCKED_PAGES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MESSAGE_RETRIEVED:
+- reason = "STATUS_MESSAGE_RETRIEVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_TRANSITION:
+- reason = "STATUS_SYSTEM_POWERSTATE_TRANSITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALPC_CHECK_COMPLETION_LIST:
+- reason = "STATUS_ALPC_CHECK_COMPLETION_LIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION:
+- reason = "STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_AUDIT_BY_POLICY:
+- reason = "STATUS_ACCESS_AUDIT_BY_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABANDON_HIBERFILE:
+- reason = "STATUS_ABANDON_HIBERFILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BIZRULES_NOT_ENABLED:
+- reason = "STATUS_BIZRULES_NOT_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_READ_FROM_COPY:
+- reason = "STATUS_FT_READ_FROM_COPY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_AT_DIFFERENT_BASE:
+- reason = "STATUS_IMAGE_AT_DIFFERENT_BASE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PATCH_DEFERRED:
+- reason = "STATUS_PATCH_DEFERRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM:
+- reason = "STATUS_WAKE_SYSTEM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_SHUTTING_DOWN:
+- reason = "STATUS_DS_SHUTTING_DOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_REDIRECTED:
+- reason = "STATUS_DISK_REPAIR_REDIRECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVICES_FAILED_AUTOSTART:
+- reason = "STATUS_SERVICES_FAILED_AUTOSTART";
+- break;
+- case MD_NTSTATUS_WIN_DBG_REPLY_LATER:
+- reason = "DBG_REPLY_LATER";
+- break;
+- case MD_NTSTATUS_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE:
+- reason = "DBG_UNABLE_TO_PROVIDE_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_DBG_TERMINATE_THREAD:
+- reason = "DBG_TERMINATE_THREAD";
+- break;
+- case MD_NTSTATUS_WIN_DBG_TERMINATE_PROCESS:
+- reason = "DBG_TERMINATE_PROCESS";
+- break;
+- case MD_NTSTATUS_WIN_DBG_CONTROL_C:
+- reason = "DBG_CONTROL_C";
+- break;
+- case MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_C:
+- reason = "DBG_PRINTEXCEPTION_C";
+- break;
+- case MD_NTSTATUS_WIN_DBG_RIPEXCEPTION:
+- reason = "DBG_RIPEXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_DBG_CONTROL_BREAK:
+- reason = "DBG_CONTROL_BREAK";
+- break;
+- case MD_NTSTATUS_WIN_DBG_COMMAND_EXCEPTION:
+- reason = "DBG_COMMAND_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_WIDE_C:
+- reason = "DBG_PRINTEXCEPTION_WIDE_C";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UUID_LOCAL_ONLY:
+- reason = "RPC_NT_UUID_LOCAL_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SEND_INCOMPLETE:
+- reason = "RPC_NT_SEND_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CDM_CONNECT:
+- reason = "STATUS_CTX_CDM_CONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CDM_DISCONNECT:
+- reason = "STATUS_CTX_CDM_DISCONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_RELEASE_ACTIVATION_CONTEXT:
+- reason = "STATUS_SXS_RELEASE_ACTIVATION_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HEURISTIC_DAMAGE_POSSIBLE:
+- reason = "STATUS_HEURISTIC_DAMAGE_POSSIBLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECOVERY_NOT_NEEDED:
+- reason = "STATUS_RECOVERY_NOT_NEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RM_ALREADY_STARTED:
+- reason = "STATUS_RM_ALREADY_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_NO_RESTART:
+- reason = "STATUS_LOG_NO_RESTART";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST:
+- reason = "STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARTIAL_DATA_POPULATED:
+- reason = "STATUS_GRAPHICS_PARTIAL_DATA_POPULATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION:
+- reason = "STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_PINNED:
+- reason = "STATUS_GRAPHICS_MODE_NOT_PINNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_PREFERRED_MODE:
+- reason = "STATUS_GRAPHICS_NO_PREFERRED_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DATASET_IS_EMPTY:
+- reason = "STATUS_GRAPHICS_DATASET_IS_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET:
+- reason = "STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED:
+- reason = "STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS:
+- reason = "STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_START_DEFERRED:
+- reason = "STATUS_GRAPHICS_LEADLINK_START_DEFERRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY:
+- reason = "STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_START_DEFERRED:
+- reason = "STATUS_GRAPHICS_START_DEFERRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS:
+- reason = "STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INDICATION_REQUIRED:
+- reason = "STATUS_NDIS_INDICATION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_UNSUPPORTED_PSS_SALT:
+- reason = "STATUS_PCP_UNSUPPORTED_PSS_SALT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GUARD_PAGE_VIOLATION:
+- reason = "STATUS_GUARD_PAGE_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT:
+- reason = "STATUS_DATATYPE_MISALIGNMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BREAKPOINT:
+- reason = "STATUS_BREAKPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SINGLE_STEP:
+- reason = "STATUS_SINGLE_STEP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BUFFER_OVERFLOW:
+- reason = "STATUS_BUFFER_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MORE_FILES:
+- reason = "STATUS_NO_MORE_FILES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM_DEBUGGER:
+- reason = "STATUS_WAKE_SYSTEM_DEBUGGER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HANDLES_CLOSED:
+- reason = "STATUS_HANDLES_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_INHERITANCE:
+- reason = "STATUS_NO_INHERITANCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GUID_SUBSTITUTION_MADE:
+- reason = "STATUS_GUID_SUBSTITUTION_MADE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PARTIAL_COPY:
+- reason = "STATUS_PARTIAL_COPY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_PAPER_EMPTY:
+- reason = "STATUS_DEVICE_PAPER_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_POWERED_OFF:
+- reason = "STATUS_DEVICE_POWERED_OFF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_OFF_LINE:
+- reason = "STATUS_DEVICE_OFF_LINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_BUSY:
+- reason = "STATUS_DEVICE_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MORE_EAS:
+- reason = "STATUS_NO_MORE_EAS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_EA_NAME:
+- reason = "STATUS_INVALID_EA_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EA_LIST_INCONSISTENT:
+- reason = "STATUS_EA_LIST_INCONSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_EA_FLAG:
+- reason = "STATUS_INVALID_EA_FLAG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VERIFY_REQUIRED:
+- reason = "STATUS_VERIFY_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EXTRANEOUS_INFORMATION:
+- reason = "STATUS_EXTRANEOUS_INFORMATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_NECESSARY:
+- reason = "STATUS_RXACT_COMMIT_NECESSARY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MORE_ENTRIES:
+- reason = "STATUS_NO_MORE_ENTRIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILEMARK_DETECTED:
+- reason = "STATUS_FILEMARK_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEDIA_CHANGED:
+- reason = "STATUS_MEDIA_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BUS_RESET:
+- reason = "STATUS_BUS_RESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_END_OF_MEDIA:
+- reason = "STATUS_END_OF_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BEGINNING_OF_MEDIA:
+- reason = "STATUS_BEGINNING_OF_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEDIA_CHECK:
+- reason = "STATUS_MEDIA_CHECK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SETMARK_DETECTED:
+- reason = "STATUS_SETMARK_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_DATA_DETECTED:
+- reason = "STATUS_NO_DATA_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REDIRECTOR_HAS_OPEN_HANDLES:
+- reason = "STATUS_REDIRECTOR_HAS_OPEN_HANDLES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_HAS_OPEN_HANDLES:
+- reason = "STATUS_SERVER_HAS_OPEN_HANDLES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_DISCONNECTED:
+- reason = "STATUS_ALREADY_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LONGJUMP:
+- reason = "STATUS_LONGJUMP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLEANER_CARTRIDGE_INSTALLED:
+- reason = "STATUS_CLEANER_CARTRIDGE_INSTALLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLUGPLAY_QUERY_VETOED:
+- reason = "STATUS_PLUGPLAY_QUERY_VETOED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNWIND_CONSOLIDATE:
+- reason = "STATUS_UNWIND_CONSOLIDATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REGISTRY_HIVE_RECOVERED:
+- reason = "STATUS_REGISTRY_HIVE_RECOVERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INSECURE:
+- reason = "STATUS_DLL_MIGHT_BE_INSECURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INCOMPATIBLE:
+- reason = "STATUS_DLL_MIGHT_BE_INCOMPATIBLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STOPPED_ON_SYMLINK:
+- reason = "STATUS_STOPPED_ON_SYMLINK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_GRANT_REQUESTED_OPLOCK:
+- reason = "STATUS_CANNOT_GRANT_REQUESTED_OPLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_ACE_CONDITION:
+- reason = "STATUS_NO_ACE_CONDITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_SUPPORT_IN_PROGRESS:
+- reason = "STATUS_DEVICE_SUPPORT_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_CYCLE_REQUIRED:
+- reason = "STATUS_DEVICE_POWER_CYCLE_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_WORK_DONE:
+- reason = "STATUS_NO_WORK_DONE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT:
+- reason = "STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_REQUIRES_CLEANING:
+- reason = "STATUS_DEVICE_REQUIRES_CLEANING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_DOOR_OPEN:
+- reason = "STATUS_DEVICE_DOOR_OPEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_LOST_REPAIR:
+- reason = "STATUS_DATA_LOST_REPAIR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED:
+- reason = "STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH:
+- reason = "STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE:
+- reason = "STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS:
+- reason = "STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS";
+- break;
+- case MD_NTSTATUS_WIN_DBG_EXCEPTION_NOT_HANDLED:
+- reason = "DBG_EXCEPTION_NOT_HANDLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_UP:
+- reason = "STATUS_CLUSTER_NODE_ALREADY_UP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_DOWN:
+- reason = "STATUS_CLUSTER_NODE_ALREADY_DOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_ONLINE:
+- reason = "STATUS_CLUSTER_NETWORK_ALREADY_ONLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE:
+- reason = "STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_MEMBER:
+- reason = "STATUS_CLUSTER_NODE_ALREADY_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COULD_NOT_RESIZE_LOG:
+- reason = "STATUS_COULD_NOT_RESIZE_LOG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TXF_METADATA:
+- reason = "STATUS_NO_TXF_METADATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_RECOVER_WITH_HANDLE_OPEN:
+- reason = "STATUS_CANT_RECOVER_WITH_HANDLE_OPEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TXF_METADATA_ALREADY_PRESENT:
+- reason = "STATUS_TXF_METADATA_ALREADY_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET:
+- reason = "STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED:
+- reason = "STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_BUFFER_TOO_SMALL:
+- reason = "STATUS_FLT_BUFFER_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_PARTIAL_METADATA:
+- reason = "STATUS_FVE_PARTIAL_METADATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TRANSIENT_STATE:
+- reason = "STATUS_FVE_TRANSIENT_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED:
+- reason = "STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_REGENERATION:
+- reason = "STATUS_VOLMGR_INCOMPLETE_REGENERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION:
+- reason = "STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED:
+- reason = "STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED:
+- reason = "STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUERY_STORAGE_ERROR:
+- reason = "STATUS_QUERY_STORAGE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GDI_HANDLE_LEAK:
+- reason = "STATUS_GDI_HANDLE_LEAK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_ENABLED:
+- reason = "STATUS_SECUREBOOT_NOT_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNSUCCESSFUL:
+- reason = "STATUS_UNSUCCESSFUL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_IMPLEMENTED:
+- reason = "STATUS_NOT_IMPLEMENTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_INFO_CLASS:
+- reason = "STATUS_INVALID_INFO_CLASS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INFO_LENGTH_MISMATCH:
+- reason = "STATUS_INFO_LENGTH_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_VIOLATION:
+- reason = "STATUS_ACCESS_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IN_PAGE_ERROR:
+- reason = "STATUS_IN_PAGE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA:
+- reason = "STATUS_PAGEFILE_QUOTA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_HANDLE:
+- reason = "STATUS_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_STACK:
+- reason = "STATUS_BAD_INITIAL_STACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_PC:
+- reason = "STATUS_BAD_INITIAL_PC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_CID:
+- reason = "STATUS_INVALID_CID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TIMER_NOT_CANCELED:
+- reason = "STATUS_TIMER_NOT_CANCELED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER:
+- reason = "STATUS_INVALID_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_DEVICE:
+- reason = "STATUS_NO_SUCH_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_FILE:
+- reason = "STATUS_NO_SUCH_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_REQUEST:
+- reason = "STATUS_INVALID_DEVICE_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_END_OF_FILE:
+- reason = "STATUS_END_OF_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_VOLUME:
+- reason = "STATUS_WRONG_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MEDIA_IN_DEVICE:
+- reason = "STATUS_NO_MEDIA_IN_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_MEDIA:
+- reason = "STATUS_UNRECOGNIZED_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NONEXISTENT_SECTOR:
+- reason = "STATUS_NONEXISTENT_SECTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MORE_PROCESSING_REQUIRED:
+- reason = "STATUS_MORE_PROCESSING_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MEMORY:
+- reason = "STATUS_NO_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONFLICTING_ADDRESSES:
+- reason = "STATUS_CONFLICTING_ADDRESSES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_VIEW:
+- reason = "STATUS_NOT_MAPPED_VIEW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNABLE_TO_FREE_VM:
+- reason = "STATUS_UNABLE_TO_FREE_VM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DELETE_SECTION:
+- reason = "STATUS_UNABLE_TO_DELETE_SECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SYSTEM_SERVICE:
+- reason = "STATUS_INVALID_SYSTEM_SERVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_INSTRUCTION:
+- reason = "STATUS_ILLEGAL_INSTRUCTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_SEQUENCE:
+- reason = "STATUS_INVALID_LOCK_SEQUENCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_VIEW_SIZE:
+- reason = "STATUS_INVALID_VIEW_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_FILE_FOR_SECTION:
+- reason = "STATUS_INVALID_FILE_FOR_SECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_COMMITTED:
+- reason = "STATUS_ALREADY_COMMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DENIED:
+- reason = "STATUS_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BUFFER_TOO_SMALL:
+- reason = "STATUS_BUFFER_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_TYPE_MISMATCH:
+- reason = "STATUS_OBJECT_TYPE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NONCONTINUABLE_EXCEPTION:
+- reason = "STATUS_NONCONTINUABLE_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DISPOSITION:
+- reason = "STATUS_INVALID_DISPOSITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNWIND:
+- reason = "STATUS_UNWIND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_STACK:
+- reason = "STATUS_BAD_STACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_UNWIND_TARGET:
+- reason = "STATUS_INVALID_UNWIND_TARGET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_LOCKED:
+- reason = "STATUS_NOT_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PARITY_ERROR:
+- reason = "STATUS_PARITY_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DECOMMIT_VM:
+- reason = "STATUS_UNABLE_TO_DECOMMIT_VM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_COMMITTED:
+- reason = "STATUS_NOT_COMMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PORT_ATTRIBUTES:
+- reason = "STATUS_INVALID_PORT_ATTRIBUTES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_MESSAGE_TOO_LONG:
+- reason = "STATUS_PORT_MESSAGE_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_MIX:
+- reason = "STATUS_INVALID_PARAMETER_MIX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_QUOTA_LOWER:
+- reason = "STATUS_INVALID_QUOTA_LOWER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_CORRUPT_ERROR:
+- reason = "STATUS_DISK_CORRUPT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_INVALID:
+- reason = "STATUS_OBJECT_NAME_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_NOT_FOUND:
+- reason = "STATUS_OBJECT_NAME_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_COLLISION:
+- reason = "STATUS_OBJECT_NAME_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_DO_NOT_DISTURB:
+- reason = "STATUS_PORT_DO_NOT_DISTURB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_DISCONNECTED:
+- reason = "STATUS_PORT_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_ALREADY_ATTACHED:
+- reason = "STATUS_DEVICE_ALREADY_ATTACHED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_INVALID:
+- reason = "STATUS_OBJECT_PATH_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_NOT_FOUND:
+- reason = "STATUS_OBJECT_PATH_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_SYNTAX_BAD:
+- reason = "STATUS_OBJECT_PATH_SYNTAX_BAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_OVERRUN:
+- reason = "STATUS_DATA_OVERRUN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_LATE_ERROR:
+- reason = "STATUS_DATA_LATE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_ERROR:
+- reason = "STATUS_DATA_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRC_ERROR:
+- reason = "STATUS_CRC_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECTION_TOO_BIG:
+- reason = "STATUS_SECTION_TOO_BIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_CONNECTION_REFUSED:
+- reason = "STATUS_PORT_CONNECTION_REFUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PORT_HANDLE:
+- reason = "STATUS_INVALID_PORT_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHARING_VIOLATION:
+- reason = "STATUS_SHARING_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUOTA_EXCEEDED:
+- reason = "STATUS_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PAGE_PROTECTION:
+- reason = "STATUS_INVALID_PAGE_PROTECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUTANT_NOT_OWNED:
+- reason = "STATUS_MUTANT_NOT_OWNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SEMAPHORE_LIMIT_EXCEEDED:
+- reason = "STATUS_SEMAPHORE_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_SET:
+- reason = "STATUS_PORT_ALREADY_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECTION_NOT_IMAGE:
+- reason = "STATUS_SECTION_NOT_IMAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SUSPEND_COUNT_EXCEEDED:
+- reason = "STATUS_SUSPEND_COUNT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_IS_TERMINATING:
+- reason = "STATUS_THREAD_IS_TERMINATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_WORKING_SET_LIMIT:
+- reason = "STATUS_BAD_WORKING_SET_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_FILE_MAP:
+- reason = "STATUS_INCOMPATIBLE_FILE_MAP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECTION_PROTECTION:
+- reason = "STATUS_SECTION_PROTECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EAS_NOT_SUPPORTED:
+- reason = "STATUS_EAS_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EA_TOO_LARGE:
+- reason = "STATUS_EA_TOO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NONEXISTENT_EA_ENTRY:
+- reason = "STATUS_NONEXISTENT_EA_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_EAS_ON_FILE:
+- reason = "STATUS_NO_EAS_ON_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EA_CORRUPT_ERROR:
+- reason = "STATUS_EA_CORRUPT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_LOCK_CONFLICT:
+- reason = "STATUS_FILE_LOCK_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOCK_NOT_GRANTED:
+- reason = "STATUS_LOCK_NOT_GRANTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DELETE_PENDING:
+- reason = "STATUS_DELETE_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTL_FILE_NOT_SUPPORTED:
+- reason = "STATUS_CTL_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNKNOWN_REVISION:
+- reason = "STATUS_UNKNOWN_REVISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REVISION_MISMATCH:
+- reason = "STATUS_REVISION_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_OWNER:
+- reason = "STATUS_INVALID_OWNER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PRIMARY_GROUP:
+- reason = "STATUS_INVALID_PRIMARY_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_IMPERSONATION_TOKEN:
+- reason = "STATUS_NO_IMPERSONATION_TOKEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_DISABLE_MANDATORY:
+- reason = "STATUS_CANT_DISABLE_MANDATORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_LOGON_SERVERS:
+- reason = "STATUS_NO_LOGON_SERVERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_LOGON_SESSION:
+- reason = "STATUS_NO_SUCH_LOGON_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_PRIVILEGE:
+- reason = "STATUS_NO_SUCH_PRIVILEGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRIVILEGE_NOT_HELD:
+- reason = "STATUS_PRIVILEGE_NOT_HELD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ACCOUNT_NAME:
+- reason = "STATUS_INVALID_ACCOUNT_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER_EXISTS:
+- reason = "STATUS_USER_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_USER:
+- reason = "STATUS_NO_SUCH_USER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GROUP_EXISTS:
+- reason = "STATUS_GROUP_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_GROUP:
+- reason = "STATUS_NO_SUCH_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMBER_IN_GROUP:
+- reason = "STATUS_MEMBER_IN_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_GROUP:
+- reason = "STATUS_MEMBER_NOT_IN_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LAST_ADMIN:
+- reason = "STATUS_LAST_ADMIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD:
+- reason = "STATUS_WRONG_PASSWORD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILL_FORMED_PASSWORD:
+- reason = "STATUS_ILL_FORMED_PASSWORD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PASSWORD_RESTRICTION:
+- reason = "STATUS_PASSWORD_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_FAILURE:
+- reason = "STATUS_LOGON_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCOUNT_RESTRICTION:
+- reason = "STATUS_ACCOUNT_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_HOURS:
+- reason = "STATUS_INVALID_LOGON_HOURS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_WORKSTATION:
+- reason = "STATUS_INVALID_WORKSTATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PASSWORD_EXPIRED:
+- reason = "STATUS_PASSWORD_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCOUNT_DISABLED:
+- reason = "STATUS_ACCOUNT_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NONE_MAPPED:
+- reason = "STATUS_NONE_MAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_LUIDS_REQUESTED:
+- reason = "STATUS_TOO_MANY_LUIDS_REQUESTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LUIDS_EXHAUSTED:
+- reason = "STATUS_LUIDS_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SUB_AUTHORITY:
+- reason = "STATUS_INVALID_SUB_AUTHORITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ACL:
+- reason = "STATUS_INVALID_ACL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SID:
+- reason = "STATUS_INVALID_SID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SECURITY_DESCR:
+- reason = "STATUS_INVALID_SECURITY_DESCR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCEDURE_NOT_FOUND:
+- reason = "STATUS_PROCEDURE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_FORMAT:
+- reason = "STATUS_INVALID_IMAGE_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TOKEN:
+- reason = "STATUS_NO_TOKEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_INHERITANCE_ACL:
+- reason = "STATUS_BAD_INHERITANCE_ACL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RANGE_NOT_LOCKED:
+- reason = "STATUS_RANGE_NOT_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_FULL:
+- reason = "STATUS_DISK_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_DISABLED:
+- reason = "STATUS_SERVER_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_NOT_DISABLED:
+- reason = "STATUS_SERVER_NOT_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_GUIDS_REQUESTED:
+- reason = "STATUS_TOO_MANY_GUIDS_REQUESTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GUIDS_EXHAUSTED:
+- reason = "STATUS_GUIDS_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ID_AUTHORITY:
+- reason = "STATUS_INVALID_ID_AUTHORITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AGENTS_EXHAUSTED:
+- reason = "STATUS_AGENTS_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_VOLUME_LABEL:
+- reason = "STATUS_INVALID_VOLUME_LABEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECTION_NOT_EXTENDED:
+- reason = "STATUS_SECTION_NOT_EXTENDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_DATA:
+- reason = "STATUS_NOT_MAPPED_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_DATA_NOT_FOUND:
+- reason = "STATUS_RESOURCE_DATA_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_TYPE_NOT_FOUND:
+- reason = "STATUS_RESOURCE_TYPE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_NAME_NOT_FOUND:
+- reason = "STATUS_RESOURCE_NAME_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ARRAY_BOUNDS_EXCEEDED:
+- reason = "STATUS_ARRAY_BOUNDS_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_DENORMAL_OPERAND:
+- reason = "STATUS_FLOAT_DENORMAL_OPERAND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_DIVIDE_BY_ZERO:
+- reason = "STATUS_FLOAT_DIVIDE_BY_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_INEXACT_RESULT:
+- reason = "STATUS_FLOAT_INEXACT_RESULT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_INVALID_OPERATION:
+- reason = "STATUS_FLOAT_INVALID_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_OVERFLOW:
+- reason = "STATUS_FLOAT_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_STACK_CHECK:
+- reason = "STATUS_FLOAT_STACK_CHECK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_UNDERFLOW:
+- reason = "STATUS_FLOAT_UNDERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTEGER_DIVIDE_BY_ZERO:
+- reason = "STATUS_INTEGER_DIVIDE_BY_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTEGER_OVERFLOW:
+- reason = "STATUS_INTEGER_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRIVILEGED_INSTRUCTION:
+- reason = "STATUS_PRIVILEGED_INSTRUCTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_PAGING_FILES:
+- reason = "STATUS_TOO_MANY_PAGING_FILES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_INVALID:
+- reason = "STATUS_FILE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALLOTTED_SPACE_EXCEEDED:
+- reason = "STATUS_ALLOTTED_SPACE_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCES:
+- reason = "STATUS_INSUFFICIENT_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DFS_EXIT_PATH_FOUND:
+- reason = "STATUS_DFS_EXIT_PATH_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_DATA_ERROR:
+- reason = "STATUS_DEVICE_DATA_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_CONNECTED:
+- reason = "STATUS_DEVICE_NOT_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_FAILURE:
+- reason = "STATUS_DEVICE_POWER_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FREE_VM_NOT_AT_BASE:
+- reason = "STATUS_FREE_VM_NOT_AT_BASE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMORY_NOT_ALLOCATED:
+- reason = "STATUS_MEMORY_NOT_ALLOCATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WORKING_SET_QUOTA:
+- reason = "STATUS_WORKING_SET_QUOTA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEDIA_WRITE_PROTECTED:
+- reason = "STATUS_MEDIA_WRITE_PROTECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_READY:
+- reason = "STATUS_DEVICE_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_GROUP_ATTRIBUTES:
+- reason = "STATUS_INVALID_GROUP_ATTRIBUTES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_IMPERSONATION_LEVEL:
+- reason = "STATUS_BAD_IMPERSONATION_LEVEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_OPEN_ANONYMOUS:
+- reason = "STATUS_CANT_OPEN_ANONYMOUS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_VALIDATION_CLASS:
+- reason = "STATUS_BAD_VALIDATION_CLASS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_TOKEN_TYPE:
+- reason = "STATUS_BAD_TOKEN_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_MASTER_BOOT_RECORD:
+- reason = "STATUS_BAD_MASTER_BOOT_RECORD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSTRUCTION_MISALIGNMENT:
+- reason = "STATUS_INSTRUCTION_MISALIGNMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSTANCE_NOT_AVAILABLE:
+- reason = "STATUS_INSTANCE_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_NOT_AVAILABLE:
+- reason = "STATUS_PIPE_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PIPE_STATE:
+- reason = "STATUS_INVALID_PIPE_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_BUSY:
+- reason = "STATUS_PIPE_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_FUNCTION:
+- reason = "STATUS_ILLEGAL_FUNCTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_DISCONNECTED:
+- reason = "STATUS_PIPE_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_CLOSING:
+- reason = "STATUS_PIPE_CLOSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_CONNECTED:
+- reason = "STATUS_PIPE_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_LISTENING:
+- reason = "STATUS_PIPE_LISTENING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_READ_MODE:
+- reason = "STATUS_INVALID_READ_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_TIMEOUT:
+- reason = "STATUS_IO_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_FORCED_CLOSED:
+- reason = "STATUS_FILE_FORCED_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STARTED:
+- reason = "STATUS_PROFILING_NOT_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STOPPED:
+- reason = "STATUS_PROFILING_NOT_STOPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COULD_NOT_INTERPRET:
+- reason = "STATUS_COULD_NOT_INTERPRET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_IS_A_DIRECTORY:
+- reason = "STATUS_FILE_IS_A_DIRECTORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED:
+- reason = "STATUS_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_NOT_LISTENING:
+- reason = "STATUS_REMOTE_NOT_LISTENING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DUPLICATE_NAME:
+- reason = "STATUS_DUPLICATE_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_PATH:
+- reason = "STATUS_BAD_NETWORK_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_BUSY:
+- reason = "STATUS_NETWORK_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_DOES_NOT_EXIST:
+- reason = "STATUS_DEVICE_DOES_NOT_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_COMMANDS:
+- reason = "STATUS_TOO_MANY_COMMANDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADAPTER_HARDWARE_ERROR:
+- reason = "STATUS_ADAPTER_HARDWARE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_NETWORK_RESPONSE:
+- reason = "STATUS_INVALID_NETWORK_RESPONSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNEXPECTED_NETWORK_ERROR:
+- reason = "STATUS_UNEXPECTED_NETWORK_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_REMOTE_ADAPTER:
+- reason = "STATUS_BAD_REMOTE_ADAPTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRINT_QUEUE_FULL:
+- reason = "STATUS_PRINT_QUEUE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SPOOL_SPACE:
+- reason = "STATUS_NO_SPOOL_SPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRINT_CANCELLED:
+- reason = "STATUS_PRINT_CANCELLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_NAME_DELETED:
+- reason = "STATUS_NETWORK_NAME_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED:
+- reason = "STATUS_NETWORK_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_DEVICE_TYPE:
+- reason = "STATUS_BAD_DEVICE_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_NAME:
+- reason = "STATUS_BAD_NETWORK_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_NAMES:
+- reason = "STATUS_TOO_MANY_NAMES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_SESSIONS:
+- reason = "STATUS_TOO_MANY_SESSIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHARING_PAUSED:
+- reason = "STATUS_SHARING_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REQUEST_NOT_ACCEPTED:
+- reason = "STATUS_REQUEST_NOT_ACCEPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REDIRECTOR_PAUSED:
+- reason = "STATUS_REDIRECTOR_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NET_WRITE_FAULT:
+- reason = "STATUS_NET_WRITE_FAULT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROFILING_AT_LIMIT:
+- reason = "STATUS_PROFILING_AT_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SAME_DEVICE:
+- reason = "STATUS_NOT_SAME_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_RENAMED:
+- reason = "STATUS_FILE_RENAMED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTUAL_CIRCUIT_CLOSED:
+- reason = "STATUS_VIRTUAL_CIRCUIT_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SECURITY_ON_OBJECT:
+- reason = "STATUS_NO_SECURITY_ON_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_WAIT:
+- reason = "STATUS_CANT_WAIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_EMPTY:
+- reason = "STATUS_PIPE_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_ACCESS_DOMAIN_INFO:
+- reason = "STATUS_CANT_ACCESS_DOMAIN_INFO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_TERMINATE_SELF:
+- reason = "STATUS_CANT_TERMINATE_SELF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SERVER_STATE:
+- reason = "STATUS_INVALID_SERVER_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_STATE:
+- reason = "STATUS_INVALID_DOMAIN_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_ROLE:
+- reason = "STATUS_INVALID_DOMAIN_ROLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_DOMAIN:
+- reason = "STATUS_NO_SUCH_DOMAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOMAIN_EXISTS:
+- reason = "STATUS_DOMAIN_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOMAIN_LIMIT_EXCEEDED:
+- reason = "STATUS_DOMAIN_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPLOCK_NOT_GRANTED:
+- reason = "STATUS_OPLOCK_NOT_GRANTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_OPLOCK_PROTOCOL:
+- reason = "STATUS_INVALID_OPLOCK_PROTOCOL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_CORRUPTION:
+- reason = "STATUS_INTERNAL_DB_CORRUPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERNAL_ERROR:
+- reason = "STATUS_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GENERIC_NOT_MAPPED:
+- reason = "STATUS_GENERIC_NOT_MAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_DESCRIPTOR_FORMAT:
+- reason = "STATUS_BAD_DESCRIPTOR_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_USER_BUFFER:
+- reason = "STATUS_INVALID_USER_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNEXPECTED_IO_ERROR:
+- reason = "STATUS_UNEXPECTED_IO_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_CREATE_ERR:
+- reason = "STATUS_UNEXPECTED_MM_CREATE_ERR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_MAP_ERROR:
+- reason = "STATUS_UNEXPECTED_MM_MAP_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_EXTEND_ERR:
+- reason = "STATUS_UNEXPECTED_MM_EXTEND_ERR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_LOGON_PROCESS:
+- reason = "STATUS_NOT_LOGON_PROCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_EXISTS:
+- reason = "STATUS_LOGON_SESSION_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_1:
+- reason = "STATUS_INVALID_PARAMETER_1";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_2:
+- reason = "STATUS_INVALID_PARAMETER_2";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_3:
+- reason = "STATUS_INVALID_PARAMETER_3";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_4:
+- reason = "STATUS_INVALID_PARAMETER_4";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_5:
+- reason = "STATUS_INVALID_PARAMETER_5";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_6:
+- reason = "STATUS_INVALID_PARAMETER_6";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_7:
+- reason = "STATUS_INVALID_PARAMETER_7";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_8:
+- reason = "STATUS_INVALID_PARAMETER_8";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_9:
+- reason = "STATUS_INVALID_PARAMETER_9";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_10:
+- reason = "STATUS_INVALID_PARAMETER_10";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_11:
+- reason = "STATUS_INVALID_PARAMETER_11";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_12:
+- reason = "STATUS_INVALID_PARAMETER_12";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REDIRECTOR_NOT_STARTED:
+- reason = "STATUS_REDIRECTOR_NOT_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REDIRECTOR_STARTED:
+- reason = "STATUS_REDIRECTOR_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW:
+- reason = "STATUS_STACK_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_PACKAGE:
+- reason = "STATUS_NO_SUCH_PACKAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_FUNCTION_TABLE:
+- reason = "STATUS_BAD_FUNCTION_TABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VARIABLE_NOT_FOUND:
+- reason = "STATUS_VARIABLE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_EMPTY:
+- reason = "STATUS_DIRECTORY_NOT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_CORRUPT_ERROR:
+- reason = "STATUS_FILE_CORRUPT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_DIRECTORY:
+- reason = "STATUS_NOT_A_DIRECTORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_LOGON_SESSION_STATE:
+- reason = "STATUS_BAD_LOGON_SESSION_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_COLLISION:
+- reason = "STATUS_LOGON_SESSION_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NAME_TOO_LONG:
+- reason = "STATUS_NAME_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILES_OPEN:
+- reason = "STATUS_FILES_OPEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_IN_USE:
+- reason = "STATUS_CONNECTION_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MESSAGE_NOT_FOUND:
+- reason = "STATUS_MESSAGE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCESS_IS_TERMINATING:
+- reason = "STATUS_PROCESS_IS_TERMINATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_TYPE:
+- reason = "STATUS_INVALID_LOGON_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_GUID_TRANSLATION:
+- reason = "STATUS_NO_GUID_TRANSLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_IMPERSONATE:
+- reason = "STATUS_CANNOT_IMPERSONATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED:
+- reason = "STATUS_IMAGE_ALREADY_LOADED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_PRESENT:
+- reason = "STATUS_ABIOS_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_LID_NOT_EXIST:
+- reason = "STATUS_ABIOS_LID_NOT_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_LID_ALREADY_OWNED:
+- reason = "STATUS_ABIOS_LID_ALREADY_OWNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_LID_OWNER:
+- reason = "STATUS_ABIOS_NOT_LID_OWNER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_COMMAND:
+- reason = "STATUS_ABIOS_INVALID_COMMAND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_LID:
+- reason = "STATUS_ABIOS_INVALID_LID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE:
+- reason = "STATUS_ABIOS_SELECTOR_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_SELECTOR:
+- reason = "STATUS_ABIOS_INVALID_SELECTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_LDT:
+- reason = "STATUS_NO_LDT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LDT_SIZE:
+- reason = "STATUS_INVALID_LDT_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LDT_OFFSET:
+- reason = "STATUS_INVALID_LDT_OFFSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LDT_DESCRIPTOR:
+- reason = "STATUS_INVALID_LDT_DESCRIPTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NE_FORMAT:
+- reason = "STATUS_INVALID_IMAGE_NE_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RXACT_INVALID_STATE:
+- reason = "STATUS_RXACT_INVALID_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_FAILURE:
+- reason = "STATUS_RXACT_COMMIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MAPPED_FILE_SIZE_ZERO:
+- reason = "STATUS_MAPPED_FILE_SIZE_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_OPENED_FILES:
+- reason = "STATUS_TOO_MANY_OPENED_FILES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANCELLED:
+- reason = "STATUS_CANCELLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_DELETE:
+- reason = "STATUS_CANNOT_DELETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_COMPUTER_NAME:
+- reason = "STATUS_INVALID_COMPUTER_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_DELETED:
+- reason = "STATUS_FILE_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPECIAL_ACCOUNT:
+- reason = "STATUS_SPECIAL_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPECIAL_GROUP:
+- reason = "STATUS_SPECIAL_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPECIAL_USER:
+- reason = "STATUS_SPECIAL_USER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMBERS_PRIMARY_GROUP:
+- reason = "STATUS_MEMBERS_PRIMARY_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_CLOSED:
+- reason = "STATUS_FILE_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_THREADS:
+- reason = "STATUS_TOO_MANY_THREADS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_PROCESS:
+- reason = "STATUS_THREAD_NOT_IN_PROCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOKEN_ALREADY_IN_USE:
+- reason = "STATUS_TOKEN_ALREADY_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA_EXCEEDED:
+- reason = "STATUS_PAGEFILE_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMMITMENT_LIMIT:
+- reason = "STATUS_COMMITMENT_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_LE_FORMAT:
+- reason = "STATUS_INVALID_IMAGE_LE_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NOT_MZ:
+- reason = "STATUS_INVALID_IMAGE_NOT_MZ";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_PROTECT:
+- reason = "STATUS_INVALID_IMAGE_PROTECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_16:
+- reason = "STATUS_INVALID_IMAGE_WIN_16";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_SERVER_CONFLICT:
+- reason = "STATUS_LOGON_SERVER_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TIME_DIFFERENCE_AT_DC:
+- reason = "STATUS_TIME_DIFFERENCE_AT_DC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYNCHRONIZATION_REQUIRED:
+- reason = "STATUS_SYNCHRONIZATION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DLL_NOT_FOUND:
+- reason = "STATUS_DLL_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPEN_FAILED:
+- reason = "STATUS_OPEN_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_PRIVILEGE_FAILED:
+- reason = "STATUS_IO_PRIVILEGE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ORDINAL_NOT_FOUND:
+- reason = "STATUS_ORDINAL_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENTRYPOINT_NOT_FOUND:
+- reason = "STATUS_ENTRYPOINT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTROL_C_EXIT:
+- reason = "STATUS_CONTROL_C_EXIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOCAL_DISCONNECT:
+- reason = "STATUS_LOCAL_DISCONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_DISCONNECT:
+- reason = "STATUS_REMOTE_DISCONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_RESOURCES:
+- reason = "STATUS_REMOTE_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LINK_FAILED:
+- reason = "STATUS_LINK_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LINK_TIMEOUT:
+- reason = "STATUS_LINK_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_CONNECTION:
+- reason = "STATUS_INVALID_CONNECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS:
+- reason = "STATUS_INVALID_ADDRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED:
+- reason = "STATUS_DLL_INIT_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MISSING_SYSTEMFILE:
+- reason = "STATUS_MISSING_SYSTEMFILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNHANDLED_EXCEPTION:
+- reason = "STATUS_UNHANDLED_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_INIT_FAILURE:
+- reason = "STATUS_APP_INIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PAGEFILE_CREATE_FAILED:
+- reason = "STATUS_PAGEFILE_CREATE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_PAGEFILE:
+- reason = "STATUS_NO_PAGEFILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LEVEL:
+- reason = "STATUS_INVALID_LEVEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD_CORE:
+- reason = "STATUS_WRONG_PASSWORD_CORE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_FLOAT_CONTEXT:
+- reason = "STATUS_ILLEGAL_FLOAT_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PIPE_BROKEN:
+- reason = "STATUS_PIPE_BROKEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REGISTRY_CORRUPT:
+- reason = "STATUS_REGISTRY_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REGISTRY_IO_FAILED:
+- reason = "STATUS_REGISTRY_IO_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_EVENT_PAIR:
+- reason = "STATUS_NO_EVENT_PAIR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_VOLUME:
+- reason = "STATUS_UNRECOGNIZED_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERIAL_NO_DEVICE_INITED:
+- reason = "STATUS_SERIAL_NO_DEVICE_INITED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_ALIAS:
+- reason = "STATUS_NO_SUCH_ALIAS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_ALIAS:
+- reason = "STATUS_MEMBER_NOT_IN_ALIAS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MEMBER_IN_ALIAS:
+- reason = "STATUS_MEMBER_IN_ALIAS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALIAS_EXISTS:
+- reason = "STATUS_ALIAS_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_NOT_GRANTED:
+- reason = "STATUS_LOGON_NOT_GRANTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_SECRETS:
+- reason = "STATUS_TOO_MANY_SECRETS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECRET_TOO_LONG:
+- reason = "STATUS_SECRET_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_ERROR:
+- reason = "STATUS_INTERNAL_DB_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FULLSCREEN_MODE:
+- reason = "STATUS_FULLSCREEN_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_CONTEXT_IDS:
+- reason = "STATUS_TOO_MANY_CONTEXT_IDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGON_TYPE_NOT_GRANTED:
+- reason = "STATUS_LOGON_TYPE_NOT_GRANTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_REGISTRY_FILE:
+- reason = "STATUS_NOT_REGISTRY_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NT_CROSS_ENCRYPTION_REQUIRED:
+- reason = "STATUS_NT_CROSS_ENCRYPTION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOMAIN_CTRLR_CONFIG_ERROR:
+- reason = "STATUS_DOMAIN_CTRLR_CONFIG_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_MISSING_MEMBER:
+- reason = "STATUS_FT_MISSING_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILL_FORMED_SERVICE_ENTRY:
+- reason = "STATUS_ILL_FORMED_SERVICE_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_CHARACTER:
+- reason = "STATUS_ILLEGAL_CHARACTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNMAPPABLE_CHARACTER:
+- reason = "STATUS_UNMAPPABLE_CHARACTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNDEFINED_CHARACTER:
+- reason = "STATUS_UNDEFINED_CHARACTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOPPY_VOLUME:
+- reason = "STATUS_FLOPPY_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOPPY_ID_MARK_NOT_FOUND:
+- reason = "STATUS_FLOPPY_ID_MARK_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOPPY_WRONG_CYLINDER:
+- reason = "STATUS_FLOPPY_WRONG_CYLINDER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOPPY_UNKNOWN_ERROR:
+- reason = "STATUS_FLOPPY_UNKNOWN_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOPPY_BAD_REGISTERS:
+- reason = "STATUS_FLOPPY_BAD_REGISTERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_RECALIBRATE_FAILED:
+- reason = "STATUS_DISK_RECALIBRATE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_OPERATION_FAILED:
+- reason = "STATUS_DISK_OPERATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_RESET_FAILED:
+- reason = "STATUS_DISK_RESET_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHARED_IRQ_BUSY:
+- reason = "STATUS_SHARED_IRQ_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_ORPHANING:
+- reason = "STATUS_FT_ORPHANING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT:
+- reason = "STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PARTITION_FAILURE:
+- reason = "STATUS_PARTITION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_BLOCK_LENGTH:
+- reason = "STATUS_INVALID_BLOCK_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_PARTITIONED:
+- reason = "STATUS_DEVICE_NOT_PARTITIONED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNABLE_TO_LOCK_MEDIA:
+- reason = "STATUS_UNABLE_TO_LOCK_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNABLE_TO_UNLOAD_MEDIA:
+- reason = "STATUS_UNABLE_TO_UNLOAD_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EOM_OVERFLOW:
+- reason = "STATUS_EOM_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MEDIA:
+- reason = "STATUS_NO_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SUCH_MEMBER:
+- reason = "STATUS_NO_SUCH_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_MEMBER:
+- reason = "STATUS_INVALID_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KEY_DELETED:
+- reason = "STATUS_KEY_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_LOG_SPACE:
+- reason = "STATUS_NO_LOG_SPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_SIDS:
+- reason = "STATUS_TOO_MANY_SIDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LM_CROSS_ENCRYPTION_REQUIRED:
+- reason = "STATUS_LM_CROSS_ENCRYPTION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KEY_HAS_CHILDREN:
+- reason = "STATUS_KEY_HAS_CHILDREN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CHILD_MUST_BE_VOLATILE:
+- reason = "STATUS_CHILD_MUST_BE_VOLATILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_CONFIGURATION_ERROR:
+- reason = "STATUS_DEVICE_CONFIGURATION_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_INTERNAL_ERROR:
+- reason = "STATUS_DRIVER_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_STATE:
+- reason = "STATUS_INVALID_DEVICE_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_DEVICE_ERROR:
+- reason = "STATUS_IO_DEVICE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_PROTOCOL_ERROR:
+- reason = "STATUS_DEVICE_PROTOCOL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BACKUP_CONTROLLER:
+- reason = "STATUS_BACKUP_CONTROLLER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_FILE_FULL:
+- reason = "STATUS_LOG_FILE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_LATE:
+- reason = "STATUS_TOO_LATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TRUST_LSA_SECRET:
+- reason = "STATUS_NO_TRUST_LSA_SECRET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TRUST_SAM_ACCOUNT:
+- reason = "STATUS_NO_TRUST_SAM_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRUSTED_DOMAIN_FAILURE:
+- reason = "STATUS_TRUSTED_DOMAIN_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRUSTED_RELATIONSHIP_FAILURE:
+- reason = "STATUS_TRUSTED_RELATIONSHIP_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CORRUPT:
+- reason = "STATUS_EVENTLOG_FILE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVENTLOG_CANT_START:
+- reason = "STATUS_EVENTLOG_CANT_START";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRUST_FAILURE:
+- reason = "STATUS_TRUST_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUTANT_LIMIT_EXCEEDED:
+- reason = "STATUS_MUTANT_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETLOGON_NOT_STARTED:
+- reason = "STATUS_NETLOGON_NOT_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCOUNT_EXPIRED:
+- reason = "STATUS_ACCOUNT_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_POSSIBLE_DEADLOCK:
+- reason = "STATUS_POSSIBLE_DEADLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_CREDENTIAL_CONFLICT:
+- reason = "STATUS_NETWORK_CREDENTIAL_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_SESSION_LIMIT:
+- reason = "STATUS_REMOTE_SESSION_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CHANGED:
+- reason = "STATUS_EVENTLOG_FILE_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT:
+- reason = "STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT:
+- reason = "STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT:
+- reason = "STATUS_NOLOGON_SERVER_TRUST_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOMAIN_TRUST_INCONSISTENT:
+- reason = "STATUS_DOMAIN_TRUST_INCONSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FS_DRIVER_REQUIRED:
+- reason = "STATUS_FS_DRIVER_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED_AS_DLL:
+- reason = "STATUS_IMAGE_ALREADY_LOADED_AS_DLL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING:
+- reason = "STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME:
+- reason = "STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECURITY_STREAM_IS_INCONSISTENT:
+- reason = "STATUS_SECURITY_STREAM_IS_INCONSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_RANGE:
+- reason = "STATUS_INVALID_LOCK_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ACE_CONDITION:
+- reason = "STATUS_INVALID_ACE_CONDITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT:
+- reason = "STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOTIFICATION_GUID_ALREADY_DEFINED:
+- reason = "STATUS_NOTIFICATION_GUID_ALREADY_DEFINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_EXCEPTION_HANDLER:
+- reason = "STATUS_INVALID_EXCEPTION_HANDLER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DUPLICATE_PRIVILEGES:
+- reason = "STATUS_DUPLICATE_PRIVILEGES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_ALLOWED_ON_SYSTEM_FILE:
+- reason = "STATUS_NOT_ALLOWED_ON_SYSTEM_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPAIR_NEEDED:
+- reason = "STATUS_REPAIR_NEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUOTA_NOT_ENABLED:
+- reason = "STATUS_QUOTA_NOT_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_APPLICATION_PACKAGE:
+- reason = "STATUS_NO_APPLICATION_PACKAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS:
+- reason = "STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SAME_OBJECT:
+- reason = "STATUS_NOT_SAME_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FATAL_MEMORY_EXHAUSTION:
+- reason = "STATUS_FATAL_MEMORY_EXHAUSTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ERROR_PROCESS_NOT_IN_JOB:
+- reason = "STATUS_ERROR_PROCESS_NOT_IN_JOB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CPU_SET_INVALID:
+- reason = "STATUS_CPU_SET_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_DEVICE_INVALID_DATA:
+- reason = "STATUS_IO_DEVICE_INVALID_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_UNALIGNED_WRITE:
+- reason = "STATUS_IO_UNALIGNED_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTROL_STACK_VIOLATION:
+- reason = "STATUS_CONTROL_STACK_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_OPEN_RESTRICTION:
+- reason = "STATUS_NETWORK_OPEN_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_USER_SESSION_KEY:
+- reason = "STATUS_NO_USER_SESSION_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER_SESSION_DELETED:
+- reason = "STATUS_USER_SESSION_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_LANG_NOT_FOUND:
+- reason = "STATUS_RESOURCE_LANG_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFF_SERVER_RESOURCES:
+- reason = "STATUS_INSUFF_SERVER_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_BUFFER_SIZE:
+- reason = "STATUS_INVALID_BUFFER_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_COMPONENT:
+- reason = "STATUS_INVALID_ADDRESS_COMPONENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_WILDCARD:
+- reason = "STATUS_INVALID_ADDRESS_WILDCARD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_ADDRESSES:
+- reason = "STATUS_TOO_MANY_ADDRESSES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_EXISTS:
+- reason = "STATUS_ADDRESS_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADDRESS_CLOSED:
+- reason = "STATUS_ADDRESS_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_DISCONNECTED:
+- reason = "STATUS_CONNECTION_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_RESET:
+- reason = "STATUS_CONNECTION_RESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_NODES:
+- reason = "STATUS_TOO_MANY_NODES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_ABORTED:
+- reason = "STATUS_TRANSACTION_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_TIMED_OUT:
+- reason = "STATUS_TRANSACTION_TIMED_OUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_RELEASE:
+- reason = "STATUS_TRANSACTION_NO_RELEASE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_MATCH:
+- reason = "STATUS_TRANSACTION_NO_MATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONDED:
+- reason = "STATUS_TRANSACTION_RESPONDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_ID:
+- reason = "STATUS_TRANSACTION_INVALID_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_TYPE:
+- reason = "STATUS_TRANSACTION_INVALID_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SERVER_SESSION:
+- reason = "STATUS_NOT_SERVER_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_CLIENT_SESSION:
+- reason = "STATUS_NOT_CLIENT_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_LOAD_REGISTRY_FILE:
+- reason = "STATUS_CANNOT_LOAD_REGISTRY_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEBUG_ATTACH_FAILED:
+- reason = "STATUS_DEBUG_ATTACH_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_PROCESS_TERMINATED:
+- reason = "STATUS_SYSTEM_PROCESS_TERMINATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_NOT_ACCEPTED:
+- reason = "STATUS_DATA_NOT_ACCEPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_BROWSER_SERVERS_FOUND:
+- reason = "STATUS_NO_BROWSER_SERVERS_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VDM_HARD_ERROR:
+- reason = "STATUS_VDM_HARD_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_CANCEL_TIMEOUT:
+- reason = "STATUS_DRIVER_CANCEL_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPLY_MESSAGE_MISMATCH:
+- reason = "STATUS_REPLY_MESSAGE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MAPPED_ALIGNMENT:
+- reason = "STATUS_MAPPED_ALIGNMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_CHECKSUM_MISMATCH:
+- reason = "STATUS_IMAGE_CHECKSUM_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA:
+- reason = "STATUS_LOST_WRITEBEHIND_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIENT_SERVER_PARAMETERS_INVALID:
+- reason = "STATUS_CLIENT_SERVER_PARAMETERS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PASSWORD_MUST_CHANGE:
+- reason = "STATUS_PASSWORD_MUST_CHANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_FOUND:
+- reason = "STATUS_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_TINY_STREAM:
+- reason = "STATUS_NOT_TINY_STREAM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECOVERY_FAILURE:
+- reason = "STATUS_RECOVERY_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW_READ:
+- reason = "STATUS_STACK_OVERFLOW_READ";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FAIL_CHECK:
+- reason = "STATUS_FAIL_CHECK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DUPLICATE_OBJECTID:
+- reason = "STATUS_DUPLICATE_OBJECTID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECTID_EXISTS:
+- reason = "STATUS_OBJECTID_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONVERT_TO_LARGE:
+- reason = "STATUS_CONVERT_TO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RETRY:
+- reason = "STATUS_RETRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FOUND_OUT_OF_SCOPE:
+- reason = "STATUS_FOUND_OUT_OF_SCOPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALLOCATE_BUCKET:
+- reason = "STATUS_ALLOCATE_BUCKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROPSET_NOT_FOUND:
+- reason = "STATUS_PROPSET_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MARSHALL_OVERFLOW:
+- reason = "STATUS_MARSHALL_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_VARIANT:
+- reason = "STATUS_INVALID_VARIANT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOMAIN_CONTROLLER_NOT_FOUND:
+- reason = "STATUS_DOMAIN_CONTROLLER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCOUNT_LOCKED_OUT:
+- reason = "STATUS_ACCOUNT_LOCKED_OUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HANDLE_NOT_CLOSABLE:
+- reason = "STATUS_HANDLE_NOT_CLOSABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_REFUSED:
+- reason = "STATUS_CONNECTION_REFUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRACEFUL_DISCONNECT:
+- reason = "STATUS_GRACEFUL_DISCONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_ASSOCIATED:
+- reason = "STATUS_ADDRESS_ALREADY_ASSOCIATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADDRESS_NOT_ASSOCIATED:
+- reason = "STATUS_ADDRESS_NOT_ASSOCIATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_INVALID:
+- reason = "STATUS_CONNECTION_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_ACTIVE:
+- reason = "STATUS_CONNECTION_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_UNREACHABLE:
+- reason = "STATUS_NETWORK_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HOST_UNREACHABLE:
+- reason = "STATUS_HOST_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROTOCOL_UNREACHABLE:
+- reason = "STATUS_PROTOCOL_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_UNREACHABLE:
+- reason = "STATUS_PORT_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REQUEST_ABORTED:
+- reason = "STATUS_REQUEST_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_ABORTED:
+- reason = "STATUS_CONNECTION_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_COMPRESSION_BUFFER:
+- reason = "STATUS_BAD_COMPRESSION_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER_MAPPED_FILE:
+- reason = "STATUS_USER_MAPPED_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUDIT_FAILED:
+- reason = "STATUS_AUDIT_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TIMER_RESOLUTION_NOT_SET:
+- reason = "STATUS_TIMER_RESOLUTION_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONNECTION_COUNT_LIMIT:
+- reason = "STATUS_CONNECTION_COUNT_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGIN_TIME_RESTRICTION:
+- reason = "STATUS_LOGIN_TIME_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOGIN_WKSTA_RESTRICTION:
+- reason = "STATUS_LOGIN_WKSTA_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_MP_UP_MISMATCH:
+- reason = "STATUS_IMAGE_MP_UP_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_LOGON_INFO:
+- reason = "STATUS_INSUFFICIENT_LOGON_INFO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_DLL_ENTRYPOINT:
+- reason = "STATUS_BAD_DLL_ENTRYPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_SERVICE_ENTRYPOINT:
+- reason = "STATUS_BAD_SERVICE_ENTRYPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPC_REPLY_LOST:
+- reason = "STATUS_LPC_REPLY_LOST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT1:
+- reason = "STATUS_IP_ADDRESS_CONFLICT1";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT2:
+- reason = "STATUS_IP_ADDRESS_CONFLICT2";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REGISTRY_QUOTA_LIMIT:
+- reason = "STATUS_REGISTRY_QUOTA_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PATH_NOT_COVERED:
+- reason = "STATUS_PATH_NOT_COVERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_CALLBACK_ACTIVE:
+- reason = "STATUS_NO_CALLBACK_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LICENSE_QUOTA_EXCEEDED:
+- reason = "STATUS_LICENSE_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PWD_TOO_SHORT:
+- reason = "STATUS_PWD_TOO_SHORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PWD_TOO_RECENT:
+- reason = "STATUS_PWD_TOO_RECENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PWD_HISTORY_CONFLICT:
+- reason = "STATUS_PWD_HISTORY_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLUGPLAY_NO_DEVICE:
+- reason = "STATUS_PLUGPLAY_NO_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_COMPRESSION:
+- reason = "STATUS_UNSUPPORTED_COMPRESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_HW_PROFILE:
+- reason = "STATUS_INVALID_HW_PROFILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PLUGPLAY_DEVICE_PATH:
+- reason = "STATUS_INVALID_PLUGPLAY_DEVICE_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_ORDINAL_NOT_FOUND:
+- reason = "STATUS_DRIVER_ORDINAL_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND:
+- reason = "STATUS_DRIVER_ENTRYPOINT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_NOT_OWNED:
+- reason = "STATUS_RESOURCE_NOT_OWNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_LINKS:
+- reason = "STATUS_TOO_MANY_LINKS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUOTA_LIST_INCONSISTENT:
+- reason = "STATUS_QUOTA_LIST_INCONSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_IS_OFFLINE:
+- reason = "STATUS_FILE_IS_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EVALUATION_EXPIRATION:
+- reason = "STATUS_EVALUATION_EXPIRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_DLL_RELOCATION:
+- reason = "STATUS_ILLEGAL_DLL_RELOCATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LICENSE_VIOLATION:
+- reason = "STATUS_LICENSE_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED_LOGOFF:
+- reason = "STATUS_DLL_INIT_FAILED_LOGOFF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_UNABLE_TO_LOAD:
+- reason = "STATUS_DRIVER_UNABLE_TO_LOAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DFS_UNAVAILABLE:
+- reason = "STATUS_DFS_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLUME_DISMOUNTED:
+- reason = "STATUS_VOLUME_DISMOUNTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_INTERNAL_ERROR:
+- reason = "STATUS_WX86_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WX86_FLOAT_STACK_CHECK:
+- reason = "STATUS_WX86_FLOAT_STACK_CHECK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VALIDATE_CONTINUE:
+- reason = "STATUS_VALIDATE_CONTINUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MATCH:
+- reason = "STATUS_NO_MATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_MORE_MATCHES:
+- reason = "STATUS_NO_MORE_MATCHES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_REPARSE_POINT:
+- reason = "STATUS_NOT_A_REPARSE_POINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_INVALID:
+- reason = "STATUS_IO_REPARSE_TAG_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_MISMATCH:
+- reason = "STATUS_IO_REPARSE_TAG_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_REPARSE_DATA_INVALID:
+- reason = "STATUS_IO_REPARSE_DATA_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_NOT_HANDLED:
+- reason = "STATUS_IO_REPARSE_TAG_NOT_HANDLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PWD_TOO_LONG:
+- reason = "STATUS_PWD_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STOWED_EXCEPTION:
+- reason = "STATUS_STOWED_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTEXT_STOWED_EXCEPTION:
+- reason = "STATUS_CONTEXT_STOWED_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_NOT_RESOLVED:
+- reason = "STATUS_REPARSE_POINT_NOT_RESOLVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DIRECTORY_IS_A_REPARSE_POINT:
+- reason = "STATUS_DIRECTORY_IS_A_REPARSE_POINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RANGE_LIST_CONFLICT:
+- reason = "STATUS_RANGE_LIST_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SOURCE_ELEMENT_EMPTY:
+- reason = "STATUS_SOURCE_ELEMENT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DESTINATION_ELEMENT_FULL:
+- reason = "STATUS_DESTINATION_ELEMENT_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ILLEGAL_ELEMENT_ADDRESS:
+- reason = "STATUS_ILLEGAL_ELEMENT_ADDRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MAGAZINE_NOT_PRESENT:
+- reason = "STATUS_MAGAZINE_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REINITIALIZATION_NEEDED:
+- reason = "STATUS_REINITIALIZATION_NEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCRYPTION_FAILED:
+- reason = "STATUS_ENCRYPTION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DECRYPTION_FAILED:
+- reason = "STATUS_DECRYPTION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RANGE_NOT_FOUND:
+- reason = "STATUS_RANGE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_RECOVERY_POLICY:
+- reason = "STATUS_NO_RECOVERY_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_EFS:
+- reason = "STATUS_NO_EFS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_EFS:
+- reason = "STATUS_WRONG_EFS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_USER_KEYS:
+- reason = "STATUS_NO_USER_KEYS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_NOT_ENCRYPTED:
+- reason = "STATUS_FILE_NOT_ENCRYPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_EXPORT_FORMAT:
+- reason = "STATUS_NOT_EXPORT_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_ENCRYPTED:
+- reason = "STATUS_FILE_ENCRYPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_GUID_NOT_FOUND:
+- reason = "STATUS_WMI_GUID_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_INSTANCE_NOT_FOUND:
+- reason = "STATUS_WMI_INSTANCE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_ITEMID_NOT_FOUND:
+- reason = "STATUS_WMI_ITEMID_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_TRY_AGAIN:
+- reason = "STATUS_WMI_TRY_AGAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHARED_POLICY:
+- reason = "STATUS_SHARED_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_POLICY_OBJECT_NOT_FOUND:
+- reason = "STATUS_POLICY_OBJECT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_POLICY_ONLY_IN_DS:
+- reason = "STATUS_POLICY_ONLY_IN_DS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_UPGRADED:
+- reason = "STATUS_VOLUME_NOT_UPGRADED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_NOT_ACTIVE:
+- reason = "STATUS_REMOTE_STORAGE_NOT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_MEDIA_ERROR:
+- reason = "STATUS_REMOTE_STORAGE_MEDIA_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TRACKING_SERVICE:
+- reason = "STATUS_NO_TRACKING_SERVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_SID_MISMATCH:
+- reason = "STATUS_SERVER_SID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_ATTRIBUTE_OR_VALUE:
+- reason = "STATUS_DS_NO_ATTRIBUTE_OR_VALUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_INVALID_ATTRIBUTE_SYNTAX:
+- reason = "STATUS_DS_INVALID_ATTRIBUTE_SYNTAX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED:
+- reason = "STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS:
+- reason = "STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_BUSY:
+- reason = "STATUS_DS_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_UNAVAILABLE:
+- reason = "STATUS_DS_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_RIDS_ALLOCATED:
+- reason = "STATUS_DS_NO_RIDS_ALLOCATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_MORE_RIDS:
+- reason = "STATUS_DS_NO_MORE_RIDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_INCORRECT_ROLE_OWNER:
+- reason = "STATUS_DS_INCORRECT_ROLE_OWNER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_INIT_ERROR:
+- reason = "STATUS_DS_RIDMGR_INIT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_OBJ_CLASS_VIOLATION:
+- reason = "STATUS_DS_OBJ_CLASS_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_NON_LEAF:
+- reason = "STATUS_DS_CANT_ON_NON_LEAF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_RDN:
+- reason = "STATUS_DS_CANT_ON_RDN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_OBJ_CLASS:
+- reason = "STATUS_DS_CANT_MOD_OBJ_CLASS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CROSS_DOM_MOVE_FAILED:
+- reason = "STATUS_DS_CROSS_DOM_MOVE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GC_NOT_AVAILABLE:
+- reason = "STATUS_DS_GC_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DIRECTORY_SERVICE_REQUIRED:
+- reason = "STATUS_DIRECTORY_SERVICE_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE_ATTRIBUTE_CONFLICT:
+- reason = "STATUS_REPARSE_ATTRIBUTE_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_ENABLE_DENY_ONLY:
+- reason = "STATUS_CANT_ENABLE_DENY_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_FAULTS:
+- reason = "STATUS_FLOAT_MULTIPLE_FAULTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_TRAPS:
+- reason = "STATUS_FLOAT_MULTIPLE_TRAPS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_REMOVED:
+- reason = "STATUS_DEVICE_REMOVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_JOURNAL_DELETE_IN_PROGRESS:
+- reason = "STATUS_JOURNAL_DELETE_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_JOURNAL_NOT_ACTIVE:
+- reason = "STATUS_JOURNAL_NOT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOINTERFACE:
+- reason = "STATUS_NOINTERFACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_DISABLED:
+- reason = "STATUS_DS_RIDMGR_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_ADMIN_LIMIT_EXCEEDED:
+- reason = "STATUS_DS_ADMIN_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_SLEEP:
+- reason = "STATUS_DRIVER_FAILED_SLEEP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUTUAL_AUTHENTICATION_FAILED:
+- reason = "STATUS_MUTUAL_AUTHENTICATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_SYSTEM_FILE:
+- reason = "STATUS_CORRUPT_SYSTEM_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT_ERROR:
+- reason = "STATUS_DATATYPE_MISALIGNMENT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_READ_ONLY:
+- reason = "STATUS_WMI_READ_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_SET_FAILURE:
+- reason = "STATUS_WMI_SET_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMMITMENT_MINIMUM:
+- reason = "STATUS_COMMITMENT_MINIMUM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REG_NAT_CONSUMPTION:
+- reason = "STATUS_REG_NAT_CONSUMPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSPORT_FULL:
+- reason = "STATUS_TRANSPORT_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE:
+- reason = "STATUS_DS_SAM_INIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ONLY_IF_CONNECTED:
+- reason = "STATUS_ONLY_IF_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_SENSITIVE_GROUP_VIOLATION:
+- reason = "STATUS_DS_SENSITIVE_GROUP_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_RESTART_ENUMERATION:
+- reason = "STATUS_PNP_RESTART_ENUMERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_JOURNAL_ENTRY_DELETED:
+- reason = "STATUS_JOURNAL_ENTRY_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_PRIMARYGROUPID:
+- reason = "STATUS_DS_CANT_MOD_PRIMARYGROUPID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_IMAGE_BAD_SIGNATURE:
+- reason = "STATUS_SYSTEM_IMAGE_BAD_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_REBOOT_REQUIRED:
+- reason = "STATUS_PNP_REBOOT_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_POWER_STATE_INVALID:
+- reason = "STATUS_POWER_STATE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_INVALID_GROUP_TYPE:
+- reason = "STATUS_DS_INVALID_GROUP_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN:
+- reason = "STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN:
+- reason = "STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER:
+- reason = "STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER:
+- reason = "STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER:
+- reason = "STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER:
+- reason = "STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER:
+- reason = "STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_HAVE_PRIMARY_MEMBERS:
+- reason = "STATUS_DS_HAVE_PRIMARY_MEMBERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_NOT_SUPPORTED:
+- reason = "STATUS_WMI_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_POWER:
+- reason = "STATUS_INSUFFICIENT_POWER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_PASSWORD:
+- reason = "STATUS_SAM_NEED_BOOTKEY_PASSWORD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_FLOPPY:
+- reason = "STATUS_SAM_NEED_BOOTKEY_FLOPPY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_CANT_START:
+- reason = "STATUS_DS_CANT_START";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE:
+- reason = "STATUS_DS_INIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SAM_INIT_FAILURE:
+- reason = "STATUS_SAM_INIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GC_REQUIRED:
+- reason = "STATUS_DS_GC_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY:
+- reason = "STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS:
+- reason = "STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED:
+- reason = "STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MULTIPLE_FAULT_VIOLATION:
+- reason = "STATUS_MULTIPLE_FAULT_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CURRENT_DOMAIN_NOT_ALLOWED:
+- reason = "STATUS_CURRENT_DOMAIN_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_MAKE:
+- reason = "STATUS_CANNOT_MAKE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_SHUTDOWN:
+- reason = "STATUS_SYSTEM_SHUTDOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE_CONSOLE:
+- reason = "STATUS_DS_INIT_FAILURE_CONSOLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE_CONSOLE:
+- reason = "STATUS_DS_SAM_INIT_FAILURE_CONSOLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNFINISHED_CONTEXT_DELETED:
+- reason = "STATUS_UNFINISHED_CONTEXT_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_TGT_REPLY:
+- reason = "STATUS_NO_TGT_REPLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECTID_NOT_FOUND:
+- reason = "STATUS_OBJECTID_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_IP_ADDRESSES:
+- reason = "STATUS_NO_IP_ADDRESSES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_CREDENTIAL_HANDLE:
+- reason = "STATUS_WRONG_CREDENTIAL_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRYPTO_SYSTEM_INVALID:
+- reason = "STATUS_CRYPTO_SYSTEM_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MAX_REFERRALS_EXCEEDED:
+- reason = "STATUS_MAX_REFERRALS_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUST_BE_KDC:
+- reason = "STATUS_MUST_BE_KDC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STRONG_CRYPTO_NOT_SUPPORTED:
+- reason = "STATUS_STRONG_CRYPTO_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_PRINCIPALS:
+- reason = "STATUS_TOO_MANY_PRINCIPALS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_PA_DATA:
+- reason = "STATUS_NO_PA_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PKINIT_NAME_MISMATCH:
+- reason = "STATUS_PKINIT_NAME_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_LOGON_REQUIRED:
+- reason = "STATUS_SMARTCARD_LOGON_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KDC_INVALID_REQUEST:
+- reason = "STATUS_KDC_INVALID_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KDC_UNABLE_TO_REFER:
+- reason = "STATUS_KDC_UNABLE_TO_REFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KDC_UNKNOWN_ETYPE:
+- reason = "STATUS_KDC_UNKNOWN_ETYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHUTDOWN_IN_PROGRESS:
+- reason = "STATUS_SHUTDOWN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_SHUTDOWN_IN_PROGRESS:
+- reason = "STATUS_SERVER_SHUTDOWN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_SBS:
+- reason = "STATUS_NOT_SUPPORTED_ON_SBS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_GUID_DISCONNECTED:
+- reason = "STATUS_WMI_GUID_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_DISABLED:
+- reason = "STATUS_WMI_ALREADY_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_ENABLED:
+- reason = "STATUS_WMI_ALREADY_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MFT_TOO_FRAGMENTED:
+- reason = "STATUS_MFT_TOO_FRAGMENTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COPY_PROTECTION_FAILURE:
+- reason = "STATUS_COPY_PROTECTION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_AUTHENTICATION_FAILURE:
+- reason = "STATUS_CSS_AUTHENTICATION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_PRESENT:
+- reason = "STATUS_CSS_KEY_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_ESTABLISHED:
+- reason = "STATUS_CSS_KEY_NOT_ESTABLISHED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_SCRAMBLED_SECTOR:
+- reason = "STATUS_CSS_SCRAMBLED_SECTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_REGION_MISMATCH:
+- reason = "STATUS_CSS_REGION_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSS_RESETS_EXHAUSTED:
+- reason = "STATUS_CSS_RESETS_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PASSWORD_CHANGE_REQUIRED:
+- reason = "STATUS_PASSWORD_CHANGE_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOST_MODE_LOGON_RESTRICTION:
+- reason = "STATUS_LOST_MODE_LOGON_RESTRICTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PKINIT_FAILURE:
+- reason = "STATUS_PKINIT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_SUBSYSTEM_FAILURE:
+- reason = "STATUS_SMARTCARD_SUBSYSTEM_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_KERB_KEY:
+- reason = "STATUS_NO_KERB_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HOST_DOWN:
+- reason = "STATUS_HOST_DOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_PREAUTH:
+- reason = "STATUS_UNSUPPORTED_PREAUTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EFS_ALG_BLOB_TOO_BIG:
+- reason = "STATUS_EFS_ALG_BLOB_TOO_BIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_NOT_SET:
+- reason = "STATUS_PORT_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEBUGGER_INACTIVE:
+- reason = "STATUS_DEBUGGER_INACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_VERSION_CHECK_FAILURE:
+- reason = "STATUS_DS_VERSION_CHECK_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUDITING_DISABLED:
+- reason = "STATUS_AUDITING_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PRENT4_MACHINE_ACCOUNT:
+- reason = "STATUS_PRENT4_MACHINE_ACCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER:
+- reason = "STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_32:
+- reason = "STATUS_INVALID_IMAGE_WIN_32";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_64:
+- reason = "STATUS_INVALID_IMAGE_WIN_64";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_BINDINGS:
+- reason = "STATUS_BAD_BINDINGS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_SESSION_EXPIRED:
+- reason = "STATUS_NETWORK_SESSION_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPHELP_BLOCK:
+- reason = "STATUS_APPHELP_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALL_SIDS_FILTERED:
+- reason = "STATUS_ALL_SIDS_FILTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SAFE_MODE_DRIVER:
+- reason = "STATUS_NOT_SAFE_MODE_DRIVER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT:
+- reason = "STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PATH:
+- reason = "STATUS_ACCESS_DISABLED_BY_POLICY_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER:
+- reason = "STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_OTHER:
+- reason = "STATUS_ACCESS_DISABLED_BY_POLICY_OTHER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FAILED_DRIVER_ENTRY:
+- reason = "STATUS_FAILED_DRIVER_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_ENUMERATION_ERROR:
+- reason = "STATUS_DEVICE_ENUMERATION_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MOUNT_POINT_NOT_RESOLVED:
+- reason = "STATUS_MOUNT_POINT_NOT_RESOLVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_OBJECT_PARAMETER:
+- reason = "STATUS_INVALID_DEVICE_OBJECT_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MCA_OCCURED:
+- reason = "STATUS_MCA_OCCURED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED_CRITICAL:
+- reason = "STATUS_DRIVER_BLOCKED_CRITICAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED:
+- reason = "STATUS_DRIVER_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_DATABASE_ERROR:
+- reason = "STATUS_DRIVER_DATABASE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_HIVE_TOO_LARGE:
+- reason = "STATUS_SYSTEM_HIVE_TOO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMPORT_OF_NON_DLL:
+- reason = "STATUS_INVALID_IMPORT_OF_NON_DLL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SECRETS:
+- reason = "STATUS_NO_SECRETS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY:
+- reason = "STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FAILED_STACK_SWITCH:
+- reason = "STATUS_FAILED_STACK_SWITCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HEAP_CORRUPTION:
+- reason = "STATUS_HEAP_CORRUPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_WRONG_PIN:
+- reason = "STATUS_SMARTCARD_WRONG_PIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_BLOCKED:
+- reason = "STATUS_SMARTCARD_CARD_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED:
+- reason = "STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CARD:
+- reason = "STATUS_SMARTCARD_NO_CARD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEY_CONTAINER:
+- reason = "STATUS_SMARTCARD_NO_KEY_CONTAINER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CERTIFICATE:
+- reason = "STATUS_SMARTCARD_NO_CERTIFICATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEYSET:
+- reason = "STATUS_SMARTCARD_NO_KEYSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_IO_ERROR:
+- reason = "STATUS_SMARTCARD_IO_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DOWNGRADE_DETECTED:
+- reason = "STATUS_DOWNGRADE_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_REVOKED:
+- reason = "STATUS_SMARTCARD_CERT_REVOKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED:
+- reason = "STATUS_ISSUING_CA_UNTRUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_C:
+- reason = "STATUS_REVOCATION_OFFLINE_C";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PKINIT_CLIENT_FAILURE:
+- reason = "STATUS_PKINIT_CLIENT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_EXPIRED:
+- reason = "STATUS_SMARTCARD_CERT_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_PRIOR_UNLOAD:
+- reason = "STATUS_DRIVER_FAILED_PRIOR_UNLOAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMARTCARD_SILENT_CONTEXT:
+- reason = "STATUS_SMARTCARD_SILENT_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PER_USER_TRUST_QUOTA_EXCEEDED:
+- reason = "STATUS_PER_USER_TRUST_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED:
+- reason = "STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED:
+- reason = "STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_NAME_NOT_UNIQUE:
+- reason = "STATUS_DS_NAME_NOT_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_DUPLICATE_ID_FOUND:
+- reason = "STATUS_DS_DUPLICATE_ID_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_GROUP_CONVERSION_ERROR:
+- reason = "STATUS_DS_GROUP_CONVERSION_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLSNAP_PREPARE_HIBERNATE:
+- reason = "STATUS_VOLSNAP_PREPARE_HIBERNATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_USER2USER_REQUIRED:
+- reason = "STATUS_USER2USER_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN:
+- reason = "STATUS_STACK_BUFFER_OVERRUN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_S4U_PROT_SUPPORT:
+- reason = "STATUS_NO_S4U_PROT_SUPPORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CROSSREALM_DELEGATION_FAILURE:
+- reason = "STATUS_CROSSREALM_DELEGATION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_KDC:
+- reason = "STATUS_REVOCATION_OFFLINE_KDC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED_KDC:
+- reason = "STATUS_ISSUING_CA_UNTRUSTED_KDC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KDC_CERT_EXPIRED:
+- reason = "STATUS_KDC_CERT_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KDC_CERT_REVOKED:
+- reason = "STATUS_KDC_CERT_REVOKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PARAMETER_QUOTA_EXCEEDED:
+- reason = "STATUS_PARAMETER_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HIBERNATION_FAILURE:
+- reason = "STATUS_HIBERNATION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DELAY_LOAD_FAILED:
+- reason = "STATUS_DELAY_LOAD_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUTHENTICATION_FIREWALL_FAILED:
+- reason = "STATUS_AUTHENTICATION_FIREWALL_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VDM_DISALLOWED:
+- reason = "STATUS_VDM_DISALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HUNG_DISPLAY_DRIVER_THREAD:
+- reason = "STATUS_HUNG_DISPLAY_DRIVER_THREAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE:
+- reason = "STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_CRUNTIME_PARAMETER:
+- reason = "STATUS_INVALID_CRUNTIME_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NTLM_BLOCKED:
+- reason = "STATUS_NTLM_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_SRC_SID_EXISTS_IN_FOREST:
+- reason = "STATUS_DS_SRC_SID_EXISTS_IN_FOREST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST:
+- reason = "STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST:
+- reason = "STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_USER_PRINCIPAL_NAME:
+- reason = "STATUS_INVALID_USER_PRINCIPAL_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FATAL_USER_CALLBACK_EXCEPTION:
+- reason = "STATUS_FATAL_USER_CALLBACK_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ASSERTION_FAILURE:
+- reason = "STATUS_ASSERTION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VERIFIER_STOP:
+- reason = "STATUS_VERIFIER_STOP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_POP_STACK:
+- reason = "STATUS_CALLBACK_POP_STACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_DRIVER_BLOCKED:
+- reason = "STATUS_INCOMPATIBLE_DRIVER_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HIVE_UNLOADED:
+- reason = "STATUS_HIVE_UNLOADED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMPRESSION_DISABLED:
+- reason = "STATUS_COMPRESSION_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_LIMITATION:
+- reason = "STATUS_FILE_SYSTEM_LIMITATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_HASH:
+- reason = "STATUS_INVALID_IMAGE_HASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_CAPABLE:
+- reason = "STATUS_NOT_CAPABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REQUEST_OUT_OF_SEQUENCE:
+- reason = "STATUS_REQUEST_OUT_OF_SEQUENCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMPLEMENTATION_LIMIT:
+- reason = "STATUS_IMPLEMENTATION_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ELEVATION_REQUIRED:
+- reason = "STATUS_ELEVATION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SECURITY_CONTEXT:
+- reason = "STATUS_NO_SECURITY_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PKU2U_CERT_FAILURE:
+- reason = "STATUS_PKU2U_CERT_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BEYOND_VDL:
+- reason = "STATUS_BEYOND_VDL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCOUNTERED_WRITE_IN_PROGRESS:
+- reason = "STATUS_ENCOUNTERED_WRITE_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PTE_CHANGED:
+- reason = "STATUS_PTE_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PURGE_FAILED:
+- reason = "STATUS_PURGE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRED_REQUIRES_CONFIRMATION:
+- reason = "STATUS_CRED_REQUIRES_CONFIRMATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE:
+- reason = "STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER:
+- reason = "STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE:
+- reason = "STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE:
+- reason = "STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_FILE_NOT_CSE:
+- reason = "STATUS_CS_ENCRYPTION_FILE_NOT_CSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_LABEL:
+- reason = "STATUS_INVALID_LABEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DRIVER_PROCESS_TERMINATED:
+- reason = "STATUS_DRIVER_PROCESS_TERMINATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AMBIGUOUS_SYSTEM_DEVICE:
+- reason = "STATUS_AMBIGUOUS_SYSTEM_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_DEVICE_NOT_FOUND:
+- reason = "STATUS_SYSTEM_DEVICE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESTART_BOOT_APPLICATION:
+- reason = "STATUS_RESTART_BOOT_APPLICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_NVRAM_RESOURCES:
+- reason = "STATUS_INSUFFICIENT_NVRAM_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SESSION:
+- reason = "STATUS_INVALID_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_SESSION:
+- reason = "STATUS_THREAD_ALREADY_IN_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_SESSION:
+- reason = "STATUS_THREAD_NOT_IN_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_WEIGHT:
+- reason = "STATUS_INVALID_WEIGHT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REQUEST_PAUSED:
+- reason = "STATUS_REQUEST_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_RANGES_PROCESSED:
+- reason = "STATUS_NO_RANGES_PROCESSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_RESOURCES_EXHAUSTED:
+- reason = "STATUS_DISK_RESOURCES_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NEEDS_REMEDIATION:
+- reason = "STATUS_NEEDS_REMEDIATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_FEATURE_NOT_SUPPORTED:
+- reason = "STATUS_DEVICE_FEATURE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_UNREACHABLE:
+- reason = "STATUS_DEVICE_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_TOKEN:
+- reason = "STATUS_INVALID_TOKEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SERVER_UNAVAILABLE:
+- reason = "STATUS_SERVER_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_NOT_AVAILABLE:
+- reason = "STATUS_FILE_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_INSUFFICIENT_RESOURCES:
+- reason = "STATUS_DEVICE_INSUFFICIENT_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PACKAGE_UPDATING:
+- reason = "STATUS_PACKAGE_UPDATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_READ_FROM_COPY:
+- reason = "STATUS_NOT_READ_FROM_COPY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_WRITE_FAILURE:
+- reason = "STATUS_FT_WRITE_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_DI_SCAN_REQUIRED:
+- reason = "STATUS_FT_DI_SCAN_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NOT_EXTERNALLY_BACKED:
+- reason = "STATUS_OBJECT_NOT_EXTERNALLY_BACKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN:
+- reason = "STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_BENEFICIAL:
+- reason = "STATUS_COMPRESSION_NOT_BENEFICIAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DATA_CHECKSUM_ERROR:
+- reason = "STATUS_DATA_CHECKSUM_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERMIXED_KERNEL_EA_OPERATION:
+- reason = "STATUS_INTERMIXED_KERNEL_EA_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRIM_READ_ZERO_NOT_SUPPORTED:
+- reason = "STATUS_TRIM_READ_ZERO_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TOO_MANY_SEGMENT_DESCRIPTORS:
+- reason = "STATUS_TOO_MANY_SEGMENT_DESCRIPTORS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_OFFSET_ALIGNMENT:
+- reason = "STATUS_INVALID_OFFSET_ALIGNMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_FIELD_IN_PARAMETER_LIST:
+- reason = "STATUS_INVALID_FIELD_IN_PARAMETER_LIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPERATION_IN_PROGRESS:
+- reason = "STATUS_OPERATION_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_INITIATOR_TARGET_PATH:
+- reason = "STATUS_INVALID_INITIATOR_TARGET_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SCRUB_DATA_DISABLED:
+- reason = "STATUS_SCRUB_DATA_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_REDUNDANT_STORAGE:
+- reason = "STATUS_NOT_REDUNDANT_STORAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESIDENT_FILE_NOT_SUPPORTED:
+- reason = "STATUS_RESIDENT_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMPRESSED_FILE_NOT_SUPPORTED:
+- reason = "STATUS_COMPRESSED_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_SUPPORTED:
+- reason = "STATUS_DIRECTORY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_OPERATION_TIMEOUT:
+- reason = "STATUS_IO_OPERATION_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_NEEDS_REMEDIATION:
+- reason = "STATUS_SYSTEM_NEEDS_REMEDIATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN:
+- reason = "STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SHARE_UNAVAILABLE:
+- reason = "STATUS_SHARE_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APISET_NOT_HOSTED:
+- reason = "STATUS_APISET_NOT_HOSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APISET_NOT_PRESENT:
+- reason = "STATUS_APISET_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_HARDWARE_ERROR:
+- reason = "STATUS_DEVICE_HARDWARE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FIRMWARE_SLOT_INVALID:
+- reason = "STATUS_FIRMWARE_SLOT_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FIRMWARE_IMAGE_INVALID:
+- reason = "STATUS_FIRMWARE_IMAGE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_TOPOLOGY_ID_MISMATCH:
+- reason = "STATUS_STORAGE_TOPOLOGY_ID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WIM_NOT_BOOTABLE:
+- reason = "STATUS_WIM_NOT_BOOTABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BLOCKED_BY_PARENTAL_CONTROLS:
+- reason = "STATUS_BLOCKED_BY_PARENTAL_CONTROLS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NEEDS_REGISTRATION:
+- reason = "STATUS_NEEDS_REGISTRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUOTA_ACTIVITY:
+- reason = "STATUS_QUOTA_ACTIVITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_INVOKE_INLINE:
+- reason = "STATUS_CALLBACK_INVOKE_INLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BLOCK_TOO_MANY_REFERENCES:
+- reason = "STATUS_BLOCK_TOO_MANY_REFERENCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MARKED_TO_DISALLOW_WRITES:
+- reason = "STATUS_MARKED_TO_DISALLOW_WRITES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED_EDP:
+- reason = "STATUS_NETWORK_ACCESS_DENIED_EDP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCLAVE_FAILURE:
+- reason = "STATUS_ENCLAVE_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_NO_COMPAT_DRIVERS:
+- reason = "STATUS_PNP_NO_COMPAT_DRIVERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND:
+- reason = "STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND:
+- reason = "STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE:
+- reason = "STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_FUNCTION_DRIVER_REQUIRED:
+- reason = "STATUS_PNP_FUNCTION_DRIVER_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_DEVICE_CONFIGURATION_PENDING:
+- reason = "STATUS_PNP_DEVICE_CONFIGURATION_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL:
+- reason = "STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PACKAGE_NOT_AVAILABLE:
+- reason = "STATUS_PACKAGE_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_IN_MAINTENANCE:
+- reason = "STATUS_DEVICE_IN_MAINTENANCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_DAX:
+- reason = "STATUS_NOT_SUPPORTED_ON_DAX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FREE_SPACE_TOO_FRAGMENTED:
+- reason = "STATUS_FREE_SPACE_TOO_FRAGMENTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DAX_MAPPING_EXISTS:
+- reason = "STATUS_DAX_MAPPING_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CHILD_PROCESS_BLOCKED:
+- reason = "STATUS_CHILD_PROCESS_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_LOST_DATA_PERSISTENCE:
+- reason = "STATUS_STORAGE_LOST_DATA_PERSISTENCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VRF_CFG_AND_IO_ENABLED:
+- reason = "STATUS_VRF_CFG_AND_IO_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PARTITION_TERMINATING:
+- reason = "STATUS_PARTITION_TERMINATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED:
+- reason = "STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCLAVE_VIOLATION:
+- reason = "STATUS_ENCLAVE_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_PROTECTED_UNDER_DPL:
+- reason = "STATUS_FILE_PROTECTED_UNDER_DPL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_CLUSTER_ALIGNED:
+- reason = "STATUS_VOLUME_NOT_CLUSTER_ALIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND:
+- reason = "STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPX_FILE_NOT_ENCRYPTED:
+- reason = "STATUS_APPX_FILE_NOT_ENCRYPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED:
+- reason = "STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET:
+- reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE:
+- reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER:
+- reason = "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FT_READ_FAILURE:
+- reason = "STATUS_FT_READ_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PATCH_CONFLICT:
+- reason = "STATUS_PATCH_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ID_INVALID:
+- reason = "STATUS_STORAGE_RESERVE_ID_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_DOES_NOT_EXIST:
+- reason = "STATUS_STORAGE_RESERVE_DOES_NOT_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ALREADY_EXISTS:
+- reason = "STATUS_STORAGE_RESERVE_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_NOT_EMPTY:
+- reason = "STATUS_STORAGE_RESERVE_NOT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_DAX_VOLUME:
+- reason = "STATUS_NOT_A_DAX_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_DAX_MAPPABLE:
+- reason = "STATUS_NOT_DAX_MAPPABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CASE_DIFFERING_NAMES_IN_DIR:
+- reason = "STATUS_CASE_DIFFERING_NAMES_IN_DIR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_NOT_SUPPORTED:
+- reason = "STATUS_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_WITH_BTT:
+- reason = "STATUS_NOT_SUPPORTED_WITH_BTT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCRYPTION_DISABLED:
+- reason = "STATUS_ENCRYPTION_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCRYPTING_METADATA_DISALLOWED:
+- reason = "STATUS_ENCRYPTING_METADATA_DISALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_CLEAR_ENCRYPTION_FLAG:
+- reason = "STATUS_CANT_CLEAR_ENCRYPTION_FLAG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNSATISFIED_DEPENDENCIES:
+- reason = "STATUS_UNSATISFIED_DEPENDENCIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CASE_SENSITIVE_PATH:
+- reason = "STATUS_CASE_SENSITIVE_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HAS_SYSTEM_CRITICAL_FILES:
+- reason = "STATUS_HAS_SYSTEM_CRITICAL_FILES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_TASK_NAME:
+- reason = "STATUS_INVALID_TASK_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_TASK_INDEX:
+- reason = "STATUS_INVALID_TASK_INDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_TASK:
+- reason = "STATUS_THREAD_ALREADY_IN_TASK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_BYPASS:
+- reason = "STATUS_CALLBACK_BYPASS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_UNDEFINED_SCOPE:
+- reason = "STATUS_UNDEFINED_SCOPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_CAP:
+- reason = "STATUS_INVALID_CAP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_GUI_PROCESS:
+- reason = "STATUS_NOT_GUI_PROCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_HUNG:
+- reason = "STATUS_DEVICE_HUNG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTAINER_ASSIGNED:
+- reason = "STATUS_CONTAINER_ASSIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_JOB_NO_CONTAINER:
+- reason = "STATUS_JOB_NO_CONTAINER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DEVICE_UNRESPONSIVE:
+- reason = "STATUS_DEVICE_UNRESPONSIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_ENCOUNTERED:
+- reason = "STATUS_REPARSE_POINT_ENCOUNTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ATTRIBUTE_NOT_PRESENT:
+- reason = "STATUS_ATTRIBUTE_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_TIERED_VOLUME:
+- reason = "STATUS_NOT_A_TIERED_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_HAS_STREAM_ID:
+- reason = "STATUS_ALREADY_HAS_STREAM_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_JOB_NOT_EMPTY:
+- reason = "STATUS_JOB_NOT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_INITIALIZED:
+- reason = "STATUS_ALREADY_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCLAVE_NOT_TERMINATED:
+- reason = "STATUS_ENCLAVE_NOT_TERMINATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCLAVE_IS_TERMINATING:
+- reason = "STATUS_ENCLAVE_IS_TERMINATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMB1_NOT_AVAILABLE:
+- reason = "STATUS_SMB1_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMR_GARBAGE_COLLECTION_REQUIRED:
+- reason = "STATUS_SMR_GARBAGE_COLLECTION_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INTERRUPTED:
+- reason = "STATUS_INTERRUPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREAD_NOT_RUNNING:
+- reason = "STATUS_THREAD_NOT_RUNNING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FAIL_FAST_EXCEPTION:
+- reason = "STATUS_FAIL_FAST_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_REVOKED:
+- reason = "STATUS_IMAGE_CERT_REVOKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DYNAMIC_CODE_BLOCKED:
+- reason = "STATUS_DYNAMIC_CODE_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_EXPIRED:
+- reason = "STATUS_IMAGE_CERT_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STRICT_CFG_VIOLATION:
+- reason = "STATUS_STRICT_CFG_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SET_CONTEXT_DENIED:
+- reason = "STATUS_SET_CONTEXT_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CROSS_PARTITION_VIOLATION:
+- reason = "STATUS_CROSS_PARTITION_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_CLOSED:
+- reason = "STATUS_PORT_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MESSAGE_LOST:
+- reason = "STATUS_MESSAGE_LOST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_MESSAGE:
+- reason = "STATUS_INVALID_MESSAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REQUEST_CANCELED:
+- reason = "STATUS_REQUEST_CANCELED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RECURSIVE_DISPATCH:
+- reason = "STATUS_RECURSIVE_DISPATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPC_RECEIVE_BUFFER_EXPECTED:
+- reason = "STATUS_LPC_RECEIVE_BUFFER_EXPECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPC_INVALID_CONNECTION_USAGE:
+- reason = "STATUS_LPC_INVALID_CONNECTION_USAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPC_REQUESTS_NOT_ALLOWED:
+- reason = "STATUS_LPC_REQUESTS_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_IN_USE:
+- reason = "STATUS_RESOURCE_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HARDWARE_MEMORY_ERROR:
+- reason = "STATUS_HARDWARE_MEMORY_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_HANDLE_EXCEPTION:
+- reason = "STATUS_THREADPOOL_HANDLE_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED:
+- reason = "STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED:
+- reason = "STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED:
+- reason = "STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED:
+- reason = "STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASED_DURING_OPERATION:
+- reason = "STATUS_THREADPOOL_RELEASED_DURING_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING:
+- reason = "STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APC_RETURNED_WHILE_IMPERSONATING:
+- reason = "STATUS_APC_RETURNED_WHILE_IMPERSONATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROCESS_IS_PROTECTED:
+- reason = "STATUS_PROCESS_IS_PROTECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MCA_EXCEPTION:
+- reason = "STATUS_MCA_EXCEPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE:
+- reason = "STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYMLINK_CLASS_DISABLED:
+- reason = "STATUS_SYMLINK_CLASS_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_IDN_NORMALIZATION:
+- reason = "STATUS_INVALID_IDN_NORMALIZATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_UNICODE_TRANSLATION:
+- reason = "STATUS_NO_UNICODE_TRANSLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ALREADY_REGISTERED:
+- reason = "STATUS_ALREADY_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTEXT_MISMATCH:
+- reason = "STATUS_CONTEXT_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_HAS_COMPLETION_LIST:
+- reason = "STATUS_PORT_ALREADY_HAS_COMPLETION_LIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_PRIORITY:
+- reason = "STATUS_CALLBACK_RETURNED_THREAD_PRIORITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_THREAD:
+- reason = "STATUS_INVALID_THREAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_TRANSACTION:
+- reason = "STATUS_CALLBACK_RETURNED_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LDR_LOCK:
+- reason = "STATUS_CALLBACK_RETURNED_LDR_LOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LANG:
+- reason = "STATUS_CALLBACK_RETURNED_LANG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_PRI_BACK:
+- reason = "STATUS_CALLBACK_RETURNED_PRI_BACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY:
+- reason = "STATUS_CALLBACK_RETURNED_THREAD_AFFINITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPC_HANDLE_COUNT_EXCEEDED:
+- reason = "STATUS_LPC_HANDLE_COUNT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EXECUTABLE_MEMORY_WRITE:
+- reason = "STATUS_EXECUTABLE_MEMORY_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE:
+- reason = "STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE:
+- reason = "STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE:
+- reason = "STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_DISABLED:
+- reason = "STATUS_DISK_REPAIR_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS:
+- reason = "STATUS_DS_DOMAIN_RENAME_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_QUOTA_EXCEEDED:
+- reason = "STATUS_DISK_QUOTA_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CONTENT_BLOCKED:
+- reason = "STATUS_CONTENT_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_CLUSTERS:
+- reason = "STATUS_BAD_CLUSTERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLUME_DIRTY:
+- reason = "STATUS_VOLUME_DIRTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_UNSUCCESSFUL:
+- reason = "STATUS_DISK_REPAIR_UNSUCCESSFUL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_OVERFULL:
+- reason = "STATUS_CORRUPT_LOG_OVERFULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CORRUPTED:
+- reason = "STATUS_CORRUPT_LOG_CORRUPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UNAVAILABLE:
+- reason = "STATUS_CORRUPT_LOG_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_DELETED_FULL:
+- reason = "STATUS_CORRUPT_LOG_DELETED_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CLEARED:
+- reason = "STATUS_CORRUPT_LOG_CLEARED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ORPHAN_NAME_EXHAUSTED:
+- reason = "STATUS_ORPHAN_NAME_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROACTIVE_SCAN_IN_PROGRESS:
+- reason = "STATUS_PROACTIVE_SCAN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENCRYPTED_IO_NOT_POSSIBLE:
+- reason = "STATUS_ENCRYPTED_IO_NOT_POSSIBLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UPLEVEL_RECORDS:
+- reason = "STATUS_CORRUPT_LOG_UPLEVEL_RECORDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_CHECKED_OUT:
+- reason = "STATUS_FILE_CHECKED_OUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CHECKOUT_REQUIRED:
+- reason = "STATUS_CHECKOUT_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_FILE_TYPE:
+- reason = "STATUS_BAD_FILE_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_TOO_LARGE:
+- reason = "STATUS_FILE_TOO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FORMS_AUTH_REQUIRED:
+- reason = "STATUS_FORMS_AUTH_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRUS_INFECTED:
+- reason = "STATUS_VIRUS_INFECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRUS_DELETED:
+- reason = "STATUS_VIRUS_DELETED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_MCFG_TABLE:
+- reason = "STATUS_BAD_MCFG_TABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_BREAK_OPLOCK:
+- reason = "STATUS_CANNOT_BREAK_OPLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_KEY:
+- reason = "STATUS_BAD_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BAD_DATA:
+- reason = "STATUS_BAD_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_KEY:
+- reason = "STATUS_NO_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_HANDLE_REVOKED:
+- reason = "STATUS_FILE_HANDLE_REVOKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WOW_ASSERTION:
+- reason = "STATUS_WOW_ASSERTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_SIGNATURE:
+- reason = "STATUS_INVALID_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HMAC_NOT_SUPPORTED:
+- reason = "STATUS_HMAC_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUTH_TAG_MISMATCH:
+- reason = "STATUS_AUTH_TAG_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_STATE_TRANSITION:
+- reason = "STATUS_INVALID_STATE_TRANSITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_KERNEL_INFO_VERSION:
+- reason = "STATUS_INVALID_KERNEL_INFO_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PEP_INFO_VERSION:
+- reason = "STATUS_INVALID_PEP_INFO_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HANDLE_REVOKED:
+- reason = "STATUS_HANDLE_REVOKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EOF_ON_GHOSTED_RANGE:
+- reason = "STATUS_EOF_ON_GHOSTED_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN:
+- reason = "STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_QUEUE_OVERFLOW:
+- reason = "STATUS_IPSEC_QUEUE_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ND_QUEUE_OVERFLOW:
+- reason = "STATUS_ND_QUEUE_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HOPLIMIT_EXCEEDED:
+- reason = "STATUS_HOPLIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PROTOCOL_NOT_SUPPORTED:
+- reason = "STATUS_PROTOCOL_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FASTPATH_REJECTED:
+- reason = "STATUS_FASTPATH_REJECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED:
+- reason = "STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR:
+- reason = "STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR:
+- reason = "STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_XML_PARSE_ERROR:
+- reason = "STATUS_XML_PARSE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_XMLDSIG_ERROR:
+- reason = "STATUS_XMLDSIG_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WRONG_COMPARTMENT:
+- reason = "STATUS_WRONG_COMPARTMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUTHIP_FAILURE:
+- reason = "STATUS_AUTHIP_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS:
+- reason = "STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DS_OID_NOT_FOUND:
+- reason = "STATUS_DS_OID_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INCORRECT_ACCOUNT_TYPE:
+- reason = "STATUS_INCORRECT_ACCOUNT_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HASH_NOT_SUPPORTED:
+- reason = "STATUS_HASH_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HASH_NOT_PRESENT:
+- reason = "STATUS_HASH_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED:
+- reason = "STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_CLIENT_INFORMATION_INVALID:
+- reason = "STATUS_GPIO_CLIENT_INFORMATION_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_VERSION_NOT_SUPPORTED:
+- reason = "STATUS_GPIO_VERSION_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_INVALID_REGISTRATION_PACKET:
+- reason = "STATUS_GPIO_INVALID_REGISTRATION_PACKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_OPERATION_DENIED:
+- reason = "STATUS_GPIO_OPERATION_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE:
+- reason = "STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_SWITCH_RUNLEVEL:
+- reason = "STATUS_CANNOT_SWITCH_RUNLEVEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_RUNLEVEL_SETTING:
+- reason = "STATUS_INVALID_RUNLEVEL_SETTING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_TIMEOUT:
+- reason = "STATUS_RUNLEVEL_SWITCH_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT:
+- reason = "STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_IN_PROGRESS:
+- reason = "STATUS_RUNLEVEL_SWITCH_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_APPCONTAINER:
+- reason = "STATUS_NOT_APPCONTAINER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_IN_APPCONTAINER:
+- reason = "STATUS_NOT_SUPPORTED_IN_APPCONTAINER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_PACKAGE_SID_LENGTH:
+- reason = "STATUS_INVALID_PACKAGE_SID_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LPAC_ACCESS_DENIED:
+- reason = "STATUS_LPAC_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADMINLESS_ACCESS_DENIED:
+- reason = "STATUS_ADMINLESS_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_DATA_NOT_FOUND:
+- reason = "STATUS_APP_DATA_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_DATA_EXPIRED:
+- reason = "STATUS_APP_DATA_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_DATA_CORRUPT:
+- reason = "STATUS_APP_DATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_DATA_LIMIT_EXCEEDED:
+- reason = "STATUS_APP_DATA_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APP_DATA_REBOOT_REQUIRED:
+- reason = "STATUS_APP_DATA_REBOOT_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED:
+- reason = "STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED:
+- reason = "STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED:
+- reason = "STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED:
+- reason = "STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WOF_WIM_HEADER_CORRUPT:
+- reason = "STATUS_WOF_WIM_HEADER_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT:
+- reason = "STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT:
+- reason = "STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CIMFS_IMAGE_CORRUPT:
+- reason = "STATUS_CIMFS_IMAGE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE:
+- reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT:
+- reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY:
+- reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN:
+- reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION:
+- reason = "STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT:
+- reason = "STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING:
+- reason = "STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_CORRUPT:
+- reason = "STATUS_CLOUD_FILE_METADATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_TOO_LARGE:
+- reason = "STATUS_CLOUD_FILE_METADATA_TOO_LARGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED:
+- reason = "STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_FILE:
+- reason = "STATUS_NOT_A_CLOUD_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_IN_SYNC:
+- reason = "STATUS_CLOUD_FILE_NOT_IN_SYNC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ALREADY_CONNECTED:
+- reason = "STATUS_CLOUD_FILE_ALREADY_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_SUPPORTED:
+- reason = "STATUS_CLOUD_FILE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INVALID_REQUEST:
+- reason = "STATUS_CLOUD_FILE_INVALID_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_READ_ONLY_VOLUME:
+- reason = "STATUS_CLOUD_FILE_READ_ONLY_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY:
+- reason = "STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_VALIDATION_FAILED:
+- reason = "STATUS_CLOUD_FILE_VALIDATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_AUTHENTICATION_FAILED:
+- reason = "STATUS_CLOUD_FILE_AUTHENTICATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES:
+- reason = "STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE:
+- reason = "STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_UNSUCCESSFUL:
+- reason = "STATUS_CLOUD_FILE_UNSUCCESSFUL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT:
+- reason = "STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_IN_USE:
+- reason = "STATUS_CLOUD_FILE_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PINNED:
+- reason = "STATUS_CLOUD_FILE_PINNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_ABORTED:
+- reason = "STATUS_CLOUD_FILE_REQUEST_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_CORRUPT:
+- reason = "STATUS_CLOUD_FILE_PROPERTY_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ACCESS_DENIED:
+- reason = "STATUS_CLOUD_FILE_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS:
+- reason = "STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT:
+- reason = "STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_CANCELED:
+- reason = "STATUS_CLOUD_FILE_REQUEST_CANCELED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_TERMINATED:
+- reason = "STATUS_CLOUD_FILE_PROVIDER_TERMINATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_SYNC_ROOT:
+- reason = "STATUS_NOT_A_CLOUD_SYNC_ROOT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_TIMEOUT:
+- reason = "STATUS_CLOUD_FILE_REQUEST_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED:
+- reason = "STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IN_PROGRESS:
+- reason = "STATUS_FILE_SNAP_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED:
+- reason = "STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED:
+- reason = "STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IO_NOT_COORDINATED:
+- reason = "STATUS_FILE_SNAP_IO_NOT_COORDINATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_UNEXPECTED_ERROR:
+- reason = "STATUS_FILE_SNAP_UNEXPECTED_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_SNAP_INVALID_PARAMETER:
+- reason = "STATUS_FILE_SNAP_INVALID_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_DBG_NO_STATE_CHANGE:
+- reason = "DBG_NO_STATE_CHANGE";
+- break;
+- case MD_NTSTATUS_WIN_DBG_APP_NOT_IDLE:
+- reason = "DBG_APP_NOT_IDLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_BINDING:
+- reason = "RPC_NT_INVALID_STRING_BINDING";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_WRONG_KIND_OF_BINDING:
+- reason = "RPC_NT_WRONG_KIND_OF_BINDING";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_BINDING:
+- reason = "RPC_NT_INVALID_BINDING";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_SUPPORTED:
+- reason = "RPC_NT_PROTSEQ_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_RPC_PROTSEQ:
+- reason = "RPC_NT_INVALID_RPC_PROTSEQ";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_UUID:
+- reason = "RPC_NT_INVALID_STRING_UUID";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_ENDPOINT_FORMAT:
+- reason = "RPC_NT_INVALID_ENDPOINT_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_NET_ADDR:
+- reason = "RPC_NT_INVALID_NET_ADDR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_ENDPOINT_FOUND:
+- reason = "RPC_NT_NO_ENDPOINT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_TIMEOUT:
+- reason = "RPC_NT_INVALID_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_OBJECT_NOT_FOUND:
+- reason = "RPC_NT_OBJECT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ALREADY_REGISTERED:
+- reason = "RPC_NT_ALREADY_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_TYPE_ALREADY_REGISTERED:
+- reason = "RPC_NT_TYPE_ALREADY_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ALREADY_LISTENING:
+- reason = "RPC_NT_ALREADY_LISTENING";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS_REGISTERED:
+- reason = "RPC_NT_NO_PROTSEQS_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NOT_LISTENING:
+- reason = "RPC_NT_NOT_LISTENING";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_MGR_TYPE:
+- reason = "RPC_NT_UNKNOWN_MGR_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_IF:
+- reason = "RPC_NT_UNKNOWN_IF";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_BINDINGS:
+- reason = "RPC_NT_NO_BINDINGS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS:
+- reason = "RPC_NT_NO_PROTSEQS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CANT_CREATE_ENDPOINT:
+- reason = "RPC_NT_CANT_CREATE_ENDPOINT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_OUT_OF_RESOURCES:
+- reason = "RPC_NT_OUT_OF_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SERVER_UNAVAILABLE:
+- reason = "RPC_NT_SERVER_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SERVER_TOO_BUSY:
+- reason = "RPC_NT_SERVER_TOO_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_NETWORK_OPTIONS:
+- reason = "RPC_NT_INVALID_NETWORK_OPTIONS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_CALL_ACTIVE:
+- reason = "RPC_NT_NO_CALL_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED:
+- reason = "RPC_NT_CALL_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED_DNE:
+- reason = "RPC_NT_CALL_FAILED_DNE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PROTOCOL_ERROR:
+- reason = "RPC_NT_PROTOCOL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TRANS_SYN:
+- reason = "RPC_NT_UNSUPPORTED_TRANS_SYN";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TYPE:
+- reason = "RPC_NT_UNSUPPORTED_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_TAG:
+- reason = "RPC_NT_INVALID_TAG";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_BOUND:
+- reason = "RPC_NT_INVALID_BOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_ENTRY_NAME:
+- reason = "RPC_NT_NO_ENTRY_NAME";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_NAME_SYNTAX:
+- reason = "RPC_NT_INVALID_NAME_SYNTAX";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_NAME_SYNTAX:
+- reason = "RPC_NT_UNSUPPORTED_NAME_SYNTAX";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UUID_NO_ADDRESS:
+- reason = "RPC_NT_UUID_NO_ADDRESS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_DUPLICATE_ENDPOINT:
+- reason = "RPC_NT_DUPLICATE_ENDPOINT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_TYPE:
+- reason = "RPC_NT_UNKNOWN_AUTHN_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_MAX_CALLS_TOO_SMALL:
+- reason = "RPC_NT_MAX_CALLS_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_STRING_TOO_LONG:
+- reason = "RPC_NT_STRING_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_FOUND:
+- reason = "RPC_NT_PROTSEQ_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PROCNUM_OUT_OF_RANGE:
+- reason = "RPC_NT_PROCNUM_OUT_OF_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_BINDING_HAS_NO_AUTH:
+- reason = "RPC_NT_BINDING_HAS_NO_AUTH";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_SERVICE:
+- reason = "RPC_NT_UNKNOWN_AUTHN_SERVICE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_LEVEL:
+- reason = "RPC_NT_UNKNOWN_AUTHN_LEVEL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_AUTH_IDENTITY:
+- reason = "RPC_NT_INVALID_AUTH_IDENTITY";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHZ_SERVICE:
+- reason = "RPC_NT_UNKNOWN_AUTHZ_SERVICE";
+- break;
+- case MD_NTSTATUS_WIN_EPT_NT_INVALID_ENTRY:
+- reason = "EPT_NT_INVALID_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_EPT_NT_CANT_PERFORM_OP:
+- reason = "EPT_NT_CANT_PERFORM_OP";
+- break;
+- case MD_NTSTATUS_WIN_EPT_NT_NOT_REGISTERED:
+- reason = "EPT_NT_NOT_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NOTHING_TO_EXPORT:
+- reason = "RPC_NT_NOTHING_TO_EXPORT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INCOMPLETE_NAME:
+- reason = "RPC_NT_INCOMPLETE_NAME";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_VERS_OPTION:
+- reason = "RPC_NT_INVALID_VERS_OPTION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_MORE_MEMBERS:
+- reason = "RPC_NT_NO_MORE_MEMBERS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NOT_ALL_OBJS_UNEXPORTED:
+- reason = "RPC_NT_NOT_ALL_OBJS_UNEXPORTED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INTERFACE_NOT_FOUND:
+- reason = "RPC_NT_INTERFACE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ENTRY_ALREADY_EXISTS:
+- reason = "RPC_NT_ENTRY_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ENTRY_NOT_FOUND:
+- reason = "RPC_NT_ENTRY_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NAME_SERVICE_UNAVAILABLE:
+- reason = "RPC_NT_NAME_SERVICE_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_NAF_ID:
+- reason = "RPC_NT_INVALID_NAF_ID";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CANNOT_SUPPORT:
+- reason = "RPC_NT_CANNOT_SUPPORT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_CONTEXT_AVAILABLE:
+- reason = "RPC_NT_NO_CONTEXT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INTERNAL_ERROR:
+- reason = "RPC_NT_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ZERO_DIVIDE:
+- reason = "RPC_NT_ZERO_DIVIDE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ADDRESS_ERROR:
+- reason = "RPC_NT_ADDRESS_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_FP_DIV_ZERO:
+- reason = "RPC_NT_FP_DIV_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_FP_UNDERFLOW:
+- reason = "RPC_NT_FP_UNDERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_FP_OVERFLOW:
+- reason = "RPC_NT_FP_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CALL_IN_PROGRESS:
+- reason = "RPC_NT_CALL_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_MORE_BINDINGS:
+- reason = "RPC_NT_NO_MORE_BINDINGS";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_GROUP_MEMBER_NOT_FOUND:
+- reason = "RPC_NT_GROUP_MEMBER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_EPT_NT_CANT_CREATE:
+- reason = "EPT_NT_CANT_CREATE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_OBJECT:
+- reason = "RPC_NT_INVALID_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_INTERFACES:
+- reason = "RPC_NT_NO_INTERFACES";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_CALL_CANCELLED:
+- reason = "RPC_NT_CALL_CANCELLED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_BINDING_INCOMPLETE:
+- reason = "RPC_NT_BINDING_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_COMM_FAILURE:
+- reason = "RPC_NT_COMM_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_AUTHN_LEVEL:
+- reason = "RPC_NT_UNSUPPORTED_AUTHN_LEVEL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_PRINC_NAME:
+- reason = "RPC_NT_NO_PRINC_NAME";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NOT_RPC_ERROR:
+- reason = "RPC_NT_NOT_RPC_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SEC_PKG_ERROR:
+- reason = "RPC_NT_SEC_PKG_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NOT_CANCELLED:
+- reason = "RPC_NT_NOT_CANCELLED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_HANDLE:
+- reason = "RPC_NT_INVALID_ASYNC_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_CALL:
+- reason = "RPC_NT_INVALID_ASYNC_CALL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PROXY_ACCESS_DENIED:
+- reason = "RPC_NT_PROXY_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_COOKIE_AUTH_FAILED:
+- reason = "RPC_NT_COOKIE_AUTH_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NO_MORE_ENTRIES:
+- reason = "RPC_NT_NO_MORE_ENTRIES";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_OPEN_FAIL:
+- reason = "RPC_NT_SS_CHAR_TRANS_OPEN_FAIL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_SHORT_FILE:
+- reason = "RPC_NT_SS_CHAR_TRANS_SHORT_FILE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_IN_NULL_CONTEXT:
+- reason = "RPC_NT_SS_IN_NULL_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_MISMATCH:
+- reason = "RPC_NT_SS_CONTEXT_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_DAMAGED:
+- reason = "RPC_NT_SS_CONTEXT_DAMAGED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_HANDLES_MISMATCH:
+- reason = "RPC_NT_SS_HANDLES_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_SS_CANNOT_GET_CALL_HANDLE:
+- reason = "RPC_NT_SS_CANNOT_GET_CALL_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_NULL_REF_POINTER:
+- reason = "RPC_NT_NULL_REF_POINTER";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_ENUM_VALUE_OUT_OF_RANGE:
+- reason = "RPC_NT_ENUM_VALUE_OUT_OF_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_BYTE_COUNT_TOO_SMALL:
+- reason = "RPC_NT_BYTE_COUNT_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_BAD_STUB_DATA:
+- reason = "RPC_NT_BAD_STUB_DATA";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_ES_ACTION:
+- reason = "RPC_NT_INVALID_ES_ACTION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_WRONG_ES_VERSION:
+- reason = "RPC_NT_WRONG_ES_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_WRONG_STUB_VERSION:
+- reason = "RPC_NT_WRONG_STUB_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OBJECT:
+- reason = "RPC_NT_INVALID_PIPE_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OPERATION:
+- reason = "RPC_NT_INVALID_PIPE_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_WRONG_PIPE_VERSION:
+- reason = "RPC_NT_WRONG_PIPE_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PIPE_CLOSED:
+- reason = "RPC_NT_PIPE_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PIPE_DISCIPLINE_ERROR:
+- reason = "RPC_NT_PIPE_DISCIPLINE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_RPC_NT_PIPE_EMPTY:
+- reason = "RPC_NT_PIPE_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_BAD_MPS_TABLE:
+- reason = "STATUS_PNP_BAD_MPS_TABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_TRANSLATION_FAILED:
+- reason = "STATUS_PNP_TRANSLATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_IRQ_TRANSLATION_FAILED:
+- reason = "STATUS_PNP_IRQ_TRANSLATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PNP_INVALID_ID:
+- reason = "STATUS_PNP_INVALID_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_REISSUE_AS_CACHED:
+- reason = "STATUS_IO_REISSUE_AS_CACHED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_INVALID:
+- reason = "STATUS_CTX_WINSTATION_NAME_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_INVALID_PD:
+- reason = "STATUS_CTX_INVALID_PD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_PD_NOT_FOUND:
+- reason = "STATUS_CTX_PD_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CLOSE_PENDING:
+- reason = "STATUS_CTX_CLOSE_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_NO_OUTBUF:
+- reason = "STATUS_CTX_NO_OUTBUF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_INF_NOT_FOUND:
+- reason = "STATUS_CTX_MODEM_INF_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_INVALID_MODEMNAME:
+- reason = "STATUS_CTX_INVALID_MODEMNAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_RESPONSE_ERROR:
+- reason = "STATUS_CTX_RESPONSE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_TIMEOUT:
+- reason = "STATUS_CTX_MODEM_RESPONSE_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_CARRIER:
+- reason = "STATUS_CTX_MODEM_RESPONSE_NO_CARRIER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE:
+- reason = "STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_BUSY:
+- reason = "STATUS_CTX_MODEM_RESPONSE_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_VOICE:
+- reason = "STATUS_CTX_MODEM_RESPONSE_VOICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_TD_ERROR:
+- reason = "STATUS_CTX_TD_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_CLIENT_INVALID:
+- reason = "STATUS_CTX_LICENSE_CLIENT_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_NOT_AVAILABLE:
+- reason = "STATUS_CTX_LICENSE_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_EXPIRED:
+- reason = "STATUS_CTX_LICENSE_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NOT_FOUND:
+- reason = "STATUS_CTX_WINSTATION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_COLLISION:
+- reason = "STATUS_CTX_WINSTATION_NAME_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_BUSY:
+- reason = "STATUS_CTX_WINSTATION_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_BAD_VIDEO_MODE:
+- reason = "STATUS_CTX_BAD_VIDEO_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_GRAPHICS_INVALID:
+- reason = "STATUS_CTX_GRAPHICS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_NOT_CONSOLE:
+- reason = "STATUS_CTX_NOT_CONSOLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_QUERY_TIMEOUT:
+- reason = "STATUS_CTX_CLIENT_QUERY_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_DISCONNECT:
+- reason = "STATUS_CTX_CONSOLE_DISCONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_CONNECT:
+- reason = "STATUS_CTX_CONSOLE_CONNECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DENIED:
+- reason = "STATUS_CTX_SHADOW_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_ACCESS_DENIED:
+- reason = "STATUS_CTX_WINSTATION_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_INVALID_WD:
+- reason = "STATUS_CTX_INVALID_WD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_WD_NOT_FOUND:
+- reason = "STATUS_CTX_WD_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_INVALID:
+- reason = "STATUS_CTX_SHADOW_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DISABLED:
+- reason = "STATUS_CTX_SHADOW_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RDP_PROTOCOL_ERROR:
+- reason = "STATUS_RDP_PROTOCOL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_NOT_SET:
+- reason = "STATUS_CTX_CLIENT_LICENSE_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_IN_USE:
+- reason = "STATUS_CTX_CLIENT_LICENSE_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE:
+- reason = "STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_NOT_RUNNING:
+- reason = "STATUS_CTX_SHADOW_NOT_RUNNING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_LOGON_DISABLED:
+- reason = "STATUS_CTX_LOGON_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTX_SECURITY_LAYER_ERROR:
+- reason = "STATUS_CTX_SECURITY_LAYER_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TS_INCOMPATIBLE_SESSIONS:
+- reason = "STATUS_TS_INCOMPATIBLE_SESSIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TS_VIDEO_SUBSYSTEM_ERROR:
+- reason = "STATUS_TS_VIDEO_SUBSYSTEM_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_FOUND:
+- reason = "STATUS_MUI_FILE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_INVALID_FILE:
+- reason = "STATUS_MUI_INVALID_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_INVALID_RC_CONFIG:
+- reason = "STATUS_MUI_INVALID_RC_CONFIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_INVALID_LOCALE_NAME:
+- reason = "STATUS_MUI_INVALID_LOCALE_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME:
+- reason = "STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_LOADED:
+- reason = "STATUS_MUI_FILE_NOT_LOADED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCE_ENUM_USER_STOP:
+- reason = "STATUS_RESOURCE_ENUM_USER_STOP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NODE:
+- reason = "STATUS_CLUSTER_INVALID_NODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_EXISTS:
+- reason = "STATUS_CLUSTER_NODE_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_IN_PROGRESS:
+- reason = "STATUS_CLUSTER_JOIN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_FOUND:
+- reason = "STATUS_CLUSTER_NODE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND:
+- reason = "STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_EXISTS:
+- reason = "STATUS_CLUSTER_NETWORK_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_FOUND:
+- reason = "STATUS_CLUSTER_NETWORK_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_EXISTS:
+- reason = "STATUS_CLUSTER_NETINTERFACE_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_NOT_FOUND:
+- reason = "STATUS_CLUSTER_NETINTERFACE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_REQUEST:
+- reason = "STATUS_CLUSTER_INVALID_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK_PROVIDER:
+- reason = "STATUS_CLUSTER_INVALID_NETWORK_PROVIDER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_DOWN:
+- reason = "STATUS_CLUSTER_NODE_DOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UNREACHABLE:
+- reason = "STATUS_CLUSTER_NODE_UNREACHABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_MEMBER:
+- reason = "STATUS_CLUSTER_NODE_NOT_MEMBER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS:
+- reason = "STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK:
+- reason = "STATUS_CLUSTER_INVALID_NETWORK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_NET_ADAPTERS:
+- reason = "STATUS_CLUSTER_NO_NET_ADAPTERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UP:
+- reason = "STATUS_CLUSTER_NODE_UP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_PAUSED:
+- reason = "STATUS_CLUSTER_NODE_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_PAUSED:
+- reason = "STATUS_CLUSTER_NODE_NOT_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_SECURITY_CONTEXT:
+- reason = "STATUS_CLUSTER_NO_SECURITY_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_INTERNAL:
+- reason = "STATUS_CLUSTER_NETWORK_NOT_INTERNAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_POISONED:
+- reason = "STATUS_CLUSTER_POISONED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_NON_CSV_PATH:
+- reason = "STATUS_CLUSTER_NON_CSV_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL:
+- reason = "STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS:
+- reason = "STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR:
+- reason = "STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_REDIRECTED:
+- reason = "STATUS_CLUSTER_CSV_REDIRECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NOT_REDIRECTED:
+- reason = "STATUS_CLUSTER_CSV_NOT_REDIRECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING:
+- reason = "STATUS_CLUSTER_CSV_VOLUME_DRAINING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS:
+- reason = "STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL:
+- reason = "STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NO_SNAPSHOTS:
+- reason = "STATUS_CLUSTER_CSV_NO_SNAPSHOTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CSV_IO_PAUSE_TIMEOUT:
+- reason = "STATUS_CSV_IO_PAUSE_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_INVALID_HANDLE:
+- reason = "STATUS_CLUSTER_CSV_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR:
+- reason = "STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED:
+- reason = "STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OPCODE:
+- reason = "STATUS_ACPI_INVALID_OPCODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_STACK_OVERFLOW:
+- reason = "STATUS_ACPI_STACK_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_ASSERT_FAILED:
+- reason = "STATUS_ACPI_ASSERT_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_INDEX:
+- reason = "STATUS_ACPI_INVALID_INDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGUMENT:
+- reason = "STATUS_ACPI_INVALID_ARGUMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_FATAL:
+- reason = "STATUS_ACPI_FATAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_SUPERNAME:
+- reason = "STATUS_ACPI_INVALID_SUPERNAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGTYPE:
+- reason = "STATUS_ACPI_INVALID_ARGTYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OBJTYPE:
+- reason = "STATUS_ACPI_INVALID_OBJTYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TARGETTYPE:
+- reason = "STATUS_ACPI_INVALID_TARGETTYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INCORRECT_ARGUMENT_COUNT:
+- reason = "STATUS_ACPI_INCORRECT_ARGUMENT_COUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_ADDRESS_NOT_MAPPED:
+- reason = "STATUS_ACPI_ADDRESS_NOT_MAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_EVENTTYPE:
+- reason = "STATUS_ACPI_INVALID_EVENTTYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_HANDLER_COLLISION:
+- reason = "STATUS_ACPI_HANDLER_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_DATA:
+- reason = "STATUS_ACPI_INVALID_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_REGION:
+- reason = "STATUS_ACPI_INVALID_REGION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ACCESS_SIZE:
+- reason = "STATUS_ACPI_INVALID_ACCESS_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_ACQUIRE_GLOBAL_LOCK:
+- reason = "STATUS_ACPI_ACQUIRE_GLOBAL_LOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_ALREADY_INITIALIZED:
+- reason = "STATUS_ACPI_ALREADY_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_NOT_INITIALIZED:
+- reason = "STATUS_ACPI_NOT_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_MUTEX_LEVEL:
+- reason = "STATUS_ACPI_INVALID_MUTEX_LEVEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNED:
+- reason = "STATUS_ACPI_MUTEX_NOT_OWNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNER:
+- reason = "STATUS_ACPI_MUTEX_NOT_OWNER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_RS_ACCESS:
+- reason = "STATUS_ACPI_RS_ACCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TABLE:
+- reason = "STATUS_ACPI_INVALID_TABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_REG_HANDLER_FAILED:
+- reason = "STATUS_ACPI_REG_HANDLER_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ACPI_POWER_REQUEST_FAILED:
+- reason = "STATUS_ACPI_POWER_REQUEST_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_SECTION_NOT_FOUND:
+- reason = "STATUS_SXS_SECTION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_CANT_GEN_ACTCTX:
+- reason = "STATUS_SXS_CANT_GEN_ACTCTX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_INVALID_ACTCTXDATA_FORMAT:
+- reason = "STATUS_SXS_INVALID_ACTCTXDATA_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_NOT_FOUND:
+- reason = "STATUS_SXS_ASSEMBLY_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_FORMAT_ERROR:
+- reason = "STATUS_SXS_MANIFEST_FORMAT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_PARSE_ERROR:
+- reason = "STATUS_SXS_MANIFEST_PARSE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_ACTIVATION_CONTEXT_DISABLED:
+- reason = "STATUS_SXS_ACTIVATION_CONTEXT_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_KEY_NOT_FOUND:
+- reason = "STATUS_SXS_KEY_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_VERSION_CONFLICT:
+- reason = "STATUS_SXS_VERSION_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_WRONG_SECTION_TYPE:
+- reason = "STATUS_SXS_WRONG_SECTION_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_THREAD_QUERIES_DISABLED:
+- reason = "STATUS_SXS_THREAD_QUERIES_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_MISSING:
+- reason = "STATUS_SXS_ASSEMBLY_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET:
+- reason = "STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_EARLY_DEACTIVATION:
+- reason = "STATUS_SXS_EARLY_DEACTIVATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_INVALID_DEACTIVATION:
+- reason = "STATUS_SXS_INVALID_DEACTIVATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_MULTIPLE_DEACTIVATION:
+- reason = "STATUS_SXS_MULTIPLE_DEACTIVATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY:
+- reason = "STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_TERMINATION_REQUESTED:
+- reason = "STATUS_SXS_PROCESS_TERMINATION_REQUESTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_CORRUPT_ACTIVATION_STACK:
+- reason = "STATUS_SXS_CORRUPT_ACTIVATION_STACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_CORRUPTION:
+- reason = "STATUS_SXS_CORRUPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE:
+- reason = "STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME:
+- reason = "STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE:
+- reason = "STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_PARSE_ERROR:
+- reason = "STATUS_SXS_IDENTITY_PARSE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_COMPONENT_STORE_CORRUPT:
+- reason = "STATUS_SXS_COMPONENT_STORE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISMATCH:
+- reason = "STATUS_SXS_FILE_HASH_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT:
+- reason = "STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_IDENTITIES_DIFFERENT:
+- reason = "STATUS_SXS_IDENTITIES_DIFFERENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT:
+- reason = "STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY:
+- reason = "STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ADVANCED_INSTALLER_FAILED:
+- reason = "STATUS_ADVANCED_INSTALLER_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_XML_ENCODING_MISMATCH:
+- reason = "STATUS_XML_ENCODING_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_TOO_BIG:
+- reason = "STATUS_SXS_MANIFEST_TOO_BIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_SETTING_NOT_REGISTERED:
+- reason = "STATUS_SXS_SETTING_NOT_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE:
+- reason = "STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMI_PRIMITIVE_INSTALLER_FAILED:
+- reason = "STATUS_SMI_PRIMITIVE_INSTALLER_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GENERIC_COMMAND_FAILED:
+- reason = "STATUS_GENERIC_COMMAND_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISSING:
+- reason = "STATUS_SXS_FILE_HASH_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_CONFLICT:
+- reason = "STATUS_TRANSACTIONAL_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INVALID_TRANSACTION:
+- reason = "STATUS_INVALID_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ACTIVE:
+- reason = "STATUS_TRANSACTION_NOT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TM_INITIALIZATION_FAILED:
+- reason = "STATUS_TM_INITIALIZATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RM_NOT_ACTIVE:
+- reason = "STATUS_RM_NOT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RM_METADATA_CORRUPT:
+- reason = "STATUS_RM_METADATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_JOINED:
+- reason = "STATUS_TRANSACTION_NOT_JOINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_RM:
+- reason = "STATUS_DIRECTORY_NOT_RM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE:
+- reason = "STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_RESIZE_INVALID_SIZE:
+- reason = "STATUS_LOG_RESIZE_INVALID_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_REMOTE_FILE_VERSION_MISMATCH:
+- reason = "STATUS_REMOTE_FILE_VERSION_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_ALREADY_EXISTS:
+- reason = "STATUS_CRM_PROTOCOL_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_PROPAGATION_FAILED:
+- reason = "STATUS_TRANSACTION_PROPAGATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_NOT_FOUND:
+- reason = "STATUS_CRM_PROTOCOL_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_SUPERIOR_EXISTS:
+- reason = "STATUS_TRANSACTION_SUPERIOR_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUEST_NOT_VALID:
+- reason = "STATUS_TRANSACTION_REQUEST_NOT_VALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_REQUESTED:
+- reason = "STATUS_TRANSACTION_NOT_REQUESTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_ABORTED:
+- reason = "STATUS_TRANSACTION_ALREADY_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_COMMITTED:
+- reason = "STATUS_TRANSACTION_ALREADY_COMMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER:
+- reason = "STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CURRENT_TRANSACTION_NOT_VALID:
+- reason = "STATUS_CURRENT_TRANSACTION_NOT_VALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_GROWTH_FAILED:
+- reason = "STATUS_LOG_GROWTH_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OBJECT_NO_LONGER_EXISTS:
+- reason = "STATUS_OBJECT_NO_LONGER_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_FOUND:
+- reason = "STATUS_STREAM_MINIVERSION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_VALID:
+- reason = "STATUS_STREAM_MINIVERSION_NOT_VALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION:
+- reason = "STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT:
+- reason = "STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS:
+- reason = "STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HANDLE_NO_LONGER_VALID:
+- reason = "STATUS_HANDLE_NO_LONGER_VALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CORRUPTION_DETECTED:
+- reason = "STATUS_LOG_CORRUPTION_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RM_DISCONNECTED:
+- reason = "STATUS_RM_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_SUPERIOR:
+- reason = "STATUS_ENLISTMENT_NOT_SUPERIOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FILE_IDENTITY_NOT_PERSISTENT:
+- reason = "STATUS_FILE_IDENTITY_NOT_PERSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY:
+- reason = "STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANT_CROSS_RM_BOUNDARY:
+- reason = "STATUS_CANT_CROSS_RM_BOUNDARY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TXF_DIR_NOT_EMPTY:
+- reason = "STATUS_TXF_DIR_NOT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_INDOUBT_TRANSACTIONS_EXIST:
+- reason = "STATUS_INDOUBT_TRANSACTIONS_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TM_VOLATILE:
+- reason = "STATUS_TM_VOLATILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ROLLBACK_TIMER_EXPIRED:
+- reason = "STATUS_ROLLBACK_TIMER_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TXF_ATTRIBUTE_CORRUPT:
+- reason = "STATUS_TXF_ATTRIBUTE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION:
+- reason = "STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED:
+- reason = "STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE:
+- reason = "STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUIRED_PROMOTION:
+- reason = "STATUS_TRANSACTION_REQUIRED_PROMOTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION:
+- reason = "STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_NOT_FROZEN:
+- reason = "STATUS_TRANSACTIONS_NOT_FROZEN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_FREEZE_IN_PROGRESS:
+- reason = "STATUS_TRANSACTION_FREEZE_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NOT_SNAPSHOT_VOLUME:
+- reason = "STATUS_NOT_SNAPSHOT_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_SAVEPOINT_WITH_OPEN_FILES:
+- reason = "STATUS_NO_SAVEPOINT_WITH_OPEN_FILES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION:
+- reason = "STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TM_IDENTITY_MISMATCH:
+- reason = "STATUS_TM_IDENTITY_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLOATED_SECTION:
+- reason = "STATUS_FLOATED_SECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_ACCEPT_TRANSACTED_WORK:
+- reason = "STATUS_CANNOT_ACCEPT_TRANSACTED_WORK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CANNOT_ABORT_TRANSACTIONS:
+- reason = "STATUS_CANNOT_ABORT_TRANSACTIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_FOUND:
+- reason = "STATUS_TRANSACTION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_NOT_FOUND:
+- reason = "STATUS_RESOURCEMANAGER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_FOUND:
+- reason = "STATUS_ENLISTMENT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_FOUND:
+- reason = "STATUS_TRANSACTIONMANAGER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_ONLINE:
+- reason = "STATUS_TRANSACTIONMANAGER_NOT_ONLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION:
+- reason = "STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ROOT:
+- reason = "STATUS_TRANSACTION_NOT_ROOT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_OBJECT_EXPIRED:
+- reason = "STATUS_TRANSACTION_OBJECT_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION:
+- reason = "STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED:
+- reason = "STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_RECORD_TOO_LONG:
+- reason = "STATUS_TRANSACTION_RECORD_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_LINK_TRACKING_IN_TRANSACTION:
+- reason = "STATUS_NO_LINK_TRACKING_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION:
+- reason = "STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_INTEGRITY_VIOLATED:
+- reason = "STATUS_TRANSACTION_INTEGRITY_VIOLATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH:
+- reason = "STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT:
+- reason = "STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_MUST_WRITETHROUGH:
+- reason = "STATUS_TRANSACTION_MUST_WRITETHROUGH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_SUPERIOR:
+- reason = "STATUS_TRANSACTION_NO_SUPERIOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_EXPIRED_HANDLE:
+- reason = "STATUS_EXPIRED_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ENLISTED:
+- reason = "STATUS_TRANSACTION_NOT_ENLISTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_INVALID:
+- reason = "STATUS_LOG_SECTOR_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_PARITY_INVALID:
+- reason = "STATUS_LOG_SECTOR_PARITY_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_REMAPPED:
+- reason = "STATUS_LOG_SECTOR_REMAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INCOMPLETE:
+- reason = "STATUS_LOG_BLOCK_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_INVALID_RANGE:
+- reason = "STATUS_LOG_INVALID_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_BLOCKS_EXHAUSTED:
+- reason = "STATUS_LOG_BLOCKS_EXHAUSTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_READ_CONTEXT_INVALID:
+- reason = "STATUS_LOG_READ_CONTEXT_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_RESTART_INVALID:
+- reason = "STATUS_LOG_RESTART_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_VERSION:
+- reason = "STATUS_LOG_BLOCK_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INVALID:
+- reason = "STATUS_LOG_BLOCK_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_READ_MODE_INVALID:
+- reason = "STATUS_LOG_READ_MODE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_METADATA_CORRUPT:
+- reason = "STATUS_LOG_METADATA_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INVALID:
+- reason = "STATUS_LOG_METADATA_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INCONSISTENT:
+- reason = "STATUS_LOG_METADATA_INCONSISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_RESERVATION_INVALID:
+- reason = "STATUS_LOG_RESERVATION_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CANT_DELETE:
+- reason = "STATUS_LOG_CANT_DELETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_LIMIT_EXCEEDED:
+- reason = "STATUS_LOG_CONTAINER_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_START_OF_LOG:
+- reason = "STATUS_LOG_START_OF_LOG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_POLICY_ALREADY_INSTALLED:
+- reason = "STATUS_LOG_POLICY_ALREADY_INSTALLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_POLICY_NOT_INSTALLED:
+- reason = "STATUS_LOG_POLICY_NOT_INSTALLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_POLICY_INVALID:
+- reason = "STATUS_LOG_POLICY_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_POLICY_CONFLICT:
+- reason = "STATUS_LOG_POLICY_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_PINNED_ARCHIVE_TAIL:
+- reason = "STATUS_LOG_PINNED_ARCHIVE_TAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_RECORD_NONEXISTENT:
+- reason = "STATUS_LOG_RECORD_NONEXISTENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_RECORDS_RESERVED_INVALID:
+- reason = "STATUS_LOG_RECORDS_RESERVED_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_SPACE_RESERVED_INVALID:
+- reason = "STATUS_LOG_SPACE_RESERVED_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_TAIL_INVALID:
+- reason = "STATUS_LOG_TAIL_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_FULL:
+- reason = "STATUS_LOG_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_MULTIPLEXED:
+- reason = "STATUS_LOG_MULTIPLEXED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_DEDICATED:
+- reason = "STATUS_LOG_DEDICATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS:
+- reason = "STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_IN_PROGRESS:
+- reason = "STATUS_LOG_ARCHIVE_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_EPHEMERAL:
+- reason = "STATUS_LOG_EPHEMERAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_NOT_ENOUGH_CONTAINERS:
+- reason = "STATUS_LOG_NOT_ENOUGH_CONTAINERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_ALREADY_REGISTERED:
+- reason = "STATUS_LOG_CLIENT_ALREADY_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_NOT_REGISTERED:
+- reason = "STATUS_LOG_CLIENT_NOT_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_FULL_HANDLER_IN_PROGRESS:
+- reason = "STATUS_LOG_FULL_HANDLER_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_READ_FAILED:
+- reason = "STATUS_LOG_CONTAINER_READ_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_WRITE_FAILED:
+- reason = "STATUS_LOG_CONTAINER_WRITE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_OPEN_FAILED:
+- reason = "STATUS_LOG_CONTAINER_OPEN_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_STATE_INVALID:
+- reason = "STATUS_LOG_CONTAINER_STATE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_STATE_INVALID:
+- reason = "STATUS_LOG_STATE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_PINNED:
+- reason = "STATUS_LOG_PINNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_METADATA_FLUSH_FAILED:
+- reason = "STATUS_LOG_METADATA_FLUSH_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_INCONSISTENT_SECURITY:
+- reason = "STATUS_LOG_INCONSISTENT_SECURITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_APPENDED_FLUSH_FAILED:
+- reason = "STATUS_LOG_APPENDED_FLUSH_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_LOG_PINNED_RESERVATION:
+- reason = "STATUS_LOG_PINNED_RESERVATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD:
+- reason = "STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NO_HANDLER_DEFINED:
+- reason = "STATUS_FLT_NO_HANDLER_DEFINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_DEFINED:
+- reason = "STATUS_FLT_CONTEXT_ALREADY_DEFINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST:
+- reason = "STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_DISALLOW_FAST_IO:
+- reason = "STATUS_FLT_DISALLOW_FAST_IO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INVALID_NAME_REQUEST:
+- reason = "STATUS_FLT_INVALID_NAME_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NOT_SAFE_TO_POST_OPERATION:
+- reason = "STATUS_FLT_NOT_SAFE_TO_POST_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NOT_INITIALIZED:
+- reason = "STATUS_FLT_NOT_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_READY:
+- reason = "STATUS_FLT_FILTER_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_POST_OPERATION_CLEANUP:
+- reason = "STATUS_FLT_POST_OPERATION_CLEANUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INTERNAL_ERROR:
+- reason = "STATUS_FLT_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_DELETING_OBJECT:
+- reason = "STATUS_FLT_DELETING_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_MUST_BE_NONPAGED_POOL:
+- reason = "STATUS_FLT_MUST_BE_NONPAGED_POOL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_DUPLICATE_ENTRY:
+- reason = "STATUS_FLT_DUPLICATE_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_CBDQ_DISABLED:
+- reason = "STATUS_FLT_CBDQ_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_ATTACH:
+- reason = "STATUS_FLT_DO_NOT_ATTACH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_DETACH:
+- reason = "STATUS_FLT_DO_NOT_DETACH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_ALTITUDE_COLLISION:
+- reason = "STATUS_FLT_INSTANCE_ALTITUDE_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NAME_COLLISION:
+- reason = "STATUS_FLT_INSTANCE_NAME_COLLISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_FOUND:
+- reason = "STATUS_FLT_FILTER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_NOT_FOUND:
+- reason = "STATUS_FLT_VOLUME_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NOT_FOUND:
+- reason = "STATUS_FLT_INSTANCE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND:
+- reason = "STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_INVALID_CONTEXT_REGISTRATION:
+- reason = "STATUS_FLT_INVALID_CONTEXT_REGISTRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NAME_CACHE_MISS:
+- reason = "STATUS_FLT_NAME_CACHE_MISS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NO_DEVICE_OBJECT:
+- reason = "STATUS_FLT_NO_DEVICE_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_ALREADY_MOUNTED:
+- reason = "STATUS_FLT_VOLUME_ALREADY_MOUNTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_ALREADY_ENLISTED:
+- reason = "STATUS_FLT_ALREADY_ENLISTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_LINKED:
+- reason = "STATUS_FLT_CONTEXT_ALREADY_LINKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_NO_WAITER_FOR_REPLY:
+- reason = "STATUS_FLT_NO_WAITER_FOR_REPLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FLT_REGISTRATION_BUSY:
+- reason = "STATUS_FLT_REGISTRATION_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_NO_DESCRIPTOR:
+- reason = "STATUS_MONITOR_NO_DESCRIPTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT:
+- reason = "STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM:
+- reason = "STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK:
+- reason = "STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED:
+- reason = "STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK:
+- reason = "STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK:
+- reason = "STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA:
+- reason = "STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK:
+- reason = "STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_MANUFACTURE_DATE:
+- reason = "STATUS_MONITOR_INVALID_MANUFACTURE_DATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER:
+- reason = "STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER:
+- reason = "STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER:
+- reason = "STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_WAS_RESET:
+- reason = "STATUS_GRAPHICS_ADAPTER_WAS_RESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DRIVER_MODEL:
+- reason = "STATUS_GRAPHICS_INVALID_DRIVER_MODEL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_MODE_CHANGED:
+- reason = "STATUS_GRAPHICS_PRESENT_MODE_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_OCCLUDED:
+- reason = "STATUS_GRAPHICS_PRESENT_OCCLUDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_DENIED:
+- reason = "STATUS_GRAPHICS_PRESENT_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANNOTCOLORCONVERT:
+- reason = "STATUS_GRAPHICS_CANNOTCOLORCONVERT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DRIVER_MISMATCH:
+- reason = "STATUS_GRAPHICS_DRIVER_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED:
+- reason = "STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_UNOCCLUDED:
+- reason = "STATUS_GRAPHICS_PRESENT_UNOCCLUDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE:
+- reason = "STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED:
+- reason = "STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_INVALID_WINDOW:
+- reason = "STATUS_GRAPHICS_PRESENT_INVALID_WINDOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND:
+- reason = "STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VAIL_STATE_CHANGED:
+- reason = "STATUS_GRAPHICS_VAIL_STATE_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN:
+- reason = "STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED:
+- reason = "STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDEO_MEMORY:
+- reason = "STATUS_GRAPHICS_NO_VIDEO_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_LOCK_MEMORY:
+- reason = "STATUS_GRAPHICS_CANT_LOCK_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_BUSY:
+- reason = "STATUS_GRAPHICS_ALLOCATION_BUSY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOO_MANY_REFERENCES:
+- reason = "STATUS_GRAPHICS_TOO_MANY_REFERENCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_LATER:
+- reason = "STATUS_GRAPHICS_TRY_AGAIN_LATER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_NOW:
+- reason = "STATUS_GRAPHICS_TRY_AGAIN_NOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_INVALID:
+- reason = "STATUS_GRAPHICS_ALLOCATION_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE:
+- reason = "STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED:
+- reason = "STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION:
+- reason = "STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE:
+- reason = "STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION:
+- reason = "STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CLOSED:
+- reason = "STATUS_GRAPHICS_ALLOCATION_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE:
+- reason = "STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE:
+- reason = "STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE:
+- reason = "STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST:
+- reason = "STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE:
+- reason = "STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_FREQUENCY:
+- reason = "STATUS_GRAPHICS_INVALID_FREQUENCY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ACTIVE_REGION:
+- reason = "STATUS_GRAPHICS_INVALID_ACTIVE_REGION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_TOTAL_REGION:
+- reason = "STATUS_GRAPHICS_INVALID_TOTAL_REGION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET:
+- reason = "STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET:
+- reason = "STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET:
+- reason = "STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET:
+- reason = "STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ALREADY_IN_SET:
+- reason = "STATUS_GRAPHICS_TARGET_ALREADY_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET:
+- reason = "STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET:
+- reason = "STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_MODESET:
+- reason = "STATUS_GRAPHICS_STALE_MODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN:
+- reason = "STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE:
+- reason = "STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION:
+- reason = "STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES:
+- reason = "STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE:
+- reason = "STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET:
+- reason = "STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET:
+- reason = "STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR:
+- reason = "STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET:
+- reason = "STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET:
+- reason = "STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE:
+- reason = "STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_RESOURCES_NOT_RELATED:
+- reason = "STATUS_GRAPHICS_RESOURCES_NOT_RELATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE:
+- reason = "STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE:
+- reason = "STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET:
+- reason = "STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER:
+- reason = "STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDPNMGR:
+- reason = "STATUS_GRAPHICS_NO_VIDPNMGR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_ACTIVE_VIDPN:
+- reason = "STATUS_GRAPHICS_NO_ACTIVE_VIDPN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NOT_CONNECTED:
+- reason = "STATUS_GRAPHICS_MONITOR_NOT_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE:
+- reason = "STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE:
+- reason = "STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_STRIDE:
+- reason = "STATUS_GRAPHICS_INVALID_STRIDE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELFORMAT:
+- reason = "STATUS_GRAPHICS_INVALID_PIXELFORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COLORBASIS:
+- reason = "STATUS_GRAPHICS_INVALID_COLORBASIS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE:
+- reason = "STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY:
+- reason = "STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT:
+- reason = "STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE:
+- reason = "STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN:
+- reason = "STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL:
+- reason = "STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION:
+- reason = "STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_GAMMA_RAMP:
+- reason = "STATUS_GRAPHICS_INVALID_GAMMA_RAMP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_IN_MODESET:
+- reason = "STATUS_GRAPHICS_MODE_NOT_IN_MODESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON:
+- reason = "STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE:
+- reason = "STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE:
+- reason = "STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS:
+- reason = "STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING:
+- reason = "STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED:
+- reason = "STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS:
+- reason = "STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT:
+- reason = "STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM:
+- reason = "STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT:
+- reason = "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED:
+- reason = "STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION:
+- reason = "STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_CLIENT_TYPE:
+- reason = "STATUS_GRAPHICS_INVALID_CLIENT_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET:
+- reason = "STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED:
+- reason = "STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER:
+- reason = "STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED:
+- reason = "STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED:
+- reason = "STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY:
+- reason = "STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED:
+- reason = "STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON:
+- reason = "STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE:
+- reason = "STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER:
+- reason = "STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED:
+- reason = "STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_OPM_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_COPP_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_COPP_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_UAB_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_UAB_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS:
+- reason = "STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST:
+- reason = "STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INTERNAL_ERROR:
+- reason = "STATUS_GRAPHICS_OPM_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_HANDLE:
+- reason = "STATUS_GRAPHICS_OPM_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH:
+- reason = "STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED:
+- reason = "STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED:
+- reason = "STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_HFS_FAILED:
+- reason = "STATUS_GRAPHICS_PVP_HFS_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_SRM:
+- reason = "STATUS_GRAPHICS_OPM_INVALID_SRM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP:
+- reason = "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP:
+- reason = "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA:
+- reason = "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET:
+- reason = "STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH:
+- reason = "STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE:
+- reason = "STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS:
+- reason = "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS:
+- reason = "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST:
+- reason = "STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR:
+- reason = "STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS:
+- reason = "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST:
+- reason = "STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_I2C_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST:
+- reason = "STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA:
+- reason = "STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA:
+- reason = "STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_DATA:
+- reason = "STATUS_GRAPHICS_DDCCI_INVALID_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE:
+- reason = "STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING:
+- reason = "STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MCA_INTERNAL_ERROR:
+- reason = "STATUS_GRAPHICS_MCA_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND:
+- reason = "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH:
+- reason = "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM:
+- reason = "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE:
+- reason = "STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS:
+- reason = "STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED:
+- reason = "STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME:
+- reason = "STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP:
+- reason = "STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED:
+- reason = "STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_POINTER:
+- reason = "STATUS_GRAPHICS_INVALID_POINTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE:
+- reason = "STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL:
+- reason = "STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_INTERNAL_ERROR:
+- reason = "STATUS_GRAPHICS_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS:
+- reason = "STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_LOCKED_VOLUME:
+- reason = "STATUS_FVE_LOCKED_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_ENCRYPTED:
+- reason = "STATUS_FVE_NOT_ENCRYPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_BAD_INFORMATION:
+- reason = "STATUS_FVE_BAD_INFORMATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TOO_SMALL:
+- reason = "STATUS_FVE_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FAILED_WRONG_FS:
+- reason = "STATUS_FVE_FAILED_WRONG_FS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_BAD_PARTITION_SIZE:
+- reason = "STATUS_FVE_BAD_PARTITION_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FS_NOT_EXTENDED:
+- reason = "STATUS_FVE_FS_NOT_EXTENDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FS_MOUNTED:
+- reason = "STATUS_FVE_FS_MOUNTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NO_LICENSE:
+- reason = "STATUS_FVE_NO_LICENSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_ACTION_NOT_ALLOWED:
+- reason = "STATUS_FVE_ACTION_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_BAD_DATA:
+- reason = "STATUS_FVE_BAD_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_NOT_BOUND:
+- reason = "STATUS_FVE_VOLUME_NOT_BOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_DATA_VOLUME:
+- reason = "STATUS_FVE_NOT_DATA_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_CONV_READ_ERROR:
+- reason = "STATUS_FVE_CONV_READ_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_CONV_WRITE_ERROR:
+- reason = "STATUS_FVE_CONV_WRITE_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_OVERLAPPED_UPDATE:
+- reason = "STATUS_FVE_OVERLAPPED_UPDATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FAILED_SECTOR_SIZE:
+- reason = "STATUS_FVE_FAILED_SECTOR_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FAILED_AUTHENTICATION:
+- reason = "STATUS_FVE_FAILED_AUTHENTICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_OS_VOLUME:
+- reason = "STATUS_FVE_NOT_OS_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NOT_FOUND:
+- reason = "STATUS_FVE_KEYFILE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_INVALID:
+- reason = "STATUS_FVE_KEYFILE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NO_VMK:
+- reason = "STATUS_FVE_KEYFILE_NO_VMK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TPM_DISABLED:
+- reason = "STATUS_FVE_TPM_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO:
+- reason = "STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TPM_INVALID_PCR:
+- reason = "STATUS_FVE_TPM_INVALID_PCR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_TPM_NO_VMK:
+- reason = "STATUS_FVE_TPM_NO_VMK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_PIN_INVALID:
+- reason = "STATUS_FVE_PIN_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_APPLICATION:
+- reason = "STATUS_FVE_AUTH_INVALID_APPLICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_CONFIG:
+- reason = "STATUS_FVE_AUTH_INVALID_CONFIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_DEBUGGER_ENABLED:
+- reason = "STATUS_FVE_DEBUGGER_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_DRY_RUN_FAILED:
+- reason = "STATUS_FVE_DRY_RUN_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_BAD_METADATA_POINTER:
+- reason = "STATUS_FVE_BAD_METADATA_POINTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_OLD_METADATA_COPY:
+- reason = "STATUS_FVE_OLD_METADATA_COPY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_REBOOT_REQUIRED:
+- reason = "STATUS_FVE_REBOOT_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_RAW_ACCESS:
+- reason = "STATUS_FVE_RAW_ACCESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_RAW_BLOCKED:
+- reason = "STATUS_FVE_RAW_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY:
+- reason = "STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_MOR_FAILED:
+- reason = "STATUS_FVE_MOR_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NO_FEATURE_LICENSE:
+- reason = "STATUS_FVE_NO_FEATURE_LICENSE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED:
+- reason = "STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_CONV_RECOVERY_FAILED:
+- reason = "STATUS_FVE_CONV_RECOVERY_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG:
+- reason = "STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_INVALID_DATUM_TYPE:
+- reason = "STATUS_FVE_INVALID_DATUM_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_TOO_SMALL:
+- reason = "STATUS_FVE_VOLUME_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_ENH_PIN_INVALID:
+- reason = "STATUS_FVE_ENH_PIN_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE:
+- reason = "STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE:
+- reason = "STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK:
+- reason = "STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CLUSTER:
+- reason = "STATUS_FVE_NOT_ALLOWED_ON_CLUSTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING:
+- reason = "STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE:
+- reason = "STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_EDRIVE_DRY_RUN_FAILED:
+- reason = "STATUS_FVE_EDRIVE_DRY_RUN_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_DISABLED:
+- reason = "STATUS_FVE_SECUREBOOT_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_CONFIG_CHANGE:
+- reason = "STATUS_FVE_SECUREBOOT_CONFIG_CHANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_DEVICE_LOCKEDOUT:
+- reason = "STATUS_FVE_DEVICE_LOCKEDOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT:
+- reason = "STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_NOT_DE_VOLUME:
+- reason = "STATUS_FVE_NOT_DE_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_DISABLED:
+- reason = "STATUS_FVE_PROTECTION_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED:
+- reason = "STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FVE_OSV_KSR_NOT_ALLOWED:
+- reason = "STATUS_FVE_OSV_KSR_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOT_FOUND:
+- reason = "STATUS_FWP_CALLOUT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CONDITION_NOT_FOUND:
+- reason = "STATUS_FWP_CONDITION_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_FILTER_NOT_FOUND:
+- reason = "STATUS_FWP_FILTER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_LAYER_NOT_FOUND:
+- reason = "STATUS_FWP_LAYER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_NOT_FOUND:
+- reason = "STATUS_FWP_PROVIDER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND:
+- reason = "STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_SUBLAYER_NOT_FOUND:
+- reason = "STATUS_FWP_SUBLAYER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NOT_FOUND:
+- reason = "STATUS_FWP_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_ALREADY_EXISTS:
+- reason = "STATUS_FWP_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_IN_USE:
+- reason = "STATUS_FWP_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS:
+- reason = "STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_WRONG_SESSION:
+- reason = "STATUS_FWP_WRONG_SESSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NO_TXN_IN_PROGRESS:
+- reason = "STATUS_FWP_NO_TXN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TXN_IN_PROGRESS:
+- reason = "STATUS_FWP_TXN_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TXN_ABORTED:
+- reason = "STATUS_FWP_TXN_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_SESSION_ABORTED:
+- reason = "STATUS_FWP_SESSION_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_TXN:
+- reason = "STATUS_FWP_INCOMPATIBLE_TXN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TIMEOUT:
+- reason = "STATUS_FWP_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NET_EVENTS_DISABLED:
+- reason = "STATUS_FWP_NET_EVENTS_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_LAYER:
+- reason = "STATUS_FWP_INCOMPATIBLE_LAYER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_KM_CLIENTS_ONLY:
+- reason = "STATUS_FWP_KM_CLIENTS_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_LIFETIME_MISMATCH:
+- reason = "STATUS_FWP_LIFETIME_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_BUILTIN_OBJECT:
+- reason = "STATUS_FWP_BUILTIN_OBJECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_CALLOUTS:
+- reason = "STATUS_FWP_TOO_MANY_CALLOUTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NOTIFICATION_DROPPED:
+- reason = "STATUS_FWP_NOTIFICATION_DROPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TRAFFIC_MISMATCH:
+- reason = "STATUS_FWP_TRAFFIC_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_SA_STATE:
+- reason = "STATUS_FWP_INCOMPATIBLE_SA_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NULL_POINTER:
+- reason = "STATUS_FWP_NULL_POINTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ENUMERATOR:
+- reason = "STATUS_FWP_INVALID_ENUMERATOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_FLAGS:
+- reason = "STATUS_FWP_INVALID_FLAGS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_NET_MASK:
+- reason = "STATUS_FWP_INVALID_NET_MASK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_RANGE:
+- reason = "STATUS_FWP_INVALID_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_INTERVAL:
+- reason = "STATUS_FWP_INVALID_INTERVAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_ZERO_LENGTH_ARRAY:
+- reason = "STATUS_FWP_ZERO_LENGTH_ARRAY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NULL_DISPLAY_NAME:
+- reason = "STATUS_FWP_NULL_DISPLAY_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ACTION_TYPE:
+- reason = "STATUS_FWP_INVALID_ACTION_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_WEIGHT:
+- reason = "STATUS_FWP_INVALID_WEIGHT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_MATCH_TYPE_MISMATCH:
+- reason = "STATUS_FWP_MATCH_TYPE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TYPE_MISMATCH:
+- reason = "STATUS_FWP_TYPE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_OUT_OF_BOUNDS:
+- reason = "STATUS_FWP_OUT_OF_BOUNDS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_RESERVED:
+- reason = "STATUS_FWP_RESERVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_CONDITION:
+- reason = "STATUS_FWP_DUPLICATE_CONDITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_KEYMOD:
+- reason = "STATUS_FWP_DUPLICATE_KEYMOD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER:
+- reason = "STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER:
+- reason = "STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER:
+- reason = "STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT:
+- reason = "STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_AUTH_METHOD:
+- reason = "STATUS_FWP_INCOMPATIBLE_AUTH_METHOD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_DH_GROUP:
+- reason = "STATUS_FWP_INCOMPATIBLE_DH_GROUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_EM_NOT_SUPPORTED:
+- reason = "STATUS_FWP_EM_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_NEVER_MATCH:
+- reason = "STATUS_FWP_NEVER_MATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_MISMATCH:
+- reason = "STATUS_FWP_PROVIDER_CONTEXT_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_PARAMETER:
+- reason = "STATUS_FWP_INVALID_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_SUBLAYERS:
+- reason = "STATUS_FWP_TOO_MANY_SUBLAYERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOTIFICATION_FAILED:
+- reason = "STATUS_FWP_CALLOUT_NOTIFICATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_AUTH_TRANSFORM:
+- reason = "STATUS_FWP_INVALID_AUTH_TRANSFORM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_CIPHER_TRANSFORM:
+- reason = "STATUS_FWP_INVALID_CIPHER_TRANSFORM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM:
+- reason = "STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TRANSFORM_COMBINATION:
+- reason = "STATUS_FWP_INVALID_TRANSFORM_COMBINATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_AUTH_METHOD:
+- reason = "STATUS_FWP_DUPLICATE_AUTH_METHOD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TUNNEL_ENDPOINT:
+- reason = "STATUS_FWP_INVALID_TUNNEL_ENDPOINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_L2_DRIVER_NOT_READY:
+- reason = "STATUS_FWP_L2_DRIVER_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED:
+- reason = "STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL:
+- reason = "STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CONNECTIONS_DISABLED:
+- reason = "STATUS_FWP_CONNECTIONS_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INVALID_DNS_NAME:
+- reason = "STATUS_FWP_INVALID_DNS_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_STILL_ON:
+- reason = "STATUS_FWP_STILL_ON";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_IKEEXT_NOT_RUNNING:
+- reason = "STATUS_FWP_IKEEXT_NOT_RUNNING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_TCPIP_NOT_READY:
+- reason = "STATUS_FWP_TCPIP_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_CLOSING:
+- reason = "STATUS_FWP_INJECT_HANDLE_CLOSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_STALE:
+- reason = "STATUS_FWP_INJECT_HANDLE_STALE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_CANNOT_PEND:
+- reason = "STATUS_FWP_CANNOT_PEND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_FWP_DROP_NOICMP:
+- reason = "STATUS_FWP_DROP_NOICMP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_CLOSING:
+- reason = "STATUS_NDIS_CLOSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_BAD_VERSION:
+- reason = "STATUS_NDIS_BAD_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_BAD_CHARACTERISTICS:
+- reason = "STATUS_NDIS_BAD_CHARACTERISTICS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_FOUND:
+- reason = "STATUS_NDIS_ADAPTER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_OPEN_FAILED:
+- reason = "STATUS_NDIS_OPEN_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DEVICE_FAILED:
+- reason = "STATUS_NDIS_DEVICE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_FULL:
+- reason = "STATUS_NDIS_MULTICAST_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_EXISTS:
+- reason = "STATUS_NDIS_MULTICAST_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_NOT_FOUND:
+- reason = "STATUS_NDIS_MULTICAST_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_REQUEST_ABORTED:
+- reason = "STATUS_NDIS_REQUEST_ABORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_RESET_IN_PROGRESS:
+- reason = "STATUS_NDIS_RESET_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PACKET:
+- reason = "STATUS_NDIS_INVALID_PACKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DEVICE_REQUEST:
+- reason = "STATUS_NDIS_INVALID_DEVICE_REQUEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_READY:
+- reason = "STATUS_NDIS_ADAPTER_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_LENGTH:
+- reason = "STATUS_NDIS_INVALID_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DATA:
+- reason = "STATUS_NDIS_INVALID_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_BUFFER_TOO_SHORT:
+- reason = "STATUS_NDIS_BUFFER_TOO_SHORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_OID:
+- reason = "STATUS_NDIS_INVALID_OID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_REMOVED:
+- reason = "STATUS_NDIS_ADAPTER_REMOVED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_MEDIA:
+- reason = "STATUS_NDIS_UNSUPPORTED_MEDIA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_GROUP_ADDRESS_IN_USE:
+- reason = "STATUS_NDIS_GROUP_ADDRESS_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_FILE_NOT_FOUND:
+- reason = "STATUS_NDIS_FILE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_ERROR_READING_FILE:
+- reason = "STATUS_NDIS_ERROR_READING_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_ALREADY_MAPPED:
+- reason = "STATUS_NDIS_ALREADY_MAPPED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_RESOURCE_CONFLICT:
+- reason = "STATUS_NDIS_RESOURCE_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_MEDIA_DISCONNECTED:
+- reason = "STATUS_NDIS_MEDIA_DISCONNECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_ADDRESS:
+- reason = "STATUS_NDIS_INVALID_ADDRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_PAUSED:
+- reason = "STATUS_NDIS_PAUSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INTERFACE_NOT_FOUND:
+- reason = "STATUS_NDIS_INTERFACE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_REVISION:
+- reason = "STATUS_NDIS_UNSUPPORTED_REVISION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT:
+- reason = "STATUS_NDIS_INVALID_PORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT_STATE:
+- reason = "STATUS_NDIS_INVALID_PORT_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_LOW_POWER_STATE:
+- reason = "STATUS_NDIS_LOW_POWER_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_REINIT_REQUIRED:
+- reason = "STATUS_NDIS_REINIT_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_NO_QUEUES:
+- reason = "STATUS_NDIS_NO_QUEUES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_NOT_SUPPORTED:
+- reason = "STATUS_NDIS_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_POLICY:
+- reason = "STATUS_NDIS_OFFLOAD_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED:
+- reason = "STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_PATH_REJECTED:
+- reason = "STATUS_NDIS_OFFLOAD_PATH_REJECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED:
+- reason = "STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_MEDIA_IN_USE:
+- reason = "STATUS_NDIS_DOT11_MEDIA_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_POWER_STATE_INVALID:
+- reason = "STATUS_NDIS_DOT11_POWER_STATE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL:
+- reason = "STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL:
+- reason = "STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE:
+- reason = "STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE:
+- reason = "STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED:
+- reason = "STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED:
+- reason = "STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUIC_HANDSHAKE_FAILURE:
+- reason = "STATUS_QUIC_HANDSHAKE_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_QUIC_VER_NEG_FAILURE:
+- reason = "STATUS_QUIC_VER_NEG_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_ERROR_MASK:
+- reason = "STATUS_TPM_ERROR_MASK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUTHFAIL:
+- reason = "STATUS_TPM_AUTHFAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BADINDEX:
+- reason = "STATUS_TPM_BADINDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAMETER:
+- reason = "STATUS_TPM_BAD_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAILURE:
+- reason = "STATUS_TPM_AUDITFAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_CLEAR_DISABLED:
+- reason = "STATUS_TPM_CLEAR_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DEACTIVATED:
+- reason = "STATUS_TPM_DEACTIVATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DISABLED:
+- reason = "STATUS_TPM_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DISABLED_CMD:
+- reason = "STATUS_TPM_DISABLED_CMD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_FAIL:
+- reason = "STATUS_TPM_FAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_ORDINAL:
+- reason = "STATUS_TPM_BAD_ORDINAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INSTALL_DISABLED:
+- reason = "STATUS_TPM_INSTALL_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYHANDLE:
+- reason = "STATUS_TPM_INVALID_KEYHANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_KEYNOTFOUND:
+- reason = "STATUS_TPM_KEYNOTFOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_ENC:
+- reason = "STATUS_TPM_INAPPROPRIATE_ENC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MIGRATEFAIL:
+- reason = "STATUS_TPM_MIGRATEFAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_PCR_INFO:
+- reason = "STATUS_TPM_INVALID_PCR_INFO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOSPACE:
+- reason = "STATUS_TPM_NOSPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOSRK:
+- reason = "STATUS_TPM_NOSRK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOTSEALED_BLOB:
+- reason = "STATUS_TPM_NOTSEALED_BLOB";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_OWNER_SET:
+- reason = "STATUS_TPM_OWNER_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_RESOURCES:
+- reason = "STATUS_TPM_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_SHORTRANDOM:
+- reason = "STATUS_TPM_SHORTRANDOM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_SIZE:
+- reason = "STATUS_TPM_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_WRONGPCRVAL:
+- reason = "STATUS_TPM_WRONGPCRVAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAM_SIZE:
+- reason = "STATUS_TPM_BAD_PARAM_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_SHA_THREAD:
+- reason = "STATUS_TPM_SHA_THREAD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_SHA_ERROR:
+- reason = "STATUS_TPM_SHA_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_FAILEDSELFTEST:
+- reason = "STATUS_TPM_FAILEDSELFTEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUTH2FAIL:
+- reason = "STATUS_TPM_AUTH2FAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BADTAG:
+- reason = "STATUS_TPM_BADTAG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_IOERROR:
+- reason = "STATUS_TPM_IOERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_ENCRYPT_ERROR:
+- reason = "STATUS_TPM_ENCRYPT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DECRYPT_ERROR:
+- reason = "STATUS_TPM_DECRYPT_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_AUTHHANDLE:
+- reason = "STATUS_TPM_INVALID_AUTHHANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NO_ENDORSEMENT:
+- reason = "STATUS_TPM_NO_ENDORSEMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYUSAGE:
+- reason = "STATUS_TPM_INVALID_KEYUSAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_WRONG_ENTITYTYPE:
+- reason = "STATUS_TPM_WRONG_ENTITYTYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_POSTINIT:
+- reason = "STATUS_TPM_INVALID_POSTINIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_SIG:
+- reason = "STATUS_TPM_INAPPROPRIATE_SIG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_KEY_PROPERTY:
+- reason = "STATUS_TPM_BAD_KEY_PROPERTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_MIGRATION:
+- reason = "STATUS_TPM_BAD_MIGRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_SCHEME:
+- reason = "STATUS_TPM_BAD_SCHEME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_DATASIZE:
+- reason = "STATUS_TPM_BAD_DATASIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_MODE:
+- reason = "STATUS_TPM_BAD_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_PRESENCE:
+- reason = "STATUS_TPM_BAD_PRESENCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_VERSION:
+- reason = "STATUS_TPM_BAD_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NO_WRAP_TRANSPORT:
+- reason = "STATUS_TPM_NO_WRAP_TRANSPORT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_UNSUCCESSFUL:
+- reason = "STATUS_TPM_AUDITFAIL_UNSUCCESSFUL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_SUCCESSFUL:
+- reason = "STATUS_TPM_AUDITFAIL_SUCCESSFUL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOTRESETABLE:
+- reason = "STATUS_TPM_NOTRESETABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOTLOCAL:
+- reason = "STATUS_TPM_NOTLOCAL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_TYPE:
+- reason = "STATUS_TPM_BAD_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_RESOURCE:
+- reason = "STATUS_TPM_INVALID_RESOURCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOTFIPS:
+- reason = "STATUS_TPM_NOTFIPS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_FAMILY:
+- reason = "STATUS_TPM_INVALID_FAMILY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NO_NV_PERMISSION:
+- reason = "STATUS_TPM_NO_NV_PERMISSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_REQUIRES_SIGN:
+- reason = "STATUS_TPM_REQUIRES_SIGN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_KEY_NOTSUPPORTED:
+- reason = "STATUS_TPM_KEY_NOTSUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AUTH_CONFLICT:
+- reason = "STATUS_TPM_AUTH_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_AREA_LOCKED:
+- reason = "STATUS_TPM_AREA_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_LOCALITY:
+- reason = "STATUS_TPM_BAD_LOCALITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_READ_ONLY:
+- reason = "STATUS_TPM_READ_ONLY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_PER_NOWRITE:
+- reason = "STATUS_TPM_PER_NOWRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_FAMILYCOUNT:
+- reason = "STATUS_TPM_FAMILYCOUNT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_WRITE_LOCKED:
+- reason = "STATUS_TPM_WRITE_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_ATTRIBUTES:
+- reason = "STATUS_TPM_BAD_ATTRIBUTES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_STRUCTURE:
+- reason = "STATUS_TPM_INVALID_STRUCTURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_KEY_OWNER_CONTROL:
+- reason = "STATUS_TPM_KEY_OWNER_CONTROL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_COUNTER:
+- reason = "STATUS_TPM_BAD_COUNTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOT_FULLWRITE:
+- reason = "STATUS_TPM_NOT_FULLWRITE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_CONTEXT_GAP:
+- reason = "STATUS_TPM_CONTEXT_GAP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MAXNVWRITES:
+- reason = "STATUS_TPM_MAXNVWRITES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOOPERATOR:
+- reason = "STATUS_TPM_NOOPERATOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_RESOURCEMISSING:
+- reason = "STATUS_TPM_RESOURCEMISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_LOCK:
+- reason = "STATUS_TPM_DELEGATE_LOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_FAMILY:
+- reason = "STATUS_TPM_DELEGATE_FAMILY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_ADMIN:
+- reason = "STATUS_TPM_DELEGATE_ADMIN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_TRANSPORT_NOTEXCLUSIVE:
+- reason = "STATUS_TPM_TRANSPORT_NOTEXCLUSIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_OWNER_CONTROL:
+- reason = "STATUS_TPM_OWNER_CONTROL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_RESOURCES:
+- reason = "STATUS_TPM_DAA_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA0:
+- reason = "STATUS_TPM_DAA_INPUT_DATA0";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA1:
+- reason = "STATUS_TPM_DAA_INPUT_DATA1";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_SETTINGS:
+- reason = "STATUS_TPM_DAA_ISSUER_SETTINGS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_TPM_SETTINGS:
+- reason = "STATUS_TPM_DAA_TPM_SETTINGS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_STAGE:
+- reason = "STATUS_TPM_DAA_STAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_VALIDITY:
+- reason = "STATUS_TPM_DAA_ISSUER_VALIDITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DAA_WRONG_W:
+- reason = "STATUS_TPM_DAA_WRONG_W";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_HANDLE:
+- reason = "STATUS_TPM_BAD_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_DELEGATE:
+- reason = "STATUS_TPM_BAD_DELEGATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BADCONTEXT:
+- reason = "STATUS_TPM_BADCONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_TOOMANYCONTEXTS:
+- reason = "STATUS_TPM_TOOMANYCONTEXTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MA_TICKET_SIGNATURE:
+- reason = "STATUS_TPM_MA_TICKET_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MA_DESTINATION:
+- reason = "STATUS_TPM_MA_DESTINATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MA_SOURCE:
+- reason = "STATUS_TPM_MA_SOURCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_MA_AUTHORITY:
+- reason = "STATUS_TPM_MA_AUTHORITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_PERMANENTEK:
+- reason = "STATUS_TPM_PERMANENTEK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_BAD_SIGNATURE:
+- reason = "STATUS_TPM_BAD_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOCONTEXTSPACE:
+- reason = "STATUS_TPM_NOCONTEXTSPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ASYMMETRIC:
+- reason = "STATUS_TPM_20_E_ASYMMETRIC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ATTRIBUTES:
+- reason = "STATUS_TPM_20_E_ATTRIBUTES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HASH:
+- reason = "STATUS_TPM_20_E_HASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_VALUE:
+- reason = "STATUS_TPM_20_E_VALUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HIERARCHY:
+- reason = "STATUS_TPM_20_E_HIERARCHY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY_SIZE:
+- reason = "STATUS_TPM_20_E_KEY_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_MGF:
+- reason = "STATUS_TPM_20_E_MGF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_MODE:
+- reason = "STATUS_TPM_20_E_MODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TYPE:
+- reason = "STATUS_TPM_20_E_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HANDLE:
+- reason = "STATUS_TPM_20_E_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KDF:
+- reason = "STATUS_TPM_20_E_KDF";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_RANGE:
+- reason = "STATUS_TPM_20_E_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_FAIL:
+- reason = "STATUS_TPM_20_E_AUTH_FAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NONCE:
+- reason = "STATUS_TPM_20_E_NONCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PP:
+- reason = "STATUS_TPM_20_E_PP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SCHEME:
+- reason = "STATUS_TPM_20_E_SCHEME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIZE:
+- reason = "STATUS_TPM_20_E_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SYMMETRIC:
+- reason = "STATUS_TPM_20_E_SYMMETRIC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TAG:
+- reason = "STATUS_TPM_20_E_TAG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SELECTOR:
+- reason = "STATUS_TPM_20_E_SELECTOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INSUFFICIENT:
+- reason = "STATUS_TPM_20_E_INSUFFICIENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIGNATURE:
+- reason = "STATUS_TPM_20_E_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY:
+- reason = "STATUS_TPM_20_E_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_FAIL:
+- reason = "STATUS_TPM_20_E_POLICY_FAIL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INTEGRITY:
+- reason = "STATUS_TPM_20_E_INTEGRITY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TICKET:
+- reason = "STATUS_TPM_20_E_TICKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_RESERVED_BITS:
+- reason = "STATUS_TPM_20_E_RESERVED_BITS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_AUTH:
+- reason = "STATUS_TPM_20_E_BAD_AUTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXPIRED:
+- reason = "STATUS_TPM_20_E_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_CC:
+- reason = "STATUS_TPM_20_E_POLICY_CC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BINDING:
+- reason = "STATUS_TPM_20_E_BINDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_CURVE:
+- reason = "STATUS_TPM_20_E_CURVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_POINT:
+- reason = "STATUS_TPM_20_E_ECC_POINT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_INITIALIZE:
+- reason = "STATUS_TPM_20_E_INITIALIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_FAILURE:
+- reason = "STATUS_TPM_20_E_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SEQUENCE:
+- reason = "STATUS_TPM_20_E_SEQUENCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PRIVATE:
+- reason = "STATUS_TPM_20_E_PRIVATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_HMAC:
+- reason = "STATUS_TPM_20_E_HMAC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_DISABLED:
+- reason = "STATUS_TPM_20_E_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXCLUSIVE:
+- reason = "STATUS_TPM_20_E_EXCLUSIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_CURVE:
+- reason = "STATUS_TPM_20_E_ECC_CURVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_TYPE:
+- reason = "STATUS_TPM_20_E_AUTH_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_MISSING:
+- reason = "STATUS_TPM_20_E_AUTH_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY:
+- reason = "STATUS_TPM_20_E_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR:
+- reason = "STATUS_TPM_20_E_PCR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR_CHANGED:
+- reason = "STATUS_TPM_20_E_PCR_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_UPGRADE:
+- reason = "STATUS_TPM_20_E_UPGRADE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_TOO_MANY_CONTEXTS:
+- reason = "STATUS_TPM_20_E_TOO_MANY_CONTEXTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_UNAVAILABLE:
+- reason = "STATUS_TPM_20_E_AUTH_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_REBOOT:
+- reason = "STATUS_TPM_20_E_REBOOT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_UNBALANCED:
+- reason = "STATUS_TPM_20_E_UNBALANCED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_SIZE:
+- reason = "STATUS_TPM_20_E_COMMAND_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_CODE:
+- reason = "STATUS_TPM_20_E_COMMAND_CODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTHSIZE:
+- reason = "STATUS_TPM_20_E_AUTHSIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_CONTEXT:
+- reason = "STATUS_TPM_20_E_AUTH_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_RANGE:
+- reason = "STATUS_TPM_20_E_NV_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SIZE:
+- reason = "STATUS_TPM_20_E_NV_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_LOCKED:
+- reason = "STATUS_TPM_20_E_NV_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_AUTHORIZATION:
+- reason = "STATUS_TPM_20_E_NV_AUTHORIZATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_UNINITIALIZED:
+- reason = "STATUS_TPM_20_E_NV_UNINITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SPACE:
+- reason = "STATUS_TPM_20_E_NV_SPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_DEFINED:
+- reason = "STATUS_TPM_20_E_NV_DEFINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_CONTEXT:
+- reason = "STATUS_TPM_20_E_BAD_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_CPHASH:
+- reason = "STATUS_TPM_20_E_CPHASH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_PARENT:
+- reason = "STATUS_TPM_20_E_PARENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NEEDS_TEST:
+- reason = "STATUS_TPM_20_E_NEEDS_TEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_NO_RESULT:
+- reason = "STATUS_TPM_20_E_NO_RESULT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_20_E_SENSITIVE:
+- reason = "STATUS_TPM_20_E_SENSITIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_BLOCKED:
+- reason = "STATUS_TPM_COMMAND_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INVALID_HANDLE:
+- reason = "STATUS_TPM_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DUPLICATE_VHANDLE:
+- reason = "STATUS_TPM_DUPLICATE_VHANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_BLOCKED:
+- reason = "STATUS_TPM_EMBEDDED_COMMAND_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED:
+- reason = "STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_RETRY:
+- reason = "STATUS_TPM_RETRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NEEDS_SELFTEST:
+- reason = "STATUS_TPM_NEEDS_SELFTEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DOING_SELFTEST:
+- reason = "STATUS_TPM_DOING_SELFTEST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_DEFEND_LOCK_RUNNING:
+- reason = "STATUS_TPM_DEFEND_LOCK_RUNNING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_CANCELED:
+- reason = "STATUS_TPM_COMMAND_CANCELED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_TOO_MANY_CONTEXTS:
+- reason = "STATUS_TPM_TOO_MANY_CONTEXTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_NOT_FOUND:
+- reason = "STATUS_TPM_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_ACCESS_DENIED:
+- reason = "STATUS_TPM_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_INSUFFICIENT_BUFFER:
+- reason = "STATUS_TPM_INSUFFICIENT_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_PPI_FUNCTION_UNSUPPORTED:
+- reason = "STATUS_TPM_PPI_FUNCTION_UNSUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_ERROR_MASK:
+- reason = "STATUS_PCP_ERROR_MASK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_READY:
+- reason = "STATUS_PCP_DEVICE_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_INVALID_HANDLE:
+- reason = "STATUS_PCP_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_INVALID_PARAMETER:
+- reason = "STATUS_PCP_INVALID_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_FLAG_NOT_SUPPORTED:
+- reason = "STATUS_PCP_FLAG_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_NOT_SUPPORTED:
+- reason = "STATUS_PCP_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_TOO_SMALL:
+- reason = "STATUS_PCP_BUFFER_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_INTERNAL_ERROR:
+- reason = "STATUS_PCP_INTERNAL_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_FAILED:
+- reason = "STATUS_PCP_AUTHENTICATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_IGNORED:
+- reason = "STATUS_PCP_AUTHENTICATION_IGNORED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_POLICY_NOT_FOUND:
+- reason = "STATUS_PCP_POLICY_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_PROFILE_NOT_FOUND:
+- reason = "STATUS_PCP_PROFILE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_VALIDATION_FAILED:
+- reason = "STATUS_PCP_VALIDATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_FOUND:
+- reason = "STATUS_PCP_DEVICE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_WRONG_PARENT:
+- reason = "STATUS_PCP_WRONG_PARENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_LOADED:
+- reason = "STATUS_PCP_KEY_NOT_LOADED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_NO_KEY_CERTIFICATION:
+- reason = "STATUS_PCP_NO_KEY_CERTIFICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_FINALIZED:
+- reason = "STATUS_PCP_KEY_NOT_FINALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET:
+- reason = "STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_NOT_PCR_BOUND:
+- reason = "STATUS_PCP_NOT_PCR_BOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_ALREADY_FINALIZED:
+- reason = "STATUS_PCP_KEY_ALREADY_FINALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED:
+- reason = "STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_INVALID:
+- reason = "STATUS_PCP_KEY_USAGE_POLICY_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_SOFT_KEY_ERROR:
+- reason = "STATUS_PCP_SOFT_KEY_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AUTHENTICATED:
+- reason = "STATUS_PCP_KEY_NOT_AUTHENTICATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AIK:
+- reason = "STATUS_PCP_KEY_NOT_AIK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_SIGNING_KEY:
+- reason = "STATUS_PCP_KEY_NOT_SIGNING_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_LOCKED_OUT:
+- reason = "STATUS_PCP_LOCKED_OUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED:
+- reason = "STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_TPM_VERSION_NOT_SUPPORTED:
+- reason = "STATUS_PCP_TPM_VERSION_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_LENGTH_MISMATCH:
+- reason = "STATUS_PCP_BUFFER_LENGTH_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED:
+- reason = "STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_TICKET_MISSING:
+- reason = "STATUS_PCP_TICKET_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_RAW_POLICY_NOT_SUPPORTED:
+- reason = "STATUS_PCP_RAW_POLICY_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PCP_KEY_HANDLE_INVALIDATED:
+- reason = "STATUS_PCP_KEY_HANDLE_INVALIDATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_NO_RESULT:
+- reason = "STATUS_RTPM_NO_RESULT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_PCR_READ_INCOMPLETE:
+- reason = "STATUS_RTPM_PCR_READ_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_INVALID_CONTEXT:
+- reason = "STATUS_RTPM_INVALID_CONTEXT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RTPM_UNSUPPORTED_CMD:
+- reason = "STATUS_RTPM_UNSUPPORTED_CMD";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_TPM_ZERO_EXHAUST_ENABLED:
+- reason = "STATUS_TPM_ZERO_EXHAUST_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_CODE:
+- reason = "STATUS_HV_INVALID_HYPERCALL_CODE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_INPUT:
+- reason = "STATUS_HV_INVALID_HYPERCALL_INPUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_ALIGNMENT:
+- reason = "STATUS_HV_INVALID_ALIGNMENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARAMETER:
+- reason = "STATUS_HV_INVALID_PARAMETER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_ACCESS_DENIED:
+- reason = "STATUS_HV_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_STATE:
+- reason = "STATUS_HV_INVALID_PARTITION_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_OPERATION_DENIED:
+- reason = "STATUS_HV_OPERATION_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_UNKNOWN_PROPERTY:
+- reason = "STATUS_HV_UNKNOWN_PROPERTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE:
+- reason = "STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_MEMORY:
+- reason = "STATUS_HV_INSUFFICIENT_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_PARTITION_TOO_DEEP:
+- reason = "STATUS_HV_PARTITION_TOO_DEEP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_ID:
+- reason = "STATUS_HV_INVALID_PARTITION_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_INDEX:
+- reason = "STATUS_HV_INVALID_VP_INDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_PORT_ID:
+- reason = "STATUS_HV_INVALID_PORT_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_CONNECTION_ID:
+- reason = "STATUS_HV_INVALID_CONNECTION_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFERS:
+- reason = "STATUS_HV_INSUFFICIENT_BUFFERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NOT_ACKNOWLEDGED:
+- reason = "STATUS_HV_NOT_ACKNOWLEDGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_STATE:
+- reason = "STATUS_HV_INVALID_VP_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_ACKNOWLEDGED:
+- reason = "STATUS_HV_ACKNOWLEDGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_SAVE_RESTORE_STATE:
+- reason = "STATUS_HV_INVALID_SAVE_RESTORE_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_SYNIC_STATE:
+- reason = "STATUS_HV_INVALID_SYNIC_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_OBJECT_IN_USE:
+- reason = "STATUS_HV_OBJECT_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO:
+- reason = "STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NO_DATA:
+- reason = "STATUS_HV_NO_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INACTIVE:
+- reason = "STATUS_HV_INACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NO_RESOURCES:
+- reason = "STATUS_HV_NO_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_FEATURE_UNAVAILABLE:
+- reason = "STATUS_HV_FEATURE_UNAVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFER:
+- reason = "STATUS_HV_INSUFFICIENT_BUFFER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS:
+- reason = "STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR:
+- reason = "STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR:
+- reason = "STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_PROCESSOR_STARTUP_TIMEOUT:
+- reason = "STATUS_HV_PROCESSOR_STARTUP_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_SMX_ENABLED:
+- reason = "STATUS_HV_SMX_ENABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_LP_INDEX:
+- reason = "STATUS_HV_INVALID_LP_INDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_REGISTER_VALUE:
+- reason = "STATUS_HV_INVALID_REGISTER_VALUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_VTL_STATE:
+- reason = "STATUS_HV_INVALID_VTL_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NX_NOT_DETECTED:
+- reason = "STATUS_HV_NX_NOT_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_ID:
+- reason = "STATUS_HV_INVALID_DEVICE_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_STATE:
+- reason = "STATUS_HV_INVALID_DEVICE_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_PAGE_REQUEST_INVALID:
+- reason = "STATUS_HV_PAGE_REQUEST_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_ID:
+- reason = "STATUS_HV_INVALID_CPU_GROUP_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_STATE:
+- reason = "STATUS_HV_INVALID_CPU_GROUP_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_OPERATION_FAILED:
+- reason = "STATUS_HV_OPERATION_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE:
+- reason = "STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_ROOT_MEMORY:
+- reason = "STATUS_HV_INSUFFICIENT_ROOT_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_EVENT_BUFFER_ALREADY_FREED:
+- reason = "STATUS_HV_EVENT_BUFFER_ALREADY_FREED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY:
+- reason = "STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HV_NOT_PRESENT:
+- reason = "STATUS_HV_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_BAD_SPI:
+- reason = "STATUS_IPSEC_BAD_SPI";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_SA_LIFETIME_EXPIRED:
+- reason = "STATUS_IPSEC_SA_LIFETIME_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_WRONG_SA:
+- reason = "STATUS_IPSEC_WRONG_SA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_REPLAY_CHECK_FAILED:
+- reason = "STATUS_IPSEC_REPLAY_CHECK_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_INVALID_PACKET:
+- reason = "STATUS_IPSEC_INVALID_PACKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_INTEGRITY_CHECK_FAILED:
+- reason = "STATUS_IPSEC_INTEGRITY_CHECK_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_CLEAR_TEXT_DROP:
+- reason = "STATUS_IPSEC_CLEAR_TEXT_DROP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_AUTH_FIREWALL_DROP:
+- reason = "STATUS_IPSEC_AUTH_FIREWALL_DROP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_THROTTLE_DROP:
+- reason = "STATUS_IPSEC_THROTTLE_DROP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_BLOCK:
+- reason = "STATUS_IPSEC_DOSP_BLOCK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_RECEIVED_MULTICAST:
+- reason = "STATUS_IPSEC_DOSP_RECEIVED_MULTICAST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_INVALID_PACKET:
+- reason = "STATUS_IPSEC_DOSP_INVALID_PACKET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED:
+- reason = "STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_ENTRIES:
+- reason = "STATUS_IPSEC_DOSP_MAX_ENTRIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED:
+- reason = "STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES:
+- reason = "STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_DUPLICATE_HANDLER:
+- reason = "STATUS_VID_DUPLICATE_HANDLER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_TOO_MANY_HANDLERS:
+- reason = "STATUS_VID_TOO_MANY_HANDLERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_QUEUE_FULL:
+- reason = "STATUS_VID_QUEUE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_HANDLER_NOT_PRESENT:
+- reason = "STATUS_VID_HANDLER_NOT_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_OBJECT_NAME:
+- reason = "STATUS_VID_INVALID_OBJECT_NAME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_TOO_LONG:
+- reason = "STATUS_VID_PARTITION_NAME_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG:
+- reason = "STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_PARTITION_ALREADY_EXISTS:
+- reason = "STATUS_VID_PARTITION_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_PARTITION_DOES_NOT_EXIST:
+- reason = "STATUS_VID_PARTITION_DOES_NOT_EXIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_NOT_FOUND:
+- reason = "STATUS_VID_PARTITION_NAME_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS:
+- reason = "STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT:
+- reason = "STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MB_STILL_REFERENCED:
+- reason = "STATUS_VID_MB_STILL_REFERENCED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED:
+- reason = "STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_SETTINGS:
+- reason = "STATUS_VID_INVALID_NUMA_SETTINGS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_NODE_INDEX:
+- reason = "STATUS_VID_INVALID_NUMA_NODE_INDEX";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED:
+- reason = "STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE:
+- reason = "STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_PAGE_RANGE_OVERFLOW:
+- reason = "STATUS_VID_PAGE_RANGE_OVERFLOW";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE:
+- reason = "STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_GPA_RANGE_HANDLE:
+- reason = "STATUS_VID_INVALID_GPA_RANGE_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE:
+- reason = "STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED:
+- reason = "STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_PPM_HANDLE:
+- reason = "STATUS_VID_INVALID_PPM_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MBPS_ARE_LOCKED:
+- reason = "STATUS_VID_MBPS_ARE_LOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_CLOSED:
+- reason = "STATUS_VID_MESSAGE_QUEUE_CLOSED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED:
+- reason = "STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_STOP_PENDING:
+- reason = "STATUS_VID_STOP_PENDING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_PROCESSOR_STATE:
+- reason = "STATUS_VID_INVALID_PROCESSOR_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT:
+- reason = "STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED:
+- reason = "STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET:
+- reason = "STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MMIO_RANGE_DESTROYED:
+- reason = "STATUS_VID_MMIO_RANGE_DESTROYED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_INVALID_CHILD_GPA_PAGE_SET:
+- reason = "STATUS_VID_INVALID_CHILD_GPA_PAGE_SET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED:
+- reason = "STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL:
+- reason = "STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE:
+- reason = "STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT:
+- reason = "STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_CORRUPT:
+- reason = "STATUS_VID_SAVED_STATE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM:
+- reason = "STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_INCOMPATIBLE:
+- reason = "STATUS_VID_SAVED_STATE_INCOMPATIBLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VID_VTL_ACCESS_DENIED:
+- reason = "STATUS_VID_VTL_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DATABASE_FULL:
+- reason = "STATUS_VOLMGR_DATABASE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED:
+- reason = "STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC:
+- reason = "STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED:
+- reason = "STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME:
+- reason = "STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DUPLICATE:
+- reason = "STATUS_VOLMGR_DISK_DUPLICATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DYNAMIC:
+- reason = "STATUS_VOLMGR_DISK_DYNAMIC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_ID_INVALID:
+- reason = "STATUS_VOLMGR_DISK_ID_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_INVALID:
+- reason = "STATUS_VOLMGR_DISK_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAST_VOTER:
+- reason = "STATUS_VOLMGR_DISK_LAST_VOTER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_INVALID:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS:
+- reason = "STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_MISSING:
+- reason = "STATUS_VOLMGR_DISK_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_EMPTY:
+- reason = "STATUS_VOLMGR_DISK_NOT_EMPTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE:
+- reason = "STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_REVECTORING_FAILED:
+- reason = "STATUS_VOLMGR_DISK_REVECTORING_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID:
+- reason = "STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SET_NOT_CONTAINED:
+- reason = "STATUS_VOLMGR_DISK_SET_NOT_CONTAINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS:
+- reason = "STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES:
+- reason = "STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED:
+- reason = "STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_ALREADY_USED:
+- reason = "STATUS_VOLMGR_EXTENT_ALREADY_USED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS:
+- reason = "STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION:
+- reason = "STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED:
+- reason = "STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION:
+- reason = "STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH:
+- reason = "STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED:
+- reason = "STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID:
+- reason = "STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS:
+- reason = "STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_IN_SYNC:
+- reason = "STATUS_VOLMGR_MEMBER_IN_SYNC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE:
+- reason = "STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_INVALID:
+- reason = "STATUS_VOLMGR_MEMBER_INDEX_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_MISSING:
+- reason = "STATUS_VOLMGR_MEMBER_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_NOT_DETACHED:
+- reason = "STATUS_VOLMGR_MEMBER_NOT_DETACHED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_REGENERATING:
+- reason = "STATUS_VOLMGR_MEMBER_REGENERATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_ALL_DISKS_FAILED:
+- reason = "STATUS_VOLMGR_ALL_DISKS_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_REGISTERED_USERS:
+- reason = "STATUS_VOLMGR_NO_REGISTERED_USERS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_SUCH_USER:
+- reason = "STATUS_VOLMGR_NO_SUCH_USER";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NOTIFICATION_RESET:
+- reason = "STATUS_VOLMGR_NOTIFICATION_RESET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_DUPLICATE:
+- reason = "STATUS_VOLMGR_PACK_DUPLICATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_ID_INVALID:
+- reason = "STATUS_VOLMGR_PACK_ID_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_INVALID:
+- reason = "STATUS_VOLMGR_PACK_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_NAME_INVALID:
+- reason = "STATUS_VOLMGR_PACK_NAME_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_OFFLINE:
+- reason = "STATUS_VOLMGR_PACK_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_HAS_QUORUM:
+- reason = "STATUS_VOLMGR_PACK_HAS_QUORUM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_WITHOUT_QUORUM:
+- reason = "STATUS_VOLMGR_PACK_WITHOUT_QUORUM";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_STYLE_INVALID:
+- reason = "STATUS_VOLMGR_PARTITION_STYLE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_UPDATE_FAILED:
+- reason = "STATUS_VOLMGR_PARTITION_UPDATE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_IN_SYNC:
+- reason = "STATUS_VOLMGR_PLEX_IN_SYNC";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_DUPLICATE:
+- reason = "STATUS_VOLMGR_PLEX_INDEX_DUPLICATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_INVALID:
+- reason = "STATUS_VOLMGR_PLEX_INDEX_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_LAST_ACTIVE:
+- reason = "STATUS_VOLMGR_PLEX_LAST_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_MISSING:
+- reason = "STATUS_VOLMGR_PLEX_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_REGENERATING:
+- reason = "STATUS_VOLMGR_PLEX_REGENERATING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_TYPE_INVALID:
+- reason = "STATUS_VOLMGR_PLEX_TYPE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_RAID5:
+- reason = "STATUS_VOLMGR_PLEX_NOT_RAID5";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE:
+- reason = "STATUS_VOLMGR_PLEX_NOT_SIMPLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_STRUCTURE_SIZE_INVALID:
+- reason = "STATUS_VOLMGR_STRUCTURE_SIZE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS:
+- reason = "STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_TRANSACTION_IN_PROGRESS:
+- reason = "STATUS_VOLMGR_TRANSACTION_IN_PROGRESS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE:
+- reason = "STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK:
+- reason = "STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_ID_INVALID:
+- reason = "STATUS_VOLMGR_VOLUME_ID_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_INVALID:
+- reason = "STATUS_VOLMGR_VOLUME_LENGTH_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE:
+- reason = "STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_MIRRORED:
+- reason = "STATUS_VOLMGR_VOLUME_NOT_MIRRORED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_RETAINED:
+- reason = "STATUS_VOLMGR_VOLUME_NOT_RETAINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_OFFLINE:
+- reason = "STATUS_VOLMGR_VOLUME_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_RETAINED:
+- reason = "STATUS_VOLMGR_VOLUME_RETAINED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE:
+- reason = "STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_BAD_BOOT_DISK:
+- reason = "STATUS_VOLMGR_BAD_BOOT_DISK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_OFFLINE:
+- reason = "STATUS_VOLMGR_PACK_CONFIG_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_ONLINE:
+- reason = "STATUS_VOLMGR_PACK_CONFIG_ONLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NOT_PRIMARY_PACK:
+- reason = "STATUS_VOLMGR_NOT_PRIMARY_PACK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED:
+- reason = "STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_MIRRORED:
+- reason = "STATUS_VOLMGR_VOLUME_MIRRORED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED:
+- reason = "STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_VALID_LOG_COPIES:
+- reason = "STATUS_VOLMGR_NO_VALID_LOG_COPIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_PRIMARY_PACK_PRESENT:
+- reason = "STATUS_VOLMGR_PRIMARY_PACK_PRESENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID:
+- reason = "STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_MIRROR_NOT_SUPPORTED:
+- reason = "STATUS_VOLMGR_MIRROR_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLMGR_RAID5_NOT_SUPPORTED:
+- reason = "STATUS_VOLMGR_RAID5_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BCD_TOO_MANY_ELEMENTS:
+- reason = "STATUS_BCD_TOO_MANY_ELEMENTS";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_MISSING:
+- reason = "STATUS_VHD_DRIVE_FOOTER_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH:
+- reason = "STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CORRUPT:
+- reason = "STATUS_VHD_DRIVE_FOOTER_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNKNOWN:
+- reason = "STATUS_VHD_FORMAT_UNKNOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNSUPPORTED_VERSION:
+- reason = "STATUS_VHD_FORMAT_UNSUPPORTED_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH:
+- reason = "STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION:
+- reason = "STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CORRUPT:
+- reason = "STATUS_VHD_SPARSE_HEADER_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_FAILURE:
+- reason = "STATUS_VHD_BLOCK_ALLOCATION_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT:
+- reason = "STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_BLOCK_SIZE:
+- reason = "STATUS_VHD_INVALID_BLOCK_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_BITMAP_MISMATCH:
+- reason = "STATUS_VHD_BITMAP_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_NOT_FOUND:
+- reason = "STATUS_VHD_PARENT_VHD_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_ID_MISMATCH:
+- reason = "STATUS_VHD_CHILD_PARENT_ID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH:
+- reason = "STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_METADATA_READ_FAILURE:
+- reason = "STATUS_VHD_METADATA_READ_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_METADATA_WRITE_FAILURE:
+- reason = "STATUS_VHD_METADATA_WRITE_FAILURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_SIZE:
+- reason = "STATUS_VHD_INVALID_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_FILE_SIZE:
+- reason = "STATUS_VHD_INVALID_FILE_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTDISK_PROVIDER_NOT_FOUND:
+- reason = "STATUS_VIRTDISK_PROVIDER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTDISK_NOT_VIRTUAL_DISK:
+- reason = "STATUS_VIRTDISK_NOT_VIRTUAL_DISK";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_ACCESS_DENIED:
+- reason = "STATUS_VHD_PARENT_VHD_ACCESS_DENIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH:
+- reason = "STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED:
+- reason = "STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT:
+- reason = "STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTUAL_DISK_LIMITATION:
+- reason = "STATUS_VIRTUAL_DISK_LIMITATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_TYPE:
+- reason = "STATUS_VHD_INVALID_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_STATE:
+- reason = "STATUS_VHD_INVALID_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE:
+- reason = "STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ALREADY_OWNED:
+- reason = "STATUS_VIRTDISK_DISK_ALREADY_OWNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE:
+- reason = "STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTLOG_TRACKING_NOT_INITIALIZED:
+- reason = "STATUS_CTLOG_TRACKING_NOT_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE:
+- reason = "STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTLOG_VHD_CHANGED_OFFLINE:
+- reason = "STATUS_CTLOG_VHD_CHANGED_OFFLINE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTLOG_INVALID_TRACKING_STATE:
+- reason = "STATUS_CTLOG_INVALID_TRACKING_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CTLOG_INCONSISTENT_TRACKING_FILE:
+- reason = "STATUS_CTLOG_INCONSISTENT_TRACKING_FILE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_METADATA_FULL:
+- reason = "STATUS_VHD_METADATA_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_INVALID_CHANGE_TRACKING_ID:
+- reason = "STATUS_VHD_INVALID_CHANGE_TRACKING_ID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_CHANGE_TRACKING_DISABLED:
+- reason = "STATUS_VHD_CHANGE_TRACKING_DISABLED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION:
+- reason = "STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA:
+- reason = "STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE:
+- reason = "STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE:
+- reason = "STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_KEY_NOT_FOUND:
+- reason = "STATUS_RKF_KEY_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_DUPLICATE_KEY:
+- reason = "STATUS_RKF_DUPLICATE_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_BLOB_FULL:
+- reason = "STATUS_RKF_BLOB_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_STORE_FULL:
+- reason = "STATUS_RKF_STORE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_FILE_BLOCKED:
+- reason = "STATUS_RKF_FILE_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RKF_ACTIVE_KEY:
+- reason = "STATUS_RKF_ACTIVE_KEY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RDBSS_RESTART_OPERATION:
+- reason = "STATUS_RDBSS_RESTART_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RDBSS_CONTINUE_OPERATION:
+- reason = "STATUS_RDBSS_CONTINUE_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RDBSS_POST_OPERATION:
+- reason = "STATUS_RDBSS_POST_OPERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_RDBSS_RETRY_LOOKUP:
+- reason = "STATUS_RDBSS_RETRY_LOOKUP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_HANDLE:
+- reason = "STATUS_BTH_ATT_INVALID_HANDLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_READ_NOT_PERMITTED:
+- reason = "STATUS_BTH_ATT_READ_NOT_PERMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_WRITE_NOT_PERMITTED:
+- reason = "STATUS_BTH_ATT_WRITE_NOT_PERMITTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_PDU:
+- reason = "STATUS_BTH_ATT_INVALID_PDU";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION:
+- reason = "STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED:
+- reason = "STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_OFFSET:
+- reason = "STATUS_BTH_ATT_INVALID_OFFSET";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION:
+- reason = "STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_PREPARE_QUEUE_FULL:
+- reason = "STATUS_BTH_ATT_PREPARE_QUEUE_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND:
+- reason = "STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG:
+- reason = "STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE:
+- reason = "STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH:
+- reason = "STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNLIKELY:
+- reason = "STATUS_BTH_ATT_UNLIKELY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION:
+- reason = "STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE:
+- reason = "STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_RESOURCES:
+- reason = "STATUS_BTH_ATT_INSUFFICIENT_RESOURCES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNKNOWN_ERROR:
+- reason = "STATUS_BTH_ATT_UNKNOWN_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_ROLLBACK_DETECTED:
+- reason = "STATUS_SECUREBOOT_ROLLBACK_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_VIOLATION:
+- reason = "STATUS_SECUREBOOT_POLICY_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_INVALID_POLICY:
+- reason = "STATUS_SECUREBOOT_INVALID_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND:
+- reason = "STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_SIGNED:
+- reason = "STATUS_SECUREBOOT_POLICY_NOT_SIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_FILE_REPLACED:
+- reason = "STATUS_SECUREBOOT_FILE_REPLACED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED:
+- reason = "STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UNKNOWN:
+- reason = "STATUS_SECUREBOOT_POLICY_UNKNOWN";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION:
+- reason = "STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH:
+- reason = "STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED:
+- reason = "STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH:
+- reason = "STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING:
+- reason = "STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_BASE_POLICY:
+- reason = "STATUS_SECUREBOOT_NOT_BASE_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY:
+- reason = "STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_AUDIO_ENGINE_NODE_NOT_FOUND:
+- reason = "STATUS_AUDIO_ENGINE_NODE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HDAUDIO_EMPTY_CONNECTION_LIST:
+- reason = "STATUS_HDAUDIO_EMPTY_CONNECTION_LIST";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED:
+- reason = "STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED:
+- reason = "STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY:
+- reason = "STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VSM_NOT_INITIALIZED:
+- reason = "STATUS_VSM_NOT_INITIALIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VSM_DMA_PROTECTION_NOT_IN_USE:
+- reason = "STATUS_VSM_DMA_PROTECTION_NOT_IN_USE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLSNAP_BOOTFILE_NOT_VALID:
+- reason = "STATUS_VOLSNAP_BOOTFILE_NOT_VALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VOLSNAP_ACTIVATION_TIMEOUT:
+- reason = "STATUS_VOLSNAP_ACTIVATION_TIMEOUT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_IO_PREEMPTED:
+- reason = "STATUS_IO_PREEMPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_STORED:
+- reason = "STATUS_SVHDX_ERROR_STORED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_NOT_AVAILABLE:
+- reason = "STATUS_SVHDX_ERROR_NOT_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED:
+- reason = "STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_RESERVATION_CONFLICT:
+- reason = "STATUS_SVHDX_RESERVATION_CONFLICT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_WRONG_FILE_TYPE:
+- reason = "STATUS_SVHDX_WRONG_FILE_TYPE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_VERSION_MISMATCH:
+- reason = "STATUS_SVHDX_VERSION_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHD_SHARED:
+- reason = "STATUS_VHD_SHARED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SVHDX_NO_INITIATOR:
+- reason = "STATUS_SVHDX_NO_INITIATOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND:
+- reason = "STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP:
+- reason = "STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMB_BAD_CLUSTER_DIALECT:
+- reason = "STATUS_SMB_BAD_CLUSTER_DIALECT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SMB_GUEST_LOGON_BLOCKED:
+- reason = "STATUS_SMB_GUEST_LOGON_BLOCKED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID:
+- reason = "STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_RESILIENCY_TYPE_INVALID:
+- reason = "STATUS_SPACES_RESILIENCY_TYPE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID:
+- reason = "STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_REDUNDANCY_INVALID:
+- reason = "STATUS_SPACES_DRIVE_REDUNDANCY_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID:
+- reason = "STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_INTERLEAVE_LENGTH_INVALID:
+- reason = "STATUS_SPACES_INTERLEAVE_LENGTH_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID:
+- reason = "STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES:
+- reason = "STATUS_SPACES_NOT_ENOUGH_DRIVES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_EXTENDED_ERROR:
+- reason = "STATUS_SPACES_EXTENDED_ERROR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_PROVISIONING_TYPE_INVALID:
+- reason = "STATUS_SPACES_PROVISIONING_TYPE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_ALLOCATION_SIZE_INVALID:
+- reason = "STATUS_SPACES_ALLOCATION_SIZE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_ENCLOSURE_AWARE_INVALID:
+- reason = "STATUS_SPACES_ENCLOSURE_AWARE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_WRITE_CACHE_SIZE_INVALID:
+- reason = "STATUS_SPACES_WRITE_CACHE_SIZE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_GROUPS_INVALID:
+- reason = "STATUS_SPACES_NUMBER_OF_GROUPS_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID:
+- reason = "STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_UPDATE_COLUMN_STATE:
+- reason = "STATUS_SPACES_UPDATE_COLUMN_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_MAP_REQUIRED:
+- reason = "STATUS_SPACES_MAP_REQUIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_UNSUPPORTED_VERSION:
+- reason = "STATUS_SPACES_UNSUPPORTED_VERSION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_CORRUPT_METADATA:
+- reason = "STATUS_SPACES_CORRUPT_METADATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRT_FULL:
+- reason = "STATUS_SPACES_DRT_FULL";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_INCONSISTENCY:
+- reason = "STATUS_SPACES_INCONSISTENCY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_LOG_NOT_READY:
+- reason = "STATUS_SPACES_LOG_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_NO_REDUNDANCY:
+- reason = "STATUS_SPACES_NO_REDUNDANCY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_NOT_READY:
+- reason = "STATUS_SPACES_DRIVE_NOT_READY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SPLIT:
+- reason = "STATUS_SPACES_DRIVE_SPLIT";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_LOST_DATA:
+- reason = "STATUS_SPACES_DRIVE_LOST_DATA";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INCOMPLETE:
+- reason = "STATUS_SPACES_ENTRY_INCOMPLETE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INVALID:
+- reason = "STATUS_SPACES_ENTRY_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SPACES_MARK_DIRTY:
+- reason = "STATUS_SPACES_MARK_DIRTY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SECCORE_INVALID_COMMAND:
+- reason = "STATUS_SECCORE_INVALID_COMMAND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED:
+- reason = "STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION:
+- reason = "STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_INVALID_POLICY:
+- reason = "STATUS_SYSTEM_INTEGRITY_INVALID_POLICY";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED:
+- reason = "STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES:
+- reason = "STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED:
+- reason = "STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_NO_APPLICABLE_APP_LICENSES_FOUND:
+- reason = "STATUS_NO_APPLICABLE_APP_LICENSES_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_FOUND:
+- reason = "STATUS_CLIP_LICENSE_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_DEVICE_LICENSE_MISSING:
+- reason = "STATUS_CLIP_DEVICE_LICENSE_MISSING";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_INVALID_SIGNATURE:
+- reason = "STATUS_CLIP_LICENSE_INVALID_SIGNATURE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID:
+- reason = "STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_EXPIRED:
+- reason = "STATUS_CLIP_LICENSE_EXPIRED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE:
+- reason = "STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_SIGNED:
+- reason = "STATUS_CLIP_LICENSE_NOT_SIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE:
+- reason = "STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH:
+- reason = "STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED:
+- reason = "STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_INVALID:
+- reason = "STATUS_PLATFORM_MANIFEST_INVALID";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED:
+- reason = "STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED:
+- reason = "STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND:
+- reason = "STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_ACTIVE:
+- reason = "STATUS_PLATFORM_MANIFEST_NOT_ACTIVE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_SIGNED:
+- reason = "STATUS_PLATFORM_MANIFEST_NOT_SIGNED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_CONDITION_NOT_SATISFIED:
+- reason = "STATUS_APPEXEC_CONDITION_NOT_SATISFIED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_HANDLE_INVALIDATED:
+- reason = "STATUS_APPEXEC_HANDLE_INVALIDATED";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_GENERATION:
+- reason = "STATUS_APPEXEC_INVALID_HOST_GENERATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION:
+- reason = "STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_STATE:
+- reason = "STATUS_APPEXEC_INVALID_HOST_STATE";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_NO_DONOR:
+- reason = "STATUS_APPEXEC_NO_DONOR";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_HOST_ID_MISMATCH:
+- reason = "STATUS_APPEXEC_HOST_ID_MISMATCH";
+- break;
+- case MD_NTSTATUS_WIN_STATUS_APPEXEC_UNKNOWN_USER:
+- reason = "STATUS_APPEXEC_UNKNOWN_USER";
+- break;
+- default: {
+- char reason_string[11];
+- snprintf(reason_string, sizeof(reason_string), "0x%08x", ntstatus);
+- reason = reason_string;
+- break;
+- }
++// The content of this array was created from ntstatus.h in the 10 SDK
++// (version 10.0.19041.0) with
++//
++// egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0x[048C][0-9A-F]+L\)' ntstatus.h
++// | tr -d '\r'
++// | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0x[048C][0-9A-F]+)L\).*@\2 \1@'
++// | sort
++// | sed -r 's@(0x[048C][0-9A-F]+) ([A-Z_0-9]+)@ MD_NTSTATUS_WIN_\2,@'
++//
++// With easy copy to clipboard with
++// | xclip -selection c # on linux
++// | clip # on windows
++// | pbcopy # on mac
++static const uint32_t kNTStatusValues[] = {
++ MD_NTSTATUS_WIN_STATUS_SUCCESS,
++ MD_NTSTATUS_WIN_STATUS_WAIT_0,
++ MD_NTSTATUS_WIN_STATUS_WAIT_1,
++ MD_NTSTATUS_WIN_STATUS_WAIT_2,
++ MD_NTSTATUS_WIN_STATUS_WAIT_3,
++ MD_NTSTATUS_WIN_STATUS_WAIT_63,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_0,
++ MD_NTSTATUS_WIN_STATUS_ABANDONED_WAIT_63,
++ MD_NTSTATUS_WIN_STATUS_USER_APC,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_COMPLETE,
++ MD_NTSTATUS_WIN_STATUS_KERNEL_APC,
++ MD_NTSTATUS_WIN_STATUS_ALERTED,
++ MD_NTSTATUS_WIN_STATUS_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_PENDING,
++ MD_NTSTATUS_WIN_STATUS_REPARSE,
++ MD_NTSTATUS_WIN_STATUS_MORE_ENTRIES,
++ MD_NTSTATUS_WIN_STATUS_NOT_ALL_ASSIGNED,
++ MD_NTSTATUS_WIN_STATUS_SOME_NOT_MAPPED,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_BREAK_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_MOUNTED,
++ MD_NTSTATUS_WIN_STATUS_RXACT_COMMITTED,
++ MD_NTSTATUS_WIN_STATUS_NOTIFY_CLEANUP,
++ MD_NTSTATUS_WIN_STATUS_NOTIFY_ENUM_DIR,
++ MD_NTSTATUS_WIN_STATUS_NO_QUOTAS_FOR_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_TRANSITION,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_DEMAND_ZERO,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_COPY_ON_WRITE,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_GUARD_PAGE,
++ MD_NTSTATUS_WIN_STATUS_PAGE_FAULT_PAGING_FILE,
++ MD_NTSTATUS_WIN_STATUS_CACHE_PAGE_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_CRASH_DUMP,
++ MD_NTSTATUS_WIN_STATUS_BUFFER_ALL_ZEROS,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_REQUIREMENTS_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_TRANSLATION_COMPLETE,
++ MD_NTSTATUS_WIN_STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY,
++ MD_NTSTATUS_WIN_STATUS_NOTHING_TO_TERMINATE,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_NOT_IN_JOB,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_IN_JOB,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_HIBERNATE_READY,
++ MD_NTSTATUS_WIN_STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPT_STILL_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_CLONED,
++ MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_ONLY_READERS,
++ MD_NTSTATUS_WIN_STATUS_FILE_LOCKED_WITH_WRITERS,
++ MD_NTSTATUS_WIN_STATUS_VALID_IMAGE_HASH,
++ MD_NTSTATUS_WIN_STATUS_VALID_CATALOG_HASH,
++ MD_NTSTATUS_WIN_STATUS_VALID_STRONG_CODE_HASH,
++ MD_NTSTATUS_WIN_STATUS_GHOSTED,
++ MD_NTSTATUS_WIN_STATUS_DATA_OVERWRITTEN,
++ MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_READ_ONLY,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_FULL,
++ MD_NTSTATUS_WIN_STATUS_RING_PREVIOUSLY_ABOVE_QUOTA,
++ MD_NTSTATUS_WIN_STATUS_RING_NEWLY_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_HANDLE_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_WAIT_FOR_OPLOCK,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_GLOBAL,
++ MD_NTSTATUS_WIN_DBG_EXCEPTION_HANDLED,
++ MD_NTSTATUS_WIN_DBG_CONTINUE,
++ MD_NTSTATUS_WIN_STATUS_FLT_IO_COMPLETE,
++ MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_CONTINUE,
++ MD_NTSTATUS_WIN_STATUS_RTPM_CONTEXT_COMPLETE,
++ MD_NTSTATUS_WIN_STATUS_HV_PENDING_PAGE_REQUESTS,
++ MD_NTSTATUS_WIN_STATUS_SPACES_REPAIRED,
++ MD_NTSTATUS_WIN_STATUS_SPACES_PAUSE,
++ MD_NTSTATUS_WIN_STATUS_SPACES_COMPLETE,
++ MD_NTSTATUS_WIN_STATUS_SPACES_REDIRECT,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_THREAD_WAS_SUSPENDED,
++ MD_NTSTATUS_WIN_STATUS_WORKING_SET_LIMIT_RANGE,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_NOT_AT_BASE,
++ MD_NTSTATUS_WIN_STATUS_RXACT_STATE_CREATED,
++ MD_NTSTATUS_WIN_STATUS_SEGMENT_NOTIFICATION,
++ MD_NTSTATUS_WIN_STATUS_LOCAL_USER_SESSION_KEY,
++ MD_NTSTATUS_WIN_STATUS_BAD_CURRENT_DIRECTORY,
++ MD_NTSTATUS_WIN_STATUS_SERIAL_MORE_WRITES,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_RECOVERED,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_RECOVERY_FROM_BACKUP,
++ MD_NTSTATUS_WIN_STATUS_FT_WRITE_RECOVERY,
++ MD_NTSTATUS_WIN_STATUS_SERIAL_COUNTER_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_NULL_LM_PASSWORD,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_EXPEDITED,
++ MD_NTSTATUS_WIN_STATUS_RECEIVE_PARTIAL_EXPEDITED,
++ MD_NTSTATUS_WIN_STATUS_EVENT_DONE,
++ MD_NTSTATUS_WIN_STATUS_EVENT_PENDING,
++ MD_NTSTATUS_WIN_STATUS_CHECKING_FILE_SYSTEM,
++ MD_NTSTATUS_WIN_STATUS_FATAL_APP_EXIT,
++ MD_NTSTATUS_WIN_STATUS_PREDEFINED_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_WAS_UNLOCKED,
++ MD_NTSTATUS_WIN_STATUS_SERVICE_NOTIFICATION,
++ MD_NTSTATUS_WIN_STATUS_WAS_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_LOG_HARD_ERROR,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_WIN32,
++ MD_NTSTATUS_WIN_STATUS_WX86_UNSIMULATE,
++ MD_NTSTATUS_WIN_STATUS_WX86_CONTINUE,
++ MD_NTSTATUS_WIN_STATUS_WX86_SINGLE_STEP,
++ MD_NTSTATUS_WIN_STATUS_WX86_BREAKPOINT,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CONTINUE,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_LASTCHANCE,
++ MD_NTSTATUS_WIN_STATUS_WX86_EXCEPTION_CHAIN,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE,
++ MD_NTSTATUS_WIN_STATUS_NO_YIELD_PERFORMED,
++ MD_NTSTATUS_WIN_STATUS_TIMER_RESUME_IGNORED,
++ MD_NTSTATUS_WIN_STATUS_ARBITRATION_UNHANDLED,
++ MD_NTSTATUS_WIN_STATUS_CARDBUS_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_WX86_CREATEWX86TIB,
++ MD_NTSTATUS_WIN_STATUS_MP_PROCESSOR_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_HIBERNATED,
++ MD_NTSTATUS_WIN_STATUS_RESUME_HIBERNATION,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_UPDATED,
++ MD_NTSTATUS_WIN_STATUS_DRIVERS_LEAKING_LOCKED_PAGES,
++ MD_NTSTATUS_WIN_STATUS_MESSAGE_RETRIEVED,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_TRANSITION,
++ MD_NTSTATUS_WIN_STATUS_ALPC_CHECK_COMPLETION_LIST,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_AUDIT_BY_POLICY,
++ MD_NTSTATUS_WIN_STATUS_ABANDON_HIBERFILE,
++ MD_NTSTATUS_WIN_STATUS_BIZRULES_NOT_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_FROM_COPY,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_AT_DIFFERENT_BASE,
++ MD_NTSTATUS_WIN_STATUS_PATCH_DEFERRED,
++ MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM,
++ MD_NTSTATUS_WIN_STATUS_DS_SHUTTING_DOWN,
++ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_REDIRECTED,
++ MD_NTSTATUS_WIN_STATUS_SERVICES_FAILED_AUTOSTART,
++ MD_NTSTATUS_WIN_DBG_REPLY_LATER,
++ MD_NTSTATUS_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE,
++ MD_NTSTATUS_WIN_DBG_TERMINATE_THREAD,
++ MD_NTSTATUS_WIN_DBG_TERMINATE_PROCESS,
++ MD_NTSTATUS_WIN_DBG_CONTROL_C,
++ MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_C,
++ MD_NTSTATUS_WIN_DBG_RIPEXCEPTION,
++ MD_NTSTATUS_WIN_DBG_CONTROL_BREAK,
++ MD_NTSTATUS_WIN_DBG_COMMAND_EXCEPTION,
++ MD_NTSTATUS_WIN_DBG_PRINTEXCEPTION_WIDE_C,
++ MD_NTSTATUS_WIN_RPC_NT_UUID_LOCAL_ONLY,
++ MD_NTSTATUS_WIN_RPC_NT_SEND_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_CTX_CDM_CONNECT,
++ MD_NTSTATUS_WIN_STATUS_CTX_CDM_DISCONNECT,
++ MD_NTSTATUS_WIN_STATUS_SXS_RELEASE_ACTIVATION_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_HEURISTIC_DAMAGE_POSSIBLE,
++ MD_NTSTATUS_WIN_STATUS_RECOVERY_NOT_NEEDED,
++ MD_NTSTATUS_WIN_STATUS_RM_ALREADY_STARTED,
++ MD_NTSTATUS_WIN_STATUS_LOG_NO_RESTART,
++ MD_NTSTATUS_WIN_STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARTIAL_DATA_POPULATED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_PINNED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_PREFERRED_MODE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DATASET_IS_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_START_DEFERRED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_START_DEFERRED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INDICATION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_PCP_UNSUPPORTED_PSS_SALT,
++ MD_NTSTATUS_WIN_STATUS_GUARD_PAGE_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT,
++ MD_NTSTATUS_WIN_STATUS_BREAKPOINT,
++ MD_NTSTATUS_WIN_STATUS_SINGLE_STEP,
++ MD_NTSTATUS_WIN_STATUS_BUFFER_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_FILES,
++ MD_NTSTATUS_WIN_STATUS_WAKE_SYSTEM_DEBUGGER,
++ MD_NTSTATUS_WIN_STATUS_HANDLES_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_NO_INHERITANCE,
++ MD_NTSTATUS_WIN_STATUS_GUID_SUBSTITUTION_MADE,
++ MD_NTSTATUS_WIN_STATUS_PARTIAL_COPY,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_PAPER_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_POWERED_OFF,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_OFF_LINE,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_BUSY,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_EAS,
++ MD_NTSTATUS_WIN_STATUS_INVALID_EA_NAME,
++ MD_NTSTATUS_WIN_STATUS_EA_LIST_INCONSISTENT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_EA_FLAG,
++ MD_NTSTATUS_WIN_STATUS_VERIFY_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_EXTRANEOUS_INFORMATION,
++ MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_NECESSARY,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_ENTRIES,
++ MD_NTSTATUS_WIN_STATUS_FILEMARK_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_MEDIA_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_BUS_RESET,
++ MD_NTSTATUS_WIN_STATUS_END_OF_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_BEGINNING_OF_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_MEDIA_CHECK,
++ MD_NTSTATUS_WIN_STATUS_SETMARK_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_NO_DATA_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_REDIRECTOR_HAS_OPEN_HANDLES,
++ MD_NTSTATUS_WIN_STATUS_SERVER_HAS_OPEN_HANDLES,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_LONGJUMP,
++ MD_NTSTATUS_WIN_STATUS_CLEANER_CARTRIDGE_INSTALLED,
++ MD_NTSTATUS_WIN_STATUS_PLUGPLAY_QUERY_VETOED,
++ MD_NTSTATUS_WIN_STATUS_UNWIND_CONSOLIDATE,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_HIVE_RECOVERED,
++ MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INSECURE,
++ MD_NTSTATUS_WIN_STATUS_DLL_MIGHT_BE_INCOMPATIBLE,
++ MD_NTSTATUS_WIN_STATUS_STOPPED_ON_SYMLINK,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_GRANT_REQUESTED_OPLOCK,
++ MD_NTSTATUS_WIN_STATUS_NO_ACE_CONDITION,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_SUPPORT_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_CYCLE_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_NO_WORK_DONE,
++ MD_NTSTATUS_WIN_STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_REQUIRES_CLEANING,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_DOOR_OPEN,
++ MD_NTSTATUS_WIN_STATUS_DATA_LOST_REPAIR,
++ MD_NTSTATUS_WIN_STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS,
++ MD_NTSTATUS_WIN_DBG_EXCEPTION_NOT_HANDLED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_UP,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_DOWN,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_ONLINE,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_ALREADY_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_COULD_NOT_RESIZE_LOG,
++ MD_NTSTATUS_WIN_STATUS_NO_TXF_METADATA,
++ MD_NTSTATUS_WIN_STATUS_CANT_RECOVER_WITH_HANDLE_OPEN,
++ MD_NTSTATUS_WIN_STATUS_TXF_METADATA_ALREADY_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED,
++ MD_NTSTATUS_WIN_STATUS_FLT_BUFFER_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_FVE_PARTIAL_METADATA,
++ MD_NTSTATUS_WIN_STATUS_FVE_TRANSIENT_STATE,
++ MD_NTSTATUS_WIN_STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_REGENERATION,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION,
++ MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED,
++ MD_NTSTATUS_WIN_STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED,
++ MD_NTSTATUS_WIN_STATUS_QUERY_STORAGE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GDI_HANDLE_LEAK,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_UNSUCCESSFUL,
++ MD_NTSTATUS_WIN_STATUS_NOT_IMPLEMENTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_INFO_CLASS,
++ MD_NTSTATUS_WIN_STATUS_INFO_LENGTH_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_IN_PAGE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA,
++ MD_NTSTATUS_WIN_STATUS_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_STACK,
++ MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_PC,
++ MD_NTSTATUS_WIN_STATUS_INVALID_CID,
++ MD_NTSTATUS_WIN_STATUS_TIMER_NOT_CANCELED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_FILE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_END_OF_FILE,
++ MD_NTSTATUS_WIN_STATUS_WRONG_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_NO_MEDIA_IN_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_NONEXISTENT_SECTOR,
++ MD_NTSTATUS_WIN_STATUS_MORE_PROCESSING_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_NO_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_CONFLICTING_ADDRESSES,
++ MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_VIEW,
++ MD_NTSTATUS_WIN_STATUS_UNABLE_TO_FREE_VM,
++ MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DELETE_SECTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SYSTEM_SERVICE,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_INSTRUCTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_SEQUENCE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_VIEW_SIZE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_FILE_FOR_SECTION,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_COMMITTED,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_BUFFER_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_TYPE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_NONCONTINUABLE_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DISPOSITION,
++ MD_NTSTATUS_WIN_STATUS_UNWIND,
++ MD_NTSTATUS_WIN_STATUS_BAD_STACK,
++ MD_NTSTATUS_WIN_STATUS_INVALID_UNWIND_TARGET,
++ MD_NTSTATUS_WIN_STATUS_NOT_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_PARITY_ERROR,
++ MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DECOMMIT_VM,
++ MD_NTSTATUS_WIN_STATUS_NOT_COMMITTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PORT_ATTRIBUTES,
++ MD_NTSTATUS_WIN_STATUS_PORT_MESSAGE_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_MIX,
++ MD_NTSTATUS_WIN_STATUS_INVALID_QUOTA_LOWER,
++ MD_NTSTATUS_WIN_STATUS_DISK_CORRUPT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_INVALID,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_PORT_DO_NOT_DISTURB,
++ MD_NTSTATUS_WIN_STATUS_PORT_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_ALREADY_ATTACHED,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_INVALID,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_SYNTAX_BAD,
++ MD_NTSTATUS_WIN_STATUS_DATA_OVERRUN,
++ MD_NTSTATUS_WIN_STATUS_DATA_LATE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DATA_ERROR,
++ MD_NTSTATUS_WIN_STATUS_CRC_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SECTION_TOO_BIG,
++ MD_NTSTATUS_WIN_STATUS_PORT_CONNECTION_REFUSED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PORT_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_SHARING_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PAGE_PROTECTION,
++ MD_NTSTATUS_WIN_STATUS_MUTANT_NOT_OWNED,
++ MD_NTSTATUS_WIN_STATUS_SEMAPHORE_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_SET,
++ MD_NTSTATUS_WIN_STATUS_SECTION_NOT_IMAGE,
++ MD_NTSTATUS_WIN_STATUS_SUSPEND_COUNT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_THREAD_IS_TERMINATING,
++ MD_NTSTATUS_WIN_STATUS_BAD_WORKING_SET_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_FILE_MAP,
++ MD_NTSTATUS_WIN_STATUS_SECTION_PROTECTION,
++ MD_NTSTATUS_WIN_STATUS_EAS_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_EA_TOO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_NONEXISTENT_EA_ENTRY,
++ MD_NTSTATUS_WIN_STATUS_NO_EAS_ON_FILE,
++ MD_NTSTATUS_WIN_STATUS_EA_CORRUPT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FILE_LOCK_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_LOCK_NOT_GRANTED,
++ MD_NTSTATUS_WIN_STATUS_DELETE_PENDING,
++ MD_NTSTATUS_WIN_STATUS_CTL_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_UNKNOWN_REVISION,
++ MD_NTSTATUS_WIN_STATUS_REVISION_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_INVALID_OWNER,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PRIMARY_GROUP,
++ MD_NTSTATUS_WIN_STATUS_NO_IMPERSONATION_TOKEN,
++ MD_NTSTATUS_WIN_STATUS_CANT_DISABLE_MANDATORY,
++ MD_NTSTATUS_WIN_STATUS_NO_LOGON_SERVERS,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_LOGON_SESSION,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_PRIVILEGE,
++ MD_NTSTATUS_WIN_STATUS_PRIVILEGE_NOT_HELD,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ACCOUNT_NAME,
++ MD_NTSTATUS_WIN_STATUS_USER_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_USER,
++ MD_NTSTATUS_WIN_STATUS_GROUP_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_GROUP,
++ MD_NTSTATUS_WIN_STATUS_MEMBER_IN_GROUP,
++ MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_GROUP,
++ MD_NTSTATUS_WIN_STATUS_LAST_ADMIN,
++ MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD,
++ MD_NTSTATUS_WIN_STATUS_ILL_FORMED_PASSWORD,
++ MD_NTSTATUS_WIN_STATUS_PASSWORD_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_LOGON_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_ACCOUNT_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_HOURS,
++ MD_NTSTATUS_WIN_STATUS_INVALID_WORKSTATION,
++ MD_NTSTATUS_WIN_STATUS_PASSWORD_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_ACCOUNT_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_NONE_MAPPED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_LUIDS_REQUESTED,
++ MD_NTSTATUS_WIN_STATUS_LUIDS_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SUB_AUTHORITY,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ACL,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SID,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SECURITY_DESCR,
++ MD_NTSTATUS_WIN_STATUS_PROCEDURE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_NO_TOKEN,
++ MD_NTSTATUS_WIN_STATUS_BAD_INHERITANCE_ACL,
++ MD_NTSTATUS_WIN_STATUS_RANGE_NOT_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_DISK_FULL,
++ MD_NTSTATUS_WIN_STATUS_SERVER_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_SERVER_NOT_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_GUIDS_REQUESTED,
++ MD_NTSTATUS_WIN_STATUS_GUIDS_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ID_AUTHORITY,
++ MD_NTSTATUS_WIN_STATUS_AGENTS_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_VOLUME_LABEL,
++ MD_NTSTATUS_WIN_STATUS_SECTION_NOT_EXTENDED,
++ MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_DATA,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_DATA_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_TYPE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_NAME_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_ARRAY_BOUNDS_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_DENORMAL_OPERAND,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_DIVIDE_BY_ZERO,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_INEXACT_RESULT,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_INVALID_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_STACK_CHECK,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_UNDERFLOW,
++ MD_NTSTATUS_WIN_STATUS_INTEGER_DIVIDE_BY_ZERO,
++ MD_NTSTATUS_WIN_STATUS_INTEGER_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_PRIVILEGED_INSTRUCTION,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_PAGING_FILES,
++ MD_NTSTATUS_WIN_STATUS_FILE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_ALLOTTED_SPACE_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_DFS_EXIT_PATH_FOUND,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_DATA_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_FREE_VM_NOT_AT_BASE,
++ MD_NTSTATUS_WIN_STATUS_MEMORY_NOT_ALLOCATED,
++ MD_NTSTATUS_WIN_STATUS_WORKING_SET_QUOTA,
++ MD_NTSTATUS_WIN_STATUS_MEDIA_WRITE_PROTECTED,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_INVALID_GROUP_ATTRIBUTES,
++ MD_NTSTATUS_WIN_STATUS_BAD_IMPERSONATION_LEVEL,
++ MD_NTSTATUS_WIN_STATUS_CANT_OPEN_ANONYMOUS,
++ MD_NTSTATUS_WIN_STATUS_BAD_VALIDATION_CLASS,
++ MD_NTSTATUS_WIN_STATUS_BAD_TOKEN_TYPE,
++ MD_NTSTATUS_WIN_STATUS_BAD_MASTER_BOOT_RECORD,
++ MD_NTSTATUS_WIN_STATUS_INSTRUCTION_MISALIGNMENT,
++ MD_NTSTATUS_WIN_STATUS_INSTANCE_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_PIPE_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PIPE_STATE,
++ MD_NTSTATUS_WIN_STATUS_PIPE_BUSY,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_FUNCTION,
++ MD_NTSTATUS_WIN_STATUS_PIPE_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_PIPE_CLOSING,
++ MD_NTSTATUS_WIN_STATUS_PIPE_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_PIPE_LISTENING,
++ MD_NTSTATUS_WIN_STATUS_INVALID_READ_MODE,
++ MD_NTSTATUS_WIN_STATUS_IO_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_FILE_FORCED_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STARTED,
++ MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STOPPED,
++ MD_NTSTATUS_WIN_STATUS_COULD_NOT_INTERPRET,
++ MD_NTSTATUS_WIN_STATUS_FILE_IS_A_DIRECTORY,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_NOT_LISTENING,
++ MD_NTSTATUS_WIN_STATUS_DUPLICATE_NAME,
++ MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_PATH,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_BUSY,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_DOES_NOT_EXIST,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_COMMANDS,
++ MD_NTSTATUS_WIN_STATUS_ADAPTER_HARDWARE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_INVALID_NETWORK_RESPONSE,
++ MD_NTSTATUS_WIN_STATUS_UNEXPECTED_NETWORK_ERROR,
++ MD_NTSTATUS_WIN_STATUS_BAD_REMOTE_ADAPTER,
++ MD_NTSTATUS_WIN_STATUS_PRINT_QUEUE_FULL,
++ MD_NTSTATUS_WIN_STATUS_NO_SPOOL_SPACE,
++ MD_NTSTATUS_WIN_STATUS_PRINT_CANCELLED,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_NAME_DELETED,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_BAD_DEVICE_TYPE,
++ MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_NAME,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_NAMES,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_SESSIONS,
++ MD_NTSTATUS_WIN_STATUS_SHARING_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_REQUEST_NOT_ACCEPTED,
++ MD_NTSTATUS_WIN_STATUS_REDIRECTOR_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_NET_WRITE_FAULT,
++ MD_NTSTATUS_WIN_STATUS_PROFILING_AT_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_NOT_SAME_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_FILE_RENAMED,
++ MD_NTSTATUS_WIN_STATUS_VIRTUAL_CIRCUIT_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_NO_SECURITY_ON_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_CANT_WAIT,
++ MD_NTSTATUS_WIN_STATUS_PIPE_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_CANT_ACCESS_DOMAIN_INFO,
++ MD_NTSTATUS_WIN_STATUS_CANT_TERMINATE_SELF,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SERVER_STATE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_STATE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_ROLE,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_DOMAIN,
++ MD_NTSTATUS_WIN_STATUS_DOMAIN_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_DOMAIN_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_OPLOCK_NOT_GRANTED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_OPLOCK_PROTOCOL,
++ MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_CORRUPTION,
++ MD_NTSTATUS_WIN_STATUS_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GENERIC_NOT_MAPPED,
++ MD_NTSTATUS_WIN_STATUS_BAD_DESCRIPTOR_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_USER_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_UNEXPECTED_IO_ERROR,
++ MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_CREATE_ERR,
++ MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_MAP_ERROR,
++ MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_EXTEND_ERR,
++ MD_NTSTATUS_WIN_STATUS_NOT_LOGON_PROCESS,
++ MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_1,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_2,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_3,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_4,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_5,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_6,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_7,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_8,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_9,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_10,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_11,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_12,
++ MD_NTSTATUS_WIN_STATUS_REDIRECTOR_NOT_STARTED,
++ MD_NTSTATUS_WIN_STATUS_REDIRECTOR_STARTED,
++ MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_PACKAGE,
++ MD_NTSTATUS_WIN_STATUS_BAD_FUNCTION_TABLE,
++ MD_NTSTATUS_WIN_STATUS_VARIABLE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_FILE_CORRUPT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_DIRECTORY,
++ MD_NTSTATUS_WIN_STATUS_BAD_LOGON_SESSION_STATE,
++ MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_NAME_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_FILES_OPEN,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_MESSAGE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_IS_TERMINATING,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_TYPE,
++ MD_NTSTATUS_WIN_STATUS_NO_GUID_TRANSLATION,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_IMPERSONATE,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_LID_NOT_EXIST,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_LID_ALREADY_OWNED,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_LID_OWNER,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_COMMAND,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_LID,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_SELECTOR,
++ MD_NTSTATUS_WIN_STATUS_NO_LDT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LDT_SIZE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LDT_OFFSET,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LDT_DESCRIPTOR,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NE_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_RXACT_INVALID_STATE,
++ MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_MAPPED_FILE_SIZE_ZERO,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_OPENED_FILES,
++ MD_NTSTATUS_WIN_STATUS_CANCELLED,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_DELETE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_COMPUTER_NAME,
++ MD_NTSTATUS_WIN_STATUS_FILE_DELETED,
++ MD_NTSTATUS_WIN_STATUS_SPECIAL_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_SPECIAL_GROUP,
++ MD_NTSTATUS_WIN_STATUS_SPECIAL_USER,
++ MD_NTSTATUS_WIN_STATUS_MEMBERS_PRIMARY_GROUP,
++ MD_NTSTATUS_WIN_STATUS_FILE_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_THREADS,
++ MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_PROCESS,
++ MD_NTSTATUS_WIN_STATUS_TOKEN_ALREADY_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_COMMITMENT_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_LE_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NOT_MZ,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_PROTECT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_16,
++ MD_NTSTATUS_WIN_STATUS_LOGON_SERVER_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_TIME_DIFFERENCE_AT_DC,
++ MD_NTSTATUS_WIN_STATUS_SYNCHRONIZATION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_DLL_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_OPEN_FAILED,
++ MD_NTSTATUS_WIN_STATUS_IO_PRIVILEGE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_ORDINAL_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_ENTRYPOINT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CONTROL_C_EXIT,
++ MD_NTSTATUS_WIN_STATUS_LOCAL_DISCONNECT,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_DISCONNECT,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_LINK_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LINK_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_CONNECTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS,
++ MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED,
++ MD_NTSTATUS_WIN_STATUS_MISSING_SYSTEMFILE,
++ MD_NTSTATUS_WIN_STATUS_UNHANDLED_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_APP_INIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_PAGEFILE_CREATE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_NO_PAGEFILE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LEVEL,
++ MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD_CORE,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_FLOAT_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_PIPE_BROKEN,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_IO_FAILED,
++ MD_NTSTATUS_WIN_STATUS_NO_EVENT_PAIR,
++ MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_SERIAL_NO_DEVICE_INITED,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_ALIAS,
++ MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_ALIAS,
++ MD_NTSTATUS_WIN_STATUS_MEMBER_IN_ALIAS,
++ MD_NTSTATUS_WIN_STATUS_ALIAS_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_LOGON_NOT_GRANTED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_SECRETS,
++ MD_NTSTATUS_WIN_STATUS_SECRET_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FULLSCREEN_MODE,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_CONTEXT_IDS,
++ MD_NTSTATUS_WIN_STATUS_LOGON_TYPE_NOT_GRANTED,
++ MD_NTSTATUS_WIN_STATUS_NOT_REGISTRY_FILE,
++ MD_NTSTATUS_WIN_STATUS_NT_CROSS_ENCRYPTION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_DOMAIN_CTRLR_CONFIG_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FT_MISSING_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_ILL_FORMED_SERVICE_ENTRY,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_CHARACTER,
++ MD_NTSTATUS_WIN_STATUS_UNMAPPABLE_CHARACTER,
++ MD_NTSTATUS_WIN_STATUS_UNDEFINED_CHARACTER,
++ MD_NTSTATUS_WIN_STATUS_FLOPPY_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_FLOPPY_ID_MARK_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FLOPPY_WRONG_CYLINDER,
++ MD_NTSTATUS_WIN_STATUS_FLOPPY_UNKNOWN_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FLOPPY_BAD_REGISTERS,
++ MD_NTSTATUS_WIN_STATUS_DISK_RECALIBRATE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_DISK_OPERATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_DISK_RESET_FAILED,
++ MD_NTSTATUS_WIN_STATUS_SHARED_IRQ_BUSY,
++ MD_NTSTATUS_WIN_STATUS_FT_ORPHANING,
++ MD_NTSTATUS_WIN_STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT,
++ MD_NTSTATUS_WIN_STATUS_PARTITION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_BLOCK_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_PARTITIONED,
++ MD_NTSTATUS_WIN_STATUS_UNABLE_TO_LOCK_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_UNABLE_TO_UNLOAD_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_EOM_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_NO_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_NO_SUCH_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_INVALID_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_KEY_DELETED,
++ MD_NTSTATUS_WIN_STATUS_NO_LOG_SPACE,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_SIDS,
++ MD_NTSTATUS_WIN_STATUS_LM_CROSS_ENCRYPTION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_KEY_HAS_CHILDREN,
++ MD_NTSTATUS_WIN_STATUS_CHILD_MUST_BE_VOLATILE,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_CONFIGURATION_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_STATE,
++ MD_NTSTATUS_WIN_STATUS_IO_DEVICE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_PROTOCOL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_BACKUP_CONTROLLER,
++ MD_NTSTATUS_WIN_STATUS_LOG_FILE_FULL,
++ MD_NTSTATUS_WIN_STATUS_TOO_LATE,
++ MD_NTSTATUS_WIN_STATUS_NO_TRUST_LSA_SECRET,
++ MD_NTSTATUS_WIN_STATUS_NO_TRUST_SAM_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_TRUSTED_DOMAIN_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_TRUSTED_RELATIONSHIP_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_EVENTLOG_CANT_START,
++ MD_NTSTATUS_WIN_STATUS_TRUST_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_MUTANT_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_NETLOGON_NOT_STARTED,
++ MD_NTSTATUS_WIN_STATUS_ACCOUNT_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_POSSIBLE_DEADLOCK,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_CREDENTIAL_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_SESSION_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_DOMAIN_TRUST_INCONSISTENT,
++ MD_NTSTATUS_WIN_STATUS_FS_DRIVER_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED_AS_DLL,
++ MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING,
++ MD_NTSTATUS_WIN_STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_SECURITY_STREAM_IS_INCONSISTENT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_RANGE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ACE_CONDITION,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_NOTIFICATION_GUID_ALREADY_DEFINED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_EXCEPTION_HANDLER,
++ MD_NTSTATUS_WIN_STATUS_DUPLICATE_PRIVILEGES,
++ MD_NTSTATUS_WIN_STATUS_NOT_ALLOWED_ON_SYSTEM_FILE,
++ MD_NTSTATUS_WIN_STATUS_REPAIR_NEEDED,
++ MD_NTSTATUS_WIN_STATUS_QUOTA_NOT_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_NO_APPLICATION_PACKAGE,
++ MD_NTSTATUS_WIN_STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_NOT_SAME_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_FATAL_MEMORY_EXHAUSTION,
++ MD_NTSTATUS_WIN_STATUS_ERROR_PROCESS_NOT_IN_JOB,
++ MD_NTSTATUS_WIN_STATUS_CPU_SET_INVALID,
++ MD_NTSTATUS_WIN_STATUS_IO_DEVICE_INVALID_DATA,
++ MD_NTSTATUS_WIN_STATUS_IO_UNALIGNED_WRITE,
++ MD_NTSTATUS_WIN_STATUS_CONTROL_STACK_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_OPEN_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_NO_USER_SESSION_KEY,
++ MD_NTSTATUS_WIN_STATUS_USER_SESSION_DELETED,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_LANG_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_INSUFF_SERVER_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_INVALID_BUFFER_SIZE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_COMPONENT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_WILDCARD,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_ADDRESSES,
++ MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_ADDRESS_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_RESET,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_NODES,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_TIMED_OUT,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_RELEASE,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_MATCH,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONDED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_ID,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_TYPE,
++ MD_NTSTATUS_WIN_STATUS_NOT_SERVER_SESSION,
++ MD_NTSTATUS_WIN_STATUS_NOT_CLIENT_SESSION,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_LOAD_REGISTRY_FILE,
++ MD_NTSTATUS_WIN_STATUS_DEBUG_ATTACH_FAILED,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_PROCESS_TERMINATED,
++ MD_NTSTATUS_WIN_STATUS_DATA_NOT_ACCEPTED,
++ MD_NTSTATUS_WIN_STATUS_NO_BROWSER_SERVERS_FOUND,
++ MD_NTSTATUS_WIN_STATUS_VDM_HARD_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_CANCEL_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_REPLY_MESSAGE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_MAPPED_ALIGNMENT,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_CHECKSUM_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA,
++ MD_NTSTATUS_WIN_STATUS_CLIENT_SERVER_PARAMETERS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_PASSWORD_MUST_CHANGE,
++ MD_NTSTATUS_WIN_STATUS_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NOT_TINY_STREAM,
++ MD_NTSTATUS_WIN_STATUS_RECOVERY_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW_READ,
++ MD_NTSTATUS_WIN_STATUS_FAIL_CHECK,
++ MD_NTSTATUS_WIN_STATUS_DUPLICATE_OBJECTID,
++ MD_NTSTATUS_WIN_STATUS_OBJECTID_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_CONVERT_TO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_RETRY,
++ MD_NTSTATUS_WIN_STATUS_FOUND_OUT_OF_SCOPE,
++ MD_NTSTATUS_WIN_STATUS_ALLOCATE_BUCKET,
++ MD_NTSTATUS_WIN_STATUS_PROPSET_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_MARSHALL_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_INVALID_VARIANT,
++ MD_NTSTATUS_WIN_STATUS_DOMAIN_CONTROLLER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_ACCOUNT_LOCKED_OUT,
++ MD_NTSTATUS_WIN_STATUS_HANDLE_NOT_CLOSABLE,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_REFUSED,
++ MD_NTSTATUS_WIN_STATUS_GRACEFUL_DISCONNECT,
++ MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_ASSOCIATED,
++ MD_NTSTATUS_WIN_STATUS_ADDRESS_NOT_ASSOCIATED,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_HOST_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_PROTOCOL_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_PORT_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_REQUEST_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_BAD_COMPRESSION_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_USER_MAPPED_FILE,
++ MD_NTSTATUS_WIN_STATUS_AUDIT_FAILED,
++ MD_NTSTATUS_WIN_STATUS_TIMER_RESOLUTION_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_CONNECTION_COUNT_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_LOGIN_TIME_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_LOGIN_WKSTA_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_MP_UP_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_LOGON_INFO,
++ MD_NTSTATUS_WIN_STATUS_BAD_DLL_ENTRYPOINT,
++ MD_NTSTATUS_WIN_STATUS_BAD_SERVICE_ENTRYPOINT,
++ MD_NTSTATUS_WIN_STATUS_LPC_REPLY_LOST,
++ MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT1,
++ MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT2,
++ MD_NTSTATUS_WIN_STATUS_REGISTRY_QUOTA_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_PATH_NOT_COVERED,
++ MD_NTSTATUS_WIN_STATUS_NO_CALLBACK_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_LICENSE_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_PWD_TOO_SHORT,
++ MD_NTSTATUS_WIN_STATUS_PWD_TOO_RECENT,
++ MD_NTSTATUS_WIN_STATUS_PWD_HISTORY_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_PLUGPLAY_NO_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_COMPRESSION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_HW_PROFILE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PLUGPLAY_DEVICE_PATH,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_ORDINAL_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_NOT_OWNED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_LINKS,
++ MD_NTSTATUS_WIN_STATUS_QUOTA_LIST_INCONSISTENT,
++ MD_NTSTATUS_WIN_STATUS_FILE_IS_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_EVALUATION_EXPIRATION,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_DLL_RELOCATION,
++ MD_NTSTATUS_WIN_STATUS_LICENSE_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED_LOGOFF,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_UNABLE_TO_LOAD,
++ MD_NTSTATUS_WIN_STATUS_DFS_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_DISMOUNTED,
++ MD_NTSTATUS_WIN_STATUS_WX86_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_WX86_FLOAT_STACK_CHECK,
++ MD_NTSTATUS_WIN_STATUS_VALIDATE_CONTINUE,
++ MD_NTSTATUS_WIN_STATUS_NO_MATCH,
++ MD_NTSTATUS_WIN_STATUS_NO_MORE_MATCHES,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_REPARSE_POINT,
++ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_INVALID,
++ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_DATA_INVALID,
++ MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_NOT_HANDLED,
++ MD_NTSTATUS_WIN_STATUS_PWD_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_STOWED_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_CONTEXT_STOWED_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_NOT_RESOLVED,
++ MD_NTSTATUS_WIN_STATUS_DIRECTORY_IS_A_REPARSE_POINT,
++ MD_NTSTATUS_WIN_STATUS_RANGE_LIST_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_SOURCE_ELEMENT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_DESTINATION_ELEMENT_FULL,
++ MD_NTSTATUS_WIN_STATUS_ILLEGAL_ELEMENT_ADDRESS,
++ MD_NTSTATUS_WIN_STATUS_MAGAZINE_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_REINITIALIZATION_NEEDED,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_DECRYPTION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_RANGE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NO_RECOVERY_POLICY,
++ MD_NTSTATUS_WIN_STATUS_NO_EFS,
++ MD_NTSTATUS_WIN_STATUS_WRONG_EFS,
++ MD_NTSTATUS_WIN_STATUS_NO_USER_KEYS,
++ MD_NTSTATUS_WIN_STATUS_FILE_NOT_ENCRYPTED,
++ MD_NTSTATUS_WIN_STATUS_NOT_EXPORT_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_FILE_ENCRYPTED,
++ MD_NTSTATUS_WIN_STATUS_WMI_GUID_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_WMI_INSTANCE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_WMI_ITEMID_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_WMI_TRY_AGAIN,
++ MD_NTSTATUS_WIN_STATUS_SHARED_POLICY,
++ MD_NTSTATUS_WIN_STATUS_POLICY_OBJECT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_POLICY_ONLY_IN_DS,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_UPGRADED,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_NOT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_MEDIA_ERROR,
++ MD_NTSTATUS_WIN_STATUS_NO_TRACKING_SERVICE,
++ MD_NTSTATUS_WIN_STATUS_SERVER_SID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_ATTRIBUTE_OR_VALUE,
++ MD_NTSTATUS_WIN_STATUS_DS_INVALID_ATTRIBUTE_SYNTAX,
++ MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED,
++ MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_DS_BUSY,
++ MD_NTSTATUS_WIN_STATUS_DS_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_RIDS_ALLOCATED,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_MORE_RIDS,
++ MD_NTSTATUS_WIN_STATUS_DS_INCORRECT_ROLE_OWNER,
++ MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_INIT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DS_OBJ_CLASS_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_NON_LEAF,
++ MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_RDN,
++ MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_OBJ_CLASS,
++ MD_NTSTATUS_WIN_STATUS_DS_CROSS_DOM_MOVE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_DS_GC_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_DIRECTORY_SERVICE_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_ATTRIBUTE_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_CANT_ENABLE_DENY_ONLY,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_FAULTS,
++ MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_TRAPS,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_REMOVED,
++ MD_NTSTATUS_WIN_STATUS_JOURNAL_DELETE_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_JOURNAL_NOT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_NOINTERFACE,
++ MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_DS_ADMIN_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_SLEEP,
++ MD_NTSTATUS_WIN_STATUS_MUTUAL_AUTHENTICATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_SYSTEM_FILE,
++ MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_WMI_READ_ONLY,
++ MD_NTSTATUS_WIN_STATUS_WMI_SET_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_COMMITMENT_MINIMUM,
++ MD_NTSTATUS_WIN_STATUS_REG_NAT_CONSUMPTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSPORT_FULL,
++ MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_ONLY_IF_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_DS_SENSITIVE_GROUP_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_PNP_RESTART_ENUMERATION,
++ MD_NTSTATUS_WIN_STATUS_JOURNAL_ENTRY_DELETED,
++ MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_PRIMARYGROUPID,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_IMAGE_BAD_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_PNP_REBOOT_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_POWER_STATE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_DS_INVALID_GROUP_TYPE,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN,
++ MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_DS_HAVE_PRIMARY_MEMBERS,
++ MD_NTSTATUS_WIN_STATUS_WMI_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_POWER,
++ MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_PASSWORD,
++ MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_FLOPPY,
++ MD_NTSTATUS_WIN_STATUS_DS_CANT_START,
++ MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_SAM_INIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_DS_GC_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY,
++ MD_NTSTATUS_WIN_STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS,
++ MD_NTSTATUS_WIN_STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_MULTIPLE_FAULT_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_CURRENT_DOMAIN_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_MAKE,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_SHUTDOWN,
++ MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE_CONSOLE,
++ MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE_CONSOLE,
++ MD_NTSTATUS_WIN_STATUS_UNFINISHED_CONTEXT_DELETED,
++ MD_NTSTATUS_WIN_STATUS_NO_TGT_REPLY,
++ MD_NTSTATUS_WIN_STATUS_OBJECTID_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NO_IP_ADDRESSES,
++ MD_NTSTATUS_WIN_STATUS_WRONG_CREDENTIAL_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_CRYPTO_SYSTEM_INVALID,
++ MD_NTSTATUS_WIN_STATUS_MAX_REFERRALS_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_MUST_BE_KDC,
++ MD_NTSTATUS_WIN_STATUS_STRONG_CRYPTO_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_PRINCIPALS,
++ MD_NTSTATUS_WIN_STATUS_NO_PA_DATA,
++ MD_NTSTATUS_WIN_STATUS_PKINIT_NAME_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_LOGON_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_KDC_INVALID_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_KDC_UNABLE_TO_REFER,
++ MD_NTSTATUS_WIN_STATUS_KDC_UNKNOWN_ETYPE,
++ MD_NTSTATUS_WIN_STATUS_SHUTDOWN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_SERVER_SHUTDOWN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_SBS,
++ MD_NTSTATUS_WIN_STATUS_WMI_GUID_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_MFT_TOO_FRAGMENTED,
++ MD_NTSTATUS_WIN_STATUS_COPY_PROTECTION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_CSS_AUTHENTICATION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_ESTABLISHED,
++ MD_NTSTATUS_WIN_STATUS_CSS_SCRAMBLED_SECTOR,
++ MD_NTSTATUS_WIN_STATUS_CSS_REGION_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_CSS_RESETS_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_PASSWORD_CHANGE_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_LOST_MODE_LOGON_RESTRICTION,
++ MD_NTSTATUS_WIN_STATUS_PKINIT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_SUBSYSTEM_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_NO_KERB_KEY,
++ MD_NTSTATUS_WIN_STATUS_HOST_DOWN,
++ MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_PREAUTH,
++ MD_NTSTATUS_WIN_STATUS_EFS_ALG_BLOB_TOO_BIG,
++ MD_NTSTATUS_WIN_STATUS_PORT_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_DEBUGGER_INACTIVE,
++ MD_NTSTATUS_WIN_STATUS_DS_VERSION_CHECK_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_AUDITING_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_PRENT4_MACHINE_ACCOUNT,
++ MD_NTSTATUS_WIN_STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_32,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_64,
++ MD_NTSTATUS_WIN_STATUS_BAD_BINDINGS,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_SESSION_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_APPHELP_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_ALL_SIDS_FILTERED,
++ MD_NTSTATUS_WIN_STATUS_NOT_SAFE_MODE_DRIVER,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PATH,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_OTHER,
++ MD_NTSTATUS_WIN_STATUS_FAILED_DRIVER_ENTRY,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_ENUMERATION_ERROR,
++ MD_NTSTATUS_WIN_STATUS_MOUNT_POINT_NOT_RESOLVED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_OBJECT_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_MCA_OCCURED,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED_CRITICAL,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_DATABASE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_HIVE_TOO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMPORT_OF_NON_DLL,
++ MD_NTSTATUS_WIN_STATUS_NO_SECRETS,
++ MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY,
++ MD_NTSTATUS_WIN_STATUS_FAILED_STACK_SWITCH,
++ MD_NTSTATUS_WIN_STATUS_HEAP_CORRUPTION,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_WRONG_PIN,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CARD,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEY_CONTAINER,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CERTIFICATE,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEYSET,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_IO_ERROR,
++ MD_NTSTATUS_WIN_STATUS_DOWNGRADE_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_REVOKED,
++ MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED,
++ MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_C,
++ MD_NTSTATUS_WIN_STATUS_PKINIT_CLIENT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_PRIOR_UNLOAD,
++ MD_NTSTATUS_WIN_STATUS_SMARTCARD_SILENT_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_PER_USER_TRUST_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_DS_NAME_NOT_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_DS_DUPLICATE_ID_FOUND,
++ MD_NTSTATUS_WIN_STATUS_DS_GROUP_CONVERSION_ERROR,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_PREPARE_HIBERNATE,
++ MD_NTSTATUS_WIN_STATUS_USER2USER_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN,
++ MD_NTSTATUS_WIN_STATUS_NO_S4U_PROT_SUPPORT,
++ MD_NTSTATUS_WIN_STATUS_CROSSREALM_DELEGATION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_KDC,
++ MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED_KDC,
++ MD_NTSTATUS_WIN_STATUS_KDC_CERT_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_KDC_CERT_REVOKED,
++ MD_NTSTATUS_WIN_STATUS_PARAMETER_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_HIBERNATION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_DELAY_LOAD_FAILED,
++ MD_NTSTATUS_WIN_STATUS_AUTHENTICATION_FIREWALL_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VDM_DISALLOWED,
++ MD_NTSTATUS_WIN_STATUS_HUNG_DISPLAY_DRIVER_THREAD,
++ MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_CRUNTIME_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_NTLM_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_DS_SRC_SID_EXISTS_IN_FOREST,
++ MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST,
++ MD_NTSTATUS_WIN_STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST,
++ MD_NTSTATUS_WIN_STATUS_INVALID_USER_PRINCIPAL_NAME,
++ MD_NTSTATUS_WIN_STATUS_FATAL_USER_CALLBACK_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_ASSERTION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_VERIFIER_STOP,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_POP_STACK,
++ MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_DRIVER_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_HIVE_UNLOADED,
++ MD_NTSTATUS_WIN_STATUS_COMPRESSION_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_LIMITATION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_HASH,
++ MD_NTSTATUS_WIN_STATUS_NOT_CAPABLE,
++ MD_NTSTATUS_WIN_STATUS_REQUEST_OUT_OF_SEQUENCE,
++ MD_NTSTATUS_WIN_STATUS_IMPLEMENTATION_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_ELEVATION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_NO_SECURITY_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_PKU2U_CERT_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_BEYOND_VDL,
++ MD_NTSTATUS_WIN_STATUS_ENCOUNTERED_WRITE_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_PTE_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_PURGE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_CRED_REQUIRES_CONFIRMATION,
++ MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE,
++ MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER,
++ MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE,
++ MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE,
++ MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_FILE_NOT_CSE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_LABEL,
++ MD_NTSTATUS_WIN_STATUS_DRIVER_PROCESS_TERMINATED,
++ MD_NTSTATUS_WIN_STATUS_AMBIGUOUS_SYSTEM_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_DEVICE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RESTART_BOOT_APPLICATION,
++ MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_NVRAM_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SESSION,
++ MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_SESSION,
++ MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_SESSION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_WEIGHT,
++ MD_NTSTATUS_WIN_STATUS_REQUEST_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_NO_RANGES_PROCESSED,
++ MD_NTSTATUS_WIN_STATUS_DISK_RESOURCES_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_NEEDS_REMEDIATION,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_FEATURE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_TOKEN,
++ MD_NTSTATUS_WIN_STATUS_SERVER_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_FILE_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_INSUFFICIENT_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_PACKAGE_UPDATING,
++ MD_NTSTATUS_WIN_STATUS_NOT_READ_FROM_COPY,
++ MD_NTSTATUS_WIN_STATUS_FT_WRITE_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_FT_DI_SCAN_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NOT_EXTERNALLY_BACKED,
++ MD_NTSTATUS_WIN_STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN,
++ MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_BENEFICIAL,
++ MD_NTSTATUS_WIN_STATUS_DATA_CHECKSUM_ERROR,
++ MD_NTSTATUS_WIN_STATUS_INTERMIXED_KERNEL_EA_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_TRIM_READ_ZERO_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_TOO_MANY_SEGMENT_DESCRIPTORS,
++ MD_NTSTATUS_WIN_STATUS_INVALID_OFFSET_ALIGNMENT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_FIELD_IN_PARAMETER_LIST,
++ MD_NTSTATUS_WIN_STATUS_OPERATION_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_INVALID_INITIATOR_TARGET_PATH,
++ MD_NTSTATUS_WIN_STATUS_SCRUB_DATA_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_NOT_REDUNDANT_STORAGE,
++ MD_NTSTATUS_WIN_STATUS_RESIDENT_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_COMPRESSED_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_IO_OPERATION_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_NEEDS_REMEDIATION,
++ MD_NTSTATUS_WIN_STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN,
++ MD_NTSTATUS_WIN_STATUS_SHARE_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_APISET_NOT_HOSTED,
++ MD_NTSTATUS_WIN_STATUS_APISET_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_HARDWARE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_SLOT_INVALID,
++ MD_NTSTATUS_WIN_STATUS_FIRMWARE_IMAGE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_TOPOLOGY_ID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_WIM_NOT_BOOTABLE,
++ MD_NTSTATUS_WIN_STATUS_BLOCKED_BY_PARENTAL_CONTROLS,
++ MD_NTSTATUS_WIN_STATUS_NEEDS_REGISTRATION,
++ MD_NTSTATUS_WIN_STATUS_QUOTA_ACTIVITY,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_INVOKE_INLINE,
++ MD_NTSTATUS_WIN_STATUS_BLOCK_TOO_MANY_REFERENCES,
++ MD_NTSTATUS_WIN_STATUS_MARKED_TO_DISALLOW_WRITES,
++ MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED_EDP,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_PNP_NO_COMPAT_DRIVERS,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_PNP_FUNCTION_DRIVER_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_PNP_DEVICE_CONFIGURATION_PENDING,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_PACKAGE_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_IN_MAINTENANCE,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_DAX,
++ MD_NTSTATUS_WIN_STATUS_FREE_SPACE_TOO_FRAGMENTED,
++ MD_NTSTATUS_WIN_STATUS_DAX_MAPPING_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_CHILD_PROCESS_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_LOST_DATA_PERSISTENCE,
++ MD_NTSTATUS_WIN_STATUS_VRF_CFG_AND_IO_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_PARTITION_TERMINATING,
++ MD_NTSTATUS_WIN_STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_FILE_PROTECTED_UNDER_DPL,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_CLUSTER_ALIGNED,
++ MD_NTSTATUS_WIN_STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND,
++ MD_NTSTATUS_WIN_STATUS_APPX_FILE_NOT_ENCRYPTED,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE,
++ MD_NTSTATUS_WIN_STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_FT_READ_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_PATCH_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ID_INVALID,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_DOES_NOT_EXIST,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_STORAGE_RESERVE_NOT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_DAX_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_NOT_DAX_MAPPABLE,
++ MD_NTSTATUS_WIN_STATUS_CASE_DIFFERING_NAMES_IN_DIR,
++ MD_NTSTATUS_WIN_STATUS_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_WITH_BTT,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTION_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTING_METADATA_DISALLOWED,
++ MD_NTSTATUS_WIN_STATUS_CANT_CLEAR_ENCRYPTION_FLAG,
++ MD_NTSTATUS_WIN_STATUS_UNSATISFIED_DEPENDENCIES,
++ MD_NTSTATUS_WIN_STATUS_CASE_SENSITIVE_PATH,
++ MD_NTSTATUS_WIN_STATUS_HAS_SYSTEM_CRITICAL_FILES,
++ MD_NTSTATUS_WIN_STATUS_INVALID_TASK_NAME,
++ MD_NTSTATUS_WIN_STATUS_INVALID_TASK_INDEX,
++ MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_TASK,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_BYPASS,
++ MD_NTSTATUS_WIN_STATUS_UNDEFINED_SCOPE,
++ MD_NTSTATUS_WIN_STATUS_INVALID_CAP,
++ MD_NTSTATUS_WIN_STATUS_NOT_GUI_PROCESS,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_HUNG,
++ MD_NTSTATUS_WIN_STATUS_CONTAINER_ASSIGNED,
++ MD_NTSTATUS_WIN_STATUS_JOB_NO_CONTAINER,
++ MD_NTSTATUS_WIN_STATUS_DEVICE_UNRESPONSIVE,
++ MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_ENCOUNTERED,
++ MD_NTSTATUS_WIN_STATUS_ATTRIBUTE_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_TIERED_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_HAS_STREAM_ID,
++ MD_NTSTATUS_WIN_STATUS_JOB_NOT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_NOT_TERMINATED,
++ MD_NTSTATUS_WIN_STATUS_ENCLAVE_IS_TERMINATING,
++ MD_NTSTATUS_WIN_STATUS_SMB1_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_SMR_GARBAGE_COLLECTION_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_INTERRUPTED,
++ MD_NTSTATUS_WIN_STATUS_THREAD_NOT_RUNNING,
++ MD_NTSTATUS_WIN_STATUS_FAIL_FAST_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_REVOKED,
++ MD_NTSTATUS_WIN_STATUS_DYNAMIC_CODE_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_STRICT_CFG_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_SET_CONTEXT_DENIED,
++ MD_NTSTATUS_WIN_STATUS_CROSS_PARTITION_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_PORT_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_MESSAGE_LOST,
++ MD_NTSTATUS_WIN_STATUS_INVALID_MESSAGE,
++ MD_NTSTATUS_WIN_STATUS_REQUEST_CANCELED,
++ MD_NTSTATUS_WIN_STATUS_RECURSIVE_DISPATCH,
++ MD_NTSTATUS_WIN_STATUS_LPC_RECEIVE_BUFFER_EXPECTED,
++ MD_NTSTATUS_WIN_STATUS_LPC_INVALID_CONNECTION_USAGE,
++ MD_NTSTATUS_WIN_STATUS_LPC_REQUESTS_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_HARDWARE_MEMORY_ERROR,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_HANDLE_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASED_DURING_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING,
++ MD_NTSTATUS_WIN_STATUS_APC_RETURNED_WHILE_IMPERSONATING,
++ MD_NTSTATUS_WIN_STATUS_PROCESS_IS_PROTECTED,
++ MD_NTSTATUS_WIN_STATUS_MCA_EXCEPTION,
++ MD_NTSTATUS_WIN_STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_SYMLINK_CLASS_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_INVALID_IDN_NORMALIZATION,
++ MD_NTSTATUS_WIN_STATUS_NO_UNICODE_TRANSLATION,
++ MD_NTSTATUS_WIN_STATUS_ALREADY_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_CONTEXT_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_HAS_COMPLETION_LIST,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_PRIORITY,
++ MD_NTSTATUS_WIN_STATUS_INVALID_THREAD,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LDR_LOCK,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LANG,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_PRI_BACK,
++ MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY,
++ MD_NTSTATUS_WIN_STATUS_LPC_HANDLE_COUNT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_EXECUTABLE_MEMORY_WRITE,
++ MD_NTSTATUS_WIN_STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE,
++ MD_NTSTATUS_WIN_STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE,
++ MD_NTSTATUS_WIN_STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE,
++ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_DISK_QUOTA_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_CONTENT_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_BAD_CLUSTERS,
++ MD_NTSTATUS_WIN_STATUS_VOLUME_DIRTY,
++ MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_UNSUCCESSFUL,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_OVERFULL,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CORRUPTED,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_DELETED_FULL,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CLEARED,
++ MD_NTSTATUS_WIN_STATUS_ORPHAN_NAME_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_PROACTIVE_SCAN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_ENCRYPTED_IO_NOT_POSSIBLE,
++ MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UPLEVEL_RECORDS,
++ MD_NTSTATUS_WIN_STATUS_FILE_CHECKED_OUT,
++ MD_NTSTATUS_WIN_STATUS_CHECKOUT_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_BAD_FILE_TYPE,
++ MD_NTSTATUS_WIN_STATUS_FILE_TOO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_FORMS_AUTH_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_VIRUS_INFECTED,
++ MD_NTSTATUS_WIN_STATUS_VIRUS_DELETED,
++ MD_NTSTATUS_WIN_STATUS_BAD_MCFG_TABLE,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_BREAK_OPLOCK,
++ MD_NTSTATUS_WIN_STATUS_BAD_KEY,
++ MD_NTSTATUS_WIN_STATUS_BAD_DATA,
++ MD_NTSTATUS_WIN_STATUS_NO_KEY,
++ MD_NTSTATUS_WIN_STATUS_FILE_HANDLE_REVOKED,
++ MD_NTSTATUS_WIN_STATUS_WOW_ASSERTION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_HMAC_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_AUTH_TAG_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_INVALID_STATE_TRANSITION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_KERNEL_INFO_VERSION,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PEP_INFO_VERSION,
++ MD_NTSTATUS_WIN_STATUS_HANDLE_REVOKED,
++ MD_NTSTATUS_WIN_STATUS_EOF_ON_GHOSTED_RANGE,
++ MD_NTSTATUS_WIN_STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_QUEUE_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_ND_QUEUE_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_HOPLIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_PROTOCOL_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_FASTPATH_REJECTED,
++ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR,
++ MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR,
++ MD_NTSTATUS_WIN_STATUS_XML_PARSE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_XMLDSIG_ERROR,
++ MD_NTSTATUS_WIN_STATUS_WRONG_COMPARTMENT,
++ MD_NTSTATUS_WIN_STATUS_AUTHIP_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS,
++ MD_NTSTATUS_WIN_STATUS_DS_OID_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_INCORRECT_ACCOUNT_TYPE,
++ MD_NTSTATUS_WIN_STATUS_HASH_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_HASH_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_GPIO_CLIENT_INFORMATION_INVALID,
++ MD_NTSTATUS_WIN_STATUS_GPIO_VERSION_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GPIO_INVALID_REGISTRATION_PACKET,
++ MD_NTSTATUS_WIN_STATUS_GPIO_OPERATION_DENIED,
++ MD_NTSTATUS_WIN_STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_SWITCH_RUNLEVEL,
++ MD_NTSTATUS_WIN_STATUS_INVALID_RUNLEVEL_SETTING,
++ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_NOT_APPCONTAINER,
++ MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_IN_APPCONTAINER,
++ MD_NTSTATUS_WIN_STATUS_INVALID_PACKAGE_SID_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_LPAC_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_ADMINLESS_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_APP_DATA_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_APP_DATA_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_APP_DATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_APP_DATA_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_APP_DATA_REBOOT_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_WOF_WIM_HEADER_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_CIMFS_IMAGE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN,
++ MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_METADATA_TOO_LARGE,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_FILE,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_IN_SYNC,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ALREADY_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INVALID_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_READ_ONLY_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_VALIDATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_AUTHENTICATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_UNSUCCESSFUL,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PINNED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_CANCELED,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_PROVIDER_TERMINATED,
++ MD_NTSTATUS_WIN_STATUS_NOT_A_CLOUD_SYNC_ROOT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_REQUEST_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_IO_NOT_COORDINATED,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_UNEXPECTED_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FILE_SNAP_INVALID_PARAMETER,
++ MD_NTSTATUS_WIN_DBG_NO_STATE_CHANGE,
++ MD_NTSTATUS_WIN_DBG_APP_NOT_IDLE,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_BINDING,
++ MD_NTSTATUS_WIN_RPC_NT_WRONG_KIND_OF_BINDING,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_BINDING,
++ MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_RPC_PROTSEQ,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_UUID,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_ENDPOINT_FORMAT,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_NET_ADDR,
++ MD_NTSTATUS_WIN_RPC_NT_NO_ENDPOINT_FOUND,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_TIMEOUT,
++ MD_NTSTATUS_WIN_RPC_NT_OBJECT_NOT_FOUND,
++ MD_NTSTATUS_WIN_RPC_NT_ALREADY_REGISTERED,
++ MD_NTSTATUS_WIN_RPC_NT_TYPE_ALREADY_REGISTERED,
++ MD_NTSTATUS_WIN_RPC_NT_ALREADY_LISTENING,
++ MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS_REGISTERED,
++ MD_NTSTATUS_WIN_RPC_NT_NOT_LISTENING,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_MGR_TYPE,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_IF,
++ MD_NTSTATUS_WIN_RPC_NT_NO_BINDINGS,
++ MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS,
++ MD_NTSTATUS_WIN_RPC_NT_CANT_CREATE_ENDPOINT,
++ MD_NTSTATUS_WIN_RPC_NT_OUT_OF_RESOURCES,
++ MD_NTSTATUS_WIN_RPC_NT_SERVER_UNAVAILABLE,
++ MD_NTSTATUS_WIN_RPC_NT_SERVER_TOO_BUSY,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_NETWORK_OPTIONS,
++ MD_NTSTATUS_WIN_RPC_NT_NO_CALL_ACTIVE,
++ MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED,
++ MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED_DNE,
++ MD_NTSTATUS_WIN_RPC_NT_PROTOCOL_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TRANS_SYN,
++ MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TYPE,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_TAG,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_BOUND,
++ MD_NTSTATUS_WIN_RPC_NT_NO_ENTRY_NAME,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_NAME_SYNTAX,
++ MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_NAME_SYNTAX,
++ MD_NTSTATUS_WIN_RPC_NT_UUID_NO_ADDRESS,
++ MD_NTSTATUS_WIN_RPC_NT_DUPLICATE_ENDPOINT,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_TYPE,
++ MD_NTSTATUS_WIN_RPC_NT_MAX_CALLS_TOO_SMALL,
++ MD_NTSTATUS_WIN_RPC_NT_STRING_TOO_LONG,
++ MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_FOUND,
++ MD_NTSTATUS_WIN_RPC_NT_PROCNUM_OUT_OF_RANGE,
++ MD_NTSTATUS_WIN_RPC_NT_BINDING_HAS_NO_AUTH,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_SERVICE,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_LEVEL,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_AUTH_IDENTITY,
++ MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHZ_SERVICE,
++ MD_NTSTATUS_WIN_EPT_NT_INVALID_ENTRY,
++ MD_NTSTATUS_WIN_EPT_NT_CANT_PERFORM_OP,
++ MD_NTSTATUS_WIN_EPT_NT_NOT_REGISTERED,
++ MD_NTSTATUS_WIN_RPC_NT_NOTHING_TO_EXPORT,
++ MD_NTSTATUS_WIN_RPC_NT_INCOMPLETE_NAME,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_VERS_OPTION,
++ MD_NTSTATUS_WIN_RPC_NT_NO_MORE_MEMBERS,
++ MD_NTSTATUS_WIN_RPC_NT_NOT_ALL_OBJS_UNEXPORTED,
++ MD_NTSTATUS_WIN_RPC_NT_INTERFACE_NOT_FOUND,
++ MD_NTSTATUS_WIN_RPC_NT_ENTRY_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_RPC_NT_ENTRY_NOT_FOUND,
++ MD_NTSTATUS_WIN_RPC_NT_NAME_SERVICE_UNAVAILABLE,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_NAF_ID,
++ MD_NTSTATUS_WIN_RPC_NT_CANNOT_SUPPORT,
++ MD_NTSTATUS_WIN_RPC_NT_NO_CONTEXT_AVAILABLE,
++ MD_NTSTATUS_WIN_RPC_NT_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_ZERO_DIVIDE,
++ MD_NTSTATUS_WIN_RPC_NT_ADDRESS_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_FP_DIV_ZERO,
++ MD_NTSTATUS_WIN_RPC_NT_FP_UNDERFLOW,
++ MD_NTSTATUS_WIN_RPC_NT_FP_OVERFLOW,
++ MD_NTSTATUS_WIN_RPC_NT_CALL_IN_PROGRESS,
++ MD_NTSTATUS_WIN_RPC_NT_NO_MORE_BINDINGS,
++ MD_NTSTATUS_WIN_RPC_NT_GROUP_MEMBER_NOT_FOUND,
++ MD_NTSTATUS_WIN_EPT_NT_CANT_CREATE,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_OBJECT,
++ MD_NTSTATUS_WIN_RPC_NT_NO_INTERFACES,
++ MD_NTSTATUS_WIN_RPC_NT_CALL_CANCELLED,
++ MD_NTSTATUS_WIN_RPC_NT_BINDING_INCOMPLETE,
++ MD_NTSTATUS_WIN_RPC_NT_COMM_FAILURE,
++ MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_AUTHN_LEVEL,
++ MD_NTSTATUS_WIN_RPC_NT_NO_PRINC_NAME,
++ MD_NTSTATUS_WIN_RPC_NT_NOT_RPC_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_SEC_PKG_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_NOT_CANCELLED,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_HANDLE,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_CALL,
++ MD_NTSTATUS_WIN_RPC_NT_PROXY_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_RPC_NT_COOKIE_AUTH_FAILED,
++ MD_NTSTATUS_WIN_RPC_NT_NO_MORE_ENTRIES,
++ MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_OPEN_FAIL,
++ MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_SHORT_FILE,
++ MD_NTSTATUS_WIN_RPC_NT_SS_IN_NULL_CONTEXT,
++ MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_MISMATCH,
++ MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_DAMAGED,
++ MD_NTSTATUS_WIN_RPC_NT_SS_HANDLES_MISMATCH,
++ MD_NTSTATUS_WIN_RPC_NT_SS_CANNOT_GET_CALL_HANDLE,
++ MD_NTSTATUS_WIN_RPC_NT_NULL_REF_POINTER,
++ MD_NTSTATUS_WIN_RPC_NT_ENUM_VALUE_OUT_OF_RANGE,
++ MD_NTSTATUS_WIN_RPC_NT_BYTE_COUNT_TOO_SMALL,
++ MD_NTSTATUS_WIN_RPC_NT_BAD_STUB_DATA,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_ES_ACTION,
++ MD_NTSTATUS_WIN_RPC_NT_WRONG_ES_VERSION,
++ MD_NTSTATUS_WIN_RPC_NT_WRONG_STUB_VERSION,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OBJECT,
++ MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OPERATION,
++ MD_NTSTATUS_WIN_RPC_NT_WRONG_PIPE_VERSION,
++ MD_NTSTATUS_WIN_RPC_NT_PIPE_CLOSED,
++ MD_NTSTATUS_WIN_RPC_NT_PIPE_DISCIPLINE_ERROR,
++ MD_NTSTATUS_WIN_RPC_NT_PIPE_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_PNP_BAD_MPS_TABLE,
++ MD_NTSTATUS_WIN_STATUS_PNP_TRANSLATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_PNP_IRQ_TRANSLATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_PNP_INVALID_ID,
++ MD_NTSTATUS_WIN_STATUS_IO_REISSUE_AS_CACHED,
++ MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CTX_INVALID_PD,
++ MD_NTSTATUS_WIN_STATUS_CTX_PD_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CTX_CLOSE_PENDING,
++ MD_NTSTATUS_WIN_STATUS_CTX_NO_OUTBUF,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_INF_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CTX_INVALID_MODEMNAME,
++ MD_NTSTATUS_WIN_STATUS_CTX_RESPONSE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_CARRIER,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_BUSY,
++ MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_VOICE,
++ MD_NTSTATUS_WIN_STATUS_CTX_TD_ERROR,
++ MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_CLIENT_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_BUSY,
++ MD_NTSTATUS_WIN_STATUS_CTX_BAD_VIDEO_MODE,
++ MD_NTSTATUS_WIN_STATUS_CTX_GRAPHICS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CTX_NOT_CONSOLE,
++ MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_QUERY_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_DISCONNECT,
++ MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_CONNECT,
++ MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DENIED,
++ MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_CTX_INVALID_WD,
++ MD_NTSTATUS_WIN_STATUS_CTX_WD_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_RDP_PROTOCOL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE,
++ MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_NOT_RUNNING,
++ MD_NTSTATUS_WIN_STATUS_CTX_LOGON_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_CTX_SECURITY_LAYER_ERROR,
++ MD_NTSTATUS_WIN_STATUS_TS_INCOMPATIBLE_SESSIONS,
++ MD_NTSTATUS_WIN_STATUS_TS_VIDEO_SUBSYSTEM_ERROR,
++ MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_MUI_INVALID_FILE,
++ MD_NTSTATUS_WIN_STATUS_MUI_INVALID_RC_CONFIG,
++ MD_NTSTATUS_WIN_STATUS_MUI_INVALID_LOCALE_NAME,
++ MD_NTSTATUS_WIN_STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME,
++ MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_LOADED,
++ MD_NTSTATUS_WIN_STATUS_RESOURCE_ENUM_USER_STOP,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NODE,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK_PROVIDER,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_DOWN,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UNREACHABLE,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_MEMBER,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_NET_ADAPTERS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UP,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_SECURITY_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_INTERNAL,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_POISONED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_NON_CSV_PATH,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_REDIRECTED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NOT_REDIRECTED,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NO_SNAPSHOTS,
++ MD_NTSTATUS_WIN_STATUS_CSV_IO_PAUSE_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR,
++ MD_NTSTATUS_WIN_STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OPCODE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_STACK_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_ACPI_ASSERT_FAILED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_INDEX,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGUMENT,
++ MD_NTSTATUS_WIN_STATUS_ACPI_FATAL,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_SUPERNAME,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGTYPE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OBJTYPE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TARGETTYPE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INCORRECT_ARGUMENT_COUNT,
++ MD_NTSTATUS_WIN_STATUS_ACPI_ADDRESS_NOT_MAPPED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_EVENTTYPE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_HANDLER_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_DATA,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_REGION,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ACCESS_SIZE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_ACQUIRE_GLOBAL_LOCK,
++ MD_NTSTATUS_WIN_STATUS_ACPI_ALREADY_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_NOT_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_MUTEX_LEVEL,
++ MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNER,
++ MD_NTSTATUS_WIN_STATUS_ACPI_RS_ACCESS,
++ MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TABLE,
++ MD_NTSTATUS_WIN_STATUS_ACPI_REG_HANDLER_FAILED,
++ MD_NTSTATUS_WIN_STATUS_ACPI_POWER_REQUEST_FAILED,
++ MD_NTSTATUS_WIN_STATUS_SXS_SECTION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_SXS_CANT_GEN_ACTCTX,
++ MD_NTSTATUS_WIN_STATUS_SXS_INVALID_ACTCTXDATA_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_FORMAT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_PARSE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SXS_ACTIVATION_CONTEXT_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_SXS_KEY_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_SXS_VERSION_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_SXS_WRONG_SECTION_TYPE,
++ MD_NTSTATUS_WIN_STATUS_SXS_THREAD_QUERIES_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_MISSING,
++ MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET,
++ MD_NTSTATUS_WIN_STATUS_SXS_EARLY_DEACTIVATION,
++ MD_NTSTATUS_WIN_STATUS_SXS_INVALID_DEACTIVATION,
++ MD_NTSTATUS_WIN_STATUS_SXS_MULTIPLE_DEACTIVATION,
++ MD_NTSTATUS_WIN_STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_TERMINATION_REQUESTED,
++ MD_NTSTATUS_WIN_STATUS_SXS_CORRUPT_ACTIVATION_STACK,
++ MD_NTSTATUS_WIN_STATUS_SXS_CORRUPTION,
++ MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE,
++ MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME,
++ MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE,
++ MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_PARSE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SXS_COMPONENT_STORE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT,
++ MD_NTSTATUS_WIN_STATUS_SXS_IDENTITIES_DIFFERENT,
++ MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT,
++ MD_NTSTATUS_WIN_STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY,
++ MD_NTSTATUS_WIN_STATUS_ADVANCED_INSTALLER_FAILED,
++ MD_NTSTATUS_WIN_STATUS_XML_ENCODING_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_TOO_BIG,
++ MD_NTSTATUS_WIN_STATUS_SXS_SETTING_NOT_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_SMI_PRIMITIVE_INSTALLER_FAILED,
++ MD_NTSTATUS_WIN_STATUS_GENERIC_COMMAND_FAILED,
++ MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISSING,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_INVALID_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_TM_INITIALIZATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_RM_NOT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_RM_METADATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_JOINED,
++ MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_RM,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE,
++ MD_NTSTATUS_WIN_STATUS_LOG_RESIZE_INVALID_SIZE,
++ MD_NTSTATUS_WIN_STATUS_REMOTE_FILE_VERSION_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_PROPAGATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_SUPERIOR_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUEST_NOT_VALID,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_REQUESTED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_COMMITTED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_CURRENT_TRANSACTION_NOT_VALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_GROWTH_FAILED,
++ MD_NTSTATUS_WIN_STATUS_OBJECT_NO_LONGER_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_VALID,
++ MD_NTSTATUS_WIN_STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT,
++ MD_NTSTATUS_WIN_STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS,
++ MD_NTSTATUS_WIN_STATUS_HANDLE_NO_LONGER_VALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_CORRUPTION_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_RM_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_SUPERIOR,
++ MD_NTSTATUS_WIN_STATUS_FILE_IDENTITY_NOT_PERSISTENT,
++ MD_NTSTATUS_WIN_STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY,
++ MD_NTSTATUS_WIN_STATUS_CANT_CROSS_RM_BOUNDARY,
++ MD_NTSTATUS_WIN_STATUS_TXF_DIR_NOT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_INDOUBT_TRANSACTIONS_EXIST,
++ MD_NTSTATUS_WIN_STATUS_TM_VOLATILE,
++ MD_NTSTATUS_WIN_STATUS_ROLLBACK_TIMER_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_TXF_ATTRIBUTE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUIRED_PROMOTION,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_NOT_FROZEN,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_FREEZE_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_NOT_SNAPSHOT_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_NO_SAVEPOINT_WITH_OPEN_FILES,
++ MD_NTSTATUS_WIN_STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TM_IDENTITY_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FLOATED_SECTION,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_ACCEPT_TRANSACTED_WORK,
++ MD_NTSTATUS_WIN_STATUS_CANNOT_ABORT_TRANSACTIONS,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_ONLINE,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ROOT,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_OBJECT_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_RECORD_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_NO_LINK_TRACKING_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_INTEGRITY_VIOLATED,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_MUST_WRITETHROUGH,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_SUPERIOR,
++ MD_NTSTATUS_WIN_STATUS_EXPIRED_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ENLISTED,
++ MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_PARITY_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_REMAPPED,
++ MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_LOG_INVALID_RANGE,
++ MD_NTSTATUS_WIN_STATUS_LOG_BLOCKS_EXHAUSTED,
++ MD_NTSTATUS_WIN_STATUS_LOG_READ_CONTEXT_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_RESTART_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_VERSION,
++ MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_READ_MODE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_METADATA_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INCONSISTENT,
++ MD_NTSTATUS_WIN_STATUS_LOG_RESERVATION_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_CANT_DELETE,
++ MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_LOG_START_OF_LOG,
++ MD_NTSTATUS_WIN_STATUS_LOG_POLICY_ALREADY_INSTALLED,
++ MD_NTSTATUS_WIN_STATUS_LOG_POLICY_NOT_INSTALLED,
++ MD_NTSTATUS_WIN_STATUS_LOG_POLICY_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_POLICY_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_LOG_PINNED_ARCHIVE_TAIL,
++ MD_NTSTATUS_WIN_STATUS_LOG_RECORD_NONEXISTENT,
++ MD_NTSTATUS_WIN_STATUS_LOG_RECORDS_RESERVED_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_SPACE_RESERVED_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_TAIL_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_FULL,
++ MD_NTSTATUS_WIN_STATUS_LOG_MULTIPLEXED,
++ MD_NTSTATUS_WIN_STATUS_LOG_DEDICATED,
++ MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_LOG_EPHEMERAL,
++ MD_NTSTATUS_WIN_STATUS_LOG_NOT_ENOUGH_CONTAINERS,
++ MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_ALREADY_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_NOT_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_LOG_FULL_HANDLER_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_READ_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_WRITE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_OPEN_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_STATE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_STATE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_LOG_PINNED,
++ MD_NTSTATUS_WIN_STATUS_LOG_METADATA_FLUSH_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LOG_INCONSISTENT_SECURITY,
++ MD_NTSTATUS_WIN_STATUS_LOG_APPENDED_FLUSH_FAILED,
++ MD_NTSTATUS_WIN_STATUS_LOG_PINNED_RESERVATION,
++ MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD,
++ MD_NTSTATUS_WIN_STATUS_FLT_NO_HANDLER_DEFINED,
++ MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_DEFINED,
++ MD_NTSTATUS_WIN_STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_FLT_DISALLOW_FAST_IO,
++ MD_NTSTATUS_WIN_STATUS_FLT_INVALID_NAME_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_FLT_NOT_SAFE_TO_POST_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_FLT_NOT_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_FLT_POST_OPERATION_CLEANUP,
++ MD_NTSTATUS_WIN_STATUS_FLT_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FLT_DELETING_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_FLT_MUST_BE_NONPAGED_POOL,
++ MD_NTSTATUS_WIN_STATUS_FLT_DUPLICATE_ENTRY,
++ MD_NTSTATUS_WIN_STATUS_FLT_CBDQ_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_ATTACH,
++ MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_DETACH,
++ MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_ALTITUDE_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NAME_COLLISION,
++ MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FLT_INVALID_CONTEXT_REGISTRATION,
++ MD_NTSTATUS_WIN_STATUS_FLT_NAME_CACHE_MISS,
++ MD_NTSTATUS_WIN_STATUS_FLT_NO_DEVICE_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_ALREADY_MOUNTED,
++ MD_NTSTATUS_WIN_STATUS_FLT_ALREADY_ENLISTED,
++ MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_LINKED,
++ MD_NTSTATUS_WIN_STATUS_FLT_NO_WAITER_FOR_REPLY,
++ MD_NTSTATUS_WIN_STATUS_FLT_REGISTRATION_BUSY,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_NO_DESCRIPTOR,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_MANUFACTURE_DATE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_WAS_RESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DRIVER_MODEL,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_MODE_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_OCCLUDED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_DENIED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANNOTCOLORCONVERT,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DRIVER_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_UNOCCLUDED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_INVALID_WINDOW,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VAIL_STATE_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDEO_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_LOCK_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_BUSY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOO_MANY_REFERENCES,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_LATER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_NOW,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_INVALID,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_FREQUENCY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ACTIVE_REGION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_TOTAL_REGION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ALREADY_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_MODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_RESOURCES_NOT_RELATED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDPNMGR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_ACTIVE_VIDPN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NOT_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_STRIDE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELFORMAT,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COLORBASIS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_GAMMA_RAMP,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_IN_MODESET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_CLIENT_TYPE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_COPP_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_UAB_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_HFS_FAILED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_SRM,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_DATA,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MCA_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_POINTER,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_FVE_LOCKED_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_ENCRYPTED,
++ MD_NTSTATUS_WIN_STATUS_FVE_BAD_INFORMATION,
++ MD_NTSTATUS_WIN_STATUS_FVE_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_FVE_FAILED_WRONG_FS,
++ MD_NTSTATUS_WIN_STATUS_FVE_BAD_PARTITION_SIZE,
++ MD_NTSTATUS_WIN_STATUS_FVE_FS_NOT_EXTENDED,
++ MD_NTSTATUS_WIN_STATUS_FVE_FS_MOUNTED,
++ MD_NTSTATUS_WIN_STATUS_FVE_NO_LICENSE,
++ MD_NTSTATUS_WIN_STATUS_FVE_ACTION_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_FVE_BAD_DATA,
++ MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_NOT_BOUND,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_DATA_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_FVE_CONV_READ_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FVE_CONV_WRITE_ERROR,
++ MD_NTSTATUS_WIN_STATUS_FVE_OVERLAPPED_UPDATE,
++ MD_NTSTATUS_WIN_STATUS_FVE_FAILED_SECTOR_SIZE,
++ MD_NTSTATUS_WIN_STATUS_FVE_FAILED_AUTHENTICATION,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_OS_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NO_VMK,
++ MD_NTSTATUS_WIN_STATUS_FVE_TPM_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO,
++ MD_NTSTATUS_WIN_STATUS_FVE_TPM_INVALID_PCR,
++ MD_NTSTATUS_WIN_STATUS_FVE_TPM_NO_VMK,
++ MD_NTSTATUS_WIN_STATUS_FVE_PIN_INVALID,
++ MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_APPLICATION,
++ MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_CONFIG,
++ MD_NTSTATUS_WIN_STATUS_FVE_DEBUGGER_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_FVE_DRY_RUN_FAILED,
++ MD_NTSTATUS_WIN_STATUS_FVE_BAD_METADATA_POINTER,
++ MD_NTSTATUS_WIN_STATUS_FVE_OLD_METADATA_COPY,
++ MD_NTSTATUS_WIN_STATUS_FVE_REBOOT_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_FVE_RAW_ACCESS,
++ MD_NTSTATUS_WIN_STATUS_FVE_RAW_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY,
++ MD_NTSTATUS_WIN_STATUS_FVE_MOR_FAILED,
++ MD_NTSTATUS_WIN_STATUS_FVE_NO_FEATURE_LICENSE,
++ MD_NTSTATUS_WIN_STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_FVE_CONV_RECOVERY_FAILED,
++ MD_NTSTATUS_WIN_STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG,
++ MD_NTSTATUS_WIN_STATUS_FVE_INVALID_DATUM_TYPE,
++ MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_FVE_ENH_PIN_INVALID,
++ MD_NTSTATUS_WIN_STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE,
++ MD_NTSTATUS_WIN_STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CLUSTER,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING,
++ MD_NTSTATUS_WIN_STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE,
++ MD_NTSTATUS_WIN_STATUS_FVE_EDRIVE_DRY_RUN_FAILED,
++ MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_CONFIG_CHANGE,
++ MD_NTSTATUS_WIN_STATUS_FVE_DEVICE_LOCKEDOUT,
++ MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT,
++ MD_NTSTATUS_WIN_STATUS_FVE_NOT_DE_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FVE_OSV_KSR_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_CONDITION_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_FILTER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_LAYER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_SUBLAYER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_FWP_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_FWP_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_FWP_WRONG_SESSION,
++ MD_NTSTATUS_WIN_STATUS_FWP_NO_TXN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_FWP_TXN_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_FWP_TXN_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_FWP_SESSION_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_TXN,
++ MD_NTSTATUS_WIN_STATUS_FWP_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_FWP_NET_EVENTS_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_LAYER,
++ MD_NTSTATUS_WIN_STATUS_FWP_KM_CLIENTS_ONLY,
++ MD_NTSTATUS_WIN_STATUS_FWP_LIFETIME_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_BUILTIN_OBJECT,
++ MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_CALLOUTS,
++ MD_NTSTATUS_WIN_STATUS_FWP_NOTIFICATION_DROPPED,
++ MD_NTSTATUS_WIN_STATUS_FWP_TRAFFIC_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_SA_STATE,
++ MD_NTSTATUS_WIN_STATUS_FWP_NULL_POINTER,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ENUMERATOR,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_FLAGS,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_NET_MASK,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_RANGE,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_INTERVAL,
++ MD_NTSTATUS_WIN_STATUS_FWP_ZERO_LENGTH_ARRAY,
++ MD_NTSTATUS_WIN_STATUS_FWP_NULL_DISPLAY_NAME,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ACTION_TYPE,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_WEIGHT,
++ MD_NTSTATUS_WIN_STATUS_FWP_MATCH_TYPE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_TYPE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_OUT_OF_BOUNDS,
++ MD_NTSTATUS_WIN_STATUS_FWP_RESERVED,
++ MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_CONDITION,
++ MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_KEYMOD,
++ MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER,
++ MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER,
++ MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER,
++ MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_AUTH_METHOD,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_DH_GROUP,
++ MD_NTSTATUS_WIN_STATUS_FWP_EM_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_FWP_NEVER_MATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_SUBLAYERS,
++ MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOTIFICATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_AUTH_TRANSFORM,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_CIPHER_TRANSFORM,
++ MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TRANSFORM_COMBINATION,
++ MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_AUTH_METHOD,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TUNNEL_ENDPOINT,
++ MD_NTSTATUS_WIN_STATUS_FWP_L2_DRIVER_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED,
++ MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL,
++ MD_NTSTATUS_WIN_STATUS_FWP_CONNECTIONS_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_FWP_INVALID_DNS_NAME,
++ MD_NTSTATUS_WIN_STATUS_FWP_STILL_ON,
++ MD_NTSTATUS_WIN_STATUS_FWP_IKEEXT_NOT_RUNNING,
++ MD_NTSTATUS_WIN_STATUS_FWP_TCPIP_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_CLOSING,
++ MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_STALE,
++ MD_NTSTATUS_WIN_STATUS_FWP_CANNOT_PEND,
++ MD_NTSTATUS_WIN_STATUS_FWP_DROP_NOICMP,
++ MD_NTSTATUS_WIN_STATUS_NDIS_CLOSING,
++ MD_NTSTATUS_WIN_STATUS_NDIS_BAD_VERSION,
++ MD_NTSTATUS_WIN_STATUS_NDIS_BAD_CHARACTERISTICS,
++ MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NDIS_OPEN_FAILED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DEVICE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_FULL,
++ MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NDIS_REQUEST_ABORTED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_RESET_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PACKET,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DEVICE_REQUEST,
++ MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DATA,
++ MD_NTSTATUS_WIN_STATUS_NDIS_BUFFER_TOO_SHORT,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_OID,
++ MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_REMOVED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_MEDIA,
++ MD_NTSTATUS_WIN_STATUS_NDIS_GROUP_ADDRESS_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_FILE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NDIS_ERROR_READING_FILE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_ALREADY_MAPPED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_RESOURCE_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_NDIS_MEDIA_DISCONNECTED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_ADDRESS,
++ MD_NTSTATUS_WIN_STATUS_NDIS_PAUSED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INTERFACE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_REVISION,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT,
++ MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT_STATE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_LOW_POWER_STATE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_REINIT_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_NO_QUEUES,
++ MD_NTSTATUS_WIN_STATUS_NDIS_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_POLICY,
++ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_PATH_REJECTED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_MEDIA_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_POWER_STATE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL,
++ MD_NTSTATUS_WIN_STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_QUIC_HANDSHAKE_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_QUIC_VER_NEG_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_ERROR_MASK,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUTHFAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BADINDEX,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAILURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_CLEAR_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_TPM_DEACTIVATED,
++ MD_NTSTATUS_WIN_STATUS_TPM_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_TPM_DISABLED_CMD,
++ MD_NTSTATUS_WIN_STATUS_TPM_FAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_ORDINAL,
++ MD_NTSTATUS_WIN_STATUS_TPM_INSTALL_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYHANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_KEYNOTFOUND,
++ MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_ENC,
++ MD_NTSTATUS_WIN_STATUS_TPM_MIGRATEFAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_PCR_INFO,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOSPACE,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOSRK,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOTSEALED_BLOB,
++ MD_NTSTATUS_WIN_STATUS_TPM_OWNER_SET,
++ MD_NTSTATUS_WIN_STATUS_TPM_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_TPM_SHORTRANDOM,
++ MD_NTSTATUS_WIN_STATUS_TPM_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_WRONGPCRVAL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAM_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_SHA_THREAD,
++ MD_NTSTATUS_WIN_STATUS_TPM_SHA_ERROR,
++ MD_NTSTATUS_WIN_STATUS_TPM_FAILEDSELFTEST,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUTH2FAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BADTAG,
++ MD_NTSTATUS_WIN_STATUS_TPM_IOERROR,
++ MD_NTSTATUS_WIN_STATUS_TPM_ENCRYPT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_TPM_DECRYPT_ERROR,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_AUTHHANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_NO_ENDORSEMENT,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYUSAGE,
++ MD_NTSTATUS_WIN_STATUS_TPM_WRONG_ENTITYTYPE,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_POSTINIT,
++ MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_SIG,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_KEY_PROPERTY,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_MIGRATION,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_SCHEME,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_DATASIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_MODE,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_PRESENCE,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_VERSION,
++ MD_NTSTATUS_WIN_STATUS_TPM_NO_WRAP_TRANSPORT,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_UNSUCCESSFUL,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_SUCCESSFUL,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOTRESETABLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOTLOCAL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_TYPE,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_RESOURCE,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOTFIPS,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_FAMILY,
++ MD_NTSTATUS_WIN_STATUS_TPM_NO_NV_PERMISSION,
++ MD_NTSTATUS_WIN_STATUS_TPM_REQUIRES_SIGN,
++ MD_NTSTATUS_WIN_STATUS_TPM_KEY_NOTSUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_TPM_AUTH_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_TPM_AREA_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_LOCALITY,
++ MD_NTSTATUS_WIN_STATUS_TPM_READ_ONLY,
++ MD_NTSTATUS_WIN_STATUS_TPM_PER_NOWRITE,
++ MD_NTSTATUS_WIN_STATUS_TPM_FAMILYCOUNT,
++ MD_NTSTATUS_WIN_STATUS_TPM_WRITE_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_ATTRIBUTES,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_STRUCTURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_KEY_OWNER_CONTROL,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_COUNTER,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOT_FULLWRITE,
++ MD_NTSTATUS_WIN_STATUS_TPM_CONTEXT_GAP,
++ MD_NTSTATUS_WIN_STATUS_TPM_MAXNVWRITES,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOOPERATOR,
++ MD_NTSTATUS_WIN_STATUS_TPM_RESOURCEMISSING,
++ MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_LOCK,
++ MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_FAMILY,
++ MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_ADMIN,
++ MD_NTSTATUS_WIN_STATUS_TPM_TRANSPORT_NOTEXCLUSIVE,
++ MD_NTSTATUS_WIN_STATUS_TPM_OWNER_CONTROL,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA0,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA1,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_SETTINGS,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_TPM_SETTINGS,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_STAGE,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_VALIDITY,
++ MD_NTSTATUS_WIN_STATUS_TPM_DAA_WRONG_W,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_DELEGATE,
++ MD_NTSTATUS_WIN_STATUS_TPM_BADCONTEXT,
++ MD_NTSTATUS_WIN_STATUS_TPM_TOOMANYCONTEXTS,
++ MD_NTSTATUS_WIN_STATUS_TPM_MA_TICKET_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_MA_DESTINATION,
++ MD_NTSTATUS_WIN_STATUS_TPM_MA_SOURCE,
++ MD_NTSTATUS_WIN_STATUS_TPM_MA_AUTHORITY,
++ MD_NTSTATUS_WIN_STATUS_TPM_PERMANENTEK,
++ MD_NTSTATUS_WIN_STATUS_TPM_BAD_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOCONTEXTSPACE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ASYMMETRIC,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ATTRIBUTES,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HASH,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_VALUE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HIERARCHY,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_MGF,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_MODE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TYPE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KDF,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_RANGE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_FAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NONCE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PP,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SCHEME,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SYMMETRIC,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TAG,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SELECTOR,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INSUFFICIENT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_KEY,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_FAIL,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INTEGRITY,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TICKET,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_RESERVED_BITS,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_AUTH,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY_CC,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BINDING,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_CURVE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_POINT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_INITIALIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SEQUENCE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PRIVATE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_HMAC,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_EXCLUSIVE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_ECC_CURVE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_TYPE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_MISSING,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_POLICY,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PCR_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_UPGRADE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_TOO_MANY_CONTEXTS,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_REBOOT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_UNBALANCED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_COMMAND_CODE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTHSIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_AUTH_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_RANGE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SIZE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_AUTHORIZATION,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_UNINITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_SPACE,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NV_DEFINED,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_BAD_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_CPHASH,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_PARENT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NEEDS_TEST,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_NO_RESULT,
++ MD_NTSTATUS_WIN_STATUS_TPM_20_E_SENSITIVE,
++ MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_TPM_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_DUPLICATE_VHANDLE,
++ MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_TPM_RETRY,
++ MD_NTSTATUS_WIN_STATUS_TPM_NEEDS_SELFTEST,
++ MD_NTSTATUS_WIN_STATUS_TPM_DOING_SELFTEST,
++ MD_NTSTATUS_WIN_STATUS_TPM_DEFEND_LOCK_RUNNING,
++ MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_CANCELED,
++ MD_NTSTATUS_WIN_STATUS_TPM_TOO_MANY_CONTEXTS,
++ MD_NTSTATUS_WIN_STATUS_TPM_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_TPM_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_TPM_INSUFFICIENT_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_TPM_PPI_FUNCTION_UNSUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_ERROR_MASK,
++ MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_PCP_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_PCP_INVALID_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_PCP_FLAG_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_PCP_INTERNAL_ERROR,
++ MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_IGNORED,
++ MD_NTSTATUS_WIN_STATUS_PCP_POLICY_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PCP_PROFILE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PCP_VALIDATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PCP_WRONG_PARENT,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_LOADED,
++ MD_NTSTATUS_WIN_STATUS_PCP_NO_KEY_CERTIFICATION,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_FINALIZED,
++ MD_NTSTATUS_WIN_STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET,
++ MD_NTSTATUS_WIN_STATUS_PCP_NOT_PCR_BOUND,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_ALREADY_FINALIZED,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_USAGE_POLICY_INVALID,
++ MD_NTSTATUS_WIN_STATUS_PCP_SOFT_KEY_ERROR,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AUTHENTICATED,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_AIK,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_NOT_SIGNING_KEY,
++ MD_NTSTATUS_WIN_STATUS_PCP_LOCKED_OUT,
++ MD_NTSTATUS_WIN_STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_TPM_VERSION_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_LENGTH_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_PCP_TICKET_MISSING,
++ MD_NTSTATUS_WIN_STATUS_PCP_RAW_POLICY_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_PCP_KEY_HANDLE_INVALIDATED,
++ MD_NTSTATUS_WIN_STATUS_RTPM_NO_RESULT,
++ MD_NTSTATUS_WIN_STATUS_RTPM_PCR_READ_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_RTPM_INVALID_CONTEXT,
++ MD_NTSTATUS_WIN_STATUS_RTPM_UNSUPPORTED_CMD,
++ MD_NTSTATUS_WIN_STATUS_TPM_ZERO_EXHAUST_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_CODE,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_INPUT,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_ALIGNMENT,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARAMETER,
++ MD_NTSTATUS_WIN_STATUS_HV_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_OPERATION_DENIED,
++ MD_NTSTATUS_WIN_STATUS_HV_UNKNOWN_PROPERTY,
++ MD_NTSTATUS_WIN_STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_HV_PARTITION_TOO_DEEP,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_ID,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_INDEX,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PORT_ID,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CONNECTION_ID,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFERS,
++ MD_NTSTATUS_WIN_STATUS_HV_NOT_ACKNOWLEDGED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_ACKNOWLEDGED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_SAVE_RESTORE_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_SYNIC_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_OBJECT_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO,
++ MD_NTSTATUS_WIN_STATUS_HV_NO_DATA,
++ MD_NTSTATUS_WIN_STATUS_HV_INACTIVE,
++ MD_NTSTATUS_WIN_STATUS_HV_NO_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_HV_FEATURE_UNAVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFER,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS,
++ MD_NTSTATUS_WIN_STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR,
++ MD_NTSTATUS_WIN_STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR,
++ MD_NTSTATUS_WIN_STATUS_HV_PROCESSOR_STARTUP_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_HV_SMX_ENABLED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_LP_INDEX,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_REGISTER_VALUE,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_VTL_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_NX_NOT_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_ID,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_DEVICE_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_PAGE_REQUEST_INVALID,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_ID,
++ MD_NTSTATUS_WIN_STATUS_HV_INVALID_CPU_GROUP_STATE,
++ MD_NTSTATUS_WIN_STATUS_HV_OPERATION_FAILED,
++ MD_NTSTATUS_WIN_STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_ROOT_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_HV_EVENT_BUFFER_ALREADY_FREED,
++ MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY,
++ MD_NTSTATUS_WIN_STATUS_HV_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_BAD_SPI,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_SA_LIFETIME_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_WRONG_SA,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_REPLAY_CHECK_FAILED,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_INVALID_PACKET,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_INTEGRITY_CHECK_FAILED,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_CLEAR_TEXT_DROP,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_AUTH_FIREWALL_DROP,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_THROTTLE_DROP,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_BLOCK,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_RECEIVED_MULTICAST,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_INVALID_PACKET,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_ENTRIES,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED,
++ MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES,
++ MD_NTSTATUS_WIN_STATUS_VID_DUPLICATE_HANDLER,
++ MD_NTSTATUS_WIN_STATUS_VID_TOO_MANY_HANDLERS,
++ MD_NTSTATUS_WIN_STATUS_VID_QUEUE_FULL,
++ MD_NTSTATUS_WIN_STATUS_VID_HANDLER_NOT_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_OBJECT_NAME,
++ MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG,
++ MD_NTSTATUS_WIN_STATUS_VID_PARTITION_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_VID_PARTITION_DOES_NOT_EXIST,
++ MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS,
++ MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_VID_MB_STILL_REFERENCED,
++ MD_NTSTATUS_WIN_STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_SETTINGS,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_NODE_INDEX,
++ MD_NTSTATUS_WIN_STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_VID_PAGE_RANGE_OVERFLOW,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_GPA_RANGE_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE,
++ MD_NTSTATUS_WIN_STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_PPM_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_VID_MBPS_ARE_LOCKED,
++ MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_CLOSED,
++ MD_NTSTATUS_WIN_STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED,
++ MD_NTSTATUS_WIN_STATUS_VID_STOP_PENDING,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_PROCESSOR_STATE,
++ MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET,
++ MD_NTSTATUS_WIN_STATUS_VID_MMIO_RANGE_DESTROYED,
++ MD_NTSTATUS_WIN_STATUS_VID_INVALID_CHILD_GPA_PAGE_SET,
++ MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED,
++ MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE,
++ MD_NTSTATUS_WIN_STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT,
++ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM,
++ MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_INCOMPATIBLE,
++ MD_NTSTATUS_WIN_STATUS_VID_VTL_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DATABASE_FULL,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DUPLICATE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DYNAMIC,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_ID_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAST_VOTER,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_MISSING,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_EMPTY,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_REVECTORING_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SET_NOT_CONTAINED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_ALREADY_USED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_IN_SYNC,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_MISSING,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_NOT_DETACHED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_REGENERATING,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_ALL_DISKS_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_REGISTERED_USERS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_SUCH_USER,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NOTIFICATION_RESET,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_DUPLICATE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_ID_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_NAME_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_HAS_QUORUM,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_WITHOUT_QUORUM,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_STYLE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_UPDATE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_IN_SYNC,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_DUPLICATE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_LAST_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_MISSING,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_REGENERATING,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_TYPE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_RAID5,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_STRUCTURE_SIZE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_TRANSACTION_IN_PROGRESS,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_ID_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_MIRRORED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_RETAINED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_RETAINED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_BAD_BOOT_DISK,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_ONLINE,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NOT_PRIMARY_PACK,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_MIRRORED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_VALID_LOG_COPIES,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_PRIMARY_PACK_PRESENT,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_MIRROR_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_VOLMGR_RAID5_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_BCD_TOO_MANY_ELEMENTS,
++ MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_MISSING,
++ MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNKNOWN,
++ MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNSUPPORTED_VERSION,
++ MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION,
++ MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_BLOCK_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VHD_BITMAP_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_ID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_METADATA_READ_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_VHD_METADATA_WRITE_FAILURE,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_FILE_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VIRTDISK_PROVIDER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_VIRTDISK_NOT_VIRTUAL_DISK,
++ MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_ACCESS_DENIED,
++ MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT,
++ MD_NTSTATUS_WIN_STATUS_VIRTUAL_DISK_LIMITATION,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_TYPE,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_STATE,
++ MD_NTSTATUS_WIN_STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ALREADY_OWNED,
++ MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE,
++ MD_NTSTATUS_WIN_STATUS_CTLOG_TRACKING_NOT_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE,
++ MD_NTSTATUS_WIN_STATUS_CTLOG_VHD_CHANGED_OFFLINE,
++ MD_NTSTATUS_WIN_STATUS_CTLOG_INVALID_TRACKING_STATE,
++ MD_NTSTATUS_WIN_STATUS_CTLOG_INCONSISTENT_TRACKING_FILE,
++ MD_NTSTATUS_WIN_STATUS_VHD_METADATA_FULL,
++ MD_NTSTATUS_WIN_STATUS_VHD_INVALID_CHANGE_TRACKING_ID,
++ MD_NTSTATUS_WIN_STATUS_VHD_CHANGE_TRACKING_DISABLED,
++ MD_NTSTATUS_WIN_STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION,
++ MD_NTSTATUS_WIN_STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA,
++ MD_NTSTATUS_WIN_STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE,
++ MD_NTSTATUS_WIN_STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE,
++ MD_NTSTATUS_WIN_STATUS_RKF_KEY_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_RKF_DUPLICATE_KEY,
++ MD_NTSTATUS_WIN_STATUS_RKF_BLOB_FULL,
++ MD_NTSTATUS_WIN_STATUS_RKF_STORE_FULL,
++ MD_NTSTATUS_WIN_STATUS_RKF_FILE_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_RKF_ACTIVE_KEY,
++ MD_NTSTATUS_WIN_STATUS_RDBSS_RESTART_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_RDBSS_CONTINUE_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_RDBSS_POST_OPERATION,
++ MD_NTSTATUS_WIN_STATUS_RDBSS_RETRY_LOOKUP,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_HANDLE,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_READ_NOT_PERMITTED,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_WRITE_NOT_PERMITTED,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_PDU,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_OFFSET,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_PREPARE_QUEUE_FULL,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNLIKELY,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_RESOURCES,
++ MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNKNOWN_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_ROLLBACK_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_INVALID_POLICY,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_SIGNED,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_FILE_REPLACED,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UNKNOWN,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_BASE_POLICY,
++ MD_NTSTATUS_WIN_STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY,
++ MD_NTSTATUS_WIN_STATUS_AUDIO_ENGINE_NODE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_HDAUDIO_EMPTY_CONNECTION_LIST,
++ MD_NTSTATUS_WIN_STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED,
++ MD_NTSTATUS_WIN_STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED,
++ MD_NTSTATUS_WIN_STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY,
++ MD_NTSTATUS_WIN_STATUS_VSM_NOT_INITIALIZED,
++ MD_NTSTATUS_WIN_STATUS_VSM_DMA_PROTECTION_NOT_IN_USE,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_BOOTFILE_NOT_VALID,
++ MD_NTSTATUS_WIN_STATUS_VOLSNAP_ACTIVATION_TIMEOUT,
++ MD_NTSTATUS_WIN_STATUS_IO_PREEMPTED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_STORED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_NOT_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_RESERVATION_CONFLICT,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_WRONG_FILE_TYPE,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_VERSION_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_VHD_SHARED,
++ MD_NTSTATUS_WIN_STATUS_SVHDX_NO_INITIATOR,
++ MD_NTSTATUS_WIN_STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP,
++ MD_NTSTATUS_WIN_STATUS_SMB_BAD_CLUSTER_DIALECT,
++ MD_NTSTATUS_WIN_STATUS_SMB_GUEST_LOGON_BLOCKED,
++ MD_NTSTATUS_WIN_STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_RESILIENCY_TYPE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_REDUNDANCY_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_INTERLEAVE_LENGTH_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES,
++ MD_NTSTATUS_WIN_STATUS_SPACES_EXTENDED_ERROR,
++ MD_NTSTATUS_WIN_STATUS_SPACES_PROVISIONING_TYPE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ALLOCATION_SIZE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENCLOSURE_AWARE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_WRITE_CACHE_SIZE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_GROUPS_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_UPDATE_COLUMN_STATE,
++ MD_NTSTATUS_WIN_STATUS_SPACES_MAP_REQUIRED,
++ MD_NTSTATUS_WIN_STATUS_SPACES_UNSUPPORTED_VERSION,
++ MD_NTSTATUS_WIN_STATUS_SPACES_CORRUPT_METADATA,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRT_FULL,
++ MD_NTSTATUS_WIN_STATUS_SPACES_INCONSISTENCY,
++ MD_NTSTATUS_WIN_STATUS_SPACES_LOG_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_SPACES_NO_REDUNDANCY,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_NOT_READY,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SPLIT,
++ MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_LOST_DATA,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INCOMPLETE,
++ MD_NTSTATUS_WIN_STATUS_SPACES_ENTRY_INVALID,
++ MD_NTSTATUS_WIN_STATUS_SPACES_MARK_DIRTY,
++ MD_NTSTATUS_WIN_STATUS_SECCORE_INVALID_COMMAND,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_INVALID_POLICY,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES,
++ MD_NTSTATUS_WIN_STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED,
++ MD_NTSTATUS_WIN_STATUS_NO_APPLICABLE_APP_LICENSES_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_CLIP_DEVICE_LICENSE_MISSING,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_INVALID_SIGNATURE,
++ MD_NTSTATUS_WIN_STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_EXPIRED,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_NOT_SIGNED,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE,
++ MD_NTSTATUS_WIN_STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_INVALID,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_ACTIVE,
++ MD_NTSTATUS_WIN_STATUS_PLATFORM_MANIFEST_NOT_SIGNED,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_CONDITION_NOT_SATISFIED,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_HANDLE_INVALIDATED,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_GENERATION,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_INVALID_HOST_STATE,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_NO_DONOR,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_HOST_ID_MISMATCH,
++ MD_NTSTATUS_WIN_STATUS_APPEXEC_UNKNOWN_USER,
++};
++
++// The content of this array was created from ntstatus.h in the 10 SDK
++// (version 10.0.19041.0) with
++//
++// egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0x[048C][0-9A-F]+L\)' ntstatus.h
++// | tr -d '\r'
++// | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0x[048C][0-9A-F]+)L\).*@\2 \1@'
++// | sort
++// | sed -r 's@(0x[048C][0-9A-F]+) ([A-Z_0-9]+)@ "\2",@'
++//
++// With easy copy to clipboard with
++// | xclip -selection c # on linux
++// | clip # on windows
++// | pbcopy # on mac
++static const char* kNTStatusStrings[] = {
++ "STATUS_SUCCESS",
++ "STATUS_WAIT_0",
++ "STATUS_WAIT_1",
++ "STATUS_WAIT_2",
++ "STATUS_WAIT_3",
++ "STATUS_WAIT_63",
++ "STATUS_ABANDONED",
++ "STATUS_ABANDONED_WAIT_0",
++ "STATUS_ABANDONED_WAIT_63",
++ "STATUS_USER_APC",
++ "STATUS_ALREADY_COMPLETE",
++ "STATUS_KERNEL_APC",
++ "STATUS_ALERTED",
++ "STATUS_TIMEOUT",
++ "STATUS_PENDING",
++ "STATUS_REPARSE",
++ "STATUS_MORE_ENTRIES",
++ "STATUS_NOT_ALL_ASSIGNED",
++ "STATUS_SOME_NOT_MAPPED",
++ "STATUS_OPLOCK_BREAK_IN_PROGRESS",
++ "STATUS_VOLUME_MOUNTED",
++ "STATUS_RXACT_COMMITTED",
++ "STATUS_NOTIFY_CLEANUP",
++ "STATUS_NOTIFY_ENUM_DIR",
++ "STATUS_NO_QUOTAS_FOR_ACCOUNT",
++ "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED",
++ "STATUS_PAGE_FAULT_TRANSITION",
++ "STATUS_PAGE_FAULT_DEMAND_ZERO",
++ "STATUS_PAGE_FAULT_COPY_ON_WRITE",
++ "STATUS_PAGE_FAULT_GUARD_PAGE",
++ "STATUS_PAGE_FAULT_PAGING_FILE",
++ "STATUS_CACHE_PAGE_LOCKED",
++ "STATUS_CRASH_DUMP",
++ "STATUS_BUFFER_ALL_ZEROS",
++ "STATUS_REPARSE_OBJECT",
++ "STATUS_RESOURCE_REQUIREMENTS_CHANGED",
++ "STATUS_TRANSLATION_COMPLETE",
++ "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY",
++ "STATUS_NOTHING_TO_TERMINATE",
++ "STATUS_PROCESS_NOT_IN_JOB",
++ "STATUS_PROCESS_IN_JOB",
++ "STATUS_VOLSNAP_HIBERNATE_READY",
++ "STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY",
++ "STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED",
++ "STATUS_INTERRUPT_STILL_CONNECTED",
++ "STATUS_PROCESS_CLONED",
++ "STATUS_FILE_LOCKED_WITH_ONLY_READERS",
++ "STATUS_FILE_LOCKED_WITH_WRITERS",
++ "STATUS_VALID_IMAGE_HASH",
++ "STATUS_VALID_CATALOG_HASH",
++ "STATUS_VALID_STRONG_CODE_HASH",
++ "STATUS_GHOSTED",
++ "STATUS_DATA_OVERWRITTEN",
++ "STATUS_RESOURCEMANAGER_READ_ONLY",
++ "STATUS_RING_PREVIOUSLY_EMPTY",
++ "STATUS_RING_PREVIOUSLY_FULL",
++ "STATUS_RING_PREVIOUSLY_ABOVE_QUOTA",
++ "STATUS_RING_NEWLY_EMPTY",
++ "STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT",
++ "STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE",
++ "STATUS_OPLOCK_HANDLE_CLOSED",
++ "STATUS_WAIT_FOR_OPLOCK",
++ "STATUS_REPARSE_GLOBAL",
++ "DBG_EXCEPTION_HANDLED",
++ "DBG_CONTINUE",
++ "STATUS_FLT_IO_COMPLETE",
++ "STATUS_RTPM_CONTEXT_CONTINUE",
++ "STATUS_RTPM_CONTEXT_COMPLETE",
++ "STATUS_HV_PENDING_PAGE_REQUESTS",
++ "STATUS_SPACES_REPAIRED",
++ "STATUS_SPACES_PAUSE",
++ "STATUS_SPACES_COMPLETE",
++ "STATUS_SPACES_REDIRECT",
++ "STATUS_OBJECT_NAME_EXISTS",
++ "STATUS_THREAD_WAS_SUSPENDED",
++ "STATUS_WORKING_SET_LIMIT_RANGE",
++ "STATUS_IMAGE_NOT_AT_BASE",
++ "STATUS_RXACT_STATE_CREATED",
++ "STATUS_SEGMENT_NOTIFICATION",
++ "STATUS_LOCAL_USER_SESSION_KEY",
++ "STATUS_BAD_CURRENT_DIRECTORY",
++ "STATUS_SERIAL_MORE_WRITES",
++ "STATUS_REGISTRY_RECOVERED",
++ "STATUS_FT_READ_RECOVERY_FROM_BACKUP",
++ "STATUS_FT_WRITE_RECOVERY",
++ "STATUS_SERIAL_COUNTER_TIMEOUT",
++ "STATUS_NULL_LM_PASSWORD",
++ "STATUS_IMAGE_MACHINE_TYPE_MISMATCH",
++ "STATUS_RECEIVE_PARTIAL",
++ "STATUS_RECEIVE_EXPEDITED",
++ "STATUS_RECEIVE_PARTIAL_EXPEDITED",
++ "STATUS_EVENT_DONE",
++ "STATUS_EVENT_PENDING",
++ "STATUS_CHECKING_FILE_SYSTEM",
++ "STATUS_FATAL_APP_EXIT",
++ "STATUS_PREDEFINED_HANDLE",
++ "STATUS_WAS_UNLOCKED",
++ "STATUS_SERVICE_NOTIFICATION",
++ "STATUS_WAS_LOCKED",
++ "STATUS_LOG_HARD_ERROR",
++ "STATUS_ALREADY_WIN32",
++ "STATUS_WX86_UNSIMULATE",
++ "STATUS_WX86_CONTINUE",
++ "STATUS_WX86_SINGLE_STEP",
++ "STATUS_WX86_BREAKPOINT",
++ "STATUS_WX86_EXCEPTION_CONTINUE",
++ "STATUS_WX86_EXCEPTION_LASTCHANCE",
++ "STATUS_WX86_EXCEPTION_CHAIN",
++ "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE",
++ "STATUS_NO_YIELD_PERFORMED",
++ "STATUS_TIMER_RESUME_IGNORED",
++ "STATUS_ARBITRATION_UNHANDLED",
++ "STATUS_CARDBUS_NOT_SUPPORTED",
++ "STATUS_WX86_CREATEWX86TIB",
++ "STATUS_MP_PROCESSOR_MISMATCH",
++ "STATUS_HIBERNATED",
++ "STATUS_RESUME_HIBERNATION",
++ "STATUS_FIRMWARE_UPDATED",
++ "STATUS_DRIVERS_LEAKING_LOCKED_PAGES",
++ "STATUS_MESSAGE_RETRIEVED",
++ "STATUS_SYSTEM_POWERSTATE_TRANSITION",
++ "STATUS_ALPC_CHECK_COMPLETION_LIST",
++ "STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION",
++ "STATUS_ACCESS_AUDIT_BY_POLICY",
++ "STATUS_ABANDON_HIBERFILE",
++ "STATUS_BIZRULES_NOT_ENABLED",
++ "STATUS_FT_READ_FROM_COPY",
++ "STATUS_IMAGE_AT_DIFFERENT_BASE",
++ "STATUS_PATCH_DEFERRED",
++ "STATUS_WAKE_SYSTEM",
++ "STATUS_DS_SHUTTING_DOWN",
++ "STATUS_DISK_REPAIR_REDIRECTED",
++ "STATUS_SERVICES_FAILED_AUTOSTART",
++ "DBG_REPLY_LATER",
++ "DBG_UNABLE_TO_PROVIDE_HANDLE",
++ "DBG_TERMINATE_THREAD",
++ "DBG_TERMINATE_PROCESS",
++ "DBG_CONTROL_C",
++ "DBG_PRINTEXCEPTION_C",
++ "DBG_RIPEXCEPTION",
++ "DBG_CONTROL_BREAK",
++ "DBG_COMMAND_EXCEPTION",
++ "DBG_PRINTEXCEPTION_WIDE_C",
++ "RPC_NT_UUID_LOCAL_ONLY",
++ "RPC_NT_SEND_INCOMPLETE",
++ "STATUS_CTX_CDM_CONNECT",
++ "STATUS_CTX_CDM_DISCONNECT",
++ "STATUS_SXS_RELEASE_ACTIVATION_CONTEXT",
++ "STATUS_HEURISTIC_DAMAGE_POSSIBLE",
++ "STATUS_RECOVERY_NOT_NEEDED",
++ "STATUS_RM_ALREADY_STARTED",
++ "STATUS_LOG_NO_RESTART",
++ "STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST",
++ "STATUS_GRAPHICS_PARTIAL_DATA_POPULATED",
++ "STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION",
++ "STATUS_GRAPHICS_MODE_NOT_PINNED",
++ "STATUS_GRAPHICS_NO_PREFERRED_MODE",
++ "STATUS_GRAPHICS_DATASET_IS_EMPTY",
++ "STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET",
++ "STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED",
++ "STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS",
++ "STATUS_GRAPHICS_LEADLINK_START_DEFERRED",
++ "STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY",
++ "STATUS_GRAPHICS_START_DEFERRED",
++ "STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS",
++ "STATUS_NDIS_INDICATION_REQUIRED",
++ "STATUS_PCP_UNSUPPORTED_PSS_SALT",
++ "STATUS_GUARD_PAGE_VIOLATION",
++ "STATUS_DATATYPE_MISALIGNMENT",
++ "STATUS_BREAKPOINT",
++ "STATUS_SINGLE_STEP",
++ "STATUS_BUFFER_OVERFLOW",
++ "STATUS_NO_MORE_FILES",
++ "STATUS_WAKE_SYSTEM_DEBUGGER",
++ "STATUS_HANDLES_CLOSED",
++ "STATUS_NO_INHERITANCE",
++ "STATUS_GUID_SUBSTITUTION_MADE",
++ "STATUS_PARTIAL_COPY",
++ "STATUS_DEVICE_PAPER_EMPTY",
++ "STATUS_DEVICE_POWERED_OFF",
++ "STATUS_DEVICE_OFF_LINE",
++ "STATUS_DEVICE_BUSY",
++ "STATUS_NO_MORE_EAS",
++ "STATUS_INVALID_EA_NAME",
++ "STATUS_EA_LIST_INCONSISTENT",
++ "STATUS_INVALID_EA_FLAG",
++ "STATUS_VERIFY_REQUIRED",
++ "STATUS_EXTRANEOUS_INFORMATION",
++ "STATUS_RXACT_COMMIT_NECESSARY",
++ "STATUS_NO_MORE_ENTRIES",
++ "STATUS_FILEMARK_DETECTED",
++ "STATUS_MEDIA_CHANGED",
++ "STATUS_BUS_RESET",
++ "STATUS_END_OF_MEDIA",
++ "STATUS_BEGINNING_OF_MEDIA",
++ "STATUS_MEDIA_CHECK",
++ "STATUS_SETMARK_DETECTED",
++ "STATUS_NO_DATA_DETECTED",
++ "STATUS_REDIRECTOR_HAS_OPEN_HANDLES",
++ "STATUS_SERVER_HAS_OPEN_HANDLES",
++ "STATUS_ALREADY_DISCONNECTED",
++ "STATUS_LONGJUMP",
++ "STATUS_CLEANER_CARTRIDGE_INSTALLED",
++ "STATUS_PLUGPLAY_QUERY_VETOED",
++ "STATUS_UNWIND_CONSOLIDATE",
++ "STATUS_REGISTRY_HIVE_RECOVERED",
++ "STATUS_DLL_MIGHT_BE_INSECURE",
++ "STATUS_DLL_MIGHT_BE_INCOMPATIBLE",
++ "STATUS_STOPPED_ON_SYMLINK",
++ "STATUS_CANNOT_GRANT_REQUESTED_OPLOCK",
++ "STATUS_NO_ACE_CONDITION",
++ "STATUS_DEVICE_SUPPORT_IN_PROGRESS",
++ "STATUS_DEVICE_POWER_CYCLE_REQUIRED",
++ "STATUS_NO_WORK_DONE",
++ "STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT",
++ "STATUS_DEVICE_REQUIRES_CLEANING",
++ "STATUS_DEVICE_DOOR_OPEN",
++ "STATUS_DATA_LOST_REPAIR",
++ "STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED",
++ "STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH",
++ "STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE",
++ "STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS",
++ "DBG_EXCEPTION_NOT_HANDLED",
++ "STATUS_CLUSTER_NODE_ALREADY_UP",
++ "STATUS_CLUSTER_NODE_ALREADY_DOWN",
++ "STATUS_CLUSTER_NETWORK_ALREADY_ONLINE",
++ "STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE",
++ "STATUS_CLUSTER_NODE_ALREADY_MEMBER",
++ "STATUS_COULD_NOT_RESIZE_LOG",
++ "STATUS_NO_TXF_METADATA",
++ "STATUS_CANT_RECOVER_WITH_HANDLE_OPEN",
++ "STATUS_TXF_METADATA_ALREADY_PRESENT",
++ "STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET",
++ "STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED",
++ "STATUS_FLT_BUFFER_TOO_SMALL",
++ "STATUS_FVE_PARTIAL_METADATA",
++ "STATUS_FVE_TRANSIENT_STATE",
++ "STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED",
++ "STATUS_VOLMGR_INCOMPLETE_REGENERATION",
++ "STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION",
++ "STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED",
++ "STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED",
++ "STATUS_QUERY_STORAGE_ERROR",
++ "STATUS_GDI_HANDLE_LEAK",
++ "STATUS_SECUREBOOT_NOT_ENABLED",
++ "STATUS_UNSUCCESSFUL",
++ "STATUS_NOT_IMPLEMENTED",
++ "STATUS_INVALID_INFO_CLASS",
++ "STATUS_INFO_LENGTH_MISMATCH",
++ "STATUS_ACCESS_VIOLATION",
++ "STATUS_IN_PAGE_ERROR",
++ "STATUS_PAGEFILE_QUOTA",
++ "STATUS_INVALID_HANDLE",
++ "STATUS_BAD_INITIAL_STACK",
++ "STATUS_BAD_INITIAL_PC",
++ "STATUS_INVALID_CID",
++ "STATUS_TIMER_NOT_CANCELED",
++ "STATUS_INVALID_PARAMETER",
++ "STATUS_NO_SUCH_DEVICE",
++ "STATUS_NO_SUCH_FILE",
++ "STATUS_INVALID_DEVICE_REQUEST",
++ "STATUS_END_OF_FILE",
++ "STATUS_WRONG_VOLUME",
++ "STATUS_NO_MEDIA_IN_DEVICE",
++ "STATUS_UNRECOGNIZED_MEDIA",
++ "STATUS_NONEXISTENT_SECTOR",
++ "STATUS_MORE_PROCESSING_REQUIRED",
++ "STATUS_NO_MEMORY",
++ "STATUS_CONFLICTING_ADDRESSES",
++ "STATUS_NOT_MAPPED_VIEW",
++ "STATUS_UNABLE_TO_FREE_VM",
++ "STATUS_UNABLE_TO_DELETE_SECTION",
++ "STATUS_INVALID_SYSTEM_SERVICE",
++ "STATUS_ILLEGAL_INSTRUCTION",
++ "STATUS_INVALID_LOCK_SEQUENCE",
++ "STATUS_INVALID_VIEW_SIZE",
++ "STATUS_INVALID_FILE_FOR_SECTION",
++ "STATUS_ALREADY_COMMITTED",
++ "STATUS_ACCESS_DENIED",
++ "STATUS_BUFFER_TOO_SMALL",
++ "STATUS_OBJECT_TYPE_MISMATCH",
++ "STATUS_NONCONTINUABLE_EXCEPTION",
++ "STATUS_INVALID_DISPOSITION",
++ "STATUS_UNWIND",
++ "STATUS_BAD_STACK",
++ "STATUS_INVALID_UNWIND_TARGET",
++ "STATUS_NOT_LOCKED",
++ "STATUS_PARITY_ERROR",
++ "STATUS_UNABLE_TO_DECOMMIT_VM",
++ "STATUS_NOT_COMMITTED",
++ "STATUS_INVALID_PORT_ATTRIBUTES",
++ "STATUS_PORT_MESSAGE_TOO_LONG",
++ "STATUS_INVALID_PARAMETER_MIX",
++ "STATUS_INVALID_QUOTA_LOWER",
++ "STATUS_DISK_CORRUPT_ERROR",
++ "STATUS_OBJECT_NAME_INVALID",
++ "STATUS_OBJECT_NAME_NOT_FOUND",
++ "STATUS_OBJECT_NAME_COLLISION",
++ "STATUS_PORT_DO_NOT_DISTURB",
++ "STATUS_PORT_DISCONNECTED",
++ "STATUS_DEVICE_ALREADY_ATTACHED",
++ "STATUS_OBJECT_PATH_INVALID",
++ "STATUS_OBJECT_PATH_NOT_FOUND",
++ "STATUS_OBJECT_PATH_SYNTAX_BAD",
++ "STATUS_DATA_OVERRUN",
++ "STATUS_DATA_LATE_ERROR",
++ "STATUS_DATA_ERROR",
++ "STATUS_CRC_ERROR",
++ "STATUS_SECTION_TOO_BIG",
++ "STATUS_PORT_CONNECTION_REFUSED",
++ "STATUS_INVALID_PORT_HANDLE",
++ "STATUS_SHARING_VIOLATION",
++ "STATUS_QUOTA_EXCEEDED",
++ "STATUS_INVALID_PAGE_PROTECTION",
++ "STATUS_MUTANT_NOT_OWNED",
++ "STATUS_SEMAPHORE_LIMIT_EXCEEDED",
++ "STATUS_PORT_ALREADY_SET",
++ "STATUS_SECTION_NOT_IMAGE",
++ "STATUS_SUSPEND_COUNT_EXCEEDED",
++ "STATUS_THREAD_IS_TERMINATING",
++ "STATUS_BAD_WORKING_SET_LIMIT",
++ "STATUS_INCOMPATIBLE_FILE_MAP",
++ "STATUS_SECTION_PROTECTION",
++ "STATUS_EAS_NOT_SUPPORTED",
++ "STATUS_EA_TOO_LARGE",
++ "STATUS_NONEXISTENT_EA_ENTRY",
++ "STATUS_NO_EAS_ON_FILE",
++ "STATUS_EA_CORRUPT_ERROR",
++ "STATUS_FILE_LOCK_CONFLICT",
++ "STATUS_LOCK_NOT_GRANTED",
++ "STATUS_DELETE_PENDING",
++ "STATUS_CTL_FILE_NOT_SUPPORTED",
++ "STATUS_UNKNOWN_REVISION",
++ "STATUS_REVISION_MISMATCH",
++ "STATUS_INVALID_OWNER",
++ "STATUS_INVALID_PRIMARY_GROUP",
++ "STATUS_NO_IMPERSONATION_TOKEN",
++ "STATUS_CANT_DISABLE_MANDATORY",
++ "STATUS_NO_LOGON_SERVERS",
++ "STATUS_NO_SUCH_LOGON_SESSION",
++ "STATUS_NO_SUCH_PRIVILEGE",
++ "STATUS_PRIVILEGE_NOT_HELD",
++ "STATUS_INVALID_ACCOUNT_NAME",
++ "STATUS_USER_EXISTS",
++ "STATUS_NO_SUCH_USER",
++ "STATUS_GROUP_EXISTS",
++ "STATUS_NO_SUCH_GROUP",
++ "STATUS_MEMBER_IN_GROUP",
++ "STATUS_MEMBER_NOT_IN_GROUP",
++ "STATUS_LAST_ADMIN",
++ "STATUS_WRONG_PASSWORD",
++ "STATUS_ILL_FORMED_PASSWORD",
++ "STATUS_PASSWORD_RESTRICTION",
++ "STATUS_LOGON_FAILURE",
++ "STATUS_ACCOUNT_RESTRICTION",
++ "STATUS_INVALID_LOGON_HOURS",
++ "STATUS_INVALID_WORKSTATION",
++ "STATUS_PASSWORD_EXPIRED",
++ "STATUS_ACCOUNT_DISABLED",
++ "STATUS_NONE_MAPPED",
++ "STATUS_TOO_MANY_LUIDS_REQUESTED",
++ "STATUS_LUIDS_EXHAUSTED",
++ "STATUS_INVALID_SUB_AUTHORITY",
++ "STATUS_INVALID_ACL",
++ "STATUS_INVALID_SID",
++ "STATUS_INVALID_SECURITY_DESCR",
++ "STATUS_PROCEDURE_NOT_FOUND",
++ "STATUS_INVALID_IMAGE_FORMAT",
++ "STATUS_NO_TOKEN",
++ "STATUS_BAD_INHERITANCE_ACL",
++ "STATUS_RANGE_NOT_LOCKED",
++ "STATUS_DISK_FULL",
++ "STATUS_SERVER_DISABLED",
++ "STATUS_SERVER_NOT_DISABLED",
++ "STATUS_TOO_MANY_GUIDS_REQUESTED",
++ "STATUS_GUIDS_EXHAUSTED",
++ "STATUS_INVALID_ID_AUTHORITY",
++ "STATUS_AGENTS_EXHAUSTED",
++ "STATUS_INVALID_VOLUME_LABEL",
++ "STATUS_SECTION_NOT_EXTENDED",
++ "STATUS_NOT_MAPPED_DATA",
++ "STATUS_RESOURCE_DATA_NOT_FOUND",
++ "STATUS_RESOURCE_TYPE_NOT_FOUND",
++ "STATUS_RESOURCE_NAME_NOT_FOUND",
++ "STATUS_ARRAY_BOUNDS_EXCEEDED",
++ "STATUS_FLOAT_DENORMAL_OPERAND",
++ "STATUS_FLOAT_DIVIDE_BY_ZERO",
++ "STATUS_FLOAT_INEXACT_RESULT",
++ "STATUS_FLOAT_INVALID_OPERATION",
++ "STATUS_FLOAT_OVERFLOW",
++ "STATUS_FLOAT_STACK_CHECK",
++ "STATUS_FLOAT_UNDERFLOW",
++ "STATUS_INTEGER_DIVIDE_BY_ZERO",
++ "STATUS_INTEGER_OVERFLOW",
++ "STATUS_PRIVILEGED_INSTRUCTION",
++ "STATUS_TOO_MANY_PAGING_FILES",
++ "STATUS_FILE_INVALID",
++ "STATUS_ALLOTTED_SPACE_EXCEEDED",
++ "STATUS_INSUFFICIENT_RESOURCES",
++ "STATUS_DFS_EXIT_PATH_FOUND",
++ "STATUS_DEVICE_DATA_ERROR",
++ "STATUS_DEVICE_NOT_CONNECTED",
++ "STATUS_DEVICE_POWER_FAILURE",
++ "STATUS_FREE_VM_NOT_AT_BASE",
++ "STATUS_MEMORY_NOT_ALLOCATED",
++ "STATUS_WORKING_SET_QUOTA",
++ "STATUS_MEDIA_WRITE_PROTECTED",
++ "STATUS_DEVICE_NOT_READY",
++ "STATUS_INVALID_GROUP_ATTRIBUTES",
++ "STATUS_BAD_IMPERSONATION_LEVEL",
++ "STATUS_CANT_OPEN_ANONYMOUS",
++ "STATUS_BAD_VALIDATION_CLASS",
++ "STATUS_BAD_TOKEN_TYPE",
++ "STATUS_BAD_MASTER_BOOT_RECORD",
++ "STATUS_INSTRUCTION_MISALIGNMENT",
++ "STATUS_INSTANCE_NOT_AVAILABLE",
++ "STATUS_PIPE_NOT_AVAILABLE",
++ "STATUS_INVALID_PIPE_STATE",
++ "STATUS_PIPE_BUSY",
++ "STATUS_ILLEGAL_FUNCTION",
++ "STATUS_PIPE_DISCONNECTED",
++ "STATUS_PIPE_CLOSING",
++ "STATUS_PIPE_CONNECTED",
++ "STATUS_PIPE_LISTENING",
++ "STATUS_INVALID_READ_MODE",
++ "STATUS_IO_TIMEOUT",
++ "STATUS_FILE_FORCED_CLOSED",
++ "STATUS_PROFILING_NOT_STARTED",
++ "STATUS_PROFILING_NOT_STOPPED",
++ "STATUS_COULD_NOT_INTERPRET",
++ "STATUS_FILE_IS_A_DIRECTORY",
++ "STATUS_NOT_SUPPORTED",
++ "STATUS_REMOTE_NOT_LISTENING",
++ "STATUS_DUPLICATE_NAME",
++ "STATUS_BAD_NETWORK_PATH",
++ "STATUS_NETWORK_BUSY",
++ "STATUS_DEVICE_DOES_NOT_EXIST",
++ "STATUS_TOO_MANY_COMMANDS",
++ "STATUS_ADAPTER_HARDWARE_ERROR",
++ "STATUS_INVALID_NETWORK_RESPONSE",
++ "STATUS_UNEXPECTED_NETWORK_ERROR",
++ "STATUS_BAD_REMOTE_ADAPTER",
++ "STATUS_PRINT_QUEUE_FULL",
++ "STATUS_NO_SPOOL_SPACE",
++ "STATUS_PRINT_CANCELLED",
++ "STATUS_NETWORK_NAME_DELETED",
++ "STATUS_NETWORK_ACCESS_DENIED",
++ "STATUS_BAD_DEVICE_TYPE",
++ "STATUS_BAD_NETWORK_NAME",
++ "STATUS_TOO_MANY_NAMES",
++ "STATUS_TOO_MANY_SESSIONS",
++ "STATUS_SHARING_PAUSED",
++ "STATUS_REQUEST_NOT_ACCEPTED",
++ "STATUS_REDIRECTOR_PAUSED",
++ "STATUS_NET_WRITE_FAULT",
++ "STATUS_PROFILING_AT_LIMIT",
++ "STATUS_NOT_SAME_DEVICE",
++ "STATUS_FILE_RENAMED",
++ "STATUS_VIRTUAL_CIRCUIT_CLOSED",
++ "STATUS_NO_SECURITY_ON_OBJECT",
++ "STATUS_CANT_WAIT",
++ "STATUS_PIPE_EMPTY",
++ "STATUS_CANT_ACCESS_DOMAIN_INFO",
++ "STATUS_CANT_TERMINATE_SELF",
++ "STATUS_INVALID_SERVER_STATE",
++ "STATUS_INVALID_DOMAIN_STATE",
++ "STATUS_INVALID_DOMAIN_ROLE",
++ "STATUS_NO_SUCH_DOMAIN",
++ "STATUS_DOMAIN_EXISTS",
++ "STATUS_DOMAIN_LIMIT_EXCEEDED",
++ "STATUS_OPLOCK_NOT_GRANTED",
++ "STATUS_INVALID_OPLOCK_PROTOCOL",
++ "STATUS_INTERNAL_DB_CORRUPTION",
++ "STATUS_INTERNAL_ERROR",
++ "STATUS_GENERIC_NOT_MAPPED",
++ "STATUS_BAD_DESCRIPTOR_FORMAT",
++ "STATUS_INVALID_USER_BUFFER",
++ "STATUS_UNEXPECTED_IO_ERROR",
++ "STATUS_UNEXPECTED_MM_CREATE_ERR",
++ "STATUS_UNEXPECTED_MM_MAP_ERROR",
++ "STATUS_UNEXPECTED_MM_EXTEND_ERR",
++ "STATUS_NOT_LOGON_PROCESS",
++ "STATUS_LOGON_SESSION_EXISTS",
++ "STATUS_INVALID_PARAMETER_1",
++ "STATUS_INVALID_PARAMETER_2",
++ "STATUS_INVALID_PARAMETER_3",
++ "STATUS_INVALID_PARAMETER_4",
++ "STATUS_INVALID_PARAMETER_5",
++ "STATUS_INVALID_PARAMETER_6",
++ "STATUS_INVALID_PARAMETER_7",
++ "STATUS_INVALID_PARAMETER_8",
++ "STATUS_INVALID_PARAMETER_9",
++ "STATUS_INVALID_PARAMETER_10",
++ "STATUS_INVALID_PARAMETER_11",
++ "STATUS_INVALID_PARAMETER_12",
++ "STATUS_REDIRECTOR_NOT_STARTED",
++ "STATUS_REDIRECTOR_STARTED",
++ "STATUS_STACK_OVERFLOW",
++ "STATUS_NO_SUCH_PACKAGE",
++ "STATUS_BAD_FUNCTION_TABLE",
++ "STATUS_VARIABLE_NOT_FOUND",
++ "STATUS_DIRECTORY_NOT_EMPTY",
++ "STATUS_FILE_CORRUPT_ERROR",
++ "STATUS_NOT_A_DIRECTORY",
++ "STATUS_BAD_LOGON_SESSION_STATE",
++ "STATUS_LOGON_SESSION_COLLISION",
++ "STATUS_NAME_TOO_LONG",
++ "STATUS_FILES_OPEN",
++ "STATUS_CONNECTION_IN_USE",
++ "STATUS_MESSAGE_NOT_FOUND",
++ "STATUS_PROCESS_IS_TERMINATING",
++ "STATUS_INVALID_LOGON_TYPE",
++ "STATUS_NO_GUID_TRANSLATION",
++ "STATUS_CANNOT_IMPERSONATE",
++ "STATUS_IMAGE_ALREADY_LOADED",
++ "STATUS_ABIOS_NOT_PRESENT",
++ "STATUS_ABIOS_LID_NOT_EXIST",
++ "STATUS_ABIOS_LID_ALREADY_OWNED",
++ "STATUS_ABIOS_NOT_LID_OWNER",
++ "STATUS_ABIOS_INVALID_COMMAND",
++ "STATUS_ABIOS_INVALID_LID",
++ "STATUS_ABIOS_SELECTOR_NOT_AVAILABLE",
++ "STATUS_ABIOS_INVALID_SELECTOR",
++ "STATUS_NO_LDT",
++ "STATUS_INVALID_LDT_SIZE",
++ "STATUS_INVALID_LDT_OFFSET",
++ "STATUS_INVALID_LDT_DESCRIPTOR",
++ "STATUS_INVALID_IMAGE_NE_FORMAT",
++ "STATUS_RXACT_INVALID_STATE",
++ "STATUS_RXACT_COMMIT_FAILURE",
++ "STATUS_MAPPED_FILE_SIZE_ZERO",
++ "STATUS_TOO_MANY_OPENED_FILES",
++ "STATUS_CANCELLED",
++ "STATUS_CANNOT_DELETE",
++ "STATUS_INVALID_COMPUTER_NAME",
++ "STATUS_FILE_DELETED",
++ "STATUS_SPECIAL_ACCOUNT",
++ "STATUS_SPECIAL_GROUP",
++ "STATUS_SPECIAL_USER",
++ "STATUS_MEMBERS_PRIMARY_GROUP",
++ "STATUS_FILE_CLOSED",
++ "STATUS_TOO_MANY_THREADS",
++ "STATUS_THREAD_NOT_IN_PROCESS",
++ "STATUS_TOKEN_ALREADY_IN_USE",
++ "STATUS_PAGEFILE_QUOTA_EXCEEDED",
++ "STATUS_COMMITMENT_LIMIT",
++ "STATUS_INVALID_IMAGE_LE_FORMAT",
++ "STATUS_INVALID_IMAGE_NOT_MZ",
++ "STATUS_INVALID_IMAGE_PROTECT",
++ "STATUS_INVALID_IMAGE_WIN_16",
++ "STATUS_LOGON_SERVER_CONFLICT",
++ "STATUS_TIME_DIFFERENCE_AT_DC",
++ "STATUS_SYNCHRONIZATION_REQUIRED",
++ "STATUS_DLL_NOT_FOUND",
++ "STATUS_OPEN_FAILED",
++ "STATUS_IO_PRIVILEGE_FAILED",
++ "STATUS_ORDINAL_NOT_FOUND",
++ "STATUS_ENTRYPOINT_NOT_FOUND",
++ "STATUS_CONTROL_C_EXIT",
++ "STATUS_LOCAL_DISCONNECT",
++ "STATUS_REMOTE_DISCONNECT",
++ "STATUS_REMOTE_RESOURCES",
++ "STATUS_LINK_FAILED",
++ "STATUS_LINK_TIMEOUT",
++ "STATUS_INVALID_CONNECTION",
++ "STATUS_INVALID_ADDRESS",
++ "STATUS_DLL_INIT_FAILED",
++ "STATUS_MISSING_SYSTEMFILE",
++ "STATUS_UNHANDLED_EXCEPTION",
++ "STATUS_APP_INIT_FAILURE",
++ "STATUS_PAGEFILE_CREATE_FAILED",
++ "STATUS_NO_PAGEFILE",
++ "STATUS_INVALID_LEVEL",
++ "STATUS_WRONG_PASSWORD_CORE",
++ "STATUS_ILLEGAL_FLOAT_CONTEXT",
++ "STATUS_PIPE_BROKEN",
++ "STATUS_REGISTRY_CORRUPT",
++ "STATUS_REGISTRY_IO_FAILED",
++ "STATUS_NO_EVENT_PAIR",
++ "STATUS_UNRECOGNIZED_VOLUME",
++ "STATUS_SERIAL_NO_DEVICE_INITED",
++ "STATUS_NO_SUCH_ALIAS",
++ "STATUS_MEMBER_NOT_IN_ALIAS",
++ "STATUS_MEMBER_IN_ALIAS",
++ "STATUS_ALIAS_EXISTS",
++ "STATUS_LOGON_NOT_GRANTED",
++ "STATUS_TOO_MANY_SECRETS",
++ "STATUS_SECRET_TOO_LONG",
++ "STATUS_INTERNAL_DB_ERROR",
++ "STATUS_FULLSCREEN_MODE",
++ "STATUS_TOO_MANY_CONTEXT_IDS",
++ "STATUS_LOGON_TYPE_NOT_GRANTED",
++ "STATUS_NOT_REGISTRY_FILE",
++ "STATUS_NT_CROSS_ENCRYPTION_REQUIRED",
++ "STATUS_DOMAIN_CTRLR_CONFIG_ERROR",
++ "STATUS_FT_MISSING_MEMBER",
++ "STATUS_ILL_FORMED_SERVICE_ENTRY",
++ "STATUS_ILLEGAL_CHARACTER",
++ "STATUS_UNMAPPABLE_CHARACTER",
++ "STATUS_UNDEFINED_CHARACTER",
++ "STATUS_FLOPPY_VOLUME",
++ "STATUS_FLOPPY_ID_MARK_NOT_FOUND",
++ "STATUS_FLOPPY_WRONG_CYLINDER",
++ "STATUS_FLOPPY_UNKNOWN_ERROR",
++ "STATUS_FLOPPY_BAD_REGISTERS",
++ "STATUS_DISK_RECALIBRATE_FAILED",
++ "STATUS_DISK_OPERATION_FAILED",
++ "STATUS_DISK_RESET_FAILED",
++ "STATUS_SHARED_IRQ_BUSY",
++ "STATUS_FT_ORPHANING",
++ "STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT",
++ "STATUS_PARTITION_FAILURE",
++ "STATUS_INVALID_BLOCK_LENGTH",
++ "STATUS_DEVICE_NOT_PARTITIONED",
++ "STATUS_UNABLE_TO_LOCK_MEDIA",
++ "STATUS_UNABLE_TO_UNLOAD_MEDIA",
++ "STATUS_EOM_OVERFLOW",
++ "STATUS_NO_MEDIA",
++ "STATUS_NO_SUCH_MEMBER",
++ "STATUS_INVALID_MEMBER",
++ "STATUS_KEY_DELETED",
++ "STATUS_NO_LOG_SPACE",
++ "STATUS_TOO_MANY_SIDS",
++ "STATUS_LM_CROSS_ENCRYPTION_REQUIRED",
++ "STATUS_KEY_HAS_CHILDREN",
++ "STATUS_CHILD_MUST_BE_VOLATILE",
++ "STATUS_DEVICE_CONFIGURATION_ERROR",
++ "STATUS_DRIVER_INTERNAL_ERROR",
++ "STATUS_INVALID_DEVICE_STATE",
++ "STATUS_IO_DEVICE_ERROR",
++ "STATUS_DEVICE_PROTOCOL_ERROR",
++ "STATUS_BACKUP_CONTROLLER",
++ "STATUS_LOG_FILE_FULL",
++ "STATUS_TOO_LATE",
++ "STATUS_NO_TRUST_LSA_SECRET",
++ "STATUS_NO_TRUST_SAM_ACCOUNT",
++ "STATUS_TRUSTED_DOMAIN_FAILURE",
++ "STATUS_TRUSTED_RELATIONSHIP_FAILURE",
++ "STATUS_EVENTLOG_FILE_CORRUPT",
++ "STATUS_EVENTLOG_CANT_START",
++ "STATUS_TRUST_FAILURE",
++ "STATUS_MUTANT_LIMIT_EXCEEDED",
++ "STATUS_NETLOGON_NOT_STARTED",
++ "STATUS_ACCOUNT_EXPIRED",
++ "STATUS_POSSIBLE_DEADLOCK",
++ "STATUS_NETWORK_CREDENTIAL_CONFLICT",
++ "STATUS_REMOTE_SESSION_LIMIT",
++ "STATUS_EVENTLOG_FILE_CHANGED",
++ "STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT",
++ "STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT",
++ "STATUS_NOLOGON_SERVER_TRUST_ACCOUNT",
++ "STATUS_DOMAIN_TRUST_INCONSISTENT",
++ "STATUS_FS_DRIVER_REQUIRED",
++ "STATUS_IMAGE_ALREADY_LOADED_AS_DLL",
++ "STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING",
++ "STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME",
++ "STATUS_SECURITY_STREAM_IS_INCONSISTENT",
++ "STATUS_INVALID_LOCK_RANGE",
++ "STATUS_INVALID_ACE_CONDITION",
++ "STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT",
++ "STATUS_NOTIFICATION_GUID_ALREADY_DEFINED",
++ "STATUS_INVALID_EXCEPTION_HANDLER",
++ "STATUS_DUPLICATE_PRIVILEGES",
++ "STATUS_NOT_ALLOWED_ON_SYSTEM_FILE",
++ "STATUS_REPAIR_NEEDED",
++ "STATUS_QUOTA_NOT_ENABLED",
++ "STATUS_NO_APPLICATION_PACKAGE",
++ "STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS",
++ "STATUS_NOT_SAME_OBJECT",
++ "STATUS_FATAL_MEMORY_EXHAUSTION",
++ "STATUS_ERROR_PROCESS_NOT_IN_JOB",
++ "STATUS_CPU_SET_INVALID",
++ "STATUS_IO_DEVICE_INVALID_DATA",
++ "STATUS_IO_UNALIGNED_WRITE",
++ "STATUS_CONTROL_STACK_VIOLATION",
++ "STATUS_NETWORK_OPEN_RESTRICTION",
++ "STATUS_NO_USER_SESSION_KEY",
++ "STATUS_USER_SESSION_DELETED",
++ "STATUS_RESOURCE_LANG_NOT_FOUND",
++ "STATUS_INSUFF_SERVER_RESOURCES",
++ "STATUS_INVALID_BUFFER_SIZE",
++ "STATUS_INVALID_ADDRESS_COMPONENT",
++ "STATUS_INVALID_ADDRESS_WILDCARD",
++ "STATUS_TOO_MANY_ADDRESSES",
++ "STATUS_ADDRESS_ALREADY_EXISTS",
++ "STATUS_ADDRESS_CLOSED",
++ "STATUS_CONNECTION_DISCONNECTED",
++ "STATUS_CONNECTION_RESET",
++ "STATUS_TOO_MANY_NODES",
++ "STATUS_TRANSACTION_ABORTED",
++ "STATUS_TRANSACTION_TIMED_OUT",
++ "STATUS_TRANSACTION_NO_RELEASE",
++ "STATUS_TRANSACTION_NO_MATCH",
++ "STATUS_TRANSACTION_RESPONDED",
++ "STATUS_TRANSACTION_INVALID_ID",
++ "STATUS_TRANSACTION_INVALID_TYPE",
++ "STATUS_NOT_SERVER_SESSION",
++ "STATUS_NOT_CLIENT_SESSION",
++ "STATUS_CANNOT_LOAD_REGISTRY_FILE",
++ "STATUS_DEBUG_ATTACH_FAILED",
++ "STATUS_SYSTEM_PROCESS_TERMINATED",
++ "STATUS_DATA_NOT_ACCEPTED",
++ "STATUS_NO_BROWSER_SERVERS_FOUND",
++ "STATUS_VDM_HARD_ERROR",
++ "STATUS_DRIVER_CANCEL_TIMEOUT",
++ "STATUS_REPLY_MESSAGE_MISMATCH",
++ "STATUS_MAPPED_ALIGNMENT",
++ "STATUS_IMAGE_CHECKSUM_MISMATCH",
++ "STATUS_LOST_WRITEBEHIND_DATA",
++ "STATUS_CLIENT_SERVER_PARAMETERS_INVALID",
++ "STATUS_PASSWORD_MUST_CHANGE",
++ "STATUS_NOT_FOUND",
++ "STATUS_NOT_TINY_STREAM",
++ "STATUS_RECOVERY_FAILURE",
++ "STATUS_STACK_OVERFLOW_READ",
++ "STATUS_FAIL_CHECK",
++ "STATUS_DUPLICATE_OBJECTID",
++ "STATUS_OBJECTID_EXISTS",
++ "STATUS_CONVERT_TO_LARGE",
++ "STATUS_RETRY",
++ "STATUS_FOUND_OUT_OF_SCOPE",
++ "STATUS_ALLOCATE_BUCKET",
++ "STATUS_PROPSET_NOT_FOUND",
++ "STATUS_MARSHALL_OVERFLOW",
++ "STATUS_INVALID_VARIANT",
++ "STATUS_DOMAIN_CONTROLLER_NOT_FOUND",
++ "STATUS_ACCOUNT_LOCKED_OUT",
++ "STATUS_HANDLE_NOT_CLOSABLE",
++ "STATUS_CONNECTION_REFUSED",
++ "STATUS_GRACEFUL_DISCONNECT",
++ "STATUS_ADDRESS_ALREADY_ASSOCIATED",
++ "STATUS_ADDRESS_NOT_ASSOCIATED",
++ "STATUS_CONNECTION_INVALID",
++ "STATUS_CONNECTION_ACTIVE",
++ "STATUS_NETWORK_UNREACHABLE",
++ "STATUS_HOST_UNREACHABLE",
++ "STATUS_PROTOCOL_UNREACHABLE",
++ "STATUS_PORT_UNREACHABLE",
++ "STATUS_REQUEST_ABORTED",
++ "STATUS_CONNECTION_ABORTED",
++ "STATUS_BAD_COMPRESSION_BUFFER",
++ "STATUS_USER_MAPPED_FILE",
++ "STATUS_AUDIT_FAILED",
++ "STATUS_TIMER_RESOLUTION_NOT_SET",
++ "STATUS_CONNECTION_COUNT_LIMIT",
++ "STATUS_LOGIN_TIME_RESTRICTION",
++ "STATUS_LOGIN_WKSTA_RESTRICTION",
++ "STATUS_IMAGE_MP_UP_MISMATCH",
++ "STATUS_INSUFFICIENT_LOGON_INFO",
++ "STATUS_BAD_DLL_ENTRYPOINT",
++ "STATUS_BAD_SERVICE_ENTRYPOINT",
++ "STATUS_LPC_REPLY_LOST",
++ "STATUS_IP_ADDRESS_CONFLICT1",
++ "STATUS_IP_ADDRESS_CONFLICT2",
++ "STATUS_REGISTRY_QUOTA_LIMIT",
++ "STATUS_PATH_NOT_COVERED",
++ "STATUS_NO_CALLBACK_ACTIVE",
++ "STATUS_LICENSE_QUOTA_EXCEEDED",
++ "STATUS_PWD_TOO_SHORT",
++ "STATUS_PWD_TOO_RECENT",
++ "STATUS_PWD_HISTORY_CONFLICT",
++ "STATUS_PLUGPLAY_NO_DEVICE",
++ "STATUS_UNSUPPORTED_COMPRESSION",
++ "STATUS_INVALID_HW_PROFILE",
++ "STATUS_INVALID_PLUGPLAY_DEVICE_PATH",
++ "STATUS_DRIVER_ORDINAL_NOT_FOUND",
++ "STATUS_DRIVER_ENTRYPOINT_NOT_FOUND",
++ "STATUS_RESOURCE_NOT_OWNED",
++ "STATUS_TOO_MANY_LINKS",
++ "STATUS_QUOTA_LIST_INCONSISTENT",
++ "STATUS_FILE_IS_OFFLINE",
++ "STATUS_EVALUATION_EXPIRATION",
++ "STATUS_ILLEGAL_DLL_RELOCATION",
++ "STATUS_LICENSE_VIOLATION",
++ "STATUS_DLL_INIT_FAILED_LOGOFF",
++ "STATUS_DRIVER_UNABLE_TO_LOAD",
++ "STATUS_DFS_UNAVAILABLE",
++ "STATUS_VOLUME_DISMOUNTED",
++ "STATUS_WX86_INTERNAL_ERROR",
++ "STATUS_WX86_FLOAT_STACK_CHECK",
++ "STATUS_VALIDATE_CONTINUE",
++ "STATUS_NO_MATCH",
++ "STATUS_NO_MORE_MATCHES",
++ "STATUS_NOT_A_REPARSE_POINT",
++ "STATUS_IO_REPARSE_TAG_INVALID",
++ "STATUS_IO_REPARSE_TAG_MISMATCH",
++ "STATUS_IO_REPARSE_DATA_INVALID",
++ "STATUS_IO_REPARSE_TAG_NOT_HANDLED",
++ "STATUS_PWD_TOO_LONG",
++ "STATUS_STOWED_EXCEPTION",
++ "STATUS_CONTEXT_STOWED_EXCEPTION",
++ "STATUS_REPARSE_POINT_NOT_RESOLVED",
++ "STATUS_DIRECTORY_IS_A_REPARSE_POINT",
++ "STATUS_RANGE_LIST_CONFLICT",
++ "STATUS_SOURCE_ELEMENT_EMPTY",
++ "STATUS_DESTINATION_ELEMENT_FULL",
++ "STATUS_ILLEGAL_ELEMENT_ADDRESS",
++ "STATUS_MAGAZINE_NOT_PRESENT",
++ "STATUS_REINITIALIZATION_NEEDED",
++ "STATUS_ENCRYPTION_FAILED",
++ "STATUS_DECRYPTION_FAILED",
++ "STATUS_RANGE_NOT_FOUND",
++ "STATUS_NO_RECOVERY_POLICY",
++ "STATUS_NO_EFS",
++ "STATUS_WRONG_EFS",
++ "STATUS_NO_USER_KEYS",
++ "STATUS_FILE_NOT_ENCRYPTED",
++ "STATUS_NOT_EXPORT_FORMAT",
++ "STATUS_FILE_ENCRYPTED",
++ "STATUS_WMI_GUID_NOT_FOUND",
++ "STATUS_WMI_INSTANCE_NOT_FOUND",
++ "STATUS_WMI_ITEMID_NOT_FOUND",
++ "STATUS_WMI_TRY_AGAIN",
++ "STATUS_SHARED_POLICY",
++ "STATUS_POLICY_OBJECT_NOT_FOUND",
++ "STATUS_POLICY_ONLY_IN_DS",
++ "STATUS_VOLUME_NOT_UPGRADED",
++ "STATUS_REMOTE_STORAGE_NOT_ACTIVE",
++ "STATUS_REMOTE_STORAGE_MEDIA_ERROR",
++ "STATUS_NO_TRACKING_SERVICE",
++ "STATUS_SERVER_SID_MISMATCH",
++ "STATUS_DS_NO_ATTRIBUTE_OR_VALUE",
++ "STATUS_DS_INVALID_ATTRIBUTE_SYNTAX",
++ "STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED",
++ "STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS",
++ "STATUS_DS_BUSY",
++ "STATUS_DS_UNAVAILABLE",
++ "STATUS_DS_NO_RIDS_ALLOCATED",
++ "STATUS_DS_NO_MORE_RIDS",
++ "STATUS_DS_INCORRECT_ROLE_OWNER",
++ "STATUS_DS_RIDMGR_INIT_ERROR",
++ "STATUS_DS_OBJ_CLASS_VIOLATION",
++ "STATUS_DS_CANT_ON_NON_LEAF",
++ "STATUS_DS_CANT_ON_RDN",
++ "STATUS_DS_CANT_MOD_OBJ_CLASS",
++ "STATUS_DS_CROSS_DOM_MOVE_FAILED",
++ "STATUS_DS_GC_NOT_AVAILABLE",
++ "STATUS_DIRECTORY_SERVICE_REQUIRED",
++ "STATUS_REPARSE_ATTRIBUTE_CONFLICT",
++ "STATUS_CANT_ENABLE_DENY_ONLY",
++ "STATUS_FLOAT_MULTIPLE_FAULTS",
++ "STATUS_FLOAT_MULTIPLE_TRAPS",
++ "STATUS_DEVICE_REMOVED",
++ "STATUS_JOURNAL_DELETE_IN_PROGRESS",
++ "STATUS_JOURNAL_NOT_ACTIVE",
++ "STATUS_NOINTERFACE",
++ "STATUS_DS_RIDMGR_DISABLED",
++ "STATUS_DS_ADMIN_LIMIT_EXCEEDED",
++ "STATUS_DRIVER_FAILED_SLEEP",
++ "STATUS_MUTUAL_AUTHENTICATION_FAILED",
++ "STATUS_CORRUPT_SYSTEM_FILE",
++ "STATUS_DATATYPE_MISALIGNMENT_ERROR",
++ "STATUS_WMI_READ_ONLY",
++ "STATUS_WMI_SET_FAILURE",
++ "STATUS_COMMITMENT_MINIMUM",
++ "STATUS_REG_NAT_CONSUMPTION",
++ "STATUS_TRANSPORT_FULL",
++ "STATUS_DS_SAM_INIT_FAILURE",
++ "STATUS_ONLY_IF_CONNECTED",
++ "STATUS_DS_SENSITIVE_GROUP_VIOLATION",
++ "STATUS_PNP_RESTART_ENUMERATION",
++ "STATUS_JOURNAL_ENTRY_DELETED",
++ "STATUS_DS_CANT_MOD_PRIMARYGROUPID",
++ "STATUS_SYSTEM_IMAGE_BAD_SIGNATURE",
++ "STATUS_PNP_REBOOT_REQUIRED",
++ "STATUS_POWER_STATE_INVALID",
++ "STATUS_DS_INVALID_GROUP_TYPE",
++ "STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN",
++ "STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN",
++ "STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER",
++ "STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER",
++ "STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER",
++ "STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER",
++ "STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER",
++ "STATUS_DS_HAVE_PRIMARY_MEMBERS",
++ "STATUS_WMI_NOT_SUPPORTED",
++ "STATUS_INSUFFICIENT_POWER",
++ "STATUS_SAM_NEED_BOOTKEY_PASSWORD",
++ "STATUS_SAM_NEED_BOOTKEY_FLOPPY",
++ "STATUS_DS_CANT_START",
++ "STATUS_DS_INIT_FAILURE",
++ "STATUS_SAM_INIT_FAILURE",
++ "STATUS_DS_GC_REQUIRED",
++ "STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY",
++ "STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS",
++ "STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",
++ "STATUS_MULTIPLE_FAULT_VIOLATION",
++ "STATUS_CURRENT_DOMAIN_NOT_ALLOWED",
++ "STATUS_CANNOT_MAKE",
++ "STATUS_SYSTEM_SHUTDOWN",
++ "STATUS_DS_INIT_FAILURE_CONSOLE",
++ "STATUS_DS_SAM_INIT_FAILURE_CONSOLE",
++ "STATUS_UNFINISHED_CONTEXT_DELETED",
++ "STATUS_NO_TGT_REPLY",
++ "STATUS_OBJECTID_NOT_FOUND",
++ "STATUS_NO_IP_ADDRESSES",
++ "STATUS_WRONG_CREDENTIAL_HANDLE",
++ "STATUS_CRYPTO_SYSTEM_INVALID",
++ "STATUS_MAX_REFERRALS_EXCEEDED",
++ "STATUS_MUST_BE_KDC",
++ "STATUS_STRONG_CRYPTO_NOT_SUPPORTED",
++ "STATUS_TOO_MANY_PRINCIPALS",
++ "STATUS_NO_PA_DATA",
++ "STATUS_PKINIT_NAME_MISMATCH",
++ "STATUS_SMARTCARD_LOGON_REQUIRED",
++ "STATUS_KDC_INVALID_REQUEST",
++ "STATUS_KDC_UNABLE_TO_REFER",
++ "STATUS_KDC_UNKNOWN_ETYPE",
++ "STATUS_SHUTDOWN_IN_PROGRESS",
++ "STATUS_SERVER_SHUTDOWN_IN_PROGRESS",
++ "STATUS_NOT_SUPPORTED_ON_SBS",
++ "STATUS_WMI_GUID_DISCONNECTED",
++ "STATUS_WMI_ALREADY_DISABLED",
++ "STATUS_WMI_ALREADY_ENABLED",
++ "STATUS_MFT_TOO_FRAGMENTED",
++ "STATUS_COPY_PROTECTION_FAILURE",
++ "STATUS_CSS_AUTHENTICATION_FAILURE",
++ "STATUS_CSS_KEY_NOT_PRESENT",
++ "STATUS_CSS_KEY_NOT_ESTABLISHED",
++ "STATUS_CSS_SCRAMBLED_SECTOR",
++ "STATUS_CSS_REGION_MISMATCH",
++ "STATUS_CSS_RESETS_EXHAUSTED",
++ "STATUS_PASSWORD_CHANGE_REQUIRED",
++ "STATUS_LOST_MODE_LOGON_RESTRICTION",
++ "STATUS_PKINIT_FAILURE",
++ "STATUS_SMARTCARD_SUBSYSTEM_FAILURE",
++ "STATUS_NO_KERB_KEY",
++ "STATUS_HOST_DOWN",
++ "STATUS_UNSUPPORTED_PREAUTH",
++ "STATUS_EFS_ALG_BLOB_TOO_BIG",
++ "STATUS_PORT_NOT_SET",
++ "STATUS_DEBUGGER_INACTIVE",
++ "STATUS_DS_VERSION_CHECK_FAILURE",
++ "STATUS_AUDITING_DISABLED",
++ "STATUS_PRENT4_MACHINE_ACCOUNT",
++ "STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER",
++ "STATUS_INVALID_IMAGE_WIN_32",
++ "STATUS_INVALID_IMAGE_WIN_64",
++ "STATUS_BAD_BINDINGS",
++ "STATUS_NETWORK_SESSION_EXPIRED",
++ "STATUS_APPHELP_BLOCK",
++ "STATUS_ALL_SIDS_FILTERED",
++ "STATUS_NOT_SAFE_MODE_DRIVER",
++ "STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT",
++ "STATUS_ACCESS_DISABLED_BY_POLICY_PATH",
++ "STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER",
++ "STATUS_ACCESS_DISABLED_BY_POLICY_OTHER",
++ "STATUS_FAILED_DRIVER_ENTRY",
++ "STATUS_DEVICE_ENUMERATION_ERROR",
++ "STATUS_MOUNT_POINT_NOT_RESOLVED",
++ "STATUS_INVALID_DEVICE_OBJECT_PARAMETER",
++ "STATUS_MCA_OCCURED",
++ "STATUS_DRIVER_BLOCKED_CRITICAL",
++ "STATUS_DRIVER_BLOCKED",
++ "STATUS_DRIVER_DATABASE_ERROR",
++ "STATUS_SYSTEM_HIVE_TOO_LARGE",
++ "STATUS_INVALID_IMPORT_OF_NON_DLL",
++ "STATUS_NO_SECRETS",
++ "STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY",
++ "STATUS_FAILED_STACK_SWITCH",
++ "STATUS_HEAP_CORRUPTION",
++ "STATUS_SMARTCARD_WRONG_PIN",
++ "STATUS_SMARTCARD_CARD_BLOCKED",
++ "STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED",
++ "STATUS_SMARTCARD_NO_CARD",
++ "STATUS_SMARTCARD_NO_KEY_CONTAINER",
++ "STATUS_SMARTCARD_NO_CERTIFICATE",
++ "STATUS_SMARTCARD_NO_KEYSET",
++ "STATUS_SMARTCARD_IO_ERROR",
++ "STATUS_DOWNGRADE_DETECTED",
++ "STATUS_SMARTCARD_CERT_REVOKED",
++ "STATUS_ISSUING_CA_UNTRUSTED",
++ "STATUS_REVOCATION_OFFLINE_C",
++ "STATUS_PKINIT_CLIENT_FAILURE",
++ "STATUS_SMARTCARD_CERT_EXPIRED",
++ "STATUS_DRIVER_FAILED_PRIOR_UNLOAD",
++ "STATUS_SMARTCARD_SILENT_CONTEXT",
++ "STATUS_PER_USER_TRUST_QUOTA_EXCEEDED",
++ "STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED",
++ "STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED",
++ "STATUS_DS_NAME_NOT_UNIQUE",
++ "STATUS_DS_DUPLICATE_ID_FOUND",
++ "STATUS_DS_GROUP_CONVERSION_ERROR",
++ "STATUS_VOLSNAP_PREPARE_HIBERNATE",
++ "STATUS_USER2USER_REQUIRED",
++ "STATUS_STACK_BUFFER_OVERRUN",
++ "STATUS_NO_S4U_PROT_SUPPORT",
++ "STATUS_CROSSREALM_DELEGATION_FAILURE",
++ "STATUS_REVOCATION_OFFLINE_KDC",
++ "STATUS_ISSUING_CA_UNTRUSTED_KDC",
++ "STATUS_KDC_CERT_EXPIRED",
++ "STATUS_KDC_CERT_REVOKED",
++ "STATUS_PARAMETER_QUOTA_EXCEEDED",
++ "STATUS_HIBERNATION_FAILURE",
++ "STATUS_DELAY_LOAD_FAILED",
++ "STATUS_AUTHENTICATION_FIREWALL_FAILED",
++ "STATUS_VDM_DISALLOWED",
++ "STATUS_HUNG_DISPLAY_DRIVER_THREAD",
++ "STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE",
++ "STATUS_INVALID_CRUNTIME_PARAMETER",
++ "STATUS_NTLM_BLOCKED",
++ "STATUS_DS_SRC_SID_EXISTS_IN_FOREST",
++ "STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST",
++ "STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST",
++ "STATUS_INVALID_USER_PRINCIPAL_NAME",
++ "STATUS_FATAL_USER_CALLBACK_EXCEPTION",
++ "STATUS_ASSERTION_FAILURE",
++ "STATUS_VERIFIER_STOP",
++ "STATUS_CALLBACK_POP_STACK",
++ "STATUS_INCOMPATIBLE_DRIVER_BLOCKED",
++ "STATUS_HIVE_UNLOADED",
++ "STATUS_COMPRESSION_DISABLED",
++ "STATUS_FILE_SYSTEM_LIMITATION",
++ "STATUS_INVALID_IMAGE_HASH",
++ "STATUS_NOT_CAPABLE",
++ "STATUS_REQUEST_OUT_OF_SEQUENCE",
++ "STATUS_IMPLEMENTATION_LIMIT",
++ "STATUS_ELEVATION_REQUIRED",
++ "STATUS_NO_SECURITY_CONTEXT",
++ "STATUS_PKU2U_CERT_FAILURE",
++ "STATUS_BEYOND_VDL",
++ "STATUS_ENCOUNTERED_WRITE_IN_PROGRESS",
++ "STATUS_PTE_CHANGED",
++ "STATUS_PURGE_FAILED",
++ "STATUS_CRED_REQUIRES_CONFIRMATION",
++ "STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE",
++ "STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER",
++ "STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE",
++ "STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE",
++ "STATUS_CS_ENCRYPTION_FILE_NOT_CSE",
++ "STATUS_INVALID_LABEL",
++ "STATUS_DRIVER_PROCESS_TERMINATED",
++ "STATUS_AMBIGUOUS_SYSTEM_DEVICE",
++ "STATUS_SYSTEM_DEVICE_NOT_FOUND",
++ "STATUS_RESTART_BOOT_APPLICATION",
++ "STATUS_INSUFFICIENT_NVRAM_RESOURCES",
++ "STATUS_INVALID_SESSION",
++ "STATUS_THREAD_ALREADY_IN_SESSION",
++ "STATUS_THREAD_NOT_IN_SESSION",
++ "STATUS_INVALID_WEIGHT",
++ "STATUS_REQUEST_PAUSED",
++ "STATUS_NO_RANGES_PROCESSED",
++ "STATUS_DISK_RESOURCES_EXHAUSTED",
++ "STATUS_NEEDS_REMEDIATION",
++ "STATUS_DEVICE_FEATURE_NOT_SUPPORTED",
++ "STATUS_DEVICE_UNREACHABLE",
++ "STATUS_INVALID_TOKEN",
++ "STATUS_SERVER_UNAVAILABLE",
++ "STATUS_FILE_NOT_AVAILABLE",
++ "STATUS_DEVICE_INSUFFICIENT_RESOURCES",
++ "STATUS_PACKAGE_UPDATING",
++ "STATUS_NOT_READ_FROM_COPY",
++ "STATUS_FT_WRITE_FAILURE",
++ "STATUS_FT_DI_SCAN_REQUIRED",
++ "STATUS_OBJECT_NOT_EXTERNALLY_BACKED",
++ "STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN",
++ "STATUS_COMPRESSION_NOT_BENEFICIAL",
++ "STATUS_DATA_CHECKSUM_ERROR",
++ "STATUS_INTERMIXED_KERNEL_EA_OPERATION",
++ "STATUS_TRIM_READ_ZERO_NOT_SUPPORTED",
++ "STATUS_TOO_MANY_SEGMENT_DESCRIPTORS",
++ "STATUS_INVALID_OFFSET_ALIGNMENT",
++ "STATUS_INVALID_FIELD_IN_PARAMETER_LIST",
++ "STATUS_OPERATION_IN_PROGRESS",
++ "STATUS_INVALID_INITIATOR_TARGET_PATH",
++ "STATUS_SCRUB_DATA_DISABLED",
++ "STATUS_NOT_REDUNDANT_STORAGE",
++ "STATUS_RESIDENT_FILE_NOT_SUPPORTED",
++ "STATUS_COMPRESSED_FILE_NOT_SUPPORTED",
++ "STATUS_DIRECTORY_NOT_SUPPORTED",
++ "STATUS_IO_OPERATION_TIMEOUT",
++ "STATUS_SYSTEM_NEEDS_REMEDIATION",
++ "STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN",
++ "STATUS_SHARE_UNAVAILABLE",
++ "STATUS_APISET_NOT_HOSTED",
++ "STATUS_APISET_NOT_PRESENT",
++ "STATUS_DEVICE_HARDWARE_ERROR",
++ "STATUS_FIRMWARE_SLOT_INVALID",
++ "STATUS_FIRMWARE_IMAGE_INVALID",
++ "STATUS_STORAGE_TOPOLOGY_ID_MISMATCH",
++ "STATUS_WIM_NOT_BOOTABLE",
++ "STATUS_BLOCKED_BY_PARENTAL_CONTROLS",
++ "STATUS_NEEDS_REGISTRATION",
++ "STATUS_QUOTA_ACTIVITY",
++ "STATUS_CALLBACK_INVOKE_INLINE",
++ "STATUS_BLOCK_TOO_MANY_REFERENCES",
++ "STATUS_MARKED_TO_DISALLOW_WRITES",
++ "STATUS_NETWORK_ACCESS_DENIED_EDP",
++ "STATUS_ENCLAVE_FAILURE",
++ "STATUS_PNP_NO_COMPAT_DRIVERS",
++ "STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND",
++ "STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND",
++ "STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE",
++ "STATUS_PNP_FUNCTION_DRIVER_REQUIRED",
++ "STATUS_PNP_DEVICE_CONFIGURATION_PENDING",
++ "STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL",
++ "STATUS_PACKAGE_NOT_AVAILABLE",
++ "STATUS_DEVICE_IN_MAINTENANCE",
++ "STATUS_NOT_SUPPORTED_ON_DAX",
++ "STATUS_FREE_SPACE_TOO_FRAGMENTED",
++ "STATUS_DAX_MAPPING_EXISTS",
++ "STATUS_CHILD_PROCESS_BLOCKED",
++ "STATUS_STORAGE_LOST_DATA_PERSISTENCE",
++ "STATUS_VRF_CFG_AND_IO_ENABLED",
++ "STATUS_PARTITION_TERMINATING",
++ "STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED",
++ "STATUS_ENCLAVE_VIOLATION",
++ "STATUS_FILE_PROTECTED_UNDER_DPL",
++ "STATUS_VOLUME_NOT_CLUSTER_ALIGNED",
++ "STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND",
++ "STATUS_APPX_FILE_NOT_ENCRYPTED",
++ "STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED",
++ "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET",
++ "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE",
++ "STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER",
++ "STATUS_FT_READ_FAILURE",
++ "STATUS_PATCH_CONFLICT",
++ "STATUS_STORAGE_RESERVE_ID_INVALID",
++ "STATUS_STORAGE_RESERVE_DOES_NOT_EXIST",
++ "STATUS_STORAGE_RESERVE_ALREADY_EXISTS",
++ "STATUS_STORAGE_RESERVE_NOT_EMPTY",
++ "STATUS_NOT_A_DAX_VOLUME",
++ "STATUS_NOT_DAX_MAPPABLE",
++ "STATUS_CASE_DIFFERING_NAMES_IN_DIR",
++ "STATUS_FILE_NOT_SUPPORTED",
++ "STATUS_NOT_SUPPORTED_WITH_BTT",
++ "STATUS_ENCRYPTION_DISABLED",
++ "STATUS_ENCRYPTING_METADATA_DISALLOWED",
++ "STATUS_CANT_CLEAR_ENCRYPTION_FLAG",
++ "STATUS_UNSATISFIED_DEPENDENCIES",
++ "STATUS_CASE_SENSITIVE_PATH",
++ "STATUS_HAS_SYSTEM_CRITICAL_FILES",
++ "STATUS_INVALID_TASK_NAME",
++ "STATUS_INVALID_TASK_INDEX",
++ "STATUS_THREAD_ALREADY_IN_TASK",
++ "STATUS_CALLBACK_BYPASS",
++ "STATUS_UNDEFINED_SCOPE",
++ "STATUS_INVALID_CAP",
++ "STATUS_NOT_GUI_PROCESS",
++ "STATUS_DEVICE_HUNG",
++ "STATUS_CONTAINER_ASSIGNED",
++ "STATUS_JOB_NO_CONTAINER",
++ "STATUS_DEVICE_UNRESPONSIVE",
++ "STATUS_REPARSE_POINT_ENCOUNTERED",
++ "STATUS_ATTRIBUTE_NOT_PRESENT",
++ "STATUS_NOT_A_TIERED_VOLUME",
++ "STATUS_ALREADY_HAS_STREAM_ID",
++ "STATUS_JOB_NOT_EMPTY",
++ "STATUS_ALREADY_INITIALIZED",
++ "STATUS_ENCLAVE_NOT_TERMINATED",
++ "STATUS_ENCLAVE_IS_TERMINATING",
++ "STATUS_SMB1_NOT_AVAILABLE",
++ "STATUS_SMR_GARBAGE_COLLECTION_REQUIRED",
++ "STATUS_INTERRUPTED",
++ "STATUS_THREAD_NOT_RUNNING",
++ "STATUS_FAIL_FAST_EXCEPTION",
++ "STATUS_IMAGE_CERT_REVOKED",
++ "STATUS_DYNAMIC_CODE_BLOCKED",
++ "STATUS_IMAGE_CERT_EXPIRED",
++ "STATUS_STRICT_CFG_VIOLATION",
++ "STATUS_SET_CONTEXT_DENIED",
++ "STATUS_CROSS_PARTITION_VIOLATION",
++ "STATUS_PORT_CLOSED",
++ "STATUS_MESSAGE_LOST",
++ "STATUS_INVALID_MESSAGE",
++ "STATUS_REQUEST_CANCELED",
++ "STATUS_RECURSIVE_DISPATCH",
++ "STATUS_LPC_RECEIVE_BUFFER_EXPECTED",
++ "STATUS_LPC_INVALID_CONNECTION_USAGE",
++ "STATUS_LPC_REQUESTS_NOT_ALLOWED",
++ "STATUS_RESOURCE_IN_USE",
++ "STATUS_HARDWARE_MEMORY_ERROR",
++ "STATUS_THREADPOOL_HANDLE_EXCEPTION",
++ "STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED",
++ "STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED",
++ "STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED",
++ "STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED",
++ "STATUS_THREADPOOL_RELEASED_DURING_OPERATION",
++ "STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING",
++ "STATUS_APC_RETURNED_WHILE_IMPERSONATING",
++ "STATUS_PROCESS_IS_PROTECTED",
++ "STATUS_MCA_EXCEPTION",
++ "STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE",
++ "STATUS_SYMLINK_CLASS_DISABLED",
++ "STATUS_INVALID_IDN_NORMALIZATION",
++ "STATUS_NO_UNICODE_TRANSLATION",
++ "STATUS_ALREADY_REGISTERED",
++ "STATUS_CONTEXT_MISMATCH",
++ "STATUS_PORT_ALREADY_HAS_COMPLETION_LIST",
++ "STATUS_CALLBACK_RETURNED_THREAD_PRIORITY",
++ "STATUS_INVALID_THREAD",
++ "STATUS_CALLBACK_RETURNED_TRANSACTION",
++ "STATUS_CALLBACK_RETURNED_LDR_LOCK",
++ "STATUS_CALLBACK_RETURNED_LANG",
++ "STATUS_CALLBACK_RETURNED_PRI_BACK",
++ "STATUS_CALLBACK_RETURNED_THREAD_AFFINITY",
++ "STATUS_LPC_HANDLE_COUNT_EXCEEDED",
++ "STATUS_EXECUTABLE_MEMORY_WRITE",
++ "STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE",
++ "STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE",
++ "STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE",
++ "STATUS_DISK_REPAIR_DISABLED",
++ "STATUS_DS_DOMAIN_RENAME_IN_PROGRESS",
++ "STATUS_DISK_QUOTA_EXCEEDED",
++ "STATUS_CONTENT_BLOCKED",
++ "STATUS_BAD_CLUSTERS",
++ "STATUS_VOLUME_DIRTY",
++ "STATUS_DISK_REPAIR_UNSUCCESSFUL",
++ "STATUS_CORRUPT_LOG_OVERFULL",
++ "STATUS_CORRUPT_LOG_CORRUPTED",
++ "STATUS_CORRUPT_LOG_UNAVAILABLE",
++ "STATUS_CORRUPT_LOG_DELETED_FULL",
++ "STATUS_CORRUPT_LOG_CLEARED",
++ "STATUS_ORPHAN_NAME_EXHAUSTED",
++ "STATUS_PROACTIVE_SCAN_IN_PROGRESS",
++ "STATUS_ENCRYPTED_IO_NOT_POSSIBLE",
++ "STATUS_CORRUPT_LOG_UPLEVEL_RECORDS",
++ "STATUS_FILE_CHECKED_OUT",
++ "STATUS_CHECKOUT_REQUIRED",
++ "STATUS_BAD_FILE_TYPE",
++ "STATUS_FILE_TOO_LARGE",
++ "STATUS_FORMS_AUTH_REQUIRED",
++ "STATUS_VIRUS_INFECTED",
++ "STATUS_VIRUS_DELETED",
++ "STATUS_BAD_MCFG_TABLE",
++ "STATUS_CANNOT_BREAK_OPLOCK",
++ "STATUS_BAD_KEY",
++ "STATUS_BAD_DATA",
++ "STATUS_NO_KEY",
++ "STATUS_FILE_HANDLE_REVOKED",
++ "STATUS_WOW_ASSERTION",
++ "STATUS_INVALID_SIGNATURE",
++ "STATUS_HMAC_NOT_SUPPORTED",
++ "STATUS_AUTH_TAG_MISMATCH",
++ "STATUS_INVALID_STATE_TRANSITION",
++ "STATUS_INVALID_KERNEL_INFO_VERSION",
++ "STATUS_INVALID_PEP_INFO_VERSION",
++ "STATUS_HANDLE_REVOKED",
++ "STATUS_EOF_ON_GHOSTED_RANGE",
++ "STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN",
++ "STATUS_IPSEC_QUEUE_OVERFLOW",
++ "STATUS_ND_QUEUE_OVERFLOW",
++ "STATUS_HOPLIMIT_EXCEEDED",
++ "STATUS_PROTOCOL_NOT_SUPPORTED",
++ "STATUS_FASTPATH_REJECTED",
++ "STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED",
++ "STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR",
++ "STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR",
++ "STATUS_XML_PARSE_ERROR",
++ "STATUS_XMLDSIG_ERROR",
++ "STATUS_WRONG_COMPARTMENT",
++ "STATUS_AUTHIP_FAILURE",
++ "STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS",
++ "STATUS_DS_OID_NOT_FOUND",
++ "STATUS_INCORRECT_ACCOUNT_TYPE",
++ "STATUS_HASH_NOT_SUPPORTED",
++ "STATUS_HASH_NOT_PRESENT",
++ "STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED",
++ "STATUS_GPIO_CLIENT_INFORMATION_INVALID",
++ "STATUS_GPIO_VERSION_NOT_SUPPORTED",
++ "STATUS_GPIO_INVALID_REGISTRATION_PACKET",
++ "STATUS_GPIO_OPERATION_DENIED",
++ "STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE",
++ "STATUS_CANNOT_SWITCH_RUNLEVEL",
++ "STATUS_INVALID_RUNLEVEL_SETTING",
++ "STATUS_RUNLEVEL_SWITCH_TIMEOUT",
++ "STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT",
++ "STATUS_RUNLEVEL_SWITCH_IN_PROGRESS",
++ "STATUS_NOT_APPCONTAINER",
++ "STATUS_NOT_SUPPORTED_IN_APPCONTAINER",
++ "STATUS_INVALID_PACKAGE_SID_LENGTH",
++ "STATUS_LPAC_ACCESS_DENIED",
++ "STATUS_ADMINLESS_ACCESS_DENIED",
++ "STATUS_APP_DATA_NOT_FOUND",
++ "STATUS_APP_DATA_EXPIRED",
++ "STATUS_APP_DATA_CORRUPT",
++ "STATUS_APP_DATA_LIMIT_EXCEEDED",
++ "STATUS_APP_DATA_REBOOT_REQUIRED",
++ "STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED",
++ "STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED",
++ "STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED",
++ "STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED",
++ "STATUS_WOF_WIM_HEADER_CORRUPT",
++ "STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT",
++ "STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT",
++ "STATUS_CIMFS_IMAGE_CORRUPT",
++ "STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE",
++ "STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT",
++ "STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY",
++ "STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN",
++ "STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION",
++ "STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT",
++ "STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING",
++ "STATUS_CLOUD_FILE_METADATA_CORRUPT",
++ "STATUS_CLOUD_FILE_METADATA_TOO_LARGE",
++ "STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED",
++ "STATUS_NOT_A_CLOUD_FILE",
++ "STATUS_CLOUD_FILE_NOT_IN_SYNC",
++ "STATUS_CLOUD_FILE_ALREADY_CONNECTED",
++ "STATUS_CLOUD_FILE_NOT_SUPPORTED",
++ "STATUS_CLOUD_FILE_INVALID_REQUEST",
++ "STATUS_CLOUD_FILE_READ_ONLY_VOLUME",
++ "STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY",
++ "STATUS_CLOUD_FILE_VALIDATION_FAILED",
++ "STATUS_CLOUD_FILE_AUTHENTICATION_FAILED",
++ "STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES",
++ "STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE",
++ "STATUS_CLOUD_FILE_UNSUCCESSFUL",
++ "STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT",
++ "STATUS_CLOUD_FILE_IN_USE",
++ "STATUS_CLOUD_FILE_PINNED",
++ "STATUS_CLOUD_FILE_REQUEST_ABORTED",
++ "STATUS_CLOUD_FILE_PROPERTY_CORRUPT",
++ "STATUS_CLOUD_FILE_ACCESS_DENIED",
++ "STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS",
++ "STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT",
++ "STATUS_CLOUD_FILE_REQUEST_CANCELED",
++ "STATUS_CLOUD_FILE_PROVIDER_TERMINATED",
++ "STATUS_NOT_A_CLOUD_SYNC_ROOT",
++ "STATUS_CLOUD_FILE_REQUEST_TIMEOUT",
++ "STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED",
++ "STATUS_FILE_SNAP_IN_PROGRESS",
++ "STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED",
++ "STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED",
++ "STATUS_FILE_SNAP_IO_NOT_COORDINATED",
++ "STATUS_FILE_SNAP_UNEXPECTED_ERROR",
++ "STATUS_FILE_SNAP_INVALID_PARAMETER",
++ "DBG_NO_STATE_CHANGE",
++ "DBG_APP_NOT_IDLE",
++ "RPC_NT_INVALID_STRING_BINDING",
++ "RPC_NT_WRONG_KIND_OF_BINDING",
++ "RPC_NT_INVALID_BINDING",
++ "RPC_NT_PROTSEQ_NOT_SUPPORTED",
++ "RPC_NT_INVALID_RPC_PROTSEQ",
++ "RPC_NT_INVALID_STRING_UUID",
++ "RPC_NT_INVALID_ENDPOINT_FORMAT",
++ "RPC_NT_INVALID_NET_ADDR",
++ "RPC_NT_NO_ENDPOINT_FOUND",
++ "RPC_NT_INVALID_TIMEOUT",
++ "RPC_NT_OBJECT_NOT_FOUND",
++ "RPC_NT_ALREADY_REGISTERED",
++ "RPC_NT_TYPE_ALREADY_REGISTERED",
++ "RPC_NT_ALREADY_LISTENING",
++ "RPC_NT_NO_PROTSEQS_REGISTERED",
++ "RPC_NT_NOT_LISTENING",
++ "RPC_NT_UNKNOWN_MGR_TYPE",
++ "RPC_NT_UNKNOWN_IF",
++ "RPC_NT_NO_BINDINGS",
++ "RPC_NT_NO_PROTSEQS",
++ "RPC_NT_CANT_CREATE_ENDPOINT",
++ "RPC_NT_OUT_OF_RESOURCES",
++ "RPC_NT_SERVER_UNAVAILABLE",
++ "RPC_NT_SERVER_TOO_BUSY",
++ "RPC_NT_INVALID_NETWORK_OPTIONS",
++ "RPC_NT_NO_CALL_ACTIVE",
++ "RPC_NT_CALL_FAILED",
++ "RPC_NT_CALL_FAILED_DNE",
++ "RPC_NT_PROTOCOL_ERROR",
++ "RPC_NT_UNSUPPORTED_TRANS_SYN",
++ "RPC_NT_UNSUPPORTED_TYPE",
++ "RPC_NT_INVALID_TAG",
++ "RPC_NT_INVALID_BOUND",
++ "RPC_NT_NO_ENTRY_NAME",
++ "RPC_NT_INVALID_NAME_SYNTAX",
++ "RPC_NT_UNSUPPORTED_NAME_SYNTAX",
++ "RPC_NT_UUID_NO_ADDRESS",
++ "RPC_NT_DUPLICATE_ENDPOINT",
++ "RPC_NT_UNKNOWN_AUTHN_TYPE",
++ "RPC_NT_MAX_CALLS_TOO_SMALL",
++ "RPC_NT_STRING_TOO_LONG",
++ "RPC_NT_PROTSEQ_NOT_FOUND",
++ "RPC_NT_PROCNUM_OUT_OF_RANGE",
++ "RPC_NT_BINDING_HAS_NO_AUTH",
++ "RPC_NT_UNKNOWN_AUTHN_SERVICE",
++ "RPC_NT_UNKNOWN_AUTHN_LEVEL",
++ "RPC_NT_INVALID_AUTH_IDENTITY",
++ "RPC_NT_UNKNOWN_AUTHZ_SERVICE",
++ "EPT_NT_INVALID_ENTRY",
++ "EPT_NT_CANT_PERFORM_OP",
++ "EPT_NT_NOT_REGISTERED",
++ "RPC_NT_NOTHING_TO_EXPORT",
++ "RPC_NT_INCOMPLETE_NAME",
++ "RPC_NT_INVALID_VERS_OPTION",
++ "RPC_NT_NO_MORE_MEMBERS",
++ "RPC_NT_NOT_ALL_OBJS_UNEXPORTED",
++ "RPC_NT_INTERFACE_NOT_FOUND",
++ "RPC_NT_ENTRY_ALREADY_EXISTS",
++ "RPC_NT_ENTRY_NOT_FOUND",
++ "RPC_NT_NAME_SERVICE_UNAVAILABLE",
++ "RPC_NT_INVALID_NAF_ID",
++ "RPC_NT_CANNOT_SUPPORT",
++ "RPC_NT_NO_CONTEXT_AVAILABLE",
++ "RPC_NT_INTERNAL_ERROR",
++ "RPC_NT_ZERO_DIVIDE",
++ "RPC_NT_ADDRESS_ERROR",
++ "RPC_NT_FP_DIV_ZERO",
++ "RPC_NT_FP_UNDERFLOW",
++ "RPC_NT_FP_OVERFLOW",
++ "RPC_NT_CALL_IN_PROGRESS",
++ "RPC_NT_NO_MORE_BINDINGS",
++ "RPC_NT_GROUP_MEMBER_NOT_FOUND",
++ "EPT_NT_CANT_CREATE",
++ "RPC_NT_INVALID_OBJECT",
++ "RPC_NT_NO_INTERFACES",
++ "RPC_NT_CALL_CANCELLED",
++ "RPC_NT_BINDING_INCOMPLETE",
++ "RPC_NT_COMM_FAILURE",
++ "RPC_NT_UNSUPPORTED_AUTHN_LEVEL",
++ "RPC_NT_NO_PRINC_NAME",
++ "RPC_NT_NOT_RPC_ERROR",
++ "RPC_NT_SEC_PKG_ERROR",
++ "RPC_NT_NOT_CANCELLED",
++ "RPC_NT_INVALID_ASYNC_HANDLE",
++ "RPC_NT_INVALID_ASYNC_CALL",
++ "RPC_NT_PROXY_ACCESS_DENIED",
++ "RPC_NT_COOKIE_AUTH_FAILED",
++ "RPC_NT_NO_MORE_ENTRIES",
++ "RPC_NT_SS_CHAR_TRANS_OPEN_FAIL",
++ "RPC_NT_SS_CHAR_TRANS_SHORT_FILE",
++ "RPC_NT_SS_IN_NULL_CONTEXT",
++ "RPC_NT_SS_CONTEXT_MISMATCH",
++ "RPC_NT_SS_CONTEXT_DAMAGED",
++ "RPC_NT_SS_HANDLES_MISMATCH",
++ "RPC_NT_SS_CANNOT_GET_CALL_HANDLE",
++ "RPC_NT_NULL_REF_POINTER",
++ "RPC_NT_ENUM_VALUE_OUT_OF_RANGE",
++ "RPC_NT_BYTE_COUNT_TOO_SMALL",
++ "RPC_NT_BAD_STUB_DATA",
++ "RPC_NT_INVALID_ES_ACTION",
++ "RPC_NT_WRONG_ES_VERSION",
++ "RPC_NT_WRONG_STUB_VERSION",
++ "RPC_NT_INVALID_PIPE_OBJECT",
++ "RPC_NT_INVALID_PIPE_OPERATION",
++ "RPC_NT_WRONG_PIPE_VERSION",
++ "RPC_NT_PIPE_CLOSED",
++ "RPC_NT_PIPE_DISCIPLINE_ERROR",
++ "RPC_NT_PIPE_EMPTY",
++ "STATUS_PNP_BAD_MPS_TABLE",
++ "STATUS_PNP_TRANSLATION_FAILED",
++ "STATUS_PNP_IRQ_TRANSLATION_FAILED",
++ "STATUS_PNP_INVALID_ID",
++ "STATUS_IO_REISSUE_AS_CACHED",
++ "STATUS_CTX_WINSTATION_NAME_INVALID",
++ "STATUS_CTX_INVALID_PD",
++ "STATUS_CTX_PD_NOT_FOUND",
++ "STATUS_CTX_CLOSE_PENDING",
++ "STATUS_CTX_NO_OUTBUF",
++ "STATUS_CTX_MODEM_INF_NOT_FOUND",
++ "STATUS_CTX_INVALID_MODEMNAME",
++ "STATUS_CTX_RESPONSE_ERROR",
++ "STATUS_CTX_MODEM_RESPONSE_TIMEOUT",
++ "STATUS_CTX_MODEM_RESPONSE_NO_CARRIER",
++ "STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE",
++ "STATUS_CTX_MODEM_RESPONSE_BUSY",
++ "STATUS_CTX_MODEM_RESPONSE_VOICE",
++ "STATUS_CTX_TD_ERROR",
++ "STATUS_CTX_LICENSE_CLIENT_INVALID",
++ "STATUS_CTX_LICENSE_NOT_AVAILABLE",
++ "STATUS_CTX_LICENSE_EXPIRED",
++ "STATUS_CTX_WINSTATION_NOT_FOUND",
++ "STATUS_CTX_WINSTATION_NAME_COLLISION",
++ "STATUS_CTX_WINSTATION_BUSY",
++ "STATUS_CTX_BAD_VIDEO_MODE",
++ "STATUS_CTX_GRAPHICS_INVALID",
++ "STATUS_CTX_NOT_CONSOLE",
++ "STATUS_CTX_CLIENT_QUERY_TIMEOUT",
++ "STATUS_CTX_CONSOLE_DISCONNECT",
++ "STATUS_CTX_CONSOLE_CONNECT",
++ "STATUS_CTX_SHADOW_DENIED",
++ "STATUS_CTX_WINSTATION_ACCESS_DENIED",
++ "STATUS_CTX_INVALID_WD",
++ "STATUS_CTX_WD_NOT_FOUND",
++ "STATUS_CTX_SHADOW_INVALID",
++ "STATUS_CTX_SHADOW_DISABLED",
++ "STATUS_RDP_PROTOCOL_ERROR",
++ "STATUS_CTX_CLIENT_LICENSE_NOT_SET",
++ "STATUS_CTX_CLIENT_LICENSE_IN_USE",
++ "STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE",
++ "STATUS_CTX_SHADOW_NOT_RUNNING",
++ "STATUS_CTX_LOGON_DISABLED",
++ "STATUS_CTX_SECURITY_LAYER_ERROR",
++ "STATUS_TS_INCOMPATIBLE_SESSIONS",
++ "STATUS_TS_VIDEO_SUBSYSTEM_ERROR",
++ "STATUS_MUI_FILE_NOT_FOUND",
++ "STATUS_MUI_INVALID_FILE",
++ "STATUS_MUI_INVALID_RC_CONFIG",
++ "STATUS_MUI_INVALID_LOCALE_NAME",
++ "STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME",
++ "STATUS_MUI_FILE_NOT_LOADED",
++ "STATUS_RESOURCE_ENUM_USER_STOP",
++ "STATUS_CLUSTER_INVALID_NODE",
++ "STATUS_CLUSTER_NODE_EXISTS",
++ "STATUS_CLUSTER_JOIN_IN_PROGRESS",
++ "STATUS_CLUSTER_NODE_NOT_FOUND",
++ "STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND",
++ "STATUS_CLUSTER_NETWORK_EXISTS",
++ "STATUS_CLUSTER_NETWORK_NOT_FOUND",
++ "STATUS_CLUSTER_NETINTERFACE_EXISTS",
++ "STATUS_CLUSTER_NETINTERFACE_NOT_FOUND",
++ "STATUS_CLUSTER_INVALID_REQUEST",
++ "STATUS_CLUSTER_INVALID_NETWORK_PROVIDER",
++ "STATUS_CLUSTER_NODE_DOWN",
++ "STATUS_CLUSTER_NODE_UNREACHABLE",
++ "STATUS_CLUSTER_NODE_NOT_MEMBER",
++ "STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS",
++ "STATUS_CLUSTER_INVALID_NETWORK",
++ "STATUS_CLUSTER_NO_NET_ADAPTERS",
++ "STATUS_CLUSTER_NODE_UP",
++ "STATUS_CLUSTER_NODE_PAUSED",
++ "STATUS_CLUSTER_NODE_NOT_PAUSED",
++ "STATUS_CLUSTER_NO_SECURITY_CONTEXT",
++ "STATUS_CLUSTER_NETWORK_NOT_INTERNAL",
++ "STATUS_CLUSTER_POISONED",
++ "STATUS_CLUSTER_NON_CSV_PATH",
++ "STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL",
++ "STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS",
++ "STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR",
++ "STATUS_CLUSTER_CSV_REDIRECTED",
++ "STATUS_CLUSTER_CSV_NOT_REDIRECTED",
++ "STATUS_CLUSTER_CSV_VOLUME_DRAINING",
++ "STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS",
++ "STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL",
++ "STATUS_CLUSTER_CSV_NO_SNAPSHOTS",
++ "STATUS_CSV_IO_PAUSE_TIMEOUT",
++ "STATUS_CLUSTER_CSV_INVALID_HANDLE",
++ "STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR",
++ "STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED",
++ "STATUS_ACPI_INVALID_OPCODE",
++ "STATUS_ACPI_STACK_OVERFLOW",
++ "STATUS_ACPI_ASSERT_FAILED",
++ "STATUS_ACPI_INVALID_INDEX",
++ "STATUS_ACPI_INVALID_ARGUMENT",
++ "STATUS_ACPI_FATAL",
++ "STATUS_ACPI_INVALID_SUPERNAME",
++ "STATUS_ACPI_INVALID_ARGTYPE",
++ "STATUS_ACPI_INVALID_OBJTYPE",
++ "STATUS_ACPI_INVALID_TARGETTYPE",
++ "STATUS_ACPI_INCORRECT_ARGUMENT_COUNT",
++ "STATUS_ACPI_ADDRESS_NOT_MAPPED",
++ "STATUS_ACPI_INVALID_EVENTTYPE",
++ "STATUS_ACPI_HANDLER_COLLISION",
++ "STATUS_ACPI_INVALID_DATA",
++ "STATUS_ACPI_INVALID_REGION",
++ "STATUS_ACPI_INVALID_ACCESS_SIZE",
++ "STATUS_ACPI_ACQUIRE_GLOBAL_LOCK",
++ "STATUS_ACPI_ALREADY_INITIALIZED",
++ "STATUS_ACPI_NOT_INITIALIZED",
++ "STATUS_ACPI_INVALID_MUTEX_LEVEL",
++ "STATUS_ACPI_MUTEX_NOT_OWNED",
++ "STATUS_ACPI_MUTEX_NOT_OWNER",
++ "STATUS_ACPI_RS_ACCESS",
++ "STATUS_ACPI_INVALID_TABLE",
++ "STATUS_ACPI_REG_HANDLER_FAILED",
++ "STATUS_ACPI_POWER_REQUEST_FAILED",
++ "STATUS_SXS_SECTION_NOT_FOUND",
++ "STATUS_SXS_CANT_GEN_ACTCTX",
++ "STATUS_SXS_INVALID_ACTCTXDATA_FORMAT",
++ "STATUS_SXS_ASSEMBLY_NOT_FOUND",
++ "STATUS_SXS_MANIFEST_FORMAT_ERROR",
++ "STATUS_SXS_MANIFEST_PARSE_ERROR",
++ "STATUS_SXS_ACTIVATION_CONTEXT_DISABLED",
++ "STATUS_SXS_KEY_NOT_FOUND",
++ "STATUS_SXS_VERSION_CONFLICT",
++ "STATUS_SXS_WRONG_SECTION_TYPE",
++ "STATUS_SXS_THREAD_QUERIES_DISABLED",
++ "STATUS_SXS_ASSEMBLY_MISSING",
++ "STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET",
++ "STATUS_SXS_EARLY_DEACTIVATION",
++ "STATUS_SXS_INVALID_DEACTIVATION",
++ "STATUS_SXS_MULTIPLE_DEACTIVATION",
++ "STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY",
++ "STATUS_SXS_PROCESS_TERMINATION_REQUESTED",
++ "STATUS_SXS_CORRUPT_ACTIVATION_STACK",
++ "STATUS_SXS_CORRUPTION",
++ "STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE",
++ "STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME",
++ "STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE",
++ "STATUS_SXS_IDENTITY_PARSE_ERROR",
++ "STATUS_SXS_COMPONENT_STORE_CORRUPT",
++ "STATUS_SXS_FILE_HASH_MISMATCH",
++ "STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT",
++ "STATUS_SXS_IDENTITIES_DIFFERENT",
++ "STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT",
++ "STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY",
++ "STATUS_ADVANCED_INSTALLER_FAILED",
++ "STATUS_XML_ENCODING_MISMATCH",
++ "STATUS_SXS_MANIFEST_TOO_BIG",
++ "STATUS_SXS_SETTING_NOT_REGISTERED",
++ "STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE",
++ "STATUS_SMI_PRIMITIVE_INSTALLER_FAILED",
++ "STATUS_GENERIC_COMMAND_FAILED",
++ "STATUS_SXS_FILE_HASH_MISSING",
++ "STATUS_TRANSACTIONAL_CONFLICT",
++ "STATUS_INVALID_TRANSACTION",
++ "STATUS_TRANSACTION_NOT_ACTIVE",
++ "STATUS_TM_INITIALIZATION_FAILED",
++ "STATUS_RM_NOT_ACTIVE",
++ "STATUS_RM_METADATA_CORRUPT",
++ "STATUS_TRANSACTION_NOT_JOINED",
++ "STATUS_DIRECTORY_NOT_RM",
++ "STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE",
++ "STATUS_LOG_RESIZE_INVALID_SIZE",
++ "STATUS_REMOTE_FILE_VERSION_MISMATCH",
++ "STATUS_CRM_PROTOCOL_ALREADY_EXISTS",
++ "STATUS_TRANSACTION_PROPAGATION_FAILED",
++ "STATUS_CRM_PROTOCOL_NOT_FOUND",
++ "STATUS_TRANSACTION_SUPERIOR_EXISTS",
++ "STATUS_TRANSACTION_REQUEST_NOT_VALID",
++ "STATUS_TRANSACTION_NOT_REQUESTED",
++ "STATUS_TRANSACTION_ALREADY_ABORTED",
++ "STATUS_TRANSACTION_ALREADY_COMMITTED",
++ "STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER",
++ "STATUS_CURRENT_TRANSACTION_NOT_VALID",
++ "STATUS_LOG_GROWTH_FAILED",
++ "STATUS_OBJECT_NO_LONGER_EXISTS",
++ "STATUS_STREAM_MINIVERSION_NOT_FOUND",
++ "STATUS_STREAM_MINIVERSION_NOT_VALID",
++ "STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION",
++ "STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT",
++ "STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS",
++ "STATUS_HANDLE_NO_LONGER_VALID",
++ "STATUS_LOG_CORRUPTION_DETECTED",
++ "STATUS_RM_DISCONNECTED",
++ "STATUS_ENLISTMENT_NOT_SUPERIOR",
++ "STATUS_FILE_IDENTITY_NOT_PERSISTENT",
++ "STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY",
++ "STATUS_CANT_CROSS_RM_BOUNDARY",
++ "STATUS_TXF_DIR_NOT_EMPTY",
++ "STATUS_INDOUBT_TRANSACTIONS_EXIST",
++ "STATUS_TM_VOLATILE",
++ "STATUS_ROLLBACK_TIMER_EXPIRED",
++ "STATUS_TXF_ATTRIBUTE_CORRUPT",
++ "STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION",
++ "STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED",
++ "STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE",
++ "STATUS_TRANSACTION_REQUIRED_PROMOTION",
++ "STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION",
++ "STATUS_TRANSACTIONS_NOT_FROZEN",
++ "STATUS_TRANSACTION_FREEZE_IN_PROGRESS",
++ "STATUS_NOT_SNAPSHOT_VOLUME",
++ "STATUS_NO_SAVEPOINT_WITH_OPEN_FILES",
++ "STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION",
++ "STATUS_TM_IDENTITY_MISMATCH",
++ "STATUS_FLOATED_SECTION",
++ "STATUS_CANNOT_ACCEPT_TRANSACTED_WORK",
++ "STATUS_CANNOT_ABORT_TRANSACTIONS",
++ "STATUS_TRANSACTION_NOT_FOUND",
++ "STATUS_RESOURCEMANAGER_NOT_FOUND",
++ "STATUS_ENLISTMENT_NOT_FOUND",
++ "STATUS_TRANSACTIONMANAGER_NOT_FOUND",
++ "STATUS_TRANSACTIONMANAGER_NOT_ONLINE",
++ "STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION",
++ "STATUS_TRANSACTION_NOT_ROOT",
++ "STATUS_TRANSACTION_OBJECT_EXPIRED",
++ "STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION",
++ "STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED",
++ "STATUS_TRANSACTION_RECORD_TOO_LONG",
++ "STATUS_NO_LINK_TRACKING_IN_TRANSACTION",
++ "STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION",
++ "STATUS_TRANSACTION_INTEGRITY_VIOLATED",
++ "STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH",
++ "STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT",
++ "STATUS_TRANSACTION_MUST_WRITETHROUGH",
++ "STATUS_TRANSACTION_NO_SUPERIOR",
++ "STATUS_EXPIRED_HANDLE",
++ "STATUS_TRANSACTION_NOT_ENLISTED",
++ "STATUS_LOG_SECTOR_INVALID",
++ "STATUS_LOG_SECTOR_PARITY_INVALID",
++ "STATUS_LOG_SECTOR_REMAPPED",
++ "STATUS_LOG_BLOCK_INCOMPLETE",
++ "STATUS_LOG_INVALID_RANGE",
++ "STATUS_LOG_BLOCKS_EXHAUSTED",
++ "STATUS_LOG_READ_CONTEXT_INVALID",
++ "STATUS_LOG_RESTART_INVALID",
++ "STATUS_LOG_BLOCK_VERSION",
++ "STATUS_LOG_BLOCK_INVALID",
++ "STATUS_LOG_READ_MODE_INVALID",
++ "STATUS_LOG_METADATA_CORRUPT",
++ "STATUS_LOG_METADATA_INVALID",
++ "STATUS_LOG_METADATA_INCONSISTENT",
++ "STATUS_LOG_RESERVATION_INVALID",
++ "STATUS_LOG_CANT_DELETE",
++ "STATUS_LOG_CONTAINER_LIMIT_EXCEEDED",
++ "STATUS_LOG_START_OF_LOG",
++ "STATUS_LOG_POLICY_ALREADY_INSTALLED",
++ "STATUS_LOG_POLICY_NOT_INSTALLED",
++ "STATUS_LOG_POLICY_INVALID",
++ "STATUS_LOG_POLICY_CONFLICT",
++ "STATUS_LOG_PINNED_ARCHIVE_TAIL",
++ "STATUS_LOG_RECORD_NONEXISTENT",
++ "STATUS_LOG_RECORDS_RESERVED_INVALID",
++ "STATUS_LOG_SPACE_RESERVED_INVALID",
++ "STATUS_LOG_TAIL_INVALID",
++ "STATUS_LOG_FULL",
++ "STATUS_LOG_MULTIPLEXED",
++ "STATUS_LOG_DEDICATED",
++ "STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS",
++ "STATUS_LOG_ARCHIVE_IN_PROGRESS",
++ "STATUS_LOG_EPHEMERAL",
++ "STATUS_LOG_NOT_ENOUGH_CONTAINERS",
++ "STATUS_LOG_CLIENT_ALREADY_REGISTERED",
++ "STATUS_LOG_CLIENT_NOT_REGISTERED",
++ "STATUS_LOG_FULL_HANDLER_IN_PROGRESS",
++ "STATUS_LOG_CONTAINER_READ_FAILED",
++ "STATUS_LOG_CONTAINER_WRITE_FAILED",
++ "STATUS_LOG_CONTAINER_OPEN_FAILED",
++ "STATUS_LOG_CONTAINER_STATE_INVALID",
++ "STATUS_LOG_STATE_INVALID",
++ "STATUS_LOG_PINNED",
++ "STATUS_LOG_METADATA_FLUSH_FAILED",
++ "STATUS_LOG_INCONSISTENT_SECURITY",
++ "STATUS_LOG_APPENDED_FLUSH_FAILED",
++ "STATUS_LOG_PINNED_RESERVATION",
++ "STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD",
++ "STATUS_FLT_NO_HANDLER_DEFINED",
++ "STATUS_FLT_CONTEXT_ALREADY_DEFINED",
++ "STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST",
++ "STATUS_FLT_DISALLOW_FAST_IO",
++ "STATUS_FLT_INVALID_NAME_REQUEST",
++ "STATUS_FLT_NOT_SAFE_TO_POST_OPERATION",
++ "STATUS_FLT_NOT_INITIALIZED",
++ "STATUS_FLT_FILTER_NOT_READY",
++ "STATUS_FLT_POST_OPERATION_CLEANUP",
++ "STATUS_FLT_INTERNAL_ERROR",
++ "STATUS_FLT_DELETING_OBJECT",
++ "STATUS_FLT_MUST_BE_NONPAGED_POOL",
++ "STATUS_FLT_DUPLICATE_ENTRY",
++ "STATUS_FLT_CBDQ_DISABLED",
++ "STATUS_FLT_DO_NOT_ATTACH",
++ "STATUS_FLT_DO_NOT_DETACH",
++ "STATUS_FLT_INSTANCE_ALTITUDE_COLLISION",
++ "STATUS_FLT_INSTANCE_NAME_COLLISION",
++ "STATUS_FLT_FILTER_NOT_FOUND",
++ "STATUS_FLT_VOLUME_NOT_FOUND",
++ "STATUS_FLT_INSTANCE_NOT_FOUND",
++ "STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND",
++ "STATUS_FLT_INVALID_CONTEXT_REGISTRATION",
++ "STATUS_FLT_NAME_CACHE_MISS",
++ "STATUS_FLT_NO_DEVICE_OBJECT",
++ "STATUS_FLT_VOLUME_ALREADY_MOUNTED",
++ "STATUS_FLT_ALREADY_ENLISTED",
++ "STATUS_FLT_CONTEXT_ALREADY_LINKED",
++ "STATUS_FLT_NO_WAITER_FOR_REPLY",
++ "STATUS_FLT_REGISTRATION_BUSY",
++ "STATUS_MONITOR_NO_DESCRIPTOR",
++ "STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT",
++ "STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM",
++ "STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK",
++ "STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED",
++ "STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK",
++ "STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK",
++ "STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA",
++ "STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK",
++ "STATUS_MONITOR_INVALID_MANUFACTURE_DATE",
++ "STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER",
++ "STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER",
++ "STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER",
++ "STATUS_GRAPHICS_ADAPTER_WAS_RESET",
++ "STATUS_GRAPHICS_INVALID_DRIVER_MODEL",
++ "STATUS_GRAPHICS_PRESENT_MODE_CHANGED",
++ "STATUS_GRAPHICS_PRESENT_OCCLUDED",
++ "STATUS_GRAPHICS_PRESENT_DENIED",
++ "STATUS_GRAPHICS_CANNOTCOLORCONVERT",
++ "STATUS_GRAPHICS_DRIVER_MISMATCH",
++ "STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED",
++ "STATUS_GRAPHICS_PRESENT_UNOCCLUDED",
++ "STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE",
++ "STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED",
++ "STATUS_GRAPHICS_PRESENT_INVALID_WINDOW",
++ "STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND",
++ "STATUS_GRAPHICS_VAIL_STATE_CHANGED",
++ "STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN",
++ "STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED",
++ "STATUS_GRAPHICS_NO_VIDEO_MEMORY",
++ "STATUS_GRAPHICS_CANT_LOCK_MEMORY",
++ "STATUS_GRAPHICS_ALLOCATION_BUSY",
++ "STATUS_GRAPHICS_TOO_MANY_REFERENCES",
++ "STATUS_GRAPHICS_TRY_AGAIN_LATER",
++ "STATUS_GRAPHICS_TRY_AGAIN_NOW",
++ "STATUS_GRAPHICS_ALLOCATION_INVALID",
++ "STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE",
++ "STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED",
++ "STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION",
++ "STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE",
++ "STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION",
++ "STATUS_GRAPHICS_ALLOCATION_CLOSED",
++ "STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE",
++ "STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE",
++ "STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE",
++ "STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST",
++ "STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE",
++ "STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY",
++ "STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_INVALID_VIDPN",
++ "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE",
++ "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET",
++ "STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET",
++ "STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET",
++ "STATUS_GRAPHICS_INVALID_FREQUENCY",
++ "STATUS_GRAPHICS_INVALID_ACTIVE_REGION",
++ "STATUS_GRAPHICS_INVALID_TOTAL_REGION",
++ "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE",
++ "STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE",
++ "STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET",
++ "STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY",
++ "STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET",
++ "STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET",
++ "STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET",
++ "STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET",
++ "STATUS_GRAPHICS_TARGET_ALREADY_IN_SET",
++ "STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH",
++ "STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY",
++ "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET",
++ "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE",
++ "STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET",
++ "STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET",
++ "STATUS_GRAPHICS_STALE_MODESET",
++ "STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET",
++ "STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE",
++ "STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN",
++ "STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE",
++ "STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION",
++ "STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES",
++ "STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY",
++ "STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE",
++ "STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET",
++ "STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET",
++ "STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR",
++ "STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET",
++ "STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET",
++ "STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE",
++ "STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE",
++ "STATUS_GRAPHICS_RESOURCES_NOT_RELATED",
++ "STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE",
++ "STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE",
++ "STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET",
++ "STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER",
++ "STATUS_GRAPHICS_NO_VIDPNMGR",
++ "STATUS_GRAPHICS_NO_ACTIVE_VIDPN",
++ "STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY",
++ "STATUS_GRAPHICS_MONITOR_NOT_CONNECTED",
++ "STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY",
++ "STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE",
++ "STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE",
++ "STATUS_GRAPHICS_INVALID_STRIDE",
++ "STATUS_GRAPHICS_INVALID_PIXELFORMAT",
++ "STATUS_GRAPHICS_INVALID_COLORBASIS",
++ "STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE",
++ "STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY",
++ "STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT",
++ "STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE",
++ "STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN",
++ "STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL",
++ "STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION",
++ "STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_INVALID_GAMMA_RAMP",
++ "STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_MODE_NOT_IN_MODESET",
++ "STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON",
++ "STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE",
++ "STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE",
++ "STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS",
++ "STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING",
++ "STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED",
++ "STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS",
++ "STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT",
++ "STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM",
++ "STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN",
++ "STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT",
++ "STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED",
++ "STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION",
++ "STATUS_GRAPHICS_INVALID_CLIENT_TYPE",
++ "STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET",
++ "STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED",
++ "STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER",
++ "STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED",
++ "STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED",
++ "STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY",
++ "STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED",
++ "STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON",
++ "STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE",
++ "STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER",
++ "STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED",
++ "STATUS_GRAPHICS_OPM_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_COPP_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_UAB_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS",
++ "STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST",
++ "STATUS_GRAPHICS_OPM_INTERNAL_ERROR",
++ "STATUS_GRAPHICS_OPM_INVALID_HANDLE",
++ "STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH",
++ "STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED",
++ "STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED",
++ "STATUS_GRAPHICS_PVP_HFS_FAILED",
++ "STATUS_GRAPHICS_OPM_INVALID_SRM",
++ "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP",
++ "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP",
++ "STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA",
++ "STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET",
++ "STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH",
++ "STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE",
++ "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS",
++ "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS",
++ "STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST",
++ "STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR",
++ "STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS",
++ "STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST",
++ "STATUS_GRAPHICS_I2C_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST",
++ "STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA",
++ "STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA",
++ "STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_DDCCI_INVALID_DATA",
++ "STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE",
++ "STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING",
++ "STATUS_GRAPHICS_MCA_INTERNAL_ERROR",
++ "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND",
++ "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH",
++ "STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM",
++ "STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE",
++ "STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS",
++ "STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED",
++ "STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME",
++ "STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP",
++ "STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED",
++ "STATUS_GRAPHICS_INVALID_POINTER",
++ "STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE",
++ "STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL",
++ "STATUS_GRAPHICS_INTERNAL_ERROR",
++ "STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS",
++ "STATUS_FVE_LOCKED_VOLUME",
++ "STATUS_FVE_NOT_ENCRYPTED",
++ "STATUS_FVE_BAD_INFORMATION",
++ "STATUS_FVE_TOO_SMALL",
++ "STATUS_FVE_FAILED_WRONG_FS",
++ "STATUS_FVE_BAD_PARTITION_SIZE",
++ "STATUS_FVE_FS_NOT_EXTENDED",
++ "STATUS_FVE_FS_MOUNTED",
++ "STATUS_FVE_NO_LICENSE",
++ "STATUS_FVE_ACTION_NOT_ALLOWED",
++ "STATUS_FVE_BAD_DATA",
++ "STATUS_FVE_VOLUME_NOT_BOUND",
++ "STATUS_FVE_NOT_DATA_VOLUME",
++ "STATUS_FVE_CONV_READ_ERROR",
++ "STATUS_FVE_CONV_WRITE_ERROR",
++ "STATUS_FVE_OVERLAPPED_UPDATE",
++ "STATUS_FVE_FAILED_SECTOR_SIZE",
++ "STATUS_FVE_FAILED_AUTHENTICATION",
++ "STATUS_FVE_NOT_OS_VOLUME",
++ "STATUS_FVE_KEYFILE_NOT_FOUND",
++ "STATUS_FVE_KEYFILE_INVALID",
++ "STATUS_FVE_KEYFILE_NO_VMK",
++ "STATUS_FVE_TPM_DISABLED",
++ "STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO",
++ "STATUS_FVE_TPM_INVALID_PCR",
++ "STATUS_FVE_TPM_NO_VMK",
++ "STATUS_FVE_PIN_INVALID",
++ "STATUS_FVE_AUTH_INVALID_APPLICATION",
++ "STATUS_FVE_AUTH_INVALID_CONFIG",
++ "STATUS_FVE_DEBUGGER_ENABLED",
++ "STATUS_FVE_DRY_RUN_FAILED",
++ "STATUS_FVE_BAD_METADATA_POINTER",
++ "STATUS_FVE_OLD_METADATA_COPY",
++ "STATUS_FVE_REBOOT_REQUIRED",
++ "STATUS_FVE_RAW_ACCESS",
++ "STATUS_FVE_RAW_BLOCKED",
++ "STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY",
++ "STATUS_FVE_MOR_FAILED",
++ "STATUS_FVE_NO_FEATURE_LICENSE",
++ "STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED",
++ "STATUS_FVE_CONV_RECOVERY_FAILED",
++ "STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG",
++ "STATUS_FVE_INVALID_DATUM_TYPE",
++ "STATUS_FVE_VOLUME_TOO_SMALL",
++ "STATUS_FVE_ENH_PIN_INVALID",
++ "STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE",
++ "STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE",
++ "STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK",
++ "STATUS_FVE_NOT_ALLOWED_ON_CLUSTER",
++ "STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING",
++ "STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE",
++ "STATUS_FVE_EDRIVE_DRY_RUN_FAILED",
++ "STATUS_FVE_SECUREBOOT_DISABLED",
++ "STATUS_FVE_SECUREBOOT_CONFIG_CHANGE",
++ "STATUS_FVE_DEVICE_LOCKEDOUT",
++ "STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT",
++ "STATUS_FVE_NOT_DE_VOLUME",
++ "STATUS_FVE_PROTECTION_DISABLED",
++ "STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED",
++ "STATUS_FVE_OSV_KSR_NOT_ALLOWED",
++ "STATUS_FWP_CALLOUT_NOT_FOUND",
++ "STATUS_FWP_CONDITION_NOT_FOUND",
++ "STATUS_FWP_FILTER_NOT_FOUND",
++ "STATUS_FWP_LAYER_NOT_FOUND",
++ "STATUS_FWP_PROVIDER_NOT_FOUND",
++ "STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND",
++ "STATUS_FWP_SUBLAYER_NOT_FOUND",
++ "STATUS_FWP_NOT_FOUND",
++ "STATUS_FWP_ALREADY_EXISTS",
++ "STATUS_FWP_IN_USE",
++ "STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS",
++ "STATUS_FWP_WRONG_SESSION",
++ "STATUS_FWP_NO_TXN_IN_PROGRESS",
++ "STATUS_FWP_TXN_IN_PROGRESS",
++ "STATUS_FWP_TXN_ABORTED",
++ "STATUS_FWP_SESSION_ABORTED",
++ "STATUS_FWP_INCOMPATIBLE_TXN",
++ "STATUS_FWP_TIMEOUT",
++ "STATUS_FWP_NET_EVENTS_DISABLED",
++ "STATUS_FWP_INCOMPATIBLE_LAYER",
++ "STATUS_FWP_KM_CLIENTS_ONLY",
++ "STATUS_FWP_LIFETIME_MISMATCH",
++ "STATUS_FWP_BUILTIN_OBJECT",
++ "STATUS_FWP_TOO_MANY_CALLOUTS",
++ "STATUS_FWP_NOTIFICATION_DROPPED",
++ "STATUS_FWP_TRAFFIC_MISMATCH",
++ "STATUS_FWP_INCOMPATIBLE_SA_STATE",
++ "STATUS_FWP_NULL_POINTER",
++ "STATUS_FWP_INVALID_ENUMERATOR",
++ "STATUS_FWP_INVALID_FLAGS",
++ "STATUS_FWP_INVALID_NET_MASK",
++ "STATUS_FWP_INVALID_RANGE",
++ "STATUS_FWP_INVALID_INTERVAL",
++ "STATUS_FWP_ZERO_LENGTH_ARRAY",
++ "STATUS_FWP_NULL_DISPLAY_NAME",
++ "STATUS_FWP_INVALID_ACTION_TYPE",
++ "STATUS_FWP_INVALID_WEIGHT",
++ "STATUS_FWP_MATCH_TYPE_MISMATCH",
++ "STATUS_FWP_TYPE_MISMATCH",
++ "STATUS_FWP_OUT_OF_BOUNDS",
++ "STATUS_FWP_RESERVED",
++ "STATUS_FWP_DUPLICATE_CONDITION",
++ "STATUS_FWP_DUPLICATE_KEYMOD",
++ "STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER",
++ "STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER",
++ "STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER",
++ "STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT",
++ "STATUS_FWP_INCOMPATIBLE_AUTH_METHOD",
++ "STATUS_FWP_INCOMPATIBLE_DH_GROUP",
++ "STATUS_FWP_EM_NOT_SUPPORTED",
++ "STATUS_FWP_NEVER_MATCH",
++ "STATUS_FWP_PROVIDER_CONTEXT_MISMATCH",
++ "STATUS_FWP_INVALID_PARAMETER",
++ "STATUS_FWP_TOO_MANY_SUBLAYERS",
++ "STATUS_FWP_CALLOUT_NOTIFICATION_FAILED",
++ "STATUS_FWP_INVALID_AUTH_TRANSFORM",
++ "STATUS_FWP_INVALID_CIPHER_TRANSFORM",
++ "STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM",
++ "STATUS_FWP_INVALID_TRANSFORM_COMBINATION",
++ "STATUS_FWP_DUPLICATE_AUTH_METHOD",
++ "STATUS_FWP_INVALID_TUNNEL_ENDPOINT",
++ "STATUS_FWP_L2_DRIVER_NOT_READY",
++ "STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED",
++ "STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL",
++ "STATUS_FWP_CONNECTIONS_DISABLED",
++ "STATUS_FWP_INVALID_DNS_NAME",
++ "STATUS_FWP_STILL_ON",
++ "STATUS_FWP_IKEEXT_NOT_RUNNING",
++ "STATUS_FWP_TCPIP_NOT_READY",
++ "STATUS_FWP_INJECT_HANDLE_CLOSING",
++ "STATUS_FWP_INJECT_HANDLE_STALE",
++ "STATUS_FWP_CANNOT_PEND",
++ "STATUS_FWP_DROP_NOICMP",
++ "STATUS_NDIS_CLOSING",
++ "STATUS_NDIS_BAD_VERSION",
++ "STATUS_NDIS_BAD_CHARACTERISTICS",
++ "STATUS_NDIS_ADAPTER_NOT_FOUND",
++ "STATUS_NDIS_OPEN_FAILED",
++ "STATUS_NDIS_DEVICE_FAILED",
++ "STATUS_NDIS_MULTICAST_FULL",
++ "STATUS_NDIS_MULTICAST_EXISTS",
++ "STATUS_NDIS_MULTICAST_NOT_FOUND",
++ "STATUS_NDIS_REQUEST_ABORTED",
++ "STATUS_NDIS_RESET_IN_PROGRESS",
++ "STATUS_NDIS_INVALID_PACKET",
++ "STATUS_NDIS_INVALID_DEVICE_REQUEST",
++ "STATUS_NDIS_ADAPTER_NOT_READY",
++ "STATUS_NDIS_INVALID_LENGTH",
++ "STATUS_NDIS_INVALID_DATA",
++ "STATUS_NDIS_BUFFER_TOO_SHORT",
++ "STATUS_NDIS_INVALID_OID",
++ "STATUS_NDIS_ADAPTER_REMOVED",
++ "STATUS_NDIS_UNSUPPORTED_MEDIA",
++ "STATUS_NDIS_GROUP_ADDRESS_IN_USE",
++ "STATUS_NDIS_FILE_NOT_FOUND",
++ "STATUS_NDIS_ERROR_READING_FILE",
++ "STATUS_NDIS_ALREADY_MAPPED",
++ "STATUS_NDIS_RESOURCE_CONFLICT",
++ "STATUS_NDIS_MEDIA_DISCONNECTED",
++ "STATUS_NDIS_INVALID_ADDRESS",
++ "STATUS_NDIS_PAUSED",
++ "STATUS_NDIS_INTERFACE_NOT_FOUND",
++ "STATUS_NDIS_UNSUPPORTED_REVISION",
++ "STATUS_NDIS_INVALID_PORT",
++ "STATUS_NDIS_INVALID_PORT_STATE",
++ "STATUS_NDIS_LOW_POWER_STATE",
++ "STATUS_NDIS_REINIT_REQUIRED",
++ "STATUS_NDIS_NO_QUEUES",
++ "STATUS_NDIS_NOT_SUPPORTED",
++ "STATUS_NDIS_OFFLOAD_POLICY",
++ "STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED",
++ "STATUS_NDIS_OFFLOAD_PATH_REJECTED",
++ "STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED",
++ "STATUS_NDIS_DOT11_MEDIA_IN_USE",
++ "STATUS_NDIS_DOT11_POWER_STATE_INVALID",
++ "STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL",
++ "STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL",
++ "STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE",
++ "STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE",
++ "STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED",
++ "STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED",
++ "STATUS_QUIC_HANDSHAKE_FAILURE",
++ "STATUS_QUIC_VER_NEG_FAILURE",
++ "STATUS_TPM_ERROR_MASK",
++ "STATUS_TPM_AUTHFAIL",
++ "STATUS_TPM_BADINDEX",
++ "STATUS_TPM_BAD_PARAMETER",
++ "STATUS_TPM_AUDITFAILURE",
++ "STATUS_TPM_CLEAR_DISABLED",
++ "STATUS_TPM_DEACTIVATED",
++ "STATUS_TPM_DISABLED",
++ "STATUS_TPM_DISABLED_CMD",
++ "STATUS_TPM_FAIL",
++ "STATUS_TPM_BAD_ORDINAL",
++ "STATUS_TPM_INSTALL_DISABLED",
++ "STATUS_TPM_INVALID_KEYHANDLE",
++ "STATUS_TPM_KEYNOTFOUND",
++ "STATUS_TPM_INAPPROPRIATE_ENC",
++ "STATUS_TPM_MIGRATEFAIL",
++ "STATUS_TPM_INVALID_PCR_INFO",
++ "STATUS_TPM_NOSPACE",
++ "STATUS_TPM_NOSRK",
++ "STATUS_TPM_NOTSEALED_BLOB",
++ "STATUS_TPM_OWNER_SET",
++ "STATUS_TPM_RESOURCES",
++ "STATUS_TPM_SHORTRANDOM",
++ "STATUS_TPM_SIZE",
++ "STATUS_TPM_WRONGPCRVAL",
++ "STATUS_TPM_BAD_PARAM_SIZE",
++ "STATUS_TPM_SHA_THREAD",
++ "STATUS_TPM_SHA_ERROR",
++ "STATUS_TPM_FAILEDSELFTEST",
++ "STATUS_TPM_AUTH2FAIL",
++ "STATUS_TPM_BADTAG",
++ "STATUS_TPM_IOERROR",
++ "STATUS_TPM_ENCRYPT_ERROR",
++ "STATUS_TPM_DECRYPT_ERROR",
++ "STATUS_TPM_INVALID_AUTHHANDLE",
++ "STATUS_TPM_NO_ENDORSEMENT",
++ "STATUS_TPM_INVALID_KEYUSAGE",
++ "STATUS_TPM_WRONG_ENTITYTYPE",
++ "STATUS_TPM_INVALID_POSTINIT",
++ "STATUS_TPM_INAPPROPRIATE_SIG",
++ "STATUS_TPM_BAD_KEY_PROPERTY",
++ "STATUS_TPM_BAD_MIGRATION",
++ "STATUS_TPM_BAD_SCHEME",
++ "STATUS_TPM_BAD_DATASIZE",
++ "STATUS_TPM_BAD_MODE",
++ "STATUS_TPM_BAD_PRESENCE",
++ "STATUS_TPM_BAD_VERSION",
++ "STATUS_TPM_NO_WRAP_TRANSPORT",
++ "STATUS_TPM_AUDITFAIL_UNSUCCESSFUL",
++ "STATUS_TPM_AUDITFAIL_SUCCESSFUL",
++ "STATUS_TPM_NOTRESETABLE",
++ "STATUS_TPM_NOTLOCAL",
++ "STATUS_TPM_BAD_TYPE",
++ "STATUS_TPM_INVALID_RESOURCE",
++ "STATUS_TPM_NOTFIPS",
++ "STATUS_TPM_INVALID_FAMILY",
++ "STATUS_TPM_NO_NV_PERMISSION",
++ "STATUS_TPM_REQUIRES_SIGN",
++ "STATUS_TPM_KEY_NOTSUPPORTED",
++ "STATUS_TPM_AUTH_CONFLICT",
++ "STATUS_TPM_AREA_LOCKED",
++ "STATUS_TPM_BAD_LOCALITY",
++ "STATUS_TPM_READ_ONLY",
++ "STATUS_TPM_PER_NOWRITE",
++ "STATUS_TPM_FAMILYCOUNT",
++ "STATUS_TPM_WRITE_LOCKED",
++ "STATUS_TPM_BAD_ATTRIBUTES",
++ "STATUS_TPM_INVALID_STRUCTURE",
++ "STATUS_TPM_KEY_OWNER_CONTROL",
++ "STATUS_TPM_BAD_COUNTER",
++ "STATUS_TPM_NOT_FULLWRITE",
++ "STATUS_TPM_CONTEXT_GAP",
++ "STATUS_TPM_MAXNVWRITES",
++ "STATUS_TPM_NOOPERATOR",
++ "STATUS_TPM_RESOURCEMISSING",
++ "STATUS_TPM_DELEGATE_LOCK",
++ "STATUS_TPM_DELEGATE_FAMILY",
++ "STATUS_TPM_DELEGATE_ADMIN",
++ "STATUS_TPM_TRANSPORT_NOTEXCLUSIVE",
++ "STATUS_TPM_OWNER_CONTROL",
++ "STATUS_TPM_DAA_RESOURCES",
++ "STATUS_TPM_DAA_INPUT_DATA0",
++ "STATUS_TPM_DAA_INPUT_DATA1",
++ "STATUS_TPM_DAA_ISSUER_SETTINGS",
++ "STATUS_TPM_DAA_TPM_SETTINGS",
++ "STATUS_TPM_DAA_STAGE",
++ "STATUS_TPM_DAA_ISSUER_VALIDITY",
++ "STATUS_TPM_DAA_WRONG_W",
++ "STATUS_TPM_BAD_HANDLE",
++ "STATUS_TPM_BAD_DELEGATE",
++ "STATUS_TPM_BADCONTEXT",
++ "STATUS_TPM_TOOMANYCONTEXTS",
++ "STATUS_TPM_MA_TICKET_SIGNATURE",
++ "STATUS_TPM_MA_DESTINATION",
++ "STATUS_TPM_MA_SOURCE",
++ "STATUS_TPM_MA_AUTHORITY",
++ "STATUS_TPM_PERMANENTEK",
++ "STATUS_TPM_BAD_SIGNATURE",
++ "STATUS_TPM_NOCONTEXTSPACE",
++ "STATUS_TPM_20_E_ASYMMETRIC",
++ "STATUS_TPM_20_E_ATTRIBUTES",
++ "STATUS_TPM_20_E_HASH",
++ "STATUS_TPM_20_E_VALUE",
++ "STATUS_TPM_20_E_HIERARCHY",
++ "STATUS_TPM_20_E_KEY_SIZE",
++ "STATUS_TPM_20_E_MGF",
++ "STATUS_TPM_20_E_MODE",
++ "STATUS_TPM_20_E_TYPE",
++ "STATUS_TPM_20_E_HANDLE",
++ "STATUS_TPM_20_E_KDF",
++ "STATUS_TPM_20_E_RANGE",
++ "STATUS_TPM_20_E_AUTH_FAIL",
++ "STATUS_TPM_20_E_NONCE",
++ "STATUS_TPM_20_E_PP",
++ "STATUS_TPM_20_E_SCHEME",
++ "STATUS_TPM_20_E_SIZE",
++ "STATUS_TPM_20_E_SYMMETRIC",
++ "STATUS_TPM_20_E_TAG",
++ "STATUS_TPM_20_E_SELECTOR",
++ "STATUS_TPM_20_E_INSUFFICIENT",
++ "STATUS_TPM_20_E_SIGNATURE",
++ "STATUS_TPM_20_E_KEY",
++ "STATUS_TPM_20_E_POLICY_FAIL",
++ "STATUS_TPM_20_E_INTEGRITY",
++ "STATUS_TPM_20_E_TICKET",
++ "STATUS_TPM_20_E_RESERVED_BITS",
++ "STATUS_TPM_20_E_BAD_AUTH",
++ "STATUS_TPM_20_E_EXPIRED",
++ "STATUS_TPM_20_E_POLICY_CC",
++ "STATUS_TPM_20_E_BINDING",
++ "STATUS_TPM_20_E_CURVE",
++ "STATUS_TPM_20_E_ECC_POINT",
++ "STATUS_TPM_20_E_INITIALIZE",
++ "STATUS_TPM_20_E_FAILURE",
++ "STATUS_TPM_20_E_SEQUENCE",
++ "STATUS_TPM_20_E_PRIVATE",
++ "STATUS_TPM_20_E_HMAC",
++ "STATUS_TPM_20_E_DISABLED",
++ "STATUS_TPM_20_E_EXCLUSIVE",
++ "STATUS_TPM_20_E_ECC_CURVE",
++ "STATUS_TPM_20_E_AUTH_TYPE",
++ "STATUS_TPM_20_E_AUTH_MISSING",
++ "STATUS_TPM_20_E_POLICY",
++ "STATUS_TPM_20_E_PCR",
++ "STATUS_TPM_20_E_PCR_CHANGED",
++ "STATUS_TPM_20_E_UPGRADE",
++ "STATUS_TPM_20_E_TOO_MANY_CONTEXTS",
++ "STATUS_TPM_20_E_AUTH_UNAVAILABLE",
++ "STATUS_TPM_20_E_REBOOT",
++ "STATUS_TPM_20_E_UNBALANCED",
++ "STATUS_TPM_20_E_COMMAND_SIZE",
++ "STATUS_TPM_20_E_COMMAND_CODE",
++ "STATUS_TPM_20_E_AUTHSIZE",
++ "STATUS_TPM_20_E_AUTH_CONTEXT",
++ "STATUS_TPM_20_E_NV_RANGE",
++ "STATUS_TPM_20_E_NV_SIZE",
++ "STATUS_TPM_20_E_NV_LOCKED",
++ "STATUS_TPM_20_E_NV_AUTHORIZATION",
++ "STATUS_TPM_20_E_NV_UNINITIALIZED",
++ "STATUS_TPM_20_E_NV_SPACE",
++ "STATUS_TPM_20_E_NV_DEFINED",
++ "STATUS_TPM_20_E_BAD_CONTEXT",
++ "STATUS_TPM_20_E_CPHASH",
++ "STATUS_TPM_20_E_PARENT",
++ "STATUS_TPM_20_E_NEEDS_TEST",
++ "STATUS_TPM_20_E_NO_RESULT",
++ "STATUS_TPM_20_E_SENSITIVE",
++ "STATUS_TPM_COMMAND_BLOCKED",
++ "STATUS_TPM_INVALID_HANDLE",
++ "STATUS_TPM_DUPLICATE_VHANDLE",
++ "STATUS_TPM_EMBEDDED_COMMAND_BLOCKED",
++ "STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED",
++ "STATUS_TPM_RETRY",
++ "STATUS_TPM_NEEDS_SELFTEST",
++ "STATUS_TPM_DOING_SELFTEST",
++ "STATUS_TPM_DEFEND_LOCK_RUNNING",
++ "STATUS_TPM_COMMAND_CANCELED",
++ "STATUS_TPM_TOO_MANY_CONTEXTS",
++ "STATUS_TPM_NOT_FOUND",
++ "STATUS_TPM_ACCESS_DENIED",
++ "STATUS_TPM_INSUFFICIENT_BUFFER",
++ "STATUS_TPM_PPI_FUNCTION_UNSUPPORTED",
++ "STATUS_PCP_ERROR_MASK",
++ "STATUS_PCP_DEVICE_NOT_READY",
++ "STATUS_PCP_INVALID_HANDLE",
++ "STATUS_PCP_INVALID_PARAMETER",
++ "STATUS_PCP_FLAG_NOT_SUPPORTED",
++ "STATUS_PCP_NOT_SUPPORTED",
++ "STATUS_PCP_BUFFER_TOO_SMALL",
++ "STATUS_PCP_INTERNAL_ERROR",
++ "STATUS_PCP_AUTHENTICATION_FAILED",
++ "STATUS_PCP_AUTHENTICATION_IGNORED",
++ "STATUS_PCP_POLICY_NOT_FOUND",
++ "STATUS_PCP_PROFILE_NOT_FOUND",
++ "STATUS_PCP_VALIDATION_FAILED",
++ "STATUS_PCP_DEVICE_NOT_FOUND",
++ "STATUS_PCP_WRONG_PARENT",
++ "STATUS_PCP_KEY_NOT_LOADED",
++ "STATUS_PCP_NO_KEY_CERTIFICATION",
++ "STATUS_PCP_KEY_NOT_FINALIZED",
++ "STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET",
++ "STATUS_PCP_NOT_PCR_BOUND",
++ "STATUS_PCP_KEY_ALREADY_FINALIZED",
++ "STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED",
++ "STATUS_PCP_KEY_USAGE_POLICY_INVALID",
++ "STATUS_PCP_SOFT_KEY_ERROR",
++ "STATUS_PCP_KEY_NOT_AUTHENTICATED",
++ "STATUS_PCP_KEY_NOT_AIK",
++ "STATUS_PCP_KEY_NOT_SIGNING_KEY",
++ "STATUS_PCP_LOCKED_OUT",
++ "STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED",
++ "STATUS_PCP_TPM_VERSION_NOT_SUPPORTED",
++ "STATUS_PCP_BUFFER_LENGTH_MISMATCH",
++ "STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED",
++ "STATUS_PCP_TICKET_MISSING",
++ "STATUS_PCP_RAW_POLICY_NOT_SUPPORTED",
++ "STATUS_PCP_KEY_HANDLE_INVALIDATED",
++ "STATUS_RTPM_NO_RESULT",
++ "STATUS_RTPM_PCR_READ_INCOMPLETE",
++ "STATUS_RTPM_INVALID_CONTEXT",
++ "STATUS_RTPM_UNSUPPORTED_CMD",
++ "STATUS_TPM_ZERO_EXHAUST_ENABLED",
++ "STATUS_HV_INVALID_HYPERCALL_CODE",
++ "STATUS_HV_INVALID_HYPERCALL_INPUT",
++ "STATUS_HV_INVALID_ALIGNMENT",
++ "STATUS_HV_INVALID_PARAMETER",
++ "STATUS_HV_ACCESS_DENIED",
++ "STATUS_HV_INVALID_PARTITION_STATE",
++ "STATUS_HV_OPERATION_DENIED",
++ "STATUS_HV_UNKNOWN_PROPERTY",
++ "STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE",
++ "STATUS_HV_INSUFFICIENT_MEMORY",
++ "STATUS_HV_PARTITION_TOO_DEEP",
++ "STATUS_HV_INVALID_PARTITION_ID",
++ "STATUS_HV_INVALID_VP_INDEX",
++ "STATUS_HV_INVALID_PORT_ID",
++ "STATUS_HV_INVALID_CONNECTION_ID",
++ "STATUS_HV_INSUFFICIENT_BUFFERS",
++ "STATUS_HV_NOT_ACKNOWLEDGED",
++ "STATUS_HV_INVALID_VP_STATE",
++ "STATUS_HV_ACKNOWLEDGED",
++ "STATUS_HV_INVALID_SAVE_RESTORE_STATE",
++ "STATUS_HV_INVALID_SYNIC_STATE",
++ "STATUS_HV_OBJECT_IN_USE",
++ "STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO",
++ "STATUS_HV_NO_DATA",
++ "STATUS_HV_INACTIVE",
++ "STATUS_HV_NO_RESOURCES",
++ "STATUS_HV_FEATURE_UNAVAILABLE",
++ "STATUS_HV_INSUFFICIENT_BUFFER",
++ "STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS",
++ "STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR",
++ "STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR",
++ "STATUS_HV_PROCESSOR_STARTUP_TIMEOUT",
++ "STATUS_HV_SMX_ENABLED",
++ "STATUS_HV_INVALID_LP_INDEX",
++ "STATUS_HV_INVALID_REGISTER_VALUE",
++ "STATUS_HV_INVALID_VTL_STATE",
++ "STATUS_HV_NX_NOT_DETECTED",
++ "STATUS_HV_INVALID_DEVICE_ID",
++ "STATUS_HV_INVALID_DEVICE_STATE",
++ "STATUS_HV_PAGE_REQUEST_INVALID",
++ "STATUS_HV_INVALID_CPU_GROUP_ID",
++ "STATUS_HV_INVALID_CPU_GROUP_STATE",
++ "STATUS_HV_OPERATION_FAILED",
++ "STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE",
++ "STATUS_HV_INSUFFICIENT_ROOT_MEMORY",
++ "STATUS_HV_EVENT_BUFFER_ALREADY_FREED",
++ "STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY",
++ "STATUS_HV_NOT_PRESENT",
++ "STATUS_IPSEC_BAD_SPI",
++ "STATUS_IPSEC_SA_LIFETIME_EXPIRED",
++ "STATUS_IPSEC_WRONG_SA",
++ "STATUS_IPSEC_REPLAY_CHECK_FAILED",
++ "STATUS_IPSEC_INVALID_PACKET",
++ "STATUS_IPSEC_INTEGRITY_CHECK_FAILED",
++ "STATUS_IPSEC_CLEAR_TEXT_DROP",
++ "STATUS_IPSEC_AUTH_FIREWALL_DROP",
++ "STATUS_IPSEC_THROTTLE_DROP",
++ "STATUS_IPSEC_DOSP_BLOCK",
++ "STATUS_IPSEC_DOSP_RECEIVED_MULTICAST",
++ "STATUS_IPSEC_DOSP_INVALID_PACKET",
++ "STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED",
++ "STATUS_IPSEC_DOSP_MAX_ENTRIES",
++ "STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED",
++ "STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES",
++ "STATUS_VID_DUPLICATE_HANDLER",
++ "STATUS_VID_TOO_MANY_HANDLERS",
++ "STATUS_VID_QUEUE_FULL",
++ "STATUS_VID_HANDLER_NOT_PRESENT",
++ "STATUS_VID_INVALID_OBJECT_NAME",
++ "STATUS_VID_PARTITION_NAME_TOO_LONG",
++ "STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG",
++ "STATUS_VID_PARTITION_ALREADY_EXISTS",
++ "STATUS_VID_PARTITION_DOES_NOT_EXIST",
++ "STATUS_VID_PARTITION_NAME_NOT_FOUND",
++ "STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS",
++ "STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT",
++ "STATUS_VID_MB_STILL_REFERENCED",
++ "STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED",
++ "STATUS_VID_INVALID_NUMA_SETTINGS",
++ "STATUS_VID_INVALID_NUMA_NODE_INDEX",
++ "STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED",
++ "STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE",
++ "STATUS_VID_PAGE_RANGE_OVERFLOW",
++ "STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE",
++ "STATUS_VID_INVALID_GPA_RANGE_HANDLE",
++ "STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE",
++ "STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED",
++ "STATUS_VID_INVALID_PPM_HANDLE",
++ "STATUS_VID_MBPS_ARE_LOCKED",
++ "STATUS_VID_MESSAGE_QUEUE_CLOSED",
++ "STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED",
++ "STATUS_VID_STOP_PENDING",
++ "STATUS_VID_INVALID_PROCESSOR_STATE",
++ "STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT",
++ "STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED",
++ "STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET",
++ "STATUS_VID_MMIO_RANGE_DESTROYED",
++ "STATUS_VID_INVALID_CHILD_GPA_PAGE_SET",
++ "STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED",
++ "STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL",
++ "STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE",
++ "STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT",
++ "STATUS_VID_SAVED_STATE_CORRUPT",
++ "STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM",
++ "STATUS_VID_SAVED_STATE_INCOMPATIBLE",
++ "STATUS_VID_VTL_ACCESS_DENIED",
++ "STATUS_VOLMGR_DATABASE_FULL",
++ "STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED",
++ "STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC",
++ "STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED",
++ "STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME",
++ "STATUS_VOLMGR_DISK_DUPLICATE",
++ "STATUS_VOLMGR_DISK_DYNAMIC",
++ "STATUS_VOLMGR_DISK_ID_INVALID",
++ "STATUS_VOLMGR_DISK_INVALID",
++ "STATUS_VOLMGR_DISK_LAST_VOTER",
++ "STATUS_VOLMGR_DISK_LAYOUT_INVALID",
++ "STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS",
++ "STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED",
++ "STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL",
++ "STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS",
++ "STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS",
++ "STATUS_VOLMGR_DISK_MISSING",
++ "STATUS_VOLMGR_DISK_NOT_EMPTY",
++ "STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE",
++ "STATUS_VOLMGR_DISK_REVECTORING_FAILED",
++ "STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID",
++ "STATUS_VOLMGR_DISK_SET_NOT_CONTAINED",
++ "STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS",
++ "STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES",
++ "STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED",
++ "STATUS_VOLMGR_EXTENT_ALREADY_USED",
++ "STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS",
++ "STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION",
++ "STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED",
++ "STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION",
++ "STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH",
++ "STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED",
++ "STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID",
++ "STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS",
++ "STATUS_VOLMGR_MEMBER_IN_SYNC",
++ "STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE",
++ "STATUS_VOLMGR_MEMBER_INDEX_INVALID",
++ "STATUS_VOLMGR_MEMBER_MISSING",
++ "STATUS_VOLMGR_MEMBER_NOT_DETACHED",
++ "STATUS_VOLMGR_MEMBER_REGENERATING",
++ "STATUS_VOLMGR_ALL_DISKS_FAILED",
++ "STATUS_VOLMGR_NO_REGISTERED_USERS",
++ "STATUS_VOLMGR_NO_SUCH_USER",
++ "STATUS_VOLMGR_NOTIFICATION_RESET",
++ "STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID",
++ "STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID",
++ "STATUS_VOLMGR_PACK_DUPLICATE",
++ "STATUS_VOLMGR_PACK_ID_INVALID",
++ "STATUS_VOLMGR_PACK_INVALID",
++ "STATUS_VOLMGR_PACK_NAME_INVALID",
++ "STATUS_VOLMGR_PACK_OFFLINE",
++ "STATUS_VOLMGR_PACK_HAS_QUORUM",
++ "STATUS_VOLMGR_PACK_WITHOUT_QUORUM",
++ "STATUS_VOLMGR_PARTITION_STYLE_INVALID",
++ "STATUS_VOLMGR_PARTITION_UPDATE_FAILED",
++ "STATUS_VOLMGR_PLEX_IN_SYNC",
++ "STATUS_VOLMGR_PLEX_INDEX_DUPLICATE",
++ "STATUS_VOLMGR_PLEX_INDEX_INVALID",
++ "STATUS_VOLMGR_PLEX_LAST_ACTIVE",
++ "STATUS_VOLMGR_PLEX_MISSING",
++ "STATUS_VOLMGR_PLEX_REGENERATING",
++ "STATUS_VOLMGR_PLEX_TYPE_INVALID",
++ "STATUS_VOLMGR_PLEX_NOT_RAID5",
++ "STATUS_VOLMGR_PLEX_NOT_SIMPLE",
++ "STATUS_VOLMGR_STRUCTURE_SIZE_INVALID",
++ "STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS",
++ "STATUS_VOLMGR_TRANSACTION_IN_PROGRESS",
++ "STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE",
++ "STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK",
++ "STATUS_VOLMGR_VOLUME_ID_INVALID",
++ "STATUS_VOLMGR_VOLUME_LENGTH_INVALID",
++ "STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE",
++ "STATUS_VOLMGR_VOLUME_NOT_MIRRORED",
++ "STATUS_VOLMGR_VOLUME_NOT_RETAINED",
++ "STATUS_VOLMGR_VOLUME_OFFLINE",
++ "STATUS_VOLMGR_VOLUME_RETAINED",
++ "STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID",
++ "STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE",
++ "STATUS_VOLMGR_BAD_BOOT_DISK",
++ "STATUS_VOLMGR_PACK_CONFIG_OFFLINE",
++ "STATUS_VOLMGR_PACK_CONFIG_ONLINE",
++ "STATUS_VOLMGR_NOT_PRIMARY_PACK",
++ "STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED",
++ "STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID",
++ "STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID",
++ "STATUS_VOLMGR_VOLUME_MIRRORED",
++ "STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED",
++ "STATUS_VOLMGR_NO_VALID_LOG_COPIES",
++ "STATUS_VOLMGR_PRIMARY_PACK_PRESENT",
++ "STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID",
++ "STATUS_VOLMGR_MIRROR_NOT_SUPPORTED",
++ "STATUS_VOLMGR_RAID5_NOT_SUPPORTED",
++ "STATUS_BCD_TOO_MANY_ELEMENTS",
++ "STATUS_VHD_DRIVE_FOOTER_MISSING",
++ "STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH",
++ "STATUS_VHD_DRIVE_FOOTER_CORRUPT",
++ "STATUS_VHD_FORMAT_UNKNOWN",
++ "STATUS_VHD_FORMAT_UNSUPPORTED_VERSION",
++ "STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH",
++ "STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION",
++ "STATUS_VHD_SPARSE_HEADER_CORRUPT",
++ "STATUS_VHD_BLOCK_ALLOCATION_FAILURE",
++ "STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT",
++ "STATUS_VHD_INVALID_BLOCK_SIZE",
++ "STATUS_VHD_BITMAP_MISMATCH",
++ "STATUS_VHD_PARENT_VHD_NOT_FOUND",
++ "STATUS_VHD_CHILD_PARENT_ID_MISMATCH",
++ "STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH",
++ "STATUS_VHD_METADATA_READ_FAILURE",
++ "STATUS_VHD_METADATA_WRITE_FAILURE",
++ "STATUS_VHD_INVALID_SIZE",
++ "STATUS_VHD_INVALID_FILE_SIZE",
++ "STATUS_VIRTDISK_PROVIDER_NOT_FOUND",
++ "STATUS_VIRTDISK_NOT_VIRTUAL_DISK",
++ "STATUS_VHD_PARENT_VHD_ACCESS_DENIED",
++ "STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH",
++ "STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED",
++ "STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT",
++ "STATUS_VIRTUAL_DISK_LIMITATION",
++ "STATUS_VHD_INVALID_TYPE",
++ "STATUS_VHD_INVALID_STATE",
++ "STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE",
++ "STATUS_VIRTDISK_DISK_ALREADY_OWNED",
++ "STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE",
++ "STATUS_CTLOG_TRACKING_NOT_INITIALIZED",
++ "STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE",
++ "STATUS_CTLOG_VHD_CHANGED_OFFLINE",
++ "STATUS_CTLOG_INVALID_TRACKING_STATE",
++ "STATUS_CTLOG_INCONSISTENT_TRACKING_FILE",
++ "STATUS_VHD_METADATA_FULL",
++ "STATUS_VHD_INVALID_CHANGE_TRACKING_ID",
++ "STATUS_VHD_CHANGE_TRACKING_DISABLED",
++ "STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION",
++ "STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA",
++ "STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE",
++ "STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE",
++ "STATUS_RKF_KEY_NOT_FOUND",
++ "STATUS_RKF_DUPLICATE_KEY",
++ "STATUS_RKF_BLOB_FULL",
++ "STATUS_RKF_STORE_FULL",
++ "STATUS_RKF_FILE_BLOCKED",
++ "STATUS_RKF_ACTIVE_KEY",
++ "STATUS_RDBSS_RESTART_OPERATION",
++ "STATUS_RDBSS_CONTINUE_OPERATION",
++ "STATUS_RDBSS_POST_OPERATION",
++ "STATUS_RDBSS_RETRY_LOOKUP",
++ "STATUS_BTH_ATT_INVALID_HANDLE",
++ "STATUS_BTH_ATT_READ_NOT_PERMITTED",
++ "STATUS_BTH_ATT_WRITE_NOT_PERMITTED",
++ "STATUS_BTH_ATT_INVALID_PDU",
++ "STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION",
++ "STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED",
++ "STATUS_BTH_ATT_INVALID_OFFSET",
++ "STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION",
++ "STATUS_BTH_ATT_PREPARE_QUEUE_FULL",
++ "STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND",
++ "STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG",
++ "STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE",
++ "STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH",
++ "STATUS_BTH_ATT_UNLIKELY",
++ "STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION",
++ "STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE",
++ "STATUS_BTH_ATT_INSUFFICIENT_RESOURCES",
++ "STATUS_BTH_ATT_UNKNOWN_ERROR",
++ "STATUS_SECUREBOOT_ROLLBACK_DETECTED",
++ "STATUS_SECUREBOOT_POLICY_VIOLATION",
++ "STATUS_SECUREBOOT_INVALID_POLICY",
++ "STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND",
++ "STATUS_SECUREBOOT_POLICY_NOT_SIGNED",
++ "STATUS_SECUREBOOT_FILE_REPLACED",
++ "STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED",
++ "STATUS_SECUREBOOT_POLICY_UNKNOWN",
++ "STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION",
++ "STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH",
++ "STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED",
++ "STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH",
++ "STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING",
++ "STATUS_SECUREBOOT_NOT_BASE_POLICY",
++ "STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY",
++ "STATUS_AUDIO_ENGINE_NODE_NOT_FOUND",
++ "STATUS_HDAUDIO_EMPTY_CONNECTION_LIST",
++ "STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED",
++ "STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED",
++ "STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY",
++ "STATUS_VSM_NOT_INITIALIZED",
++ "STATUS_VSM_DMA_PROTECTION_NOT_IN_USE",
++ "STATUS_VOLSNAP_BOOTFILE_NOT_VALID",
++ "STATUS_VOLSNAP_ACTIVATION_TIMEOUT",
++ "STATUS_IO_PREEMPTED",
++ "STATUS_SVHDX_ERROR_STORED",
++ "STATUS_SVHDX_ERROR_NOT_AVAILABLE",
++ "STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE",
++ "STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED",
++ "STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED",
++ "STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED",
++ "STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED",
++ "STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED",
++ "STATUS_SVHDX_RESERVATION_CONFLICT",
++ "STATUS_SVHDX_WRONG_FILE_TYPE",
++ "STATUS_SVHDX_VERSION_MISMATCH",
++ "STATUS_VHD_SHARED",
++ "STATUS_SVHDX_NO_INITIATOR",
++ "STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND",
++ "STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP",
++ "STATUS_SMB_BAD_CLUSTER_DIALECT",
++ "STATUS_SMB_GUEST_LOGON_BLOCKED",
++ "STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID",
++ "STATUS_SPACES_RESILIENCY_TYPE_INVALID",
++ "STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID",
++ "STATUS_SPACES_DRIVE_REDUNDANCY_INVALID",
++ "STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID",
++ "STATUS_SPACES_INTERLEAVE_LENGTH_INVALID",
++ "STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID",
++ "STATUS_SPACES_NOT_ENOUGH_DRIVES",
++ "STATUS_SPACES_EXTENDED_ERROR",
++ "STATUS_SPACES_PROVISIONING_TYPE_INVALID",
++ "STATUS_SPACES_ALLOCATION_SIZE_INVALID",
++ "STATUS_SPACES_ENCLOSURE_AWARE_INVALID",
++ "STATUS_SPACES_WRITE_CACHE_SIZE_INVALID",
++ "STATUS_SPACES_NUMBER_OF_GROUPS_INVALID",
++ "STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID",
++ "STATUS_SPACES_UPDATE_COLUMN_STATE",
++ "STATUS_SPACES_MAP_REQUIRED",
++ "STATUS_SPACES_UNSUPPORTED_VERSION",
++ "STATUS_SPACES_CORRUPT_METADATA",
++ "STATUS_SPACES_DRT_FULL",
++ "STATUS_SPACES_INCONSISTENCY",
++ "STATUS_SPACES_LOG_NOT_READY",
++ "STATUS_SPACES_NO_REDUNDANCY",
++ "STATUS_SPACES_DRIVE_NOT_READY",
++ "STATUS_SPACES_DRIVE_SPLIT",
++ "STATUS_SPACES_DRIVE_LOST_DATA",
++ "STATUS_SPACES_ENTRY_INCOMPLETE",
++ "STATUS_SPACES_ENTRY_INVALID",
++ "STATUS_SPACES_MARK_DIRTY",
++ "STATUS_SECCORE_INVALID_COMMAND",
++ "STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED",
++ "STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION",
++ "STATUS_SYSTEM_INTEGRITY_INVALID_POLICY",
++ "STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED",
++ "STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES",
++ "STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED",
++ "STATUS_NO_APPLICABLE_APP_LICENSES_FOUND",
++ "STATUS_CLIP_LICENSE_NOT_FOUND",
++ "STATUS_CLIP_DEVICE_LICENSE_MISSING",
++ "STATUS_CLIP_LICENSE_INVALID_SIGNATURE",
++ "STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID",
++ "STATUS_CLIP_LICENSE_EXPIRED",
++ "STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE",
++ "STATUS_CLIP_LICENSE_NOT_SIGNED",
++ "STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE",
++ "STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH",
++ "STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED",
++ "STATUS_PLATFORM_MANIFEST_INVALID",
++ "STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED",
++ "STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED",
++ "STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND",
++ "STATUS_PLATFORM_MANIFEST_NOT_ACTIVE",
++ "STATUS_PLATFORM_MANIFEST_NOT_SIGNED",
++ "STATUS_APPEXEC_CONDITION_NOT_SATISFIED",
++ "STATUS_APPEXEC_HANDLE_INVALIDATED",
++ "STATUS_APPEXEC_INVALID_HOST_GENERATION",
++ "STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION",
++ "STATUS_APPEXEC_INVALID_HOST_STATE",
++ "STATUS_APPEXEC_NO_DONOR",
++ "STATUS_APPEXEC_HOST_ID_MISMATCH",
++ "STATUS_APPEXEC_UNKNOWN_USER",
++};
++
++const char* NTStatusToString(uint32_t ntstatus) {
++ auto itr = std::find(std::begin(kNTStatusValues),
++ std::end(kNTStatusValues),
++ ntstatus);
++ if (itr == std::end(kNTStatusValues)) {
++ return nullptr;
+ }
+- return reason;
++
++ return kNTStatusStrings[itr - std::begin(kNTStatusValues)];
+ }
+
+-string FastFailToString(uint32_t fast_fail_code) {
+- string code_string;
+- // The content of this switch was created from winnt.h in the 10 SDK
+- // (version 10.0.19041.0) with
+- //
+- // egrep '#define FAST_FAIL_[A-Z_0-9]+\s+[0-9]' winnt.h
+- // | tr -d '\r'
+- // | sed -r 's@#define FAST_FAIL_([A-Z_0-9]+)\s+([0-9]+).*@\2 \1@'
+- // | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ case MD_FAST_FAIL_WIN_\2:\n code_string = "FAST_FAIL_\2";\n break;@'
+- //
+- // and then the default case added.
+- switch (fast_fail_code) {
+- case MD_FAST_FAIL_WIN_LEGACY_GS_VIOLATION:
+- code_string = "FAST_FAIL_LEGACY_GS_VIOLATION";
+- break;
+- case MD_FAST_FAIL_WIN_VTGUARD_CHECK_FAILURE:
+- code_string = "FAST_FAIL_VTGUARD_CHECK_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_STACK_COOKIE_CHECK_FAILURE:
+- code_string = "FAST_FAIL_STACK_COOKIE_CHECK_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_CORRUPT_LIST_ENTRY:
+- code_string = "FAST_FAIL_CORRUPT_LIST_ENTRY";
+- break;
+- case MD_FAST_FAIL_WIN_INCORRECT_STACK:
+- code_string = "FAST_FAIL_INCORRECT_STACK";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_ARG:
+- code_string = "FAST_FAIL_INVALID_ARG";
+- break;
+- case MD_FAST_FAIL_WIN_GS_COOKIE_INIT:
+- code_string = "FAST_FAIL_GS_COOKIE_INIT";
+- break;
+- case MD_FAST_FAIL_WIN_FATAL_APP_EXIT:
+- code_string = "FAST_FAIL_FATAL_APP_EXIT";
+- break;
+- case MD_FAST_FAIL_WIN_RANGE_CHECK_FAILURE:
+- code_string = "FAST_FAIL_RANGE_CHECK_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_UNSAFE_REGISTRY_ACCESS:
+- code_string = "FAST_FAIL_UNSAFE_REGISTRY_ACCESS";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_FAILURE:
+- code_string = "FAST_FAIL_GUARD_ICALL_CHECK_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_WRITE_CHECK_FAILURE:
+- code_string = "FAST_FAIL_GUARD_WRITE_CHECK_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_FIBER_SWITCH:
+- code_string = "FAST_FAIL_INVALID_FIBER_SWITCH";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_SET_OF_CONTEXT:
+- code_string = "FAST_FAIL_INVALID_SET_OF_CONTEXT";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_REFERENCE_COUNT:
+- code_string = "FAST_FAIL_INVALID_REFERENCE_COUNT";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_JUMP_BUFFER:
+- code_string = "FAST_FAIL_INVALID_JUMP_BUFFER";
+- break;
+- case MD_FAST_FAIL_WIN_MRDATA_MODIFIED:
+- code_string = "FAST_FAIL_MRDATA_MODIFIED";
+- break;
+- case MD_FAST_FAIL_WIN_CERTIFICATION_FAILURE:
+- code_string = "FAST_FAIL_CERTIFICATION_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_EXCEPTION_CHAIN:
+- code_string = "FAST_FAIL_INVALID_EXCEPTION_CHAIN";
+- break;
+- case MD_FAST_FAIL_WIN_CRYPTO_LIBRARY:
+- code_string = "FAST_FAIL_CRYPTO_LIBRARY";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_CALL_IN_DLL_CALLOUT:
+- code_string = "FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_IMAGE_BASE:
+- code_string = "FAST_FAIL_INVALID_IMAGE_BASE";
+- break;
+- case MD_FAST_FAIL_WIN_DLOAD_PROTECTION_FAILURE:
+- code_string = "FAST_FAIL_DLOAD_PROTECTION_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_UNSAFE_EXTENSION_CALL:
+- code_string = "FAST_FAIL_UNSAFE_EXTENSION_CALL";
+- break;
+- case MD_FAST_FAIL_WIN_DEPRECATED_SERVICE_INVOKED:
+- code_string = "FAST_FAIL_DEPRECATED_SERVICE_INVOKED";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_BUFFER_ACCESS:
+- code_string = "FAST_FAIL_INVALID_BUFFER_ACCESS";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_BALANCED_TREE:
+- code_string = "FAST_FAIL_INVALID_BALANCED_TREE";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_NEXT_THREAD:
+- code_string = "FAST_FAIL_INVALID_NEXT_THREAD";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_SUPPRESSED:
+- code_string = "FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED";
+- break;
+- case MD_FAST_FAIL_WIN_APCS_DISABLED:
+- code_string = "FAST_FAIL_APCS_DISABLED";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_IDLE_STATE:
+- code_string = "FAST_FAIL_INVALID_IDLE_STATE";
+- break;
+- case MD_FAST_FAIL_WIN_MRDATA_PROTECTION_FAILURE:
+- code_string = "FAST_FAIL_MRDATA_PROTECTION_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_UNEXPECTED_HEAP_EXCEPTION:
+- code_string = "FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_LOCK_STATE:
+- code_string = "FAST_FAIL_INVALID_LOCK_STATE";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_JUMPTABLE:
+- code_string = "FAST_FAIL_GUARD_JUMPTABLE";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_LONGJUMP_TARGET:
+- code_string = "FAST_FAIL_INVALID_LONGJUMP_TARGET";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_DISPATCH_CONTEXT:
+- code_string = "FAST_FAIL_INVALID_DISPATCH_CONTEXT";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_THREAD:
+- code_string = "FAST_FAIL_INVALID_THREAD";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_SYSCALL_NUMBER:
+- code_string = "FAST_FAIL_INVALID_SYSCALL_NUMBER";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_FILE_OPERATION:
+- code_string = "FAST_FAIL_INVALID_FILE_OPERATION";
+- break;
+- case MD_FAST_FAIL_WIN_LPAC_ACCESS_DENIED:
+- code_string = "FAST_FAIL_LPAC_ACCESS_DENIED";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_SS_FAILURE:
+- code_string = "FAST_FAIL_GUARD_SS_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_LOADER_CONTINUITY_FAILURE:
+- code_string = "FAST_FAIL_LOADER_CONTINUITY_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_GUARD_EXPORT_SUPPRESSION_FAILURE:
+- code_string = "FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_CONTROL_STACK:
+- code_string = "FAST_FAIL_INVALID_CONTROL_STACK";
+- break;
+- case MD_FAST_FAIL_WIN_SET_CONTEXT_DENIED:
+- code_string = "FAST_FAIL_SET_CONTEXT_DENIED";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_IAT:
+- code_string = "FAST_FAIL_INVALID_IAT";
+- break;
+- case MD_FAST_FAIL_WIN_HEAP_METADATA_CORRUPTION:
+- code_string = "FAST_FAIL_HEAP_METADATA_CORRUPTION";
+- break;
+- case MD_FAST_FAIL_WIN_PAYLOAD_RESTRICTION_VIOLATION:
+- code_string = "FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION";
+- break;
+- case MD_FAST_FAIL_WIN_LOW_LABEL_ACCESS_DENIED:
+- code_string = "FAST_FAIL_LOW_LABEL_ACCESS_DENIED";
+- break;
+- case MD_FAST_FAIL_WIN_ENCLAVE_CALL_FAILURE:
+- code_string = "FAST_FAIL_ENCLAVE_CALL_FAILURE";
+- break;
+- case MD_FAST_FAIL_WIN_UNHANDLED_LSS_EXCEPTON:
+- code_string = "FAST_FAIL_UNHANDLED_LSS_EXCEPTON";
+- break;
+- case MD_FAST_FAIL_WIN_ADMINLESS_ACCESS_DENIED:
+- code_string = "FAST_FAIL_ADMINLESS_ACCESS_DENIED";
+- break;
+- case MD_FAST_FAIL_WIN_UNEXPECTED_CALL:
+- code_string = "FAST_FAIL_UNEXPECTED_CALL";
+- break;
+- case MD_FAST_FAIL_WIN_CONTROL_INVALID_RETURN_ADDRESS:
+- code_string = "FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS";
+- break;
+- case MD_FAST_FAIL_WIN_UNEXPECTED_HOST_BEHAVIOR:
+- code_string = "FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR";
+- break;
+- case MD_FAST_FAIL_WIN_FLAGS_CORRUPTION:
+- code_string = "FAST_FAIL_FLAGS_CORRUPTION";
+- break;
+- case MD_FAST_FAIL_WIN_VEH_CORRUPTION:
+- code_string = "FAST_FAIL_VEH_CORRUPTION";
+- break;
+- case MD_FAST_FAIL_WIN_ETW_CORRUPTION:
+- code_string = "FAST_FAIL_ETW_CORRUPTION";
+- break;
+- case MD_FAST_FAIL_WIN_RIO_ABORT:
+- code_string = "FAST_FAIL_RIO_ABORT";
+- break;
+- case MD_FAST_FAIL_WIN_INVALID_PFN:
+- code_string = "FAST_FAIL_INVALID_PFN";
+- break;
+- default: {
+- char buffer[11];
+- snprintf(buffer, sizeof(buffer), "%u", fast_fail_code);
+- code_string = buffer;
+- break;
+- }
++// The content of this array was created from winnt.h in the 10 SDK
++// (version 10.0.19041.0) with the following script:
++//
++// egrep '#define FAST_FAIL_[A-Z_0-9]+\s+[0-9]' winnt.h
++// | tr -d '\r'
++// | sed -r 's@#define FAST_FAIL_([A-Z_0-9]+)\s+([0-9]+).*@\2 \1@'
++// | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ MD_FAST_FAIL_WIN_\2,@'
++// | head -n -1
++static const uint8_t kFastFailValues[] = {
++ MD_FAST_FAIL_WIN_LEGACY_GS_VIOLATION,
++ MD_FAST_FAIL_WIN_VTGUARD_CHECK_FAILURE,
++ MD_FAST_FAIL_WIN_STACK_COOKIE_CHECK_FAILURE,
++ MD_FAST_FAIL_WIN_CORRUPT_LIST_ENTRY,
++ MD_FAST_FAIL_WIN_INCORRECT_STACK,
++ MD_FAST_FAIL_WIN_INVALID_ARG,
++ MD_FAST_FAIL_WIN_GS_COOKIE_INIT,
++ MD_FAST_FAIL_WIN_FATAL_APP_EXIT,
++ MD_FAST_FAIL_WIN_RANGE_CHECK_FAILURE,
++ MD_FAST_FAIL_WIN_UNSAFE_REGISTRY_ACCESS,
++ MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_FAILURE,
++ MD_FAST_FAIL_WIN_GUARD_WRITE_CHECK_FAILURE,
++ MD_FAST_FAIL_WIN_INVALID_FIBER_SWITCH,
++ MD_FAST_FAIL_WIN_INVALID_SET_OF_CONTEXT,
++ MD_FAST_FAIL_WIN_INVALID_REFERENCE_COUNT,
++ MD_FAST_FAIL_WIN_INVALID_JUMP_BUFFER,
++ MD_FAST_FAIL_WIN_MRDATA_MODIFIED,
++ MD_FAST_FAIL_WIN_CERTIFICATION_FAILURE,
++ MD_FAST_FAIL_WIN_INVALID_EXCEPTION_CHAIN,
++ MD_FAST_FAIL_WIN_CRYPTO_LIBRARY,
++ MD_FAST_FAIL_WIN_INVALID_CALL_IN_DLL_CALLOUT,
++ MD_FAST_FAIL_WIN_INVALID_IMAGE_BASE,
++ MD_FAST_FAIL_WIN_DLOAD_PROTECTION_FAILURE,
++ MD_FAST_FAIL_WIN_UNSAFE_EXTENSION_CALL,
++ MD_FAST_FAIL_WIN_DEPRECATED_SERVICE_INVOKED,
++ MD_FAST_FAIL_WIN_INVALID_BUFFER_ACCESS,
++ MD_FAST_FAIL_WIN_INVALID_BALANCED_TREE,
++ MD_FAST_FAIL_WIN_INVALID_NEXT_THREAD,
++ MD_FAST_FAIL_WIN_GUARD_ICALL_CHECK_SUPPRESSED,
++ MD_FAST_FAIL_WIN_APCS_DISABLED,
++ MD_FAST_FAIL_WIN_INVALID_IDLE_STATE,
++ MD_FAST_FAIL_WIN_MRDATA_PROTECTION_FAILURE,
++ MD_FAST_FAIL_WIN_UNEXPECTED_HEAP_EXCEPTION,
++ MD_FAST_FAIL_WIN_INVALID_LOCK_STATE,
++ MD_FAST_FAIL_WIN_GUARD_JUMPTABLE,
++ MD_FAST_FAIL_WIN_INVALID_LONGJUMP_TARGET,
++ MD_FAST_FAIL_WIN_INVALID_DISPATCH_CONTEXT,
++ MD_FAST_FAIL_WIN_INVALID_THREAD,
++ MD_FAST_FAIL_WIN_INVALID_SYSCALL_NUMBER,
++ MD_FAST_FAIL_WIN_INVALID_FILE_OPERATION,
++ MD_FAST_FAIL_WIN_LPAC_ACCESS_DENIED,
++ MD_FAST_FAIL_WIN_GUARD_SS_FAILURE,
++ MD_FAST_FAIL_WIN_LOADER_CONTINUITY_FAILURE,
++ MD_FAST_FAIL_WIN_GUARD_EXPORT_SUPPRESSION_FAILURE,
++ MD_FAST_FAIL_WIN_INVALID_CONTROL_STACK,
++ MD_FAST_FAIL_WIN_SET_CONTEXT_DENIED,
++ MD_FAST_FAIL_WIN_INVALID_IAT,
++ MD_FAST_FAIL_WIN_HEAP_METADATA_CORRUPTION,
++ MD_FAST_FAIL_WIN_PAYLOAD_RESTRICTION_VIOLATION,
++ MD_FAST_FAIL_WIN_LOW_LABEL_ACCESS_DENIED,
++ MD_FAST_FAIL_WIN_ENCLAVE_CALL_FAILURE,
++ MD_FAST_FAIL_WIN_UNHANDLED_LSS_EXCEPTON,
++ MD_FAST_FAIL_WIN_ADMINLESS_ACCESS_DENIED,
++ MD_FAST_FAIL_WIN_UNEXPECTED_CALL,
++ MD_FAST_FAIL_WIN_CONTROL_INVALID_RETURN_ADDRESS,
++ MD_FAST_FAIL_WIN_UNEXPECTED_HOST_BEHAVIOR,
++ MD_FAST_FAIL_WIN_FLAGS_CORRUPTION,
++ MD_FAST_FAIL_WIN_VEH_CORRUPTION,
++ MD_FAST_FAIL_WIN_ETW_CORRUPTION,
++ MD_FAST_FAIL_WIN_RIO_ABORT,
++ MD_FAST_FAIL_WIN_INVALID_PFN,
++};
++
++// The content of this array was created from winnt.h in the 10 SDK
++// (version 10.0.19041.0) with the following script:
++//
++// egrep '#define FAST_FAIL_[A-Z_0-9]+\s+[0-9]' winnt.h
++// | tr -d '\r'
++// | sed -r 's@#define FAST_FAIL_([A-Z_0-9]+)\s+([0-9]+).*@\2 \1@'
++// | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ "FAST_FAIL_\2",@'
++// | head -n -1
++static const char* kFastFailStrings[] = {
++ "FAST_FAIL_LEGACY_GS_VIOLATION",
++ "FAST_FAIL_VTGUARD_CHECK_FAILURE",
++ "FAST_FAIL_STACK_COOKIE_CHECK_FAILURE",
++ "FAST_FAIL_CORRUPT_LIST_ENTRY",
++ "FAST_FAIL_INCORRECT_STACK",
++ "FAST_FAIL_INVALID_ARG",
++ "FAST_FAIL_GS_COOKIE_INIT",
++ "FAST_FAIL_FATAL_APP_EXIT",
++ "FAST_FAIL_RANGE_CHECK_FAILURE",
++ "FAST_FAIL_UNSAFE_REGISTRY_ACCESS",
++ "FAST_FAIL_GUARD_ICALL_CHECK_FAILURE",
++ "FAST_FAIL_GUARD_WRITE_CHECK_FAILURE",
++ "FAST_FAIL_INVALID_FIBER_SWITCH",
++ "FAST_FAIL_INVALID_SET_OF_CONTEXT",
++ "FAST_FAIL_INVALID_REFERENCE_COUNT",
++ "FAST_FAIL_INVALID_JUMP_BUFFER",
++ "FAST_FAIL_MRDATA_MODIFIED",
++ "FAST_FAIL_CERTIFICATION_FAILURE",
++ "FAST_FAIL_INVALID_EXCEPTION_CHAIN",
++ "FAST_FAIL_CRYPTO_LIBRARY",
++ "FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT",
++ "FAST_FAIL_INVALID_IMAGE_BASE",
++ "FAST_FAIL_DLOAD_PROTECTION_FAILURE",
++ "FAST_FAIL_UNSAFE_EXTENSION_CALL",
++ "FAST_FAIL_DEPRECATED_SERVICE_INVOKED",
++ "FAST_FAIL_INVALID_BUFFER_ACCESS",
++ "FAST_FAIL_INVALID_BALANCED_TREE",
++ "FAST_FAIL_INVALID_NEXT_THREAD",
++ "FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED",
++ "FAST_FAIL_APCS_DISABLED",
++ "FAST_FAIL_INVALID_IDLE_STATE",
++ "FAST_FAIL_MRDATA_PROTECTION_FAILURE",
++ "FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION",
++ "FAST_FAIL_INVALID_LOCK_STATE",
++ "FAST_FAIL_GUARD_JUMPTABLE",
++ "FAST_FAIL_INVALID_LONGJUMP_TARGET",
++ "FAST_FAIL_INVALID_DISPATCH_CONTEXT",
++ "FAST_FAIL_INVALID_THREAD",
++ "FAST_FAIL_INVALID_SYSCALL_NUMBER",
++ "FAST_FAIL_INVALID_FILE_OPERATION",
++ "FAST_FAIL_LPAC_ACCESS_DENIED",
++ "FAST_FAIL_GUARD_SS_FAILURE",
++ "FAST_FAIL_LOADER_CONTINUITY_FAILURE",
++ "FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE",
++ "FAST_FAIL_INVALID_CONTROL_STACK",
++ "FAST_FAIL_SET_CONTEXT_DENIED",
++ "FAST_FAIL_INVALID_IAT",
++ "FAST_FAIL_HEAP_METADATA_CORRUPTION",
++ "FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION",
++ "FAST_FAIL_LOW_LABEL_ACCESS_DENIED",
++ "FAST_FAIL_ENCLAVE_CALL_FAILURE",
++ "FAST_FAIL_UNHANDLED_LSS_EXCEPTON",
++ "FAST_FAIL_ADMINLESS_ACCESS_DENIED",
++ "FAST_FAIL_UNEXPECTED_CALL",
++ "FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS",
++ "FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR",
++ "FAST_FAIL_FLAGS_CORRUPTION",
++ "FAST_FAIL_VEH_CORRUPTION",
++ "FAST_FAIL_ETW_CORRUPTION",
++ "FAST_FAIL_RIO_ABORT",
++ "FAST_FAIL_INVALID_PFN",
++};
++
++const char* FastFailToString(uint32_t fast_fail_code) {
++ auto itr = std::find(std::begin(kFastFailValues),
++ std::end(kFastFailValues),
++ fast_fail_code);
++ if (itr == std::end(kFastFailValues)) {
++ return nullptr;
+ }
+- return code_string;
++
++ return kFastFailStrings[itr - std::begin(kFastFailValues)];
++}
++
++// The content of this array was created from winerror.h in the 10 SDK
++// (version 10.0.19041.0) with the following script:
++//
++// egrep -o '#define ERROR_[A-Z_0-9]+\s+[0-9]+L' winerror.h
++// | tr -d '\r'
++// | sed -r 's@#define ERROR_([A-Z_0-9]+)\s+([0-9]+)L@\2 \1@'
++// | sort -n
++// | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ MD_ERROR_WIN_\2,@'
++static const uint16_t kWinErrorValues[] = {
++ MD_ERROR_WIN_SUCCESS,
++ MD_ERROR_WIN_INVALID_FUNCTION,
++ MD_ERROR_WIN_FILE_NOT_FOUND,
++ MD_ERROR_WIN_PATH_NOT_FOUND,
++ MD_ERROR_WIN_TOO_MANY_OPEN_FILES,
++ MD_ERROR_WIN_ACCESS_DENIED,
++ MD_ERROR_WIN_INVALID_HANDLE,
++ MD_ERROR_WIN_ARENA_TRASHED,
++ MD_ERROR_WIN_NOT_ENOUGH_MEMORY,
++ MD_ERROR_WIN_INVALID_BLOCK,
++ MD_ERROR_WIN_BAD_ENVIRONMENT,
++ MD_ERROR_WIN_BAD_FORMAT,
++ MD_ERROR_WIN_INVALID_ACCESS,
++ MD_ERROR_WIN_INVALID_DATA,
++ MD_ERROR_WIN_OUTOFMEMORY,
++ MD_ERROR_WIN_INVALID_DRIVE,
++ MD_ERROR_WIN_CURRENT_DIRECTORY,
++ MD_ERROR_WIN_NOT_SAME_DEVICE,
++ MD_ERROR_WIN_NO_MORE_FILES,
++ MD_ERROR_WIN_WRITE_PROTECT,
++ MD_ERROR_WIN_BAD_UNIT,
++ MD_ERROR_WIN_NOT_READY,
++ MD_ERROR_WIN_BAD_COMMAND,
++ MD_ERROR_WIN_CRC,
++ MD_ERROR_WIN_BAD_LENGTH,
++ MD_ERROR_WIN_SEEK,
++ MD_ERROR_WIN_NOT_DOS_DISK,
++ MD_ERROR_WIN_SECTOR_NOT_FOUND,
++ MD_ERROR_WIN_OUT_OF_PAPER,
++ MD_ERROR_WIN_WRITE_FAULT,
++ MD_ERROR_WIN_READ_FAULT,
++ MD_ERROR_WIN_GEN_FAILURE,
++ MD_ERROR_WIN_SHARING_VIOLATION,
++ MD_ERROR_WIN_LOCK_VIOLATION,
++ MD_ERROR_WIN_WRONG_DISK,
++ MD_ERROR_WIN_SHARING_BUFFER_EXCEEDED,
++ MD_ERROR_WIN_HANDLE_EOF,
++ MD_ERROR_WIN_HANDLE_DISK_FULL,
++ MD_ERROR_WIN_NOT_SUPPORTED,
++ MD_ERROR_WIN_REM_NOT_LIST,
++ MD_ERROR_WIN_DUP_NAME,
++ MD_ERROR_WIN_BAD_NETPATH,
++ MD_ERROR_WIN_NETWORK_BUSY,
++ MD_ERROR_WIN_DEV_NOT_EXIST,
++ MD_ERROR_WIN_TOO_MANY_CMDS,
++ MD_ERROR_WIN_ADAP_HDW_ERR,
++ MD_ERROR_WIN_BAD_NET_RESP,
++ MD_ERROR_WIN_UNEXP_NET_ERR,
++ MD_ERROR_WIN_BAD_REM_ADAP,
++ MD_ERROR_WIN_PRINTQ_FULL,
++ MD_ERROR_WIN_NO_SPOOL_SPACE,
++ MD_ERROR_WIN_PRINT_CANCELLED,
++ MD_ERROR_WIN_NETNAME_DELETED,
++ MD_ERROR_WIN_NETWORK_ACCESS_DENIED,
++ MD_ERROR_WIN_BAD_DEV_TYPE,
++ MD_ERROR_WIN_BAD_NET_NAME,
++ MD_ERROR_WIN_TOO_MANY_NAMES,
++ MD_ERROR_WIN_TOO_MANY_SESS,
++ MD_ERROR_WIN_SHARING_PAUSED,
++ MD_ERROR_WIN_REQ_NOT_ACCEP,
++ MD_ERROR_WIN_REDIR_PAUSED,
++ MD_ERROR_WIN_FILE_EXISTS,
++ MD_ERROR_WIN_CANNOT_MAKE,
++ MD_ERROR_WIN_FAIL_I24,
++ MD_ERROR_WIN_OUT_OF_STRUCTURES,
++ MD_ERROR_WIN_ALREADY_ASSIGNED,
++ MD_ERROR_WIN_INVALID_PASSWORD,
++ MD_ERROR_WIN_INVALID_PARAMETER,
++ MD_ERROR_WIN_NET_WRITE_FAULT,
++ MD_ERROR_WIN_NO_PROC_SLOTS,
++ MD_ERROR_WIN_TOO_MANY_SEMAPHORES,
++ MD_ERROR_WIN_EXCL_SEM_ALREADY_OWNED,
++ MD_ERROR_WIN_SEM_IS_SET,
++ MD_ERROR_WIN_TOO_MANY_SEM_REQUESTS,
++ MD_ERROR_WIN_INVALID_AT_INTERRUPT_TIME,
++ MD_ERROR_WIN_SEM_OWNER_DIED,
++ MD_ERROR_WIN_SEM_USER_LIMIT,
++ MD_ERROR_WIN_DISK_CHANGE,
++ MD_ERROR_WIN_DRIVE_LOCKED,
++ MD_ERROR_WIN_BROKEN_PIPE,
++ MD_ERROR_WIN_OPEN_FAILED,
++ MD_ERROR_WIN_BUFFER_OVERFLOW,
++ MD_ERROR_WIN_DISK_FULL,
++ MD_ERROR_WIN_NO_MORE_SEARCH_HANDLES,
++ MD_ERROR_WIN_INVALID_TARGET_HANDLE,
++ MD_ERROR_WIN_INVALID_CATEGORY,
++ MD_ERROR_WIN_INVALID_VERIFY_SWITCH,
++ MD_ERROR_WIN_BAD_DRIVER_LEVEL,
++ MD_ERROR_WIN_CALL_NOT_IMPLEMENTED,
++ MD_ERROR_WIN_SEM_TIMEOUT,
++ MD_ERROR_WIN_INSUFFICIENT_BUFFER,
++ MD_ERROR_WIN_INVALID_NAME,
++ MD_ERROR_WIN_INVALID_LEVEL,
++ MD_ERROR_WIN_NO_VOLUME_LABEL,
++ MD_ERROR_WIN_MOD_NOT_FOUND,
++ MD_ERROR_WIN_PROC_NOT_FOUND,
++ MD_ERROR_WIN_WAIT_NO_CHILDREN,
++ MD_ERROR_WIN_CHILD_NOT_COMPLETE,
++ MD_ERROR_WIN_DIRECT_ACCESS_HANDLE,
++ MD_ERROR_WIN_NEGATIVE_SEEK,
++ MD_ERROR_WIN_SEEK_ON_DEVICE,
++ MD_ERROR_WIN_IS_JOIN_TARGET,
++ MD_ERROR_WIN_IS_JOINED,
++ MD_ERROR_WIN_IS_SUBSTED,
++ MD_ERROR_WIN_NOT_JOINED,
++ MD_ERROR_WIN_NOT_SUBSTED,
++ MD_ERROR_WIN_JOIN_TO_JOIN,
++ MD_ERROR_WIN_SUBST_TO_SUBST,
++ MD_ERROR_WIN_JOIN_TO_SUBST,
++ MD_ERROR_WIN_SUBST_TO_JOIN,
++ MD_ERROR_WIN_BUSY_DRIVE,
++ MD_ERROR_WIN_SAME_DRIVE,
++ MD_ERROR_WIN_DIR_NOT_ROOT,
++ MD_ERROR_WIN_DIR_NOT_EMPTY,
++ MD_ERROR_WIN_IS_SUBST_PATH,
++ MD_ERROR_WIN_IS_JOIN_PATH,
++ MD_ERROR_WIN_PATH_BUSY,
++ MD_ERROR_WIN_IS_SUBST_TARGET,
++ MD_ERROR_WIN_SYSTEM_TRACE,
++ MD_ERROR_WIN_INVALID_EVENT_COUNT,
++ MD_ERROR_WIN_TOO_MANY_MUXWAITERS,
++ MD_ERROR_WIN_INVALID_LIST_FORMAT,
++ MD_ERROR_WIN_LABEL_TOO_LONG,
++ MD_ERROR_WIN_TOO_MANY_TCBS,
++ MD_ERROR_WIN_SIGNAL_REFUSED,
++ MD_ERROR_WIN_DISCARDED,
++ MD_ERROR_WIN_NOT_LOCKED,
++ MD_ERROR_WIN_BAD_THREADID_ADDR,
++ MD_ERROR_WIN_BAD_ARGUMENTS,
++ MD_ERROR_WIN_BAD_PATHNAME,
++ MD_ERROR_WIN_SIGNAL_PENDING,
++ MD_ERROR_WIN_MAX_THRDS_REACHED,
++ MD_ERROR_WIN_LOCK_FAILED,
++ MD_ERROR_WIN_BUSY,
++ MD_ERROR_WIN_DEVICE_SUPPORT_IN_PROGRESS,
++ MD_ERROR_WIN_CANCEL_VIOLATION,
++ MD_ERROR_WIN_ATOMIC_LOCKS_NOT_SUPPORTED,
++ MD_ERROR_WIN_INVALID_SEGMENT_NUMBER,
++ MD_ERROR_WIN_INVALID_ORDINAL,
++ MD_ERROR_WIN_ALREADY_EXISTS,
++ MD_ERROR_WIN_INVALID_FLAG_NUMBER,
++ MD_ERROR_WIN_SEM_NOT_FOUND,
++ MD_ERROR_WIN_INVALID_STARTING_CODESEG,
++ MD_ERROR_WIN_INVALID_STACKSEG,
++ MD_ERROR_WIN_INVALID_MODULETYPE,
++ MD_ERROR_WIN_INVALID_EXE_SIGNATURE,
++ MD_ERROR_WIN_EXE_MARKED_INVALID,
++ MD_ERROR_WIN_BAD_EXE_FORMAT,
++ MD_ERROR_WIN_INVALID_MINALLOCSIZE,
++ MD_ERROR_WIN_DYNLINK_FROM_INVALID_RING,
++ MD_ERROR_WIN_IOPL_NOT_ENABLED,
++ MD_ERROR_WIN_INVALID_SEGDPL,
++ MD_ERROR_WIN_RING2SEG_MUST_BE_MOVABLE,
++ MD_ERROR_WIN_RELOC_CHAIN_XEEDS_SEGLIM,
++ MD_ERROR_WIN_INFLOOP_IN_RELOC_CHAIN,
++ MD_ERROR_WIN_ENVVAR_NOT_FOUND,
++ MD_ERROR_WIN_NO_SIGNAL_SENT,
++ MD_ERROR_WIN_FILENAME_EXCED_RANGE,
++ MD_ERROR_WIN_RING2_STACK_IN_USE,
++ MD_ERROR_WIN_META_EXPANSION_TOO_LONG,
++ MD_ERROR_WIN_INVALID_SIGNAL_NUMBER,
++ MD_ERROR_WIN_THREAD_1_INACTIVE,
++ MD_ERROR_WIN_LOCKED,
++ MD_ERROR_WIN_TOO_MANY_MODULES,
++ MD_ERROR_WIN_NESTING_NOT_ALLOWED,
++ MD_ERROR_WIN_EXE_MACHINE_TYPE_MISMATCH,
++ MD_ERROR_WIN_EXE_CANNOT_MODIFY_SIGNED_BINARY,
++ MD_ERROR_WIN_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY,
++ MD_ERROR_WIN_FILE_CHECKED_OUT,
++ MD_ERROR_WIN_CHECKOUT_REQUIRED,
++ MD_ERROR_WIN_BAD_FILE_TYPE,
++ MD_ERROR_WIN_FILE_TOO_LARGE,
++ MD_ERROR_WIN_FORMS_AUTH_REQUIRED,
++ MD_ERROR_WIN_VIRUS_INFECTED,
++ MD_ERROR_WIN_VIRUS_DELETED,
++ MD_ERROR_WIN_PIPE_LOCAL,
++ MD_ERROR_WIN_BAD_PIPE,
++ MD_ERROR_WIN_PIPE_BUSY,
++ MD_ERROR_WIN_NO_DATA,
++ MD_ERROR_WIN_PIPE_NOT_CONNECTED,
++ MD_ERROR_WIN_MORE_DATA,
++ MD_ERROR_WIN_NO_WORK_DONE,
++ MD_ERROR_WIN_VC_DISCONNECTED,
++ MD_ERROR_WIN_INVALID_EA_NAME,
++ MD_ERROR_WIN_EA_LIST_INCONSISTENT,
++ MD_ERROR_WIN_NO_MORE_ITEMS,
++ MD_ERROR_WIN_CANNOT_COPY,
++ MD_ERROR_WIN_DIRECTORY,
++ MD_ERROR_WIN_EAS_DIDNT_FIT,
++ MD_ERROR_WIN_EA_FILE_CORRUPT,
++ MD_ERROR_WIN_EA_TABLE_FULL,
++ MD_ERROR_WIN_INVALID_EA_HANDLE,
++ MD_ERROR_WIN_EAS_NOT_SUPPORTED,
++ MD_ERROR_WIN_NOT_OWNER,
++ MD_ERROR_WIN_TOO_MANY_POSTS,
++ MD_ERROR_WIN_PARTIAL_COPY,
++ MD_ERROR_WIN_OPLOCK_NOT_GRANTED,
++ MD_ERROR_WIN_INVALID_OPLOCK_PROTOCOL,
++ MD_ERROR_WIN_DISK_TOO_FRAGMENTED,
++ MD_ERROR_WIN_DELETE_PENDING,
++ MD_ERROR_WIN_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING,
++ MD_ERROR_WIN_SHORT_NAMES_NOT_ENABLED_ON_VOLUME,
++ MD_ERROR_WIN_SECURITY_STREAM_IS_INCONSISTENT,
++ MD_ERROR_WIN_INVALID_LOCK_RANGE,
++ MD_ERROR_WIN_IMAGE_SUBSYSTEM_NOT_PRESENT,
++ MD_ERROR_WIN_NOTIFICATION_GUID_ALREADY_DEFINED,
++ MD_ERROR_WIN_INVALID_EXCEPTION_HANDLER,
++ MD_ERROR_WIN_DUPLICATE_PRIVILEGES,
++ MD_ERROR_WIN_NO_RANGES_PROCESSED,
++ MD_ERROR_WIN_NOT_ALLOWED_ON_SYSTEM_FILE,
++ MD_ERROR_WIN_DISK_RESOURCES_EXHAUSTED,
++ MD_ERROR_WIN_INVALID_TOKEN,
++ MD_ERROR_WIN_DEVICE_FEATURE_NOT_SUPPORTED,
++ MD_ERROR_WIN_MR_MID_NOT_FOUND,
++ MD_ERROR_WIN_SCOPE_NOT_FOUND,
++ MD_ERROR_WIN_UNDEFINED_SCOPE,
++ MD_ERROR_WIN_INVALID_CAP,
++ MD_ERROR_WIN_DEVICE_UNREACHABLE,
++ MD_ERROR_WIN_DEVICE_NO_RESOURCES,
++ MD_ERROR_WIN_DATA_CHECKSUM_ERROR,
++ MD_ERROR_WIN_INTERMIXED_KERNEL_EA_OPERATION,
++ MD_ERROR_WIN_FILE_LEVEL_TRIM_NOT_SUPPORTED,
++ MD_ERROR_WIN_OFFSET_ALIGNMENT_VIOLATION,
++ MD_ERROR_WIN_INVALID_FIELD_IN_PARAMETER_LIST,
++ MD_ERROR_WIN_OPERATION_IN_PROGRESS,
++ MD_ERROR_WIN_BAD_DEVICE_PATH,
++ MD_ERROR_WIN_TOO_MANY_DESCRIPTORS,
++ MD_ERROR_WIN_SCRUB_DATA_DISABLED,
++ MD_ERROR_WIN_NOT_REDUNDANT_STORAGE,
++ MD_ERROR_WIN_RESIDENT_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_COMPRESSED_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_DIRECTORY_NOT_SUPPORTED,
++ MD_ERROR_WIN_NOT_READ_FROM_COPY,
++ MD_ERROR_WIN_FT_WRITE_FAILURE,
++ MD_ERROR_WIN_FT_DI_SCAN_REQUIRED,
++ MD_ERROR_WIN_INVALID_KERNEL_INFO_VERSION,
++ MD_ERROR_WIN_INVALID_PEP_INFO_VERSION,
++ MD_ERROR_WIN_OBJECT_NOT_EXTERNALLY_BACKED,
++ MD_ERROR_WIN_EXTERNAL_BACKING_PROVIDER_UNKNOWN,
++ MD_ERROR_WIN_COMPRESSION_NOT_BENEFICIAL,
++ MD_ERROR_WIN_STORAGE_TOPOLOGY_ID_MISMATCH,
++ MD_ERROR_WIN_BLOCKED_BY_PARENTAL_CONTROLS,
++ MD_ERROR_WIN_BLOCK_TOO_MANY_REFERENCES,
++ MD_ERROR_WIN_MARKED_TO_DISALLOW_WRITES,
++ MD_ERROR_WIN_ENCLAVE_FAILURE,
++ MD_ERROR_WIN_FAIL_NOACTION_REBOOT,
++ MD_ERROR_WIN_FAIL_SHUTDOWN,
++ MD_ERROR_WIN_FAIL_RESTART,
++ MD_ERROR_WIN_MAX_SESSIONS_REACHED,
++ MD_ERROR_WIN_NETWORK_ACCESS_DENIED_EDP,
++ MD_ERROR_WIN_DEVICE_HINT_NAME_BUFFER_TOO_SMALL,
++ MD_ERROR_WIN_EDP_POLICY_DENIES_OPERATION,
++ MD_ERROR_WIN_EDP_DPL_POLICY_CANT_BE_SATISFIED,
++ MD_ERROR_WIN_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT,
++ MD_ERROR_WIN_DEVICE_IN_MAINTENANCE,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_DAX,
++ MD_ERROR_WIN_DAX_MAPPING_EXISTS,
++ MD_ERROR_WIN_CLOUD_FILE_PROVIDER_NOT_RUNNING,
++ MD_ERROR_WIN_CLOUD_FILE_METADATA_CORRUPT,
++ MD_ERROR_WIN_CLOUD_FILE_METADATA_TOO_LARGE,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH,
++ MD_ERROR_WIN_CHILD_PROCESS_BLOCKED,
++ MD_ERROR_WIN_STORAGE_LOST_DATA_PERSISTENCE,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_BUSY,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN,
++ MD_ERROR_WIN_GDI_HANDLE_LEAK,
++ MD_ERROR_WIN_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED,
++ MD_ERROR_WIN_NOT_A_CLOUD_FILE,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_IN_SYNC,
++ MD_ERROR_WIN_CLOUD_FILE_ALREADY_CONNECTED,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLOUD_FILE_INVALID_REQUEST,
++ MD_ERROR_WIN_CLOUD_FILE_READ_ONLY_VOLUME,
++ MD_ERROR_WIN_CLOUD_FILE_CONNECTED_PROVIDER_ONLY,
++ MD_ERROR_WIN_CLOUD_FILE_VALIDATION_FAILED,
++ MD_ERROR_WIN_SMB1_NOT_AVAILABLE,
++ MD_ERROR_WIN_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION,
++ MD_ERROR_WIN_CLOUD_FILE_AUTHENTICATION_FAILED,
++ MD_ERROR_WIN_CLOUD_FILE_INSUFFICIENT_RESOURCES,
++ MD_ERROR_WIN_CLOUD_FILE_NETWORK_UNAVAILABLE,
++ MD_ERROR_WIN_CLOUD_FILE_UNSUCCESSFUL,
++ MD_ERROR_WIN_CLOUD_FILE_NOT_UNDER_SYNC_ROOT,
++ MD_ERROR_WIN_CLOUD_FILE_IN_USE,
++ MD_ERROR_WIN_CLOUD_FILE_PINNED,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_ABORTED,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_CORRUPT,
++ MD_ERROR_WIN_CLOUD_FILE_ACCESS_DENIED,
++ MD_ERROR_WIN_CLOUD_FILE_INCOMPATIBLE_HARDLINKS,
++ MD_ERROR_WIN_CLOUD_FILE_PROPERTY_LOCK_CONFLICT,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_CANCELED,
++ MD_ERROR_WIN_EXTERNAL_SYSKEY_NOT_SUPPORTED,
++ MD_ERROR_WIN_THREAD_MODE_ALREADY_BACKGROUND,
++ MD_ERROR_WIN_THREAD_MODE_NOT_BACKGROUND,
++ MD_ERROR_WIN_PROCESS_MODE_ALREADY_BACKGROUND,
++ MD_ERROR_WIN_PROCESS_MODE_NOT_BACKGROUND,
++ MD_ERROR_WIN_CLOUD_FILE_PROVIDER_TERMINATED,
++ MD_ERROR_WIN_NOT_A_CLOUD_SYNC_ROOT,
++ MD_ERROR_WIN_FILE_PROTECTED_UNDER_DPL,
++ MD_ERROR_WIN_VOLUME_NOT_CLUSTER_ALIGNED,
++ MD_ERROR_WIN_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND,
++ MD_ERROR_WIN_APPX_FILE_NOT_ENCRYPTED,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE,
++ MD_ERROR_WIN_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER,
++ MD_ERROR_WIN_LINUX_SUBSYSTEM_NOT_PRESENT,
++ MD_ERROR_WIN_FT_READ_FAILURE,
++ MD_ERROR_WIN_STORAGE_RESERVE_ID_INVALID,
++ MD_ERROR_WIN_STORAGE_RESERVE_DOES_NOT_EXIST,
++ MD_ERROR_WIN_STORAGE_RESERVE_ALREADY_EXISTS,
++ MD_ERROR_WIN_STORAGE_RESERVE_NOT_EMPTY,
++ MD_ERROR_WIN_NOT_A_DAX_VOLUME,
++ MD_ERROR_WIN_NOT_DAX_MAPPABLE,
++ MD_ERROR_WIN_TIME_SENSITIVE_THREAD,
++ MD_ERROR_WIN_DPL_NOT_SUPPORTED_FOR_USER,
++ MD_ERROR_WIN_CASE_DIFFERING_NAMES_IN_DIR,
++ MD_ERROR_WIN_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLOUD_FILE_REQUEST_TIMEOUT,
++ MD_ERROR_WIN_NO_TASK_QUEUE,
++ MD_ERROR_WIN_SRC_SRV_DLL_LOAD_FAILED,
++ MD_ERROR_WIN_NOT_SUPPORTED_WITH_BTT,
++ MD_ERROR_WIN_ENCRYPTION_DISABLED,
++ MD_ERROR_WIN_ENCRYPTING_METADATA_DISALLOWED,
++ MD_ERROR_WIN_CANT_CLEAR_ENCRYPTION_FLAG,
++ MD_ERROR_WIN_NO_SUCH_DEVICE,
++ MD_ERROR_WIN_CLOUD_FILE_DEHYDRATION_DISALLOWED,
++ MD_ERROR_WIN_FILE_SNAP_IN_PROGRESS,
++ MD_ERROR_WIN_FILE_SNAP_USER_SECTION_NOT_SUPPORTED,
++ MD_ERROR_WIN_FILE_SNAP_MODIFY_NOT_SUPPORTED,
++ MD_ERROR_WIN_FILE_SNAP_IO_NOT_COORDINATED,
++ MD_ERROR_WIN_FILE_SNAP_UNEXPECTED_ERROR,
++ MD_ERROR_WIN_FILE_SNAP_INVALID_PARAMETER,
++ MD_ERROR_WIN_UNSATISFIED_DEPENDENCIES,
++ MD_ERROR_WIN_CASE_SENSITIVE_PATH,
++ MD_ERROR_WIN_UNEXPECTED_NTCACHEMANAGER_ERROR,
++ MD_ERROR_WIN_LINUX_SUBSYSTEM_UPDATE_REQUIRED,
++ MD_ERROR_WIN_DLP_POLICY_WARNS_AGAINST_OPERATION,
++ MD_ERROR_WIN_DLP_POLICY_DENIES_OPERATION,
++ MD_ERROR_WIN_DLP_POLICY_SILENTLY_FAIL,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_DEVUNLOCKED,
++ MD_ERROR_WIN_CAPAUTHZ_CHANGE_TYPE,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_PROVISIONED,
++ MD_ERROR_WIN_CAPAUTHZ_NOT_AUTHORIZED,
++ MD_ERROR_WIN_CAPAUTHZ_NO_POLICY,
++ MD_ERROR_WIN_CAPAUTHZ_DB_CORRUPTED,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_INVALID_CATALOG,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_NO_AUTH_ENTITY,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_PARSE_ERROR,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED,
++ MD_ERROR_WIN_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH,
++ MD_ERROR_WIN_CIMFS_IMAGE_CORRUPT,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_DEVICE_TIMEOUT,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT,
++ MD_ERROR_WIN_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT,
++ MD_ERROR_WIN_DEVICE_HARDWARE_ERROR,
++ MD_ERROR_WIN_INVALID_ADDRESS,
++ MD_ERROR_WIN_HAS_SYSTEM_CRITICAL_FILES,
++ MD_ERROR_WIN_USER_PROFILE_LOAD,
++ MD_ERROR_WIN_ARITHMETIC_OVERFLOW,
++ MD_ERROR_WIN_PIPE_CONNECTED,
++ MD_ERROR_WIN_PIPE_LISTENING,
++ MD_ERROR_WIN_VERIFIER_STOP,
++ MD_ERROR_WIN_ABIOS_ERROR,
++ MD_ERROR_WIN_WX86_WARNING,
++ MD_ERROR_WIN_WX86_ERROR,
++ MD_ERROR_WIN_TIMER_NOT_CANCELED,
++ MD_ERROR_WIN_UNWIND,
++ MD_ERROR_WIN_BAD_STACK,
++ MD_ERROR_WIN_INVALID_UNWIND_TARGET,
++ MD_ERROR_WIN_INVALID_PORT_ATTRIBUTES,
++ MD_ERROR_WIN_PORT_MESSAGE_TOO_LONG,
++ MD_ERROR_WIN_INVALID_QUOTA_LOWER,
++ MD_ERROR_WIN_DEVICE_ALREADY_ATTACHED,
++ MD_ERROR_WIN_INSTRUCTION_MISALIGNMENT,
++ MD_ERROR_WIN_PROFILING_NOT_STARTED,
++ MD_ERROR_WIN_PROFILING_NOT_STOPPED,
++ MD_ERROR_WIN_COULD_NOT_INTERPRET,
++ MD_ERROR_WIN_PROFILING_AT_LIMIT,
++ MD_ERROR_WIN_CANT_WAIT,
++ MD_ERROR_WIN_CANT_TERMINATE_SELF,
++ MD_ERROR_WIN_UNEXPECTED_MM_CREATE_ERR,
++ MD_ERROR_WIN_UNEXPECTED_MM_MAP_ERROR,
++ MD_ERROR_WIN_UNEXPECTED_MM_EXTEND_ERR,
++ MD_ERROR_WIN_BAD_FUNCTION_TABLE,
++ MD_ERROR_WIN_NO_GUID_TRANSLATION,
++ MD_ERROR_WIN_INVALID_LDT_SIZE,
++ MD_ERROR_WIN_INVALID_LDT_OFFSET,
++ MD_ERROR_WIN_INVALID_LDT_DESCRIPTOR,
++ MD_ERROR_WIN_TOO_MANY_THREADS,
++ MD_ERROR_WIN_THREAD_NOT_IN_PROCESS,
++ MD_ERROR_WIN_PAGEFILE_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_LOGON_SERVER_CONFLICT,
++ MD_ERROR_WIN_SYNCHRONIZATION_REQUIRED,
++ MD_ERROR_WIN_NET_OPEN_FAILED,
++ MD_ERROR_WIN_IO_PRIVILEGE_FAILED,
++ MD_ERROR_WIN_CONTROL_C_EXIT,
++ MD_ERROR_WIN_MISSING_SYSTEMFILE,
++ MD_ERROR_WIN_UNHANDLED_EXCEPTION,
++ MD_ERROR_WIN_APP_INIT_FAILURE,
++ MD_ERROR_WIN_PAGEFILE_CREATE_FAILED,
++ MD_ERROR_WIN_INVALID_IMAGE_HASH,
++ MD_ERROR_WIN_NO_PAGEFILE,
++ MD_ERROR_WIN_ILLEGAL_FLOAT_CONTEXT,
++ MD_ERROR_WIN_NO_EVENT_PAIR,
++ MD_ERROR_WIN_DOMAIN_CTRLR_CONFIG_ERROR,
++ MD_ERROR_WIN_ILLEGAL_CHARACTER,
++ MD_ERROR_WIN_UNDEFINED_CHARACTER,
++ MD_ERROR_WIN_FLOPPY_VOLUME,
++ MD_ERROR_WIN_BIOS_FAILED_TO_CONNECT_INTERRUPT,
++ MD_ERROR_WIN_BACKUP_CONTROLLER,
++ MD_ERROR_WIN_MUTANT_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_FS_DRIVER_REQUIRED,
++ MD_ERROR_WIN_CANNOT_LOAD_REGISTRY_FILE,
++ MD_ERROR_WIN_DEBUG_ATTACH_FAILED,
++ MD_ERROR_WIN_SYSTEM_PROCESS_TERMINATED,
++ MD_ERROR_WIN_DATA_NOT_ACCEPTED,
++ MD_ERROR_WIN_VDM_HARD_ERROR,
++ MD_ERROR_WIN_DRIVER_CANCEL_TIMEOUT,
++ MD_ERROR_WIN_REPLY_MESSAGE_MISMATCH,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA,
++ MD_ERROR_WIN_CLIENT_SERVER_PARAMETERS_INVALID,
++ MD_ERROR_WIN_NOT_TINY_STREAM,
++ MD_ERROR_WIN_STACK_OVERFLOW_READ,
++ MD_ERROR_WIN_CONVERT_TO_LARGE,
++ MD_ERROR_WIN_FOUND_OUT_OF_SCOPE,
++ MD_ERROR_WIN_ALLOCATE_BUCKET,
++ MD_ERROR_WIN_MARSHALL_OVERFLOW,
++ MD_ERROR_WIN_INVALID_VARIANT,
++ MD_ERROR_WIN_BAD_COMPRESSION_BUFFER,
++ MD_ERROR_WIN_AUDIT_FAILED,
++ MD_ERROR_WIN_TIMER_RESOLUTION_NOT_SET,
++ MD_ERROR_WIN_INSUFFICIENT_LOGON_INFO,
++ MD_ERROR_WIN_BAD_DLL_ENTRYPOINT,
++ MD_ERROR_WIN_BAD_SERVICE_ENTRYPOINT,
++ MD_ERROR_WIN_IP_ADDRESS_CONFLICT1,
++ MD_ERROR_WIN_IP_ADDRESS_CONFLICT2,
++ MD_ERROR_WIN_REGISTRY_QUOTA_LIMIT,
++ MD_ERROR_WIN_NO_CALLBACK_ACTIVE,
++ MD_ERROR_WIN_PWD_TOO_SHORT,
++ MD_ERROR_WIN_PWD_TOO_RECENT,
++ MD_ERROR_WIN_PWD_HISTORY_CONFLICT,
++ MD_ERROR_WIN_UNSUPPORTED_COMPRESSION,
++ MD_ERROR_WIN_INVALID_HW_PROFILE,
++ MD_ERROR_WIN_INVALID_PLUGPLAY_DEVICE_PATH,
++ MD_ERROR_WIN_QUOTA_LIST_INCONSISTENT,
++ MD_ERROR_WIN_EVALUATION_EXPIRATION,
++ MD_ERROR_WIN_ILLEGAL_DLL_RELOCATION,
++ MD_ERROR_WIN_DLL_INIT_FAILED_LOGOFF,
++ MD_ERROR_WIN_VALIDATE_CONTINUE,
++ MD_ERROR_WIN_NO_MORE_MATCHES,
++ MD_ERROR_WIN_RANGE_LIST_CONFLICT,
++ MD_ERROR_WIN_SERVER_SID_MISMATCH,
++ MD_ERROR_WIN_CANT_ENABLE_DENY_ONLY,
++ MD_ERROR_WIN_FLOAT_MULTIPLE_FAULTS,
++ MD_ERROR_WIN_FLOAT_MULTIPLE_TRAPS,
++ MD_ERROR_WIN_NOINTERFACE,
++ MD_ERROR_WIN_DRIVER_FAILED_SLEEP,
++ MD_ERROR_WIN_CORRUPT_SYSTEM_FILE,
++ MD_ERROR_WIN_COMMITMENT_MINIMUM,
++ MD_ERROR_WIN_PNP_RESTART_ENUMERATION,
++ MD_ERROR_WIN_SYSTEM_IMAGE_BAD_SIGNATURE,
++ MD_ERROR_WIN_PNP_REBOOT_REQUIRED,
++ MD_ERROR_WIN_INSUFFICIENT_POWER,
++ MD_ERROR_WIN_MULTIPLE_FAULT_VIOLATION,
++ MD_ERROR_WIN_SYSTEM_SHUTDOWN,
++ MD_ERROR_WIN_PORT_NOT_SET,
++ MD_ERROR_WIN_DS_VERSION_CHECK_FAILURE,
++ MD_ERROR_WIN_RANGE_NOT_FOUND,
++ MD_ERROR_WIN_NOT_SAFE_MODE_DRIVER,
++ MD_ERROR_WIN_FAILED_DRIVER_ENTRY,
++ MD_ERROR_WIN_DEVICE_ENUMERATION_ERROR,
++ MD_ERROR_WIN_MOUNT_POINT_NOT_RESOLVED,
++ MD_ERROR_WIN_INVALID_DEVICE_OBJECT_PARAMETER,
++ MD_ERROR_WIN_MCA_OCCURED,
++ MD_ERROR_WIN_DRIVER_DATABASE_ERROR,
++ MD_ERROR_WIN_SYSTEM_HIVE_TOO_LARGE,
++ MD_ERROR_WIN_DRIVER_FAILED_PRIOR_UNLOAD,
++ MD_ERROR_WIN_VOLSNAP_PREPARE_HIBERNATE,
++ MD_ERROR_WIN_HIBERNATION_FAILURE,
++ MD_ERROR_WIN_PWD_TOO_LONG,
++ MD_ERROR_WIN_FILE_SYSTEM_LIMITATION,
++ MD_ERROR_WIN_ASSERTION_FAILURE,
++ MD_ERROR_WIN_ACPI_ERROR,
++ MD_ERROR_WIN_WOW_ASSERTION,
++ MD_ERROR_WIN_PNP_BAD_MPS_TABLE,
++ MD_ERROR_WIN_PNP_TRANSLATION_FAILED,
++ MD_ERROR_WIN_PNP_IRQ_TRANSLATION_FAILED,
++ MD_ERROR_WIN_PNP_INVALID_ID,
++ MD_ERROR_WIN_WAKE_SYSTEM_DEBUGGER,
++ MD_ERROR_WIN_HANDLES_CLOSED,
++ MD_ERROR_WIN_EXTRANEOUS_INFORMATION,
++ MD_ERROR_WIN_RXACT_COMMIT_NECESSARY,
++ MD_ERROR_WIN_MEDIA_CHECK,
++ MD_ERROR_WIN_GUID_SUBSTITUTION_MADE,
++ MD_ERROR_WIN_STOPPED_ON_SYMLINK,
++ MD_ERROR_WIN_LONGJUMP,
++ MD_ERROR_WIN_PLUGPLAY_QUERY_VETOED,
++ MD_ERROR_WIN_UNWIND_CONSOLIDATE,
++ MD_ERROR_WIN_REGISTRY_HIVE_RECOVERED,
++ MD_ERROR_WIN_DLL_MIGHT_BE_INSECURE,
++ MD_ERROR_WIN_DLL_MIGHT_BE_INCOMPATIBLE,
++ MD_ERROR_WIN_DBG_EXCEPTION_NOT_HANDLED,
++ MD_ERROR_WIN_DBG_REPLY_LATER,
++ MD_ERROR_WIN_DBG_UNABLE_TO_PROVIDE_HANDLE,
++ MD_ERROR_WIN_DBG_TERMINATE_THREAD,
++ MD_ERROR_WIN_DBG_TERMINATE_PROCESS,
++ MD_ERROR_WIN_DBG_CONTROL_C,
++ MD_ERROR_WIN_DBG_PRINTEXCEPTION_C,
++ MD_ERROR_WIN_DBG_RIPEXCEPTION,
++ MD_ERROR_WIN_DBG_CONTROL_BREAK,
++ MD_ERROR_WIN_DBG_COMMAND_EXCEPTION,
++ MD_ERROR_WIN_OBJECT_NAME_EXISTS,
++ MD_ERROR_WIN_THREAD_WAS_SUSPENDED,
++ MD_ERROR_WIN_IMAGE_NOT_AT_BASE,
++ MD_ERROR_WIN_RXACT_STATE_CREATED,
++ MD_ERROR_WIN_SEGMENT_NOTIFICATION,
++ MD_ERROR_WIN_BAD_CURRENT_DIRECTORY,
++ MD_ERROR_WIN_FT_READ_RECOVERY_FROM_BACKUP,
++ MD_ERROR_WIN_FT_WRITE_RECOVERY,
++ MD_ERROR_WIN_IMAGE_MACHINE_TYPE_MISMATCH,
++ MD_ERROR_WIN_RECEIVE_PARTIAL,
++ MD_ERROR_WIN_RECEIVE_EXPEDITED,
++ MD_ERROR_WIN_RECEIVE_PARTIAL_EXPEDITED,
++ MD_ERROR_WIN_EVENT_DONE,
++ MD_ERROR_WIN_EVENT_PENDING,
++ MD_ERROR_WIN_CHECKING_FILE_SYSTEM,
++ MD_ERROR_WIN_FATAL_APP_EXIT,
++ MD_ERROR_WIN_PREDEFINED_HANDLE,
++ MD_ERROR_WIN_WAS_UNLOCKED,
++ MD_ERROR_WIN_SERVICE_NOTIFICATION,
++ MD_ERROR_WIN_WAS_LOCKED,
++ MD_ERROR_WIN_LOG_HARD_ERROR,
++ MD_ERROR_WIN_ALREADY_WIN32,
++ MD_ERROR_WIN_IMAGE_MACHINE_TYPE_MISMATCH_EXE,
++ MD_ERROR_WIN_NO_YIELD_PERFORMED,
++ MD_ERROR_WIN_TIMER_RESUME_IGNORED,
++ MD_ERROR_WIN_ARBITRATION_UNHANDLED,
++ MD_ERROR_WIN_CARDBUS_NOT_SUPPORTED,
++ MD_ERROR_WIN_MP_PROCESSOR_MISMATCH,
++ MD_ERROR_WIN_HIBERNATED,
++ MD_ERROR_WIN_RESUME_HIBERNATION,
++ MD_ERROR_WIN_FIRMWARE_UPDATED,
++ MD_ERROR_WIN_DRIVERS_LEAKING_LOCKED_PAGES,
++ MD_ERROR_WIN_WAKE_SYSTEM,
++ MD_ERROR_WIN_WAIT_1,
++ MD_ERROR_WIN_WAIT_2,
++ MD_ERROR_WIN_WAIT_3,
++ MD_ERROR_WIN_WAIT_63,
++ MD_ERROR_WIN_ABANDONED_WAIT_0,
++ MD_ERROR_WIN_ABANDONED_WAIT_63,
++ MD_ERROR_WIN_USER_APC,
++ MD_ERROR_WIN_KERNEL_APC,
++ MD_ERROR_WIN_ALERTED,
++ MD_ERROR_WIN_ELEVATION_REQUIRED,
++ MD_ERROR_WIN_REPARSE,
++ MD_ERROR_WIN_OPLOCK_BREAK_IN_PROGRESS,
++ MD_ERROR_WIN_VOLUME_MOUNTED,
++ MD_ERROR_WIN_RXACT_COMMITTED,
++ MD_ERROR_WIN_NOTIFY_CLEANUP,
++ MD_ERROR_WIN_PRIMARY_TRANSPORT_CONNECT_FAILED,
++ MD_ERROR_WIN_PAGE_FAULT_TRANSITION,
++ MD_ERROR_WIN_PAGE_FAULT_DEMAND_ZERO,
++ MD_ERROR_WIN_PAGE_FAULT_COPY_ON_WRITE,
++ MD_ERROR_WIN_PAGE_FAULT_GUARD_PAGE,
++ MD_ERROR_WIN_PAGE_FAULT_PAGING_FILE,
++ MD_ERROR_WIN_CACHE_PAGE_LOCKED,
++ MD_ERROR_WIN_CRASH_DUMP,
++ MD_ERROR_WIN_BUFFER_ALL_ZEROS,
++ MD_ERROR_WIN_REPARSE_OBJECT,
++ MD_ERROR_WIN_RESOURCE_REQUIREMENTS_CHANGED,
++ MD_ERROR_WIN_TRANSLATION_COMPLETE,
++ MD_ERROR_WIN_NOTHING_TO_TERMINATE,
++ MD_ERROR_WIN_PROCESS_NOT_IN_JOB,
++ MD_ERROR_WIN_PROCESS_IN_JOB,
++ MD_ERROR_WIN_VOLSNAP_HIBERNATE_READY,
++ MD_ERROR_WIN_FSFILTER_OP_COMPLETED_SUCCESSFULLY,
++ MD_ERROR_WIN_INTERRUPT_VECTOR_ALREADY_CONNECTED,
++ MD_ERROR_WIN_INTERRUPT_STILL_CONNECTED,
++ MD_ERROR_WIN_WAIT_FOR_OPLOCK,
++ MD_ERROR_WIN_DBG_EXCEPTION_HANDLED,
++ MD_ERROR_WIN_DBG_CONTINUE,
++ MD_ERROR_WIN_CALLBACK_POP_STACK,
++ MD_ERROR_WIN_COMPRESSION_DISABLED,
++ MD_ERROR_WIN_CANTFETCHBACKWARDS,
++ MD_ERROR_WIN_CANTSCROLLBACKWARDS,
++ MD_ERROR_WIN_ROWSNOTRELEASED,
++ MD_ERROR_WIN_BAD_ACCESSOR_FLAGS,
++ MD_ERROR_WIN_ERRORS_ENCOUNTERED,
++ MD_ERROR_WIN_NOT_CAPABLE,
++ MD_ERROR_WIN_REQUEST_OUT_OF_SEQUENCE,
++ MD_ERROR_WIN_VERSION_PARSE_ERROR,
++ MD_ERROR_WIN_BADSTARTPOSITION,
++ MD_ERROR_WIN_MEMORY_HARDWARE,
++ MD_ERROR_WIN_DISK_REPAIR_DISABLED,
++ MD_ERROR_WIN_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE,
++ MD_ERROR_WIN_SYSTEM_POWERSTATE_TRANSITION,
++ MD_ERROR_WIN_SYSTEM_POWERSTATE_COMPLEX_TRANSITION,
++ MD_ERROR_WIN_MCA_EXCEPTION,
++ MD_ERROR_WIN_ACCESS_AUDIT_BY_POLICY,
++ MD_ERROR_WIN_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY,
++ MD_ERROR_WIN_ABANDON_HIBERFILE,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR,
++ MD_ERROR_WIN_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR,
++ MD_ERROR_WIN_BAD_MCFG_TABLE,
++ MD_ERROR_WIN_DISK_REPAIR_REDIRECTED,
++ MD_ERROR_WIN_DISK_REPAIR_UNSUCCESSFUL,
++ MD_ERROR_WIN_CORRUPT_LOG_OVERFULL,
++ MD_ERROR_WIN_CORRUPT_LOG_CORRUPTED,
++ MD_ERROR_WIN_CORRUPT_LOG_UNAVAILABLE,
++ MD_ERROR_WIN_CORRUPT_LOG_DELETED_FULL,
++ MD_ERROR_WIN_CORRUPT_LOG_CLEARED,
++ MD_ERROR_WIN_ORPHAN_NAME_EXHAUSTED,
++ MD_ERROR_WIN_OPLOCK_SWITCHED_TO_NEW_HANDLE,
++ MD_ERROR_WIN_CANNOT_GRANT_REQUESTED_OPLOCK,
++ MD_ERROR_WIN_CANNOT_BREAK_OPLOCK,
++ MD_ERROR_WIN_OPLOCK_HANDLE_CLOSED,
++ MD_ERROR_WIN_NO_ACE_CONDITION,
++ MD_ERROR_WIN_INVALID_ACE_CONDITION,
++ MD_ERROR_WIN_FILE_HANDLE_REVOKED,
++ MD_ERROR_WIN_IMAGE_AT_DIFFERENT_BASE,
++ MD_ERROR_WIN_ENCRYPTED_IO_NOT_POSSIBLE,
++ MD_ERROR_WIN_FILE_METADATA_OPTIMIZATION_IN_PROGRESS,
++ MD_ERROR_WIN_QUOTA_ACTIVITY,
++ MD_ERROR_WIN_HANDLE_REVOKED,
++ MD_ERROR_WIN_CALLBACK_INVOKE_INLINE,
++ MD_ERROR_WIN_CPU_SET_INVALID,
++ MD_ERROR_WIN_ENCLAVE_NOT_TERMINATED,
++ MD_ERROR_WIN_ENCLAVE_VIOLATION,
++ MD_ERROR_WIN_EA_ACCESS_DENIED,
++ MD_ERROR_WIN_OPERATION_ABORTED,
++ MD_ERROR_WIN_IO_INCOMPLETE,
++ MD_ERROR_WIN_IO_PENDING,
++ MD_ERROR_WIN_NOACCESS,
++ MD_ERROR_WIN_SWAPERROR,
++ MD_ERROR_WIN_STACK_OVERFLOW,
++ MD_ERROR_WIN_INVALID_MESSAGE,
++ MD_ERROR_WIN_CAN_NOT_COMPLETE,
++ MD_ERROR_WIN_INVALID_FLAGS,
++ MD_ERROR_WIN_UNRECOGNIZED_VOLUME,
++ MD_ERROR_WIN_FILE_INVALID,
++ MD_ERROR_WIN_FULLSCREEN_MODE,
++ MD_ERROR_WIN_NO_TOKEN,
++ MD_ERROR_WIN_BADDB,
++ MD_ERROR_WIN_BADKEY,
++ MD_ERROR_WIN_CANTOPEN,
++ MD_ERROR_WIN_CANTREAD,
++ MD_ERROR_WIN_CANTWRITE,
++ MD_ERROR_WIN_REGISTRY_RECOVERED,
++ MD_ERROR_WIN_REGISTRY_CORRUPT,
++ MD_ERROR_WIN_REGISTRY_IO_FAILED,
++ MD_ERROR_WIN_NOT_REGISTRY_FILE,
++ MD_ERROR_WIN_KEY_DELETED,
++ MD_ERROR_WIN_NO_LOG_SPACE,
++ MD_ERROR_WIN_KEY_HAS_CHILDREN,
++ MD_ERROR_WIN_CHILD_MUST_BE_VOLATILE,
++ MD_ERROR_WIN_NOTIFY_ENUM_DIR,
++ MD_ERROR_WIN_DEPENDENT_SERVICES_RUNNING,
++ MD_ERROR_WIN_INVALID_SERVICE_CONTROL,
++ MD_ERROR_WIN_SERVICE_REQUEST_TIMEOUT,
++ MD_ERROR_WIN_SERVICE_NO_THREAD,
++ MD_ERROR_WIN_SERVICE_DATABASE_LOCKED,
++ MD_ERROR_WIN_SERVICE_ALREADY_RUNNING,
++ MD_ERROR_WIN_INVALID_SERVICE_ACCOUNT,
++ MD_ERROR_WIN_SERVICE_DISABLED,
++ MD_ERROR_WIN_CIRCULAR_DEPENDENCY,
++ MD_ERROR_WIN_SERVICE_DOES_NOT_EXIST,
++ MD_ERROR_WIN_SERVICE_CANNOT_ACCEPT_CTRL,
++ MD_ERROR_WIN_SERVICE_NOT_ACTIVE,
++ MD_ERROR_WIN_FAILED_SERVICE_CONTROLLER_CONNECT,
++ MD_ERROR_WIN_EXCEPTION_IN_SERVICE,
++ MD_ERROR_WIN_DATABASE_DOES_NOT_EXIST,
++ MD_ERROR_WIN_SERVICE_SPECIFIC_ERROR,
++ MD_ERROR_WIN_PROCESS_ABORTED,
++ MD_ERROR_WIN_SERVICE_DEPENDENCY_FAIL,
++ MD_ERROR_WIN_SERVICE_LOGON_FAILED,
++ MD_ERROR_WIN_SERVICE_START_HANG,
++ MD_ERROR_WIN_INVALID_SERVICE_LOCK,
++ MD_ERROR_WIN_SERVICE_MARKED_FOR_DELETE,
++ MD_ERROR_WIN_SERVICE_EXISTS,
++ MD_ERROR_WIN_ALREADY_RUNNING_LKG,
++ MD_ERROR_WIN_SERVICE_DEPENDENCY_DELETED,
++ MD_ERROR_WIN_BOOT_ALREADY_ACCEPTED,
++ MD_ERROR_WIN_SERVICE_NEVER_STARTED,
++ MD_ERROR_WIN_DUPLICATE_SERVICE_NAME,
++ MD_ERROR_WIN_DIFFERENT_SERVICE_ACCOUNT,
++ MD_ERROR_WIN_CANNOT_DETECT_DRIVER_FAILURE,
++ MD_ERROR_WIN_CANNOT_DETECT_PROCESS_ABORT,
++ MD_ERROR_WIN_NO_RECOVERY_PROGRAM,
++ MD_ERROR_WIN_SERVICE_NOT_IN_EXE,
++ MD_ERROR_WIN_NOT_SAFEBOOT_SERVICE,
++ MD_ERROR_WIN_END_OF_MEDIA,
++ MD_ERROR_WIN_FILEMARK_DETECTED,
++ MD_ERROR_WIN_BEGINNING_OF_MEDIA,
++ MD_ERROR_WIN_SETMARK_DETECTED,
++ MD_ERROR_WIN_NO_DATA_DETECTED,
++ MD_ERROR_WIN_PARTITION_FAILURE,
++ MD_ERROR_WIN_INVALID_BLOCK_LENGTH,
++ MD_ERROR_WIN_DEVICE_NOT_PARTITIONED,
++ MD_ERROR_WIN_UNABLE_TO_LOCK_MEDIA,
++ MD_ERROR_WIN_UNABLE_TO_UNLOAD_MEDIA,
++ MD_ERROR_WIN_MEDIA_CHANGED,
++ MD_ERROR_WIN_BUS_RESET,
++ MD_ERROR_WIN_NO_MEDIA_IN_DRIVE,
++ MD_ERROR_WIN_NO_UNICODE_TRANSLATION,
++ MD_ERROR_WIN_DLL_INIT_FAILED,
++ MD_ERROR_WIN_SHUTDOWN_IN_PROGRESS,
++ MD_ERROR_WIN_NO_SHUTDOWN_IN_PROGRESS,
++ MD_ERROR_WIN_IO_DEVICE,
++ MD_ERROR_WIN_SERIAL_NO_DEVICE,
++ MD_ERROR_WIN_IRQ_BUSY,
++ MD_ERROR_WIN_MORE_WRITES,
++ MD_ERROR_WIN_COUNTER_TIMEOUT,
++ MD_ERROR_WIN_FLOPPY_ID_MARK_NOT_FOUND,
++ MD_ERROR_WIN_FLOPPY_WRONG_CYLINDER,
++ MD_ERROR_WIN_FLOPPY_UNKNOWN_ERROR,
++ MD_ERROR_WIN_FLOPPY_BAD_REGISTERS,
++ MD_ERROR_WIN_DISK_RECALIBRATE_FAILED,
++ MD_ERROR_WIN_DISK_OPERATION_FAILED,
++ MD_ERROR_WIN_DISK_RESET_FAILED,
++ MD_ERROR_WIN_EOM_OVERFLOW,
++ MD_ERROR_WIN_NOT_ENOUGH_SERVER_MEMORY,
++ MD_ERROR_WIN_POSSIBLE_DEADLOCK,
++ MD_ERROR_WIN_MAPPED_ALIGNMENT,
++ MD_ERROR_WIN_SET_POWER_STATE_VETOED,
++ MD_ERROR_WIN_SET_POWER_STATE_FAILED,
++ MD_ERROR_WIN_TOO_MANY_LINKS,
++ MD_ERROR_WIN_OLD_WIN_VERSION,
++ MD_ERROR_WIN_APP_WRONG_OS,
++ MD_ERROR_WIN_SINGLE_INSTANCE_APP,
++ MD_ERROR_WIN_RMODE_APP,
++ MD_ERROR_WIN_INVALID_DLL,
++ MD_ERROR_WIN_NO_ASSOCIATION,
++ MD_ERROR_WIN_DDE_FAIL,
++ MD_ERROR_WIN_DLL_NOT_FOUND,
++ MD_ERROR_WIN_NO_MORE_USER_HANDLES,
++ MD_ERROR_WIN_MESSAGE_SYNC_ONLY,
++ MD_ERROR_WIN_SOURCE_ELEMENT_EMPTY,
++ MD_ERROR_WIN_DESTINATION_ELEMENT_FULL,
++ MD_ERROR_WIN_ILLEGAL_ELEMENT_ADDRESS,
++ MD_ERROR_WIN_MAGAZINE_NOT_PRESENT,
++ MD_ERROR_WIN_DEVICE_REINITIALIZATION_NEEDED,
++ MD_ERROR_WIN_DEVICE_REQUIRES_CLEANING,
++ MD_ERROR_WIN_DEVICE_DOOR_OPEN,
++ MD_ERROR_WIN_DEVICE_NOT_CONNECTED,
++ MD_ERROR_WIN_NOT_FOUND,
++ MD_ERROR_WIN_NO_MATCH,
++ MD_ERROR_WIN_SET_NOT_FOUND,
++ MD_ERROR_WIN_POINT_NOT_FOUND,
++ MD_ERROR_WIN_NO_TRACKING_SERVICE,
++ MD_ERROR_WIN_NO_VOLUME_ID,
++ MD_ERROR_WIN_UNABLE_TO_REMOVE_REPLACED,
++ MD_ERROR_WIN_UNABLE_TO_MOVE_REPLACEMENT,
++ MD_ERROR_WIN_UNABLE_TO_MOVE_REPLACEMENT_2,
++ MD_ERROR_WIN_JOURNAL_DELETE_IN_PROGRESS,
++ MD_ERROR_WIN_JOURNAL_NOT_ACTIVE,
++ MD_ERROR_WIN_POTENTIAL_FILE_FOUND,
++ MD_ERROR_WIN_JOURNAL_ENTRY_DELETED,
++ MD_ERROR_WIN_VRF_CFG_AND_IO_ENABLED,
++ MD_ERROR_WIN_PARTITION_TERMINATING,
++ MD_ERROR_WIN_SHUTDOWN_IS_SCHEDULED,
++ MD_ERROR_WIN_SHUTDOWN_USERS_LOGGED_ON,
++ MD_ERROR_WIN_BAD_DEVICE,
++ MD_ERROR_WIN_CONNECTION_UNAVAIL,
++ MD_ERROR_WIN_DEVICE_ALREADY_REMEMBERED,
++ MD_ERROR_WIN_NO_NET_OR_BAD_PATH,
++ MD_ERROR_WIN_BAD_PROVIDER,
++ MD_ERROR_WIN_CANNOT_OPEN_PROFILE,
++ MD_ERROR_WIN_BAD_PROFILE,
++ MD_ERROR_WIN_NOT_CONTAINER,
++ MD_ERROR_WIN_EXTENDED_ERROR,
++ MD_ERROR_WIN_INVALID_GROUPNAME,
++ MD_ERROR_WIN_INVALID_COMPUTERNAME,
++ MD_ERROR_WIN_INVALID_EVENTNAME,
++ MD_ERROR_WIN_INVALID_DOMAINNAME,
++ MD_ERROR_WIN_INVALID_SERVICENAME,
++ MD_ERROR_WIN_INVALID_NETNAME,
++ MD_ERROR_WIN_INVALID_SHARENAME,
++ MD_ERROR_WIN_INVALID_PASSWORDNAME,
++ MD_ERROR_WIN_INVALID_MESSAGENAME,
++ MD_ERROR_WIN_INVALID_MESSAGEDEST,
++ MD_ERROR_WIN_SESSION_CREDENTIAL_CONFLICT,
++ MD_ERROR_WIN_REMOTE_SESSION_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_DUP_DOMAINNAME,
++ MD_ERROR_WIN_NO_NETWORK,
++ MD_ERROR_WIN_CANCELLED,
++ MD_ERROR_WIN_USER_MAPPED_FILE,
++ MD_ERROR_WIN_CONNECTION_REFUSED,
++ MD_ERROR_WIN_GRACEFUL_DISCONNECT,
++ MD_ERROR_WIN_ADDRESS_ALREADY_ASSOCIATED,
++ MD_ERROR_WIN_ADDRESS_NOT_ASSOCIATED,
++ MD_ERROR_WIN_CONNECTION_INVALID,
++ MD_ERROR_WIN_CONNECTION_ACTIVE,
++ MD_ERROR_WIN_NETWORK_UNREACHABLE,
++ MD_ERROR_WIN_HOST_UNREACHABLE,
++ MD_ERROR_WIN_PROTOCOL_UNREACHABLE,
++ MD_ERROR_WIN_PORT_UNREACHABLE,
++ MD_ERROR_WIN_REQUEST_ABORTED,
++ MD_ERROR_WIN_CONNECTION_ABORTED,
++ MD_ERROR_WIN_RETRY,
++ MD_ERROR_WIN_CONNECTION_COUNT_LIMIT,
++ MD_ERROR_WIN_LOGIN_TIME_RESTRICTION,
++ MD_ERROR_WIN_LOGIN_WKSTA_RESTRICTION,
++ MD_ERROR_WIN_INCORRECT_ADDRESS,
++ MD_ERROR_WIN_ALREADY_REGISTERED,
++ MD_ERROR_WIN_SERVICE_NOT_FOUND,
++ MD_ERROR_WIN_NOT_AUTHENTICATED,
++ MD_ERROR_WIN_NOT_LOGGED_ON,
++ MD_ERROR_WIN_CONTINUE,
++ MD_ERROR_WIN_ALREADY_INITIALIZED,
++ MD_ERROR_WIN_NO_MORE_DEVICES,
++ MD_ERROR_WIN_NO_SUCH_SITE,
++ MD_ERROR_WIN_DOMAIN_CONTROLLER_EXISTS,
++ MD_ERROR_WIN_ONLY_IF_CONNECTED,
++ MD_ERROR_WIN_OVERRIDE_NOCHANGES,
++ MD_ERROR_WIN_BAD_USER_PROFILE,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_SBS,
++ MD_ERROR_WIN_SERVER_SHUTDOWN_IN_PROGRESS,
++ MD_ERROR_WIN_HOST_DOWN,
++ MD_ERROR_WIN_NON_ACCOUNT_SID,
++ MD_ERROR_WIN_NON_DOMAIN_SID,
++ MD_ERROR_WIN_APPHELP_BLOCK,
++ MD_ERROR_WIN_ACCESS_DISABLED_BY_POLICY,
++ MD_ERROR_WIN_REG_NAT_CONSUMPTION,
++ MD_ERROR_WIN_CSCSHARE_OFFLINE,
++ MD_ERROR_WIN_PKINIT_FAILURE,
++ MD_ERROR_WIN_SMARTCARD_SUBSYSTEM_FAILURE,
++ MD_ERROR_WIN_DOWNGRADE_DETECTED,
++ MD_ERROR_WIN_MACHINE_LOCKED,
++ MD_ERROR_WIN_SMB_GUEST_LOGON_BLOCKED,
++ MD_ERROR_WIN_CALLBACK_SUPPLIED_INVALID_DATA,
++ MD_ERROR_WIN_SYNC_FOREGROUND_REFRESH_REQUIRED,
++ MD_ERROR_WIN_DRIVER_BLOCKED,
++ MD_ERROR_WIN_INVALID_IMPORT_OF_NON_DLL,
++ MD_ERROR_WIN_ACCESS_DISABLED_WEBBLADE,
++ MD_ERROR_WIN_ACCESS_DISABLED_WEBBLADE_TAMPER,
++ MD_ERROR_WIN_RECOVERY_FAILURE,
++ MD_ERROR_WIN_ALREADY_FIBER,
++ MD_ERROR_WIN_ALREADY_THREAD,
++ MD_ERROR_WIN_STACK_BUFFER_OVERRUN,
++ MD_ERROR_WIN_PARAMETER_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_DEBUGGER_INACTIVE,
++ MD_ERROR_WIN_DELAY_LOAD_FAILED,
++ MD_ERROR_WIN_VDM_DISALLOWED,
++ MD_ERROR_WIN_UNIDENTIFIED_ERROR,
++ MD_ERROR_WIN_INVALID_CRUNTIME_PARAMETER,
++ MD_ERROR_WIN_BEYOND_VDL,
++ MD_ERROR_WIN_INCOMPATIBLE_SERVICE_SID_TYPE,
++ MD_ERROR_WIN_DRIVER_PROCESS_TERMINATED,
++ MD_ERROR_WIN_IMPLEMENTATION_LIMIT,
++ MD_ERROR_WIN_PROCESS_IS_PROTECTED,
++ MD_ERROR_WIN_SERVICE_NOTIFY_CLIENT_LAGGING,
++ MD_ERROR_WIN_DISK_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_CONTENT_BLOCKED,
++ MD_ERROR_WIN_INCOMPATIBLE_SERVICE_PRIVILEGE,
++ MD_ERROR_WIN_APP_HANG,
++ MD_ERROR_WIN_INVALID_LABEL,
++ MD_ERROR_WIN_NOT_ALL_ASSIGNED,
++ MD_ERROR_WIN_SOME_NOT_MAPPED,
++ MD_ERROR_WIN_NO_QUOTAS_FOR_ACCOUNT,
++ MD_ERROR_WIN_LOCAL_USER_SESSION_KEY,
++ MD_ERROR_WIN_NULL_LM_PASSWORD,
++ MD_ERROR_WIN_UNKNOWN_REVISION,
++ MD_ERROR_WIN_REVISION_MISMATCH,
++ MD_ERROR_WIN_INVALID_OWNER,
++ MD_ERROR_WIN_INVALID_PRIMARY_GROUP,
++ MD_ERROR_WIN_NO_IMPERSONATION_TOKEN,
++ MD_ERROR_WIN_CANT_DISABLE_MANDATORY,
++ MD_ERROR_WIN_NO_LOGON_SERVERS,
++ MD_ERROR_WIN_NO_SUCH_LOGON_SESSION,
++ MD_ERROR_WIN_NO_SUCH_PRIVILEGE,
++ MD_ERROR_WIN_PRIVILEGE_NOT_HELD,
++ MD_ERROR_WIN_INVALID_ACCOUNT_NAME,
++ MD_ERROR_WIN_USER_EXISTS,
++ MD_ERROR_WIN_NO_SUCH_USER,
++ MD_ERROR_WIN_GROUP_EXISTS,
++ MD_ERROR_WIN_NO_SUCH_GROUP,
++ MD_ERROR_WIN_MEMBER_IN_GROUP,
++ MD_ERROR_WIN_MEMBER_NOT_IN_GROUP,
++ MD_ERROR_WIN_LAST_ADMIN,
++ MD_ERROR_WIN_WRONG_PASSWORD,
++ MD_ERROR_WIN_ILL_FORMED_PASSWORD,
++ MD_ERROR_WIN_PASSWORD_RESTRICTION,
++ MD_ERROR_WIN_LOGON_FAILURE,
++ MD_ERROR_WIN_ACCOUNT_RESTRICTION,
++ MD_ERROR_WIN_INVALID_LOGON_HOURS,
++ MD_ERROR_WIN_INVALID_WORKSTATION,
++ MD_ERROR_WIN_PASSWORD_EXPIRED,
++ MD_ERROR_WIN_ACCOUNT_DISABLED,
++ MD_ERROR_WIN_NONE_MAPPED,
++ MD_ERROR_WIN_TOO_MANY_LUIDS_REQUESTED,
++ MD_ERROR_WIN_LUIDS_EXHAUSTED,
++ MD_ERROR_WIN_INVALID_SUB_AUTHORITY,
++ MD_ERROR_WIN_INVALID_ACL,
++ MD_ERROR_WIN_INVALID_SID,
++ MD_ERROR_WIN_INVALID_SECURITY_DESCR,
++ MD_ERROR_WIN_BAD_INHERITANCE_ACL,
++ MD_ERROR_WIN_SERVER_DISABLED,
++ MD_ERROR_WIN_SERVER_NOT_DISABLED,
++ MD_ERROR_WIN_INVALID_ID_AUTHORITY,
++ MD_ERROR_WIN_ALLOTTED_SPACE_EXCEEDED,
++ MD_ERROR_WIN_INVALID_GROUP_ATTRIBUTES,
++ MD_ERROR_WIN_BAD_IMPERSONATION_LEVEL,
++ MD_ERROR_WIN_CANT_OPEN_ANONYMOUS,
++ MD_ERROR_WIN_BAD_VALIDATION_CLASS,
++ MD_ERROR_WIN_BAD_TOKEN_TYPE,
++ MD_ERROR_WIN_NO_SECURITY_ON_OBJECT,
++ MD_ERROR_WIN_CANT_ACCESS_DOMAIN_INFO,
++ MD_ERROR_WIN_INVALID_SERVER_STATE,
++ MD_ERROR_WIN_INVALID_DOMAIN_STATE,
++ MD_ERROR_WIN_INVALID_DOMAIN_ROLE,
++ MD_ERROR_WIN_NO_SUCH_DOMAIN,
++ MD_ERROR_WIN_DOMAIN_EXISTS,
++ MD_ERROR_WIN_DOMAIN_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_INTERNAL_DB_CORRUPTION,
++ MD_ERROR_WIN_INTERNAL_ERROR,
++ MD_ERROR_WIN_GENERIC_NOT_MAPPED,
++ MD_ERROR_WIN_BAD_DESCRIPTOR_FORMAT,
++ MD_ERROR_WIN_NOT_LOGON_PROCESS,
++ MD_ERROR_WIN_LOGON_SESSION_EXISTS,
++ MD_ERROR_WIN_NO_SUCH_PACKAGE,
++ MD_ERROR_WIN_BAD_LOGON_SESSION_STATE,
++ MD_ERROR_WIN_LOGON_SESSION_COLLISION,
++ MD_ERROR_WIN_INVALID_LOGON_TYPE,
++ MD_ERROR_WIN_CANNOT_IMPERSONATE,
++ MD_ERROR_WIN_RXACT_INVALID_STATE,
++ MD_ERROR_WIN_RXACT_COMMIT_FAILURE,
++ MD_ERROR_WIN_SPECIAL_ACCOUNT,
++ MD_ERROR_WIN_SPECIAL_GROUP,
++ MD_ERROR_WIN_SPECIAL_USER,
++ MD_ERROR_WIN_MEMBERS_PRIMARY_GROUP,
++ MD_ERROR_WIN_TOKEN_ALREADY_IN_USE,
++ MD_ERROR_WIN_NO_SUCH_ALIAS,
++ MD_ERROR_WIN_MEMBER_NOT_IN_ALIAS,
++ MD_ERROR_WIN_MEMBER_IN_ALIAS,
++ MD_ERROR_WIN_ALIAS_EXISTS,
++ MD_ERROR_WIN_LOGON_NOT_GRANTED,
++ MD_ERROR_WIN_TOO_MANY_SECRETS,
++ MD_ERROR_WIN_SECRET_TOO_LONG,
++ MD_ERROR_WIN_INTERNAL_DB_ERROR,
++ MD_ERROR_WIN_TOO_MANY_CONTEXT_IDS,
++ MD_ERROR_WIN_LOGON_TYPE_NOT_GRANTED,
++ MD_ERROR_WIN_NT_CROSS_ENCRYPTION_REQUIRED,
++ MD_ERROR_WIN_NO_SUCH_MEMBER,
++ MD_ERROR_WIN_INVALID_MEMBER,
++ MD_ERROR_WIN_TOO_MANY_SIDS,
++ MD_ERROR_WIN_LM_CROSS_ENCRYPTION_REQUIRED,
++ MD_ERROR_WIN_NO_INHERITANCE,
++ MD_ERROR_WIN_FILE_CORRUPT,
++ MD_ERROR_WIN_DISK_CORRUPT,
++ MD_ERROR_WIN_NO_USER_SESSION_KEY,
++ MD_ERROR_WIN_LICENSE_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_WRONG_TARGET_NAME,
++ MD_ERROR_WIN_MUTUAL_AUTH_FAILED,
++ MD_ERROR_WIN_TIME_SKEW,
++ MD_ERROR_WIN_CURRENT_DOMAIN_NOT_ALLOWED,
++ MD_ERROR_WIN_INVALID_WINDOW_HANDLE,
++ MD_ERROR_WIN_INVALID_MENU_HANDLE,
++ MD_ERROR_WIN_INVALID_CURSOR_HANDLE,
++ MD_ERROR_WIN_INVALID_ACCEL_HANDLE,
++ MD_ERROR_WIN_INVALID_HOOK_HANDLE,
++ MD_ERROR_WIN_INVALID_DWP_HANDLE,
++ MD_ERROR_WIN_TLW_WITH_WSCHILD,
++ MD_ERROR_WIN_CANNOT_FIND_WND_CLASS,
++ MD_ERROR_WIN_WINDOW_OF_OTHER_THREAD,
++ MD_ERROR_WIN_HOTKEY_ALREADY_REGISTERED,
++ MD_ERROR_WIN_CLASS_ALREADY_EXISTS,
++ MD_ERROR_WIN_CLASS_DOES_NOT_EXIST,
++ MD_ERROR_WIN_CLASS_HAS_WINDOWS,
++ MD_ERROR_WIN_INVALID_INDEX,
++ MD_ERROR_WIN_INVALID_ICON_HANDLE,
++ MD_ERROR_WIN_PRIVATE_DIALOG_INDEX,
++ MD_ERROR_WIN_LISTBOX_ID_NOT_FOUND,
++ MD_ERROR_WIN_NO_WILDCARD_CHARACTERS,
++ MD_ERROR_WIN_CLIPBOARD_NOT_OPEN,
++ MD_ERROR_WIN_HOTKEY_NOT_REGISTERED,
++ MD_ERROR_WIN_WINDOW_NOT_DIALOG,
++ MD_ERROR_WIN_CONTROL_ID_NOT_FOUND,
++ MD_ERROR_WIN_INVALID_COMBOBOX_MESSAGE,
++ MD_ERROR_WIN_WINDOW_NOT_COMBOBOX,
++ MD_ERROR_WIN_INVALID_EDIT_HEIGHT,
++ MD_ERROR_WIN_DC_NOT_FOUND,
++ MD_ERROR_WIN_INVALID_HOOK_FILTER,
++ MD_ERROR_WIN_INVALID_FILTER_PROC,
++ MD_ERROR_WIN_HOOK_NEEDS_HMOD,
++ MD_ERROR_WIN_GLOBAL_ONLY_HOOK,
++ MD_ERROR_WIN_JOURNAL_HOOK_SET,
++ MD_ERROR_WIN_HOOK_NOT_INSTALLED,
++ MD_ERROR_WIN_INVALID_LB_MESSAGE,
++ MD_ERROR_WIN_SETCOUNT_ON_BAD_LB,
++ MD_ERROR_WIN_LB_WITHOUT_TABSTOPS,
++ MD_ERROR_WIN_DESTROY_OBJECT_OF_OTHER_THREAD,
++ MD_ERROR_WIN_CHILD_WINDOW_MENU,
++ MD_ERROR_WIN_NO_SYSTEM_MENU,
++ MD_ERROR_WIN_INVALID_MSGBOX_STYLE,
++ MD_ERROR_WIN_INVALID_SPI_VALUE,
++ MD_ERROR_WIN_SCREEN_ALREADY_LOCKED,
++ MD_ERROR_WIN_HWNDS_HAVE_DIFF_PARENT,
++ MD_ERROR_WIN_NOT_CHILD_WINDOW,
++ MD_ERROR_WIN_INVALID_GW_COMMAND,
++ MD_ERROR_WIN_INVALID_THREAD_ID,
++ MD_ERROR_WIN_NON_MDICHILD_WINDOW,
++ MD_ERROR_WIN_POPUP_ALREADY_ACTIVE,
++ MD_ERROR_WIN_NO_SCROLLBARS,
++ MD_ERROR_WIN_INVALID_SCROLLBAR_RANGE,
++ MD_ERROR_WIN_INVALID_SHOWWIN_COMMAND,
++ MD_ERROR_WIN_NO_SYSTEM_RESOURCES,
++ MD_ERROR_WIN_NONPAGED_SYSTEM_RESOURCES,
++ MD_ERROR_WIN_PAGED_SYSTEM_RESOURCES,
++ MD_ERROR_WIN_WORKING_SET_QUOTA,
++ MD_ERROR_WIN_PAGEFILE_QUOTA,
++ MD_ERROR_WIN_COMMITMENT_LIMIT,
++ MD_ERROR_WIN_MENU_ITEM_NOT_FOUND,
++ MD_ERROR_WIN_INVALID_KEYBOARD_HANDLE,
++ MD_ERROR_WIN_HOOK_TYPE_NOT_ALLOWED,
++ MD_ERROR_WIN_REQUIRES_INTERACTIVE_WINDOWSTATION,
++ MD_ERROR_WIN_TIMEOUT,
++ MD_ERROR_WIN_INVALID_MONITOR_HANDLE,
++ MD_ERROR_WIN_INCORRECT_SIZE,
++ MD_ERROR_WIN_SYMLINK_CLASS_DISABLED,
++ MD_ERROR_WIN_SYMLINK_NOT_SUPPORTED,
++ MD_ERROR_WIN_XML_PARSE_ERROR,
++ MD_ERROR_WIN_XMLDSIG_ERROR,
++ MD_ERROR_WIN_RESTART_APPLICATION,
++ MD_ERROR_WIN_WRONG_COMPARTMENT,
++ MD_ERROR_WIN_AUTHIP_FAILURE,
++ MD_ERROR_WIN_NO_NVRAM_RESOURCES,
++ MD_ERROR_WIN_NOT_GUI_PROCESS,
++ MD_ERROR_WIN_EVENTLOG_FILE_CORRUPT,
++ MD_ERROR_WIN_EVENTLOG_CANT_START,
++ MD_ERROR_WIN_LOG_FILE_FULL,
++ MD_ERROR_WIN_EVENTLOG_FILE_CHANGED,
++ MD_ERROR_WIN_CONTAINER_ASSIGNED,
++ MD_ERROR_WIN_JOB_NO_CONTAINER,
++ MD_ERROR_WIN_INVALID_TASK_NAME,
++ MD_ERROR_WIN_INVALID_TASK_INDEX,
++ MD_ERROR_WIN_THREAD_ALREADY_IN_TASK,
++ MD_ERROR_WIN_INSTALL_SERVICE_FAILURE,
++ MD_ERROR_WIN_INSTALL_USEREXIT,
++ MD_ERROR_WIN_INSTALL_FAILURE,
++ MD_ERROR_WIN_INSTALL_SUSPEND,
++ MD_ERROR_WIN_UNKNOWN_PRODUCT,
++ MD_ERROR_WIN_UNKNOWN_FEATURE,
++ MD_ERROR_WIN_UNKNOWN_COMPONENT,
++ MD_ERROR_WIN_UNKNOWN_PROPERTY,
++ MD_ERROR_WIN_INVALID_HANDLE_STATE,
++ MD_ERROR_WIN_BAD_CONFIGURATION,
++ MD_ERROR_WIN_INDEX_ABSENT,
++ MD_ERROR_WIN_INSTALL_SOURCE_ABSENT,
++ MD_ERROR_WIN_INSTALL_PACKAGE_VERSION,
++ MD_ERROR_WIN_PRODUCT_UNINSTALLED,
++ MD_ERROR_WIN_BAD_QUERY_SYNTAX,
++ MD_ERROR_WIN_INVALID_FIELD,
++ MD_ERROR_WIN_DEVICE_REMOVED,
++ MD_ERROR_WIN_INSTALL_ALREADY_RUNNING,
++ MD_ERROR_WIN_INSTALL_PACKAGE_OPEN_FAILED,
++ MD_ERROR_WIN_INSTALL_PACKAGE_INVALID,
++ MD_ERROR_WIN_INSTALL_UI_FAILURE,
++ MD_ERROR_WIN_INSTALL_LOG_FAILURE,
++ MD_ERROR_WIN_INSTALL_LANGUAGE_UNSUPPORTED,
++ MD_ERROR_WIN_INSTALL_TRANSFORM_FAILURE,
++ MD_ERROR_WIN_INSTALL_PACKAGE_REJECTED,
++ MD_ERROR_WIN_FUNCTION_NOT_CALLED,
++ MD_ERROR_WIN_FUNCTION_FAILED,
++ MD_ERROR_WIN_INVALID_TABLE,
++ MD_ERROR_WIN_DATATYPE_MISMATCH,
++ MD_ERROR_WIN_UNSUPPORTED_TYPE,
++ MD_ERROR_WIN_CREATE_FAILED,
++ MD_ERROR_WIN_INSTALL_TEMP_UNWRITABLE,
++ MD_ERROR_WIN_INSTALL_PLATFORM_UNSUPPORTED,
++ MD_ERROR_WIN_INSTALL_NOTUSED,
++ MD_ERROR_WIN_PATCH_PACKAGE_OPEN_FAILED,
++ MD_ERROR_WIN_PATCH_PACKAGE_INVALID,
++ MD_ERROR_WIN_PATCH_PACKAGE_UNSUPPORTED,
++ MD_ERROR_WIN_PRODUCT_VERSION,
++ MD_ERROR_WIN_INVALID_COMMAND_LINE,
++ MD_ERROR_WIN_INSTALL_REMOTE_DISALLOWED,
++ MD_ERROR_WIN_SUCCESS_REBOOT_INITIATED,
++ MD_ERROR_WIN_PATCH_TARGET_NOT_FOUND,
++ MD_ERROR_WIN_PATCH_PACKAGE_REJECTED,
++ MD_ERROR_WIN_INSTALL_TRANSFORM_REJECTED,
++ MD_ERROR_WIN_INSTALL_REMOTE_PROHIBITED,
++ MD_ERROR_WIN_PATCH_REMOVAL_UNSUPPORTED,
++ MD_ERROR_WIN_UNKNOWN_PATCH,
++ MD_ERROR_WIN_PATCH_NO_SEQUENCE,
++ MD_ERROR_WIN_PATCH_REMOVAL_DISALLOWED,
++ MD_ERROR_WIN_INVALID_PATCH_XML,
++ MD_ERROR_WIN_PATCH_MANAGED_ADVERTISED_PRODUCT,
++ MD_ERROR_WIN_INSTALL_SERVICE_SAFEBOOT,
++ MD_ERROR_WIN_FAIL_FAST_EXCEPTION,
++ MD_ERROR_WIN_INSTALL_REJECTED,
++ MD_ERROR_WIN_DYNAMIC_CODE_BLOCKED,
++ MD_ERROR_WIN_NOT_SAME_OBJECT,
++ MD_ERROR_WIN_STRICT_CFG_VIOLATION,
++ MD_ERROR_WIN_SET_CONTEXT_DENIED,
++ MD_ERROR_WIN_CROSS_PARTITION_VIOLATION,
++ MD_ERROR_WIN_RETURN_ADDRESS_HIJACK_ATTEMPT,
++ MD_ERROR_WIN_INVALID_USER_BUFFER,
++ MD_ERROR_WIN_UNRECOGNIZED_MEDIA,
++ MD_ERROR_WIN_NO_TRUST_LSA_SECRET,
++ MD_ERROR_WIN_NO_TRUST_SAM_ACCOUNT,
++ MD_ERROR_WIN_TRUSTED_DOMAIN_FAILURE,
++ MD_ERROR_WIN_TRUSTED_RELATIONSHIP_FAILURE,
++ MD_ERROR_WIN_TRUST_FAILURE,
++ MD_ERROR_WIN_NETLOGON_NOT_STARTED,
++ MD_ERROR_WIN_ACCOUNT_EXPIRED,
++ MD_ERROR_WIN_REDIRECTOR_HAS_OPEN_HANDLES,
++ MD_ERROR_WIN_PRINTER_DRIVER_ALREADY_INSTALLED,
++ MD_ERROR_WIN_UNKNOWN_PORT,
++ MD_ERROR_WIN_UNKNOWN_PRINTER_DRIVER,
++ MD_ERROR_WIN_UNKNOWN_PRINTPROCESSOR,
++ MD_ERROR_WIN_INVALID_SEPARATOR_FILE,
++ MD_ERROR_WIN_INVALID_PRIORITY,
++ MD_ERROR_WIN_INVALID_PRINTER_NAME,
++ MD_ERROR_WIN_PRINTER_ALREADY_EXISTS,
++ MD_ERROR_WIN_INVALID_PRINTER_COMMAND,
++ MD_ERROR_WIN_INVALID_DATATYPE,
++ MD_ERROR_WIN_INVALID_ENVIRONMENT,
++ MD_ERROR_WIN_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT,
++ MD_ERROR_WIN_NOLOGON_WORKSTATION_TRUST_ACCOUNT,
++ MD_ERROR_WIN_NOLOGON_SERVER_TRUST_ACCOUNT,
++ MD_ERROR_WIN_DOMAIN_TRUST_INCONSISTENT,
++ MD_ERROR_WIN_SERVER_HAS_OPEN_HANDLES,
++ MD_ERROR_WIN_RESOURCE_DATA_NOT_FOUND,
++ MD_ERROR_WIN_RESOURCE_TYPE_NOT_FOUND,
++ MD_ERROR_WIN_RESOURCE_NAME_NOT_FOUND,
++ MD_ERROR_WIN_RESOURCE_LANG_NOT_FOUND,
++ MD_ERROR_WIN_NOT_ENOUGH_QUOTA,
++ MD_ERROR_WIN_INVALID_TIME,
++ MD_ERROR_WIN_INVALID_FORM_NAME,
++ MD_ERROR_WIN_INVALID_FORM_SIZE,
++ MD_ERROR_WIN_ALREADY_WAITING,
++ MD_ERROR_WIN_PRINTER_DELETED,
++ MD_ERROR_WIN_INVALID_PRINTER_STATE,
++ MD_ERROR_WIN_PASSWORD_MUST_CHANGE,
++ MD_ERROR_WIN_DOMAIN_CONTROLLER_NOT_FOUND,
++ MD_ERROR_WIN_ACCOUNT_LOCKED_OUT,
++ MD_ERROR_WIN_NO_SITENAME,
++ MD_ERROR_WIN_CANT_ACCESS_FILE,
++ MD_ERROR_WIN_CANT_RESOLVE_FILENAME,
++ MD_ERROR_WIN_KM_DRIVER_BLOCKED,
++ MD_ERROR_WIN_CONTEXT_EXPIRED,
++ MD_ERROR_WIN_PER_USER_TRUST_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_ALL_USER_TRUST_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_USER_DELETE_TRUST_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_AUTHENTICATION_FIREWALL_FAILED,
++ MD_ERROR_WIN_REMOTE_PRINT_CONNECTIONS_BLOCKED,
++ MD_ERROR_WIN_NTLM_BLOCKED,
++ MD_ERROR_WIN_PASSWORD_CHANGE_REQUIRED,
++ MD_ERROR_WIN_LOST_MODE_LOGON_RESTRICTION,
++ MD_ERROR_WIN_INVALID_PIXEL_FORMAT,
++ MD_ERROR_WIN_BAD_DRIVER,
++ MD_ERROR_WIN_INVALID_WINDOW_STYLE,
++ MD_ERROR_WIN_METAFILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_TRANSFORM_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLIPPING_NOT_SUPPORTED,
++ MD_ERROR_WIN_INVALID_CMM,
++ MD_ERROR_WIN_INVALID_PROFILE,
++ MD_ERROR_WIN_TAG_NOT_FOUND,
++ MD_ERROR_WIN_TAG_NOT_PRESENT,
++ MD_ERROR_WIN_DUPLICATE_TAG,
++ MD_ERROR_WIN_PROFILE_NOT_ASSOCIATED_WITH_DEVICE,
++ MD_ERROR_WIN_PROFILE_NOT_FOUND,
++ MD_ERROR_WIN_INVALID_COLORSPACE,
++ MD_ERROR_WIN_ICM_NOT_ENABLED,
++ MD_ERROR_WIN_DELETING_ICM_XFORM,
++ MD_ERROR_WIN_INVALID_TRANSFORM,
++ MD_ERROR_WIN_COLORSPACE_MISMATCH,
++ MD_ERROR_WIN_INVALID_COLORINDEX,
++ MD_ERROR_WIN_PROFILE_DOES_NOT_MATCH_DEVICE,
++ MD_ERROR_WIN_CONNECTED_OTHER_PASSWORD,
++ MD_ERROR_WIN_CONNECTED_OTHER_PASSWORD_DEFAULT,
++ MD_ERROR_WIN_BAD_USERNAME,
++ MD_ERROR_WIN_NOT_CONNECTED,
++ MD_ERROR_WIN_OPEN_FILES,
++ MD_ERROR_WIN_ACTIVE_CONNECTIONS,
++ MD_ERROR_WIN_DEVICE_IN_USE,
++ MD_ERROR_WIN_UNKNOWN_PRINT_MONITOR,
++ MD_ERROR_WIN_PRINTER_DRIVER_IN_USE,
++ MD_ERROR_WIN_SPOOL_FILE_NOT_FOUND,
++ MD_ERROR_WIN_SPL_NO_STARTDOC,
++ MD_ERROR_WIN_SPL_NO_ADDJOB,
++ MD_ERROR_WIN_PRINT_PROCESSOR_ALREADY_INSTALLED,
++ MD_ERROR_WIN_PRINT_MONITOR_ALREADY_INSTALLED,
++ MD_ERROR_WIN_INVALID_PRINT_MONITOR,
++ MD_ERROR_WIN_PRINT_MONITOR_IN_USE,
++ MD_ERROR_WIN_PRINTER_HAS_JOBS_QUEUED,
++ MD_ERROR_WIN_SUCCESS_REBOOT_REQUIRED,
++ MD_ERROR_WIN_SUCCESS_RESTART_REQUIRED,
++ MD_ERROR_WIN_PRINTER_NOT_FOUND,
++ MD_ERROR_WIN_PRINTER_DRIVER_WARNED,
++ MD_ERROR_WIN_PRINTER_DRIVER_BLOCKED,
++ MD_ERROR_WIN_PRINTER_DRIVER_PACKAGE_IN_USE,
++ MD_ERROR_WIN_CORE_DRIVER_PACKAGE_NOT_FOUND,
++ MD_ERROR_WIN_FAIL_REBOOT_REQUIRED,
++ MD_ERROR_WIN_FAIL_REBOOT_INITIATED,
++ MD_ERROR_WIN_PRINTER_DRIVER_DOWNLOAD_NEEDED,
++ MD_ERROR_WIN_PRINT_JOB_RESTART_REQUIRED,
++ MD_ERROR_WIN_INVALID_PRINTER_DRIVER_MANIFEST,
++ MD_ERROR_WIN_PRINTER_NOT_SHAREABLE,
++ MD_ERROR_WIN_REQUEST_PAUSED,
++ MD_ERROR_WIN_APPEXEC_CONDITION_NOT_SATISFIED,
++ MD_ERROR_WIN_APPEXEC_HANDLE_INVALIDATED,
++ MD_ERROR_WIN_APPEXEC_INVALID_HOST_GENERATION,
++ MD_ERROR_WIN_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION,
++ MD_ERROR_WIN_APPEXEC_INVALID_HOST_STATE,
++ MD_ERROR_WIN_APPEXEC_NO_DONOR,
++ MD_ERROR_WIN_APPEXEC_HOST_ID_MISMATCH,
++ MD_ERROR_WIN_APPEXEC_UNKNOWN_USER,
++ MD_ERROR_WIN_IO_REISSUE_AS_CACHED,
++ MD_ERROR_WIN_WINS_INTERNAL,
++ MD_ERROR_WIN_CAN_NOT_DEL_LOCAL_WINS,
++ MD_ERROR_WIN_STATIC_INIT,
++ MD_ERROR_WIN_INC_BACKUP,
++ MD_ERROR_WIN_FULL_BACKUP,
++ MD_ERROR_WIN_REC_NON_EXISTENT,
++ MD_ERROR_WIN_RPL_NOT_ALLOWED,
++ MD_ERROR_WIN_DHCP_ADDRESS_CONFLICT,
++ MD_ERROR_WIN_WMI_GUID_NOT_FOUND,
++ MD_ERROR_WIN_WMI_INSTANCE_NOT_FOUND,
++ MD_ERROR_WIN_WMI_ITEMID_NOT_FOUND,
++ MD_ERROR_WIN_WMI_TRY_AGAIN,
++ MD_ERROR_WIN_WMI_DP_NOT_FOUND,
++ MD_ERROR_WIN_WMI_UNRESOLVED_INSTANCE_REF,
++ MD_ERROR_WIN_WMI_ALREADY_ENABLED,
++ MD_ERROR_WIN_WMI_GUID_DISCONNECTED,
++ MD_ERROR_WIN_WMI_SERVER_UNAVAILABLE,
++ MD_ERROR_WIN_WMI_DP_FAILED,
++ MD_ERROR_WIN_WMI_INVALID_MOF,
++ MD_ERROR_WIN_WMI_INVALID_REGINFO,
++ MD_ERROR_WIN_WMI_ALREADY_DISABLED,
++ MD_ERROR_WIN_WMI_READ_ONLY,
++ MD_ERROR_WIN_WMI_SET_FAILURE,
++ MD_ERROR_WIN_NOT_APPCONTAINER,
++ MD_ERROR_WIN_APPCONTAINER_REQUIRED,
++ MD_ERROR_WIN_NOT_SUPPORTED_IN_APPCONTAINER,
++ MD_ERROR_WIN_INVALID_PACKAGE_SID_LENGTH,
++ MD_ERROR_WIN_INVALID_MEDIA,
++ MD_ERROR_WIN_INVALID_LIBRARY,
++ MD_ERROR_WIN_INVALID_MEDIA_POOL,
++ MD_ERROR_WIN_DRIVE_MEDIA_MISMATCH,
++ MD_ERROR_WIN_MEDIA_OFFLINE,
++ MD_ERROR_WIN_LIBRARY_OFFLINE,
++ MD_ERROR_WIN_EMPTY,
++ MD_ERROR_WIN_NOT_EMPTY,
++ MD_ERROR_WIN_MEDIA_UNAVAILABLE,
++ MD_ERROR_WIN_RESOURCE_DISABLED,
++ MD_ERROR_WIN_INVALID_CLEANER,
++ MD_ERROR_WIN_UNABLE_TO_CLEAN,
++ MD_ERROR_WIN_OBJECT_NOT_FOUND,
++ MD_ERROR_WIN_DATABASE_FAILURE,
++ MD_ERROR_WIN_DATABASE_FULL,
++ MD_ERROR_WIN_MEDIA_INCOMPATIBLE,
++ MD_ERROR_WIN_RESOURCE_NOT_PRESENT,
++ MD_ERROR_WIN_INVALID_OPERATION,
++ MD_ERROR_WIN_MEDIA_NOT_AVAILABLE,
++ MD_ERROR_WIN_DEVICE_NOT_AVAILABLE,
++ MD_ERROR_WIN_REQUEST_REFUSED,
++ MD_ERROR_WIN_INVALID_DRIVE_OBJECT,
++ MD_ERROR_WIN_LIBRARY_FULL,
++ MD_ERROR_WIN_MEDIUM_NOT_ACCESSIBLE,
++ MD_ERROR_WIN_UNABLE_TO_LOAD_MEDIUM,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_DRIVE,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_SLOT,
++ MD_ERROR_WIN_UNABLE_TO_INVENTORY_TRANSPORT,
++ MD_ERROR_WIN_TRANSPORT_FULL,
++ MD_ERROR_WIN_CONTROLLING_IEPORT,
++ MD_ERROR_WIN_UNABLE_TO_EJECT_MOUNTED_MEDIA,
++ MD_ERROR_WIN_CLEANER_SLOT_SET,
++ MD_ERROR_WIN_CLEANER_SLOT_NOT_SET,
++ MD_ERROR_WIN_CLEANER_CARTRIDGE_SPENT,
++ MD_ERROR_WIN_UNEXPECTED_OMID,
++ MD_ERROR_WIN_CANT_DELETE_LAST_ITEM,
++ MD_ERROR_WIN_MESSAGE_EXCEEDS_MAX_SIZE,
++ MD_ERROR_WIN_VOLUME_CONTAINS_SYS_FILES,
++ MD_ERROR_WIN_INDIGENOUS_TYPE,
++ MD_ERROR_WIN_NO_SUPPORTING_DRIVES,
++ MD_ERROR_WIN_CLEANER_CARTRIDGE_INSTALLED,
++ MD_ERROR_WIN_IEPORT_FULL,
++ MD_ERROR_WIN_FILE_OFFLINE,
++ MD_ERROR_WIN_REMOTE_STORAGE_NOT_ACTIVE,
++ MD_ERROR_WIN_REMOTE_STORAGE_MEDIA_ERROR,
++ MD_ERROR_WIN_NOT_A_REPARSE_POINT,
++ MD_ERROR_WIN_REPARSE_ATTRIBUTE_CONFLICT,
++ MD_ERROR_WIN_INVALID_REPARSE_DATA,
++ MD_ERROR_WIN_REPARSE_TAG_INVALID,
++ MD_ERROR_WIN_REPARSE_TAG_MISMATCH,
++ MD_ERROR_WIN_REPARSE_POINT_ENCOUNTERED,
++ MD_ERROR_WIN_APP_DATA_NOT_FOUND,
++ MD_ERROR_WIN_APP_DATA_EXPIRED,
++ MD_ERROR_WIN_APP_DATA_CORRUPT,
++ MD_ERROR_WIN_APP_DATA_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_APP_DATA_REBOOT_REQUIRED,
++ MD_ERROR_WIN_SECUREBOOT_ROLLBACK_DETECTED,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_VIOLATION,
++ MD_ERROR_WIN_SECUREBOOT_INVALID_POLICY,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_NOT_SIGNED,
++ MD_ERROR_WIN_SECUREBOOT_NOT_ENABLED,
++ MD_ERROR_WIN_SECUREBOOT_FILE_REPLACED,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_NOT_AUTHORIZED,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_UNKNOWN,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION,
++ MD_ERROR_WIN_SECUREBOOT_PLATFORM_ID_MISMATCH,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_ROLLBACK_DETECTED,
++ MD_ERROR_WIN_SECUREBOOT_POLICY_UPGRADE_MISMATCH,
++ MD_ERROR_WIN_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING,
++ MD_ERROR_WIN_SECUREBOOT_NOT_BASE_POLICY,
++ MD_ERROR_WIN_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY,
++ MD_ERROR_WIN_OFFLOAD_READ_FLT_NOT_SUPPORTED,
++ MD_ERROR_WIN_OFFLOAD_WRITE_FLT_NOT_SUPPORTED,
++ MD_ERROR_WIN_OFFLOAD_READ_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_OFFLOAD_WRITE_FILE_NOT_SUPPORTED,
++ MD_ERROR_WIN_ALREADY_HAS_STREAM_ID,
++ MD_ERROR_WIN_SMR_GARBAGE_COLLECTION_REQUIRED,
++ MD_ERROR_WIN_WOF_WIM_HEADER_CORRUPT,
++ MD_ERROR_WIN_WOF_WIM_RESOURCE_TABLE_CORRUPT,
++ MD_ERROR_WIN_WOF_FILE_RESOURCE_TABLE_CORRUPT,
++ MD_ERROR_WIN_VOLUME_NOT_SIS_ENABLED,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_ROLLBACK_DETECTED,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_POLICY_VIOLATION,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_INVALID_POLICY,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_TOO_MANY_POLICIES,
++ MD_ERROR_WIN_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED,
++ MD_ERROR_WIN_VSM_NOT_INITIALIZED,
++ MD_ERROR_WIN_VSM_DMA_PROTECTION_NOT_IN_USE,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_AUTHORIZED,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_INVALID,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_ACTIVE,
++ MD_ERROR_WIN_PLATFORM_MANIFEST_NOT_SIGNED,
++ MD_ERROR_WIN_DEPENDENT_RESOURCE_EXISTS,
++ MD_ERROR_WIN_DEPENDENCY_NOT_FOUND,
++ MD_ERROR_WIN_DEPENDENCY_ALREADY_EXISTS,
++ MD_ERROR_WIN_RESOURCE_NOT_ONLINE,
++ MD_ERROR_WIN_HOST_NODE_NOT_AVAILABLE,
++ MD_ERROR_WIN_RESOURCE_NOT_AVAILABLE,
++ MD_ERROR_WIN_RESOURCE_NOT_FOUND,
++ MD_ERROR_WIN_SHUTDOWN_CLUSTER,
++ MD_ERROR_WIN_CANT_EVICT_ACTIVE_NODE,
++ MD_ERROR_WIN_OBJECT_ALREADY_EXISTS,
++ MD_ERROR_WIN_OBJECT_IN_LIST,
++ MD_ERROR_WIN_GROUP_NOT_AVAILABLE,
++ MD_ERROR_WIN_GROUP_NOT_FOUND,
++ MD_ERROR_WIN_GROUP_NOT_ONLINE,
++ MD_ERROR_WIN_HOST_NODE_NOT_RESOURCE_OWNER,
++ MD_ERROR_WIN_HOST_NODE_NOT_GROUP_OWNER,
++ MD_ERROR_WIN_RESMON_CREATE_FAILED,
++ MD_ERROR_WIN_RESMON_ONLINE_FAILED,
++ MD_ERROR_WIN_RESOURCE_ONLINE,
++ MD_ERROR_WIN_QUORUM_RESOURCE,
++ MD_ERROR_WIN_NOT_QUORUM_CAPABLE,
++ MD_ERROR_WIN_CLUSTER_SHUTTING_DOWN,
++ MD_ERROR_WIN_INVALID_STATE,
++ MD_ERROR_WIN_RESOURCE_PROPERTIES_STORED,
++ MD_ERROR_WIN_NOT_QUORUM_CLASS,
++ MD_ERROR_WIN_CORE_RESOURCE,
++ MD_ERROR_WIN_QUORUM_RESOURCE_ONLINE_FAILED,
++ MD_ERROR_WIN_QUORUMLOG_OPEN_FAILED,
++ MD_ERROR_WIN_CLUSTERLOG_CORRUPT,
++ MD_ERROR_WIN_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE,
++ MD_ERROR_WIN_CLUSTERLOG_EXCEEDS_MAXSIZE,
++ MD_ERROR_WIN_CLUSTERLOG_CHKPOINT_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTERLOG_NOT_ENOUGH_SPACE,
++ MD_ERROR_WIN_QUORUM_OWNER_ALIVE,
++ MD_ERROR_WIN_NETWORK_NOT_AVAILABLE,
++ MD_ERROR_WIN_NODE_NOT_AVAILABLE,
++ MD_ERROR_WIN_ALL_NODES_NOT_AVAILABLE,
++ MD_ERROR_WIN_RESOURCE_FAILED,
++ MD_ERROR_WIN_CLUSTER_INVALID_NODE,
++ MD_ERROR_WIN_CLUSTER_NODE_EXISTS,
++ MD_ERROR_WIN_CLUSTER_JOIN_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_LOCAL_NODE_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_NETWORK_EXISTS,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_NETINTERFACE_EXISTS,
++ MD_ERROR_WIN_CLUSTER_NETINTERFACE_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_INVALID_REQUEST,
++ MD_ERROR_WIN_CLUSTER_INVALID_NETWORK_PROVIDER,
++ MD_ERROR_WIN_CLUSTER_NODE_DOWN,
++ MD_ERROR_WIN_CLUSTER_NODE_UNREACHABLE,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_MEMBER,
++ MD_ERROR_WIN_CLUSTER_JOIN_NOT_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_INVALID_NETWORK,
++ MD_ERROR_WIN_CLUSTER_NODE_UP,
++ MD_ERROR_WIN_CLUSTER_IPADDR_IN_USE,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_PAUSED,
++ MD_ERROR_WIN_CLUSTER_NO_SECURITY_CONTEXT,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_INTERNAL,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_UP,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_DOWN,
++ MD_ERROR_WIN_CLUSTER_NETWORK_ALREADY_ONLINE,
++ MD_ERROR_WIN_CLUSTER_NETWORK_ALREADY_OFFLINE,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_MEMBER,
++ MD_ERROR_WIN_CLUSTER_LAST_INTERNAL_NETWORK,
++ MD_ERROR_WIN_CLUSTER_NETWORK_HAS_DEPENDENTS,
++ MD_ERROR_WIN_INVALID_OPERATION_ON_QUORUM,
++ MD_ERROR_WIN_DEPENDENCY_NOT_ALLOWED,
++ MD_ERROR_WIN_CLUSTER_NODE_PAUSED,
++ MD_ERROR_WIN_NODE_CANT_HOST_RESOURCE,
++ MD_ERROR_WIN_CLUSTER_NODE_NOT_READY,
++ MD_ERROR_WIN_CLUSTER_NODE_SHUTTING_DOWN,
++ MD_ERROR_WIN_CLUSTER_JOIN_ABORTED,
++ MD_ERROR_WIN_CLUSTER_INCOMPATIBLE_VERSIONS,
++ MD_ERROR_WIN_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED,
++ MD_ERROR_WIN_CLUSTER_SYSTEM_CONFIG_CHANGED,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_TYPE_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_RESTYPE_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLUSTER_RESNAME_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_NO_RPC_PACKAGES_REGISTERED,
++ MD_ERROR_WIN_CLUSTER_OWNER_NOT_IN_PREFLIST,
++ MD_ERROR_WIN_CLUSTER_DATABASE_SEQMISMATCH,
++ MD_ERROR_WIN_RESMON_INVALID_STATE,
++ MD_ERROR_WIN_CLUSTER_GUM_NOT_LOCKER,
++ MD_ERROR_WIN_QUORUM_DISK_NOT_FOUND,
++ MD_ERROR_WIN_DATABASE_BACKUP_CORRUPT,
++ MD_ERROR_WIN_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT,
++ MD_ERROR_WIN_RESOURCE_PROPERTY_UNCHANGEABLE,
++ MD_ERROR_WIN_NO_ADMIN_ACCESS_POINT,
++ MD_ERROR_WIN_CLUSTER_MEMBERSHIP_INVALID_STATE,
++ MD_ERROR_WIN_CLUSTER_QUORUMLOG_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_MEMBERSHIP_HALT,
++ MD_ERROR_WIN_CLUSTER_INSTANCE_ID_MISMATCH,
++ MD_ERROR_WIN_CLUSTER_NETWORK_NOT_FOUND_FOR_IP,
++ MD_ERROR_WIN_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH,
++ MD_ERROR_WIN_CLUSTER_EVICT_WITHOUT_CLEANUP,
++ MD_ERROR_WIN_CLUSTER_PARAMETER_MISMATCH,
++ MD_ERROR_WIN_NODE_CANNOT_BE_CLUSTERED,
++ MD_ERROR_WIN_CLUSTER_WRONG_OS_VERSION,
++ MD_ERROR_WIN_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME,
++ MD_ERROR_WIN_CLUSCFG_ALREADY_COMMITTED,
++ MD_ERROR_WIN_CLUSCFG_ROLLBACK_FAILED,
++ MD_ERROR_WIN_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT,
++ MD_ERROR_WIN_CLUSTER_OLD_VERSION,
++ MD_ERROR_WIN_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME,
++ MD_ERROR_WIN_CLUSTER_NO_NET_ADAPTERS,
++ MD_ERROR_WIN_CLUSTER_POISONED,
++ MD_ERROR_WIN_CLUSTER_GROUP_MOVING,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_TYPE_BUSY,
++ MD_ERROR_WIN_RESOURCE_CALL_TIMED_OUT,
++ MD_ERROR_WIN_INVALID_CLUSTER_IPV6_ADDRESS,
++ MD_ERROR_WIN_CLUSTER_INTERNAL_INVALID_FUNCTION,
++ MD_ERROR_WIN_CLUSTER_PARAMETER_OUT_OF_BOUNDS,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_SEND,
++ MD_ERROR_WIN_CLUSTER_REGISTRY_INVALID_FUNCTION,
++ MD_ERROR_WIN_CLUSTER_INVALID_STRING_TERMINATION,
++ MD_ERROR_WIN_CLUSTER_INVALID_STRING_FORMAT,
++ MD_ERROR_WIN_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_NULL_DATA,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_READ,
++ MD_ERROR_WIN_CLUSTER_PARTIAL_WRITE,
++ MD_ERROR_WIN_CLUSTER_CANT_DESERIALIZE_DATA,
++ MD_ERROR_WIN_DEPENDENT_RESOURCE_PROPERTY_CONFLICT,
++ MD_ERROR_WIN_CLUSTER_NO_QUORUM,
++ MD_ERROR_WIN_CLUSTER_INVALID_IPV6_NETWORK,
++ MD_ERROR_WIN_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK,
++ MD_ERROR_WIN_QUORUM_NOT_ALLOWED_IN_THIS_GROUP,
++ MD_ERROR_WIN_DEPENDENCY_TREE_TOO_COMPLEX,
++ MD_ERROR_WIN_EXCEPTION_IN_RESOURCE_CALL,
++ MD_ERROR_WIN_CLUSTER_RHS_FAILED_INITIALIZATION,
++ MD_ERROR_WIN_CLUSTER_NOT_INSTALLED,
++ MD_ERROR_WIN_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE,
++ MD_ERROR_WIN_CLUSTER_MAX_NODES_IN_CLUSTER,
++ MD_ERROR_WIN_CLUSTER_TOO_MANY_NODES,
++ MD_ERROR_WIN_CLUSTER_OBJECT_ALREADY_USED,
++ MD_ERROR_WIN_NONCORE_GROUPS_FOUND,
++ MD_ERROR_WIN_FILE_SHARE_RESOURCE_CONFLICT,
++ MD_ERROR_WIN_CLUSTER_EVICT_INVALID_REQUEST,
++ MD_ERROR_WIN_CLUSTER_SINGLETON_RESOURCE,
++ MD_ERROR_WIN_CLUSTER_GROUP_SINGLETON_RESOURCE,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_PROVIDER_FAILED,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_CONFIGURATION_ERROR,
++ MD_ERROR_WIN_CLUSTER_GROUP_BUSY,
++ MD_ERROR_WIN_CLUSTER_NOT_SHARED_VOLUME,
++ MD_ERROR_WIN_CLUSTER_INVALID_SECURITY_DESCRIPTOR,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUMES_IN_USE,
++ MD_ERROR_WIN_CLUSTER_USE_SHARED_VOLUMES_API,
++ MD_ERROR_WIN_CLUSTER_BACKUP_IN_PROGRESS,
++ MD_ERROR_WIN_NON_CSV_PATH,
++ MD_ERROR_WIN_CSV_VOLUME_NOT_LOCAL,
++ MD_ERROR_WIN_CLUSTER_WATCHDOG_TERMINATING,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES,
++ MD_ERROR_WIN_CLUSTER_INVALID_NODE_WEIGHT,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_CALL,
++ MD_ERROR_WIN_RESMON_SYSTEM_RESOURCES_LACKING,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE,
++ MD_ERROR_WIN_CLUSTER_GROUP_QUEUED,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_LOCKED_STATUS,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED,
++ MD_ERROR_WIN_CLUSTER_NODE_DRAIN_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_DISK_NOT_CONNECTED,
++ MD_ERROR_WIN_DISK_NOT_CSV_CAPABLE,
++ MD_ERROR_WIN_RESOURCE_NOT_IN_AVAILABLE_STORAGE,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_REDIRECTED,
++ MD_ERROR_WIN_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED,
++ MD_ERROR_WIN_CLUSTER_CANNOT_RETURN_PROPERTIES,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE,
++ MD_ERROR_WIN_CLUSTER_AFFINITY_CONFLICT,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_RESTART_REQUIRED,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_IN_PROGRESS,
++ MD_ERROR_WIN_CLUSTER_UPGRADE_INCOMPLETE,
++ MD_ERROR_WIN_CLUSTER_NODE_IN_GRACE_PERIOD,
++ MD_ERROR_WIN_CLUSTER_CSV_IO_PAUSE_TIMEOUT,
++ MD_ERROR_WIN_NODE_NOT_ACTIVE_CLUSTER_MEMBER,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_NOT_MONITORED,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED,
++ MD_ERROR_WIN_CLUSTER_RESOURCE_IS_REPLICATED,
++ MD_ERROR_WIN_CLUSTER_NODE_ISOLATED,
++ MD_ERROR_WIN_CLUSTER_NODE_QUARANTINED,
++ MD_ERROR_WIN_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED,
++ MD_ERROR_WIN_CLUSTER_SPACE_DEGRADED,
++ MD_ERROR_WIN_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED,
++ MD_ERROR_WIN_CLUSTER_CSV_INVALID_HANDLE,
++ MD_ERROR_WIN_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR,
++ MD_ERROR_WIN_GROUPSET_NOT_AVAILABLE,
++ MD_ERROR_WIN_GROUPSET_NOT_FOUND,
++ MD_ERROR_WIN_GROUPSET_CANT_PROVIDE,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION,
++ MD_ERROR_WIN_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS,
++ MD_ERROR_WIN_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME,
++ MD_ERROR_WIN_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE,
++ MD_ERROR_WIN_ENCRYPTION_FAILED,
++ MD_ERROR_WIN_DECRYPTION_FAILED,
++ MD_ERROR_WIN_FILE_ENCRYPTED,
++ MD_ERROR_WIN_NO_RECOVERY_POLICY,
++ MD_ERROR_WIN_NO_EFS,
++ MD_ERROR_WIN_WRONG_EFS,
++ MD_ERROR_WIN_NO_USER_KEYS,
++ MD_ERROR_WIN_FILE_NOT_ENCRYPTED,
++ MD_ERROR_WIN_NOT_EXPORT_FORMAT,
++ MD_ERROR_WIN_FILE_READ_ONLY,
++ MD_ERROR_WIN_DIR_EFS_DISALLOWED,
++ MD_ERROR_WIN_EFS_SERVER_NOT_TRUSTED,
++ MD_ERROR_WIN_BAD_RECOVERY_POLICY,
++ MD_ERROR_WIN_EFS_ALG_BLOB_TOO_BIG,
++ MD_ERROR_WIN_VOLUME_NOT_SUPPORT_EFS,
++ MD_ERROR_WIN_EFS_DISABLED,
++ MD_ERROR_WIN_EFS_VERSION_NOT_SUPPORT,
++ MD_ERROR_WIN_CS_ENCRYPTION_INVALID_SERVER_RESPONSE,
++ MD_ERROR_WIN_CS_ENCRYPTION_UNSUPPORTED_SERVER,
++ MD_ERROR_WIN_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE,
++ MD_ERROR_WIN_CS_ENCRYPTION_NEW_ENCRYPTED_FILE,
++ MD_ERROR_WIN_CS_ENCRYPTION_FILE_NOT_CSE,
++ MD_ERROR_WIN_ENCRYPTION_POLICY_DENIES_OPERATION,
++ MD_ERROR_WIN_WIP_ENCRYPTION_FAILED,
++ MD_ERROR_WIN_NO_BROWSER_SERVERS_FOUND,
++ MD_ERROR_WIN_CLUSTER_OBJECT_IS_CLUSTER_SET_VM,
++ MD_ERROR_WIN_LOG_SECTOR_INVALID,
++ MD_ERROR_WIN_LOG_SECTOR_PARITY_INVALID,
++ MD_ERROR_WIN_LOG_SECTOR_REMAPPED,
++ MD_ERROR_WIN_LOG_BLOCK_INCOMPLETE,
++ MD_ERROR_WIN_LOG_INVALID_RANGE,
++ MD_ERROR_WIN_LOG_BLOCKS_EXHAUSTED,
++ MD_ERROR_WIN_LOG_READ_CONTEXT_INVALID,
++ MD_ERROR_WIN_LOG_RESTART_INVALID,
++ MD_ERROR_WIN_LOG_BLOCK_VERSION,
++ MD_ERROR_WIN_LOG_BLOCK_INVALID,
++ MD_ERROR_WIN_LOG_READ_MODE_INVALID,
++ MD_ERROR_WIN_LOG_NO_RESTART,
++ MD_ERROR_WIN_LOG_METADATA_CORRUPT,
++ MD_ERROR_WIN_LOG_METADATA_INVALID,
++ MD_ERROR_WIN_LOG_METADATA_INCONSISTENT,
++ MD_ERROR_WIN_LOG_RESERVATION_INVALID,
++ MD_ERROR_WIN_LOG_CANT_DELETE,
++ MD_ERROR_WIN_LOG_CONTAINER_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_LOG_START_OF_LOG,
++ MD_ERROR_WIN_LOG_POLICY_ALREADY_INSTALLED,
++ MD_ERROR_WIN_LOG_POLICY_NOT_INSTALLED,
++ MD_ERROR_WIN_LOG_POLICY_INVALID,
++ MD_ERROR_WIN_LOG_POLICY_CONFLICT,
++ MD_ERROR_WIN_LOG_PINNED_ARCHIVE_TAIL,
++ MD_ERROR_WIN_LOG_RECORD_NONEXISTENT,
++ MD_ERROR_WIN_LOG_RECORDS_RESERVED_INVALID,
++ MD_ERROR_WIN_LOG_SPACE_RESERVED_INVALID,
++ MD_ERROR_WIN_LOG_TAIL_INVALID,
++ MD_ERROR_WIN_LOG_FULL,
++ MD_ERROR_WIN_COULD_NOT_RESIZE_LOG,
++ MD_ERROR_WIN_LOG_MULTIPLEXED,
++ MD_ERROR_WIN_LOG_DEDICATED,
++ MD_ERROR_WIN_LOG_ARCHIVE_NOT_IN_PROGRESS,
++ MD_ERROR_WIN_LOG_ARCHIVE_IN_PROGRESS,
++ MD_ERROR_WIN_LOG_EPHEMERAL,
++ MD_ERROR_WIN_LOG_NOT_ENOUGH_CONTAINERS,
++ MD_ERROR_WIN_LOG_CLIENT_ALREADY_REGISTERED,
++ MD_ERROR_WIN_LOG_CLIENT_NOT_REGISTERED,
++ MD_ERROR_WIN_LOG_FULL_HANDLER_IN_PROGRESS,
++ MD_ERROR_WIN_LOG_CONTAINER_READ_FAILED,
++ MD_ERROR_WIN_LOG_CONTAINER_WRITE_FAILED,
++ MD_ERROR_WIN_LOG_CONTAINER_OPEN_FAILED,
++ MD_ERROR_WIN_LOG_CONTAINER_STATE_INVALID,
++ MD_ERROR_WIN_LOG_STATE_INVALID,
++ MD_ERROR_WIN_LOG_PINNED,
++ MD_ERROR_WIN_LOG_METADATA_FLUSH_FAILED,
++ MD_ERROR_WIN_LOG_INCONSISTENT_SECURITY,
++ MD_ERROR_WIN_LOG_APPENDED_FLUSH_FAILED,
++ MD_ERROR_WIN_LOG_PINNED_RESERVATION,
++ MD_ERROR_WIN_INVALID_TRANSACTION,
++ MD_ERROR_WIN_TRANSACTION_NOT_ACTIVE,
++ MD_ERROR_WIN_TRANSACTION_REQUEST_NOT_VALID,
++ MD_ERROR_WIN_TRANSACTION_NOT_REQUESTED,
++ MD_ERROR_WIN_TRANSACTION_ALREADY_ABORTED,
++ MD_ERROR_WIN_TRANSACTION_ALREADY_COMMITTED,
++ MD_ERROR_WIN_TM_INITIALIZATION_FAILED,
++ MD_ERROR_WIN_RESOURCEMANAGER_READ_ONLY,
++ MD_ERROR_WIN_TRANSACTION_NOT_JOINED,
++ MD_ERROR_WIN_TRANSACTION_SUPERIOR_EXISTS,
++ MD_ERROR_WIN_CRM_PROTOCOL_ALREADY_EXISTS,
++ MD_ERROR_WIN_TRANSACTION_PROPAGATION_FAILED,
++ MD_ERROR_WIN_CRM_PROTOCOL_NOT_FOUND,
++ MD_ERROR_WIN_TRANSACTION_INVALID_MARSHALL_BUFFER,
++ MD_ERROR_WIN_CURRENT_TRANSACTION_NOT_VALID,
++ MD_ERROR_WIN_TRANSACTION_NOT_FOUND,
++ MD_ERROR_WIN_RESOURCEMANAGER_NOT_FOUND,
++ MD_ERROR_WIN_ENLISTMENT_NOT_FOUND,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_NOT_FOUND,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_NOT_ONLINE,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION,
++ MD_ERROR_WIN_TRANSACTION_NOT_ROOT,
++ MD_ERROR_WIN_TRANSACTION_OBJECT_EXPIRED,
++ MD_ERROR_WIN_TRANSACTION_RESPONSE_NOT_ENLISTED,
++ MD_ERROR_WIN_TRANSACTION_RECORD_TOO_LONG,
++ MD_ERROR_WIN_IMPLICIT_TRANSACTION_NOT_SUPPORTED,
++ MD_ERROR_WIN_TRANSACTION_INTEGRITY_VIOLATED,
++ MD_ERROR_WIN_TRANSACTIONMANAGER_IDENTITY_MISMATCH,
++ MD_ERROR_WIN_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT,
++ MD_ERROR_WIN_TRANSACTION_MUST_WRITETHROUGH,
++ MD_ERROR_WIN_TRANSACTION_NO_SUPERIOR,
++ MD_ERROR_WIN_HEURISTIC_DAMAGE_POSSIBLE,
++ MD_ERROR_WIN_TRANSACTIONAL_CONFLICT,
++ MD_ERROR_WIN_RM_NOT_ACTIVE,
++ MD_ERROR_WIN_RM_METADATA_CORRUPT,
++ MD_ERROR_WIN_DIRECTORY_NOT_RM,
++ MD_ERROR_WIN_TRANSACTIONS_UNSUPPORTED_REMOTE,
++ MD_ERROR_WIN_LOG_RESIZE_INVALID_SIZE,
++ MD_ERROR_WIN_OBJECT_NO_LONGER_EXISTS,
++ MD_ERROR_WIN_STREAM_MINIVERSION_NOT_FOUND,
++ MD_ERROR_WIN_STREAM_MINIVERSION_NOT_VALID,
++ MD_ERROR_WIN_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION,
++ MD_ERROR_WIN_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT,
++ MD_ERROR_WIN_CANT_CREATE_MORE_STREAM_MINIVERSIONS,
++ MD_ERROR_WIN_REMOTE_FILE_VERSION_MISMATCH,
++ MD_ERROR_WIN_HANDLE_NO_LONGER_VALID,
++ MD_ERROR_WIN_NO_TXF_METADATA,
++ MD_ERROR_WIN_LOG_CORRUPTION_DETECTED,
++ MD_ERROR_WIN_CANT_RECOVER_WITH_HANDLE_OPEN,
++ MD_ERROR_WIN_RM_DISCONNECTED,
++ MD_ERROR_WIN_ENLISTMENT_NOT_SUPERIOR,
++ MD_ERROR_WIN_RECOVERY_NOT_NEEDED,
++ MD_ERROR_WIN_RM_ALREADY_STARTED,
++ MD_ERROR_WIN_FILE_IDENTITY_NOT_PERSISTENT,
++ MD_ERROR_WIN_CANT_BREAK_TRANSACTIONAL_DEPENDENCY,
++ MD_ERROR_WIN_CANT_CROSS_RM_BOUNDARY,
++ MD_ERROR_WIN_TXF_DIR_NOT_EMPTY,
++ MD_ERROR_WIN_INDOUBT_TRANSACTIONS_EXIST,
++ MD_ERROR_WIN_TM_VOLATILE,
++ MD_ERROR_WIN_ROLLBACK_TIMER_EXPIRED,
++ MD_ERROR_WIN_TXF_ATTRIBUTE_CORRUPT,
++ MD_ERROR_WIN_EFS_NOT_ALLOWED_IN_TRANSACTION,
++ MD_ERROR_WIN_TRANSACTIONAL_OPEN_NOT_ALLOWED,
++ MD_ERROR_WIN_LOG_GROWTH_FAILED,
++ MD_ERROR_WIN_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE,
++ MD_ERROR_WIN_TXF_METADATA_ALREADY_PRESENT,
++ MD_ERROR_WIN_TRANSACTION_SCOPE_CALLBACKS_NOT_SET,
++ MD_ERROR_WIN_TRANSACTION_REQUIRED_PROMOTION,
++ MD_ERROR_WIN_CANNOT_EXECUTE_FILE_IN_TRANSACTION,
++ MD_ERROR_WIN_TRANSACTIONS_NOT_FROZEN,
++ MD_ERROR_WIN_TRANSACTION_FREEZE_IN_PROGRESS,
++ MD_ERROR_WIN_NOT_SNAPSHOT_VOLUME,
++ MD_ERROR_WIN_NO_SAVEPOINT_WITH_OPEN_FILES,
++ MD_ERROR_WIN_DATA_LOST_REPAIR,
++ MD_ERROR_WIN_SPARSE_NOT_ALLOWED_IN_TRANSACTION,
++ MD_ERROR_WIN_TM_IDENTITY_MISMATCH,
++ MD_ERROR_WIN_FLOATED_SECTION,
++ MD_ERROR_WIN_CANNOT_ACCEPT_TRANSACTED_WORK,
++ MD_ERROR_WIN_CANNOT_ABORT_TRANSACTIONS,
++ MD_ERROR_WIN_BAD_CLUSTERS,
++ MD_ERROR_WIN_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION,
++ MD_ERROR_WIN_VOLUME_DIRTY,
++ MD_ERROR_WIN_NO_LINK_TRACKING_IN_TRANSACTION,
++ MD_ERROR_WIN_OPERATION_NOT_SUPPORTED_IN_TRANSACTION,
++ MD_ERROR_WIN_EXPIRED_HANDLE,
++ MD_ERROR_WIN_TRANSACTION_NOT_ENLISTED,
++ MD_ERROR_WIN_CTX_WINSTATION_NAME_INVALID,
++ MD_ERROR_WIN_CTX_INVALID_PD,
++ MD_ERROR_WIN_CTX_PD_NOT_FOUND,
++ MD_ERROR_WIN_CTX_WD_NOT_FOUND,
++ MD_ERROR_WIN_CTX_CANNOT_MAKE_EVENTLOG_ENTRY,
++ MD_ERROR_WIN_CTX_SERVICE_NAME_COLLISION,
++ MD_ERROR_WIN_CTX_CLOSE_PENDING,
++ MD_ERROR_WIN_CTX_NO_OUTBUF,
++ MD_ERROR_WIN_CTX_MODEM_INF_NOT_FOUND,
++ MD_ERROR_WIN_CTX_INVALID_MODEMNAME,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_ERROR,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_TIMEOUT,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_NO_CARRIER,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_NO_DIALTONE,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_BUSY,
++ MD_ERROR_WIN_CTX_MODEM_RESPONSE_VOICE,
++ MD_ERROR_WIN_CTX_TD_ERROR,
++ MD_ERROR_WIN_CTX_WINSTATION_NOT_FOUND,
++ MD_ERROR_WIN_CTX_WINSTATION_ALREADY_EXISTS,
++ MD_ERROR_WIN_CTX_WINSTATION_BUSY,
++ MD_ERROR_WIN_CTX_BAD_VIDEO_MODE,
++ MD_ERROR_WIN_CTX_GRAPHICS_INVALID,
++ MD_ERROR_WIN_CTX_LOGON_DISABLED,
++ MD_ERROR_WIN_CTX_NOT_CONSOLE,
++ MD_ERROR_WIN_CTX_CLIENT_QUERY_TIMEOUT,
++ MD_ERROR_WIN_CTX_CONSOLE_DISCONNECT,
++ MD_ERROR_WIN_CTX_CONSOLE_CONNECT,
++ MD_ERROR_WIN_CTX_SHADOW_DENIED,
++ MD_ERROR_WIN_CTX_WINSTATION_ACCESS_DENIED,
++ MD_ERROR_WIN_CTX_INVALID_WD,
++ MD_ERROR_WIN_CTX_SHADOW_INVALID,
++ MD_ERROR_WIN_CTX_SHADOW_DISABLED,
++ MD_ERROR_WIN_CTX_CLIENT_LICENSE_IN_USE,
++ MD_ERROR_WIN_CTX_CLIENT_LICENSE_NOT_SET,
++ MD_ERROR_WIN_CTX_LICENSE_NOT_AVAILABLE,
++ MD_ERROR_WIN_CTX_LICENSE_CLIENT_INVALID,
++ MD_ERROR_WIN_CTX_LICENSE_EXPIRED,
++ MD_ERROR_WIN_CTX_SHADOW_NOT_RUNNING,
++ MD_ERROR_WIN_CTX_SHADOW_ENDED_BY_MODE_CHANGE,
++ MD_ERROR_WIN_ACTIVATION_COUNT_EXCEEDED,
++ MD_ERROR_WIN_CTX_WINSTATIONS_DISABLED,
++ MD_ERROR_WIN_CTX_ENCRYPTION_LEVEL_REQUIRED,
++ MD_ERROR_WIN_CTX_SESSION_IN_USE,
++ MD_ERROR_WIN_CTX_NO_FORCE_LOGOFF,
++ MD_ERROR_WIN_CTX_ACCOUNT_RESTRICTION,
++ MD_ERROR_WIN_RDP_PROTOCOL_ERROR,
++ MD_ERROR_WIN_CTX_CDM_CONNECT,
++ MD_ERROR_WIN_CTX_CDM_DISCONNECT,
++ MD_ERROR_WIN_CTX_SECURITY_LAYER_ERROR,
++ MD_ERROR_WIN_TS_INCOMPATIBLE_SESSIONS,
++ MD_ERROR_WIN_TS_VIDEO_SUBSYSTEM_ERROR,
++ MD_ERROR_WIN_DS_NOT_INSTALLED,
++ MD_ERROR_WIN_DS_MEMBERSHIP_EVALUATED_LOCALLY,
++ MD_ERROR_WIN_DS_NO_ATTRIBUTE_OR_VALUE,
++ MD_ERROR_WIN_DS_INVALID_ATTRIBUTE_SYNTAX,
++ MD_ERROR_WIN_DS_ATTRIBUTE_TYPE_UNDEFINED,
++ MD_ERROR_WIN_DS_ATTRIBUTE_OR_VALUE_EXISTS,
++ MD_ERROR_WIN_DS_BUSY,
++ MD_ERROR_WIN_DS_UNAVAILABLE,
++ MD_ERROR_WIN_DS_NO_RIDS_ALLOCATED,
++ MD_ERROR_WIN_DS_NO_MORE_RIDS,
++ MD_ERROR_WIN_DS_INCORRECT_ROLE_OWNER,
++ MD_ERROR_WIN_DS_RIDMGR_INIT_ERROR,
++ MD_ERROR_WIN_DS_OBJ_CLASS_VIOLATION,
++ MD_ERROR_WIN_DS_CANT_ON_NON_LEAF,
++ MD_ERROR_WIN_DS_CANT_ON_RDN,
++ MD_ERROR_WIN_DS_CANT_MOD_OBJ_CLASS,
++ MD_ERROR_WIN_DS_CROSS_DOM_MOVE_ERROR,
++ MD_ERROR_WIN_DS_GC_NOT_AVAILABLE,
++ MD_ERROR_WIN_SHARED_POLICY,
++ MD_ERROR_WIN_POLICY_OBJECT_NOT_FOUND,
++ MD_ERROR_WIN_POLICY_ONLY_IN_DS,
++ MD_ERROR_WIN_PROMOTION_ACTIVE,
++ MD_ERROR_WIN_NO_PROMOTION_ACTIVE,
++ MD_ERROR_WIN_DS_OPERATIONS_ERROR,
++ MD_ERROR_WIN_DS_PROTOCOL_ERROR,
++ MD_ERROR_WIN_DS_TIMELIMIT_EXCEEDED,
++ MD_ERROR_WIN_DS_SIZELIMIT_EXCEEDED,
++ MD_ERROR_WIN_DS_ADMIN_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_DS_COMPARE_FALSE,
++ MD_ERROR_WIN_DS_COMPARE_TRUE,
++ MD_ERROR_WIN_DS_AUTH_METHOD_NOT_SUPPORTED,
++ MD_ERROR_WIN_DS_STRONG_AUTH_REQUIRED,
++ MD_ERROR_WIN_DS_INAPPROPRIATE_AUTH,
++ MD_ERROR_WIN_DS_AUTH_UNKNOWN,
++ MD_ERROR_WIN_DS_REFERRAL,
++ MD_ERROR_WIN_DS_UNAVAILABLE_CRIT_EXTENSION,
++ MD_ERROR_WIN_DS_CONFIDENTIALITY_REQUIRED,
++ MD_ERROR_WIN_DS_INAPPROPRIATE_MATCHING,
++ MD_ERROR_WIN_DS_CONSTRAINT_VIOLATION,
++ MD_ERROR_WIN_DS_NO_SUCH_OBJECT,
++ MD_ERROR_WIN_DS_ALIAS_PROBLEM,
++ MD_ERROR_WIN_DS_INVALID_DN_SYNTAX,
++ MD_ERROR_WIN_DS_IS_LEAF,
++ MD_ERROR_WIN_DS_ALIAS_DEREF_PROBLEM,
++ MD_ERROR_WIN_DS_UNWILLING_TO_PERFORM,
++ MD_ERROR_WIN_DS_LOOP_DETECT,
++ MD_ERROR_WIN_DS_NAMING_VIOLATION,
++ MD_ERROR_WIN_DS_OBJECT_RESULTS_TOO_LARGE,
++ MD_ERROR_WIN_DS_AFFECTS_MULTIPLE_DSAS,
++ MD_ERROR_WIN_DS_SERVER_DOWN,
++ MD_ERROR_WIN_DS_LOCAL_ERROR,
++ MD_ERROR_WIN_DS_ENCODING_ERROR,
++ MD_ERROR_WIN_DS_DECODING_ERROR,
++ MD_ERROR_WIN_DS_FILTER_UNKNOWN,
++ MD_ERROR_WIN_DS_PARAM_ERROR,
++ MD_ERROR_WIN_DS_NOT_SUPPORTED,
++ MD_ERROR_WIN_DS_NO_RESULTS_RETURNED,
++ MD_ERROR_WIN_DS_CONTROL_NOT_FOUND,
++ MD_ERROR_WIN_DS_CLIENT_LOOP,
++ MD_ERROR_WIN_DS_REFERRAL_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_DS_SORT_CONTROL_MISSING,
++ MD_ERROR_WIN_DS_OFFSET_RANGE_ERROR,
++ MD_ERROR_WIN_DS_RIDMGR_DISABLED,
++ MD_ERROR_WIN_DS_ROOT_MUST_BE_NC,
++ MD_ERROR_WIN_DS_ADD_REPLICA_INHIBITED,
++ MD_ERROR_WIN_DS_ATT_NOT_DEF_IN_SCHEMA,
++ MD_ERROR_WIN_DS_MAX_OBJ_SIZE_EXCEEDED,
++ MD_ERROR_WIN_DS_OBJ_STRING_NAME_EXISTS,
++ MD_ERROR_WIN_DS_NO_RDN_DEFINED_IN_SCHEMA,
++ MD_ERROR_WIN_DS_RDN_DOESNT_MATCH_SCHEMA,
++ MD_ERROR_WIN_DS_NO_REQUESTED_ATTS_FOUND,
++ MD_ERROR_WIN_DS_USER_BUFFER_TO_SMALL,
++ MD_ERROR_WIN_DS_ATT_IS_NOT_ON_OBJ,
++ MD_ERROR_WIN_DS_ILLEGAL_MOD_OPERATION,
++ MD_ERROR_WIN_DS_OBJ_TOO_LARGE,
++ MD_ERROR_WIN_DS_BAD_INSTANCE_TYPE,
++ MD_ERROR_WIN_DS_MASTERDSA_REQUIRED,
++ MD_ERROR_WIN_DS_OBJECT_CLASS_REQUIRED,
++ MD_ERROR_WIN_DS_MISSING_REQUIRED_ATT,
++ MD_ERROR_WIN_DS_ATT_NOT_DEF_FOR_CLASS,
++ MD_ERROR_WIN_DS_ATT_ALREADY_EXISTS,
++ MD_ERROR_WIN_DS_CANT_ADD_ATT_VALUES,
++ MD_ERROR_WIN_DS_SINGLE_VALUE_CONSTRAINT,
++ MD_ERROR_WIN_DS_RANGE_CONSTRAINT,
++ MD_ERROR_WIN_DS_ATT_VAL_ALREADY_EXISTS,
++ MD_ERROR_WIN_DS_CANT_REM_MISSING_ATT,
++ MD_ERROR_WIN_DS_CANT_REM_MISSING_ATT_VAL,
++ MD_ERROR_WIN_DS_ROOT_CANT_BE_SUBREF,
++ MD_ERROR_WIN_DS_NO_CHAINING,
++ MD_ERROR_WIN_DS_NO_CHAINED_EVAL,
++ MD_ERROR_WIN_DS_NO_PARENT_OBJECT,
++ MD_ERROR_WIN_DS_PARENT_IS_AN_ALIAS,
++ MD_ERROR_WIN_DS_CANT_MIX_MASTER_AND_REPS,
++ MD_ERROR_WIN_DS_CHILDREN_EXIST,
++ MD_ERROR_WIN_DS_OBJ_NOT_FOUND,
++ MD_ERROR_WIN_DS_ALIASED_OBJ_MISSING,
++ MD_ERROR_WIN_DS_BAD_NAME_SYNTAX,
++ MD_ERROR_WIN_DS_ALIAS_POINTS_TO_ALIAS,
++ MD_ERROR_WIN_DS_CANT_DEREF_ALIAS,
++ MD_ERROR_WIN_DS_OUT_OF_SCOPE,
++ MD_ERROR_WIN_DS_OBJECT_BEING_REMOVED,
++ MD_ERROR_WIN_DS_CANT_DELETE_DSA_OBJ,
++ MD_ERROR_WIN_DS_GENERIC_ERROR,
++ MD_ERROR_WIN_DS_DSA_MUST_BE_INT_MASTER,
++ MD_ERROR_WIN_DS_CLASS_NOT_DSA,
++ MD_ERROR_WIN_DS_INSUFF_ACCESS_RIGHTS,
++ MD_ERROR_WIN_DS_ILLEGAL_SUPERIOR,
++ MD_ERROR_WIN_DS_ATTRIBUTE_OWNED_BY_SAM,
++ MD_ERROR_WIN_DS_NAME_TOO_MANY_PARTS,
++ MD_ERROR_WIN_DS_NAME_TOO_LONG,
++ MD_ERROR_WIN_DS_NAME_VALUE_TOO_LONG,
++ MD_ERROR_WIN_DS_NAME_UNPARSEABLE,
++ MD_ERROR_WIN_DS_NAME_TYPE_UNKNOWN,
++ MD_ERROR_WIN_DS_NOT_AN_OBJECT,
++ MD_ERROR_WIN_DS_SEC_DESC_TOO_SHORT,
++ MD_ERROR_WIN_DS_SEC_DESC_INVALID,
++ MD_ERROR_WIN_DS_NO_DELETED_NAME,
++ MD_ERROR_WIN_DS_SUBREF_MUST_HAVE_PARENT,
++ MD_ERROR_WIN_DS_NCNAME_MUST_BE_NC,
++ MD_ERROR_WIN_DS_CANT_ADD_SYSTEM_ONLY,
++ MD_ERROR_WIN_DS_CLASS_MUST_BE_CONCRETE,
++ MD_ERROR_WIN_DS_INVALID_DMD,
++ MD_ERROR_WIN_DS_OBJ_GUID_EXISTS,
++ MD_ERROR_WIN_DS_NOT_ON_BACKLINK,
++ MD_ERROR_WIN_DS_NO_CROSSREF_FOR_NC,
++ MD_ERROR_WIN_DS_SHUTTING_DOWN,
++ MD_ERROR_WIN_DS_UNKNOWN_OPERATION,
++ MD_ERROR_WIN_DS_INVALID_ROLE_OWNER,
++ MD_ERROR_WIN_DS_COULDNT_CONTACT_FSMO,
++ MD_ERROR_WIN_DS_CROSS_NC_DN_RENAME,
++ MD_ERROR_WIN_DS_CANT_MOD_SYSTEM_ONLY,
++ MD_ERROR_WIN_DS_REPLICATOR_ONLY,
++ MD_ERROR_WIN_DS_OBJ_CLASS_NOT_DEFINED,
++ MD_ERROR_WIN_DS_OBJ_CLASS_NOT_SUBCLASS,
++ MD_ERROR_WIN_DS_NAME_REFERENCE_INVALID,
++ MD_ERROR_WIN_DS_CROSS_REF_EXISTS,
++ MD_ERROR_WIN_DS_CANT_DEL_MASTER_CROSSREF,
++ MD_ERROR_WIN_DS_SUBTREE_NOTIFY_NOT_NC_HEAD,
++ MD_ERROR_WIN_DS_NOTIFY_FILTER_TOO_COMPLEX,
++ MD_ERROR_WIN_DS_DUP_RDN,
++ MD_ERROR_WIN_DS_DUP_OID,
++ MD_ERROR_WIN_DS_DUP_MAPI_ID,
++ MD_ERROR_WIN_DS_DUP_SCHEMA_ID_GUID,
++ MD_ERROR_WIN_DS_DUP_LDAP_DISPLAY_NAME,
++ MD_ERROR_WIN_DS_SEMANTIC_ATT_TEST,
++ MD_ERROR_WIN_DS_SYNTAX_MISMATCH,
++ MD_ERROR_WIN_DS_EXISTS_IN_MUST_HAVE,
++ MD_ERROR_WIN_DS_EXISTS_IN_MAY_HAVE,
++ MD_ERROR_WIN_DS_NONEXISTENT_MAY_HAVE,
++ MD_ERROR_WIN_DS_NONEXISTENT_MUST_HAVE,
++ MD_ERROR_WIN_DS_AUX_CLS_TEST_FAIL,
++ MD_ERROR_WIN_DS_NONEXISTENT_POSS_SUP,
++ MD_ERROR_WIN_DS_SUB_CLS_TEST_FAIL,
++ MD_ERROR_WIN_DS_BAD_RDN_ATT_ID_SYNTAX,
++ MD_ERROR_WIN_DS_EXISTS_IN_AUX_CLS,
++ MD_ERROR_WIN_DS_EXISTS_IN_SUB_CLS,
++ MD_ERROR_WIN_DS_EXISTS_IN_POSS_SUP,
++ MD_ERROR_WIN_DS_RECALCSCHEMA_FAILED,
++ MD_ERROR_WIN_DS_TREE_DELETE_NOT_FINISHED,
++ MD_ERROR_WIN_DS_CANT_DELETE,
++ MD_ERROR_WIN_DS_ATT_SCHEMA_REQ_ID,
++ MD_ERROR_WIN_DS_BAD_ATT_SCHEMA_SYNTAX,
++ MD_ERROR_WIN_DS_CANT_CACHE_ATT,
++ MD_ERROR_WIN_DS_CANT_CACHE_CLASS,
++ MD_ERROR_WIN_DS_CANT_REMOVE_ATT_CACHE,
++ MD_ERROR_WIN_DS_CANT_REMOVE_CLASS_CACHE,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_DN,
++ MD_ERROR_WIN_DS_MISSING_SUPREF,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_INSTANCE,
++ MD_ERROR_WIN_DS_CODE_INCONSISTENCY,
++ MD_ERROR_WIN_DS_DATABASE_ERROR,
++ MD_ERROR_WIN_DS_GOVERNSID_MISSING,
++ MD_ERROR_WIN_DS_MISSING_EXPECTED_ATT,
++ MD_ERROR_WIN_DS_NCNAME_MISSING_CR_REF,
++ MD_ERROR_WIN_DS_SECURITY_CHECKING_ERROR,
++ MD_ERROR_WIN_DS_SCHEMA_NOT_LOADED,
++ MD_ERROR_WIN_DS_SCHEMA_ALLOC_FAILED,
++ MD_ERROR_WIN_DS_ATT_SCHEMA_REQ_SYNTAX,
++ MD_ERROR_WIN_DS_GCVERIFY_ERROR,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_MISMATCH,
++ MD_ERROR_WIN_DS_CANT_FIND_DSA_OBJ,
++ MD_ERROR_WIN_DS_CANT_FIND_EXPECTED_NC,
++ MD_ERROR_WIN_DS_CANT_FIND_NC_IN_CACHE,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_CHILD,
++ MD_ERROR_WIN_DS_SECURITY_ILLEGAL_MODIFY,
++ MD_ERROR_WIN_DS_CANT_REPLACE_HIDDEN_REC,
++ MD_ERROR_WIN_DS_BAD_HIERARCHY_FILE,
++ MD_ERROR_WIN_DS_BUILD_HIERARCHY_TABLE_FAILED,
++ MD_ERROR_WIN_DS_CONFIG_PARAM_MISSING,
++ MD_ERROR_WIN_DS_COUNTING_AB_INDICES_FAILED,
++ MD_ERROR_WIN_DS_HIERARCHY_TABLE_MALLOC_FAILED,
++ MD_ERROR_WIN_DS_INTERNAL_FAILURE,
++ MD_ERROR_WIN_DS_UNKNOWN_ERROR,
++ MD_ERROR_WIN_DS_ROOT_REQUIRES_CLASS_TOP,
++ MD_ERROR_WIN_DS_REFUSING_FSMO_ROLES,
++ MD_ERROR_WIN_DS_MISSING_FSMO_SETTINGS,
++ MD_ERROR_WIN_DS_UNABLE_TO_SURRENDER_ROLES,
++ MD_ERROR_WIN_DS_DRA_GENERIC,
++ MD_ERROR_WIN_DS_DRA_INVALID_PARAMETER,
++ MD_ERROR_WIN_DS_DRA_BUSY,
++ MD_ERROR_WIN_DS_DRA_BAD_DN,
++ MD_ERROR_WIN_DS_DRA_BAD_NC,
++ MD_ERROR_WIN_DS_DRA_DN_EXISTS,
++ MD_ERROR_WIN_DS_DRA_INTERNAL_ERROR,
++ MD_ERROR_WIN_DS_DRA_INCONSISTENT_DIT,
++ MD_ERROR_WIN_DS_DRA_CONNECTION_FAILED,
++ MD_ERROR_WIN_DS_DRA_BAD_INSTANCE_TYPE,
++ MD_ERROR_WIN_DS_DRA_OUT_OF_MEM,
++ MD_ERROR_WIN_DS_DRA_MAIL_PROBLEM,
++ MD_ERROR_WIN_DS_DRA_REF_ALREADY_EXISTS,
++ MD_ERROR_WIN_DS_DRA_REF_NOT_FOUND,
++ MD_ERROR_WIN_DS_DRA_OBJ_IS_REP_SOURCE,
++ MD_ERROR_WIN_DS_DRA_DB_ERROR,
++ MD_ERROR_WIN_DS_DRA_NO_REPLICA,
++ MD_ERROR_WIN_DS_DRA_ACCESS_DENIED,
++ MD_ERROR_WIN_DS_DRA_NOT_SUPPORTED,
++ MD_ERROR_WIN_DS_DRA_RPC_CANCELLED,
++ MD_ERROR_WIN_DS_DRA_SOURCE_DISABLED,
++ MD_ERROR_WIN_DS_DRA_SINK_DISABLED,
++ MD_ERROR_WIN_DS_DRA_NAME_COLLISION,
++ MD_ERROR_WIN_DS_DRA_SOURCE_REINSTALLED,
++ MD_ERROR_WIN_DS_DRA_MISSING_PARENT,
++ MD_ERROR_WIN_DS_DRA_PREEMPTED,
++ MD_ERROR_WIN_DS_DRA_ABANDON_SYNC,
++ MD_ERROR_WIN_DS_DRA_SHUTDOWN,
++ MD_ERROR_WIN_DS_DRA_INCOMPATIBLE_PARTIAL_SET,
++ MD_ERROR_WIN_DS_DRA_SOURCE_IS_PARTIAL_REPLICA,
++ MD_ERROR_WIN_DS_DRA_EXTN_CONNECTION_FAILED,
++ MD_ERROR_WIN_DS_INSTALL_SCHEMA_MISMATCH,
++ MD_ERROR_WIN_DS_DUP_LINK_ID,
++ MD_ERROR_WIN_DS_NAME_ERROR_RESOLVING,
++ MD_ERROR_WIN_DS_NAME_ERROR_NOT_FOUND,
++ MD_ERROR_WIN_DS_NAME_ERROR_NOT_UNIQUE,
++ MD_ERROR_WIN_DS_NAME_ERROR_NO_MAPPING,
++ MD_ERROR_WIN_DS_NAME_ERROR_DOMAIN_ONLY,
++ MD_ERROR_WIN_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING,
++ MD_ERROR_WIN_DS_CONSTRUCTED_ATT_MOD,
++ MD_ERROR_WIN_DS_WRONG_OM_OBJ_CLASS,
++ MD_ERROR_WIN_DS_DRA_REPL_PENDING,
++ MD_ERROR_WIN_DS_DS_REQUIRED,
++ MD_ERROR_WIN_DS_INVALID_LDAP_DISPLAY_NAME,
++ MD_ERROR_WIN_DS_NON_BASE_SEARCH,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_ATTS,
++ MD_ERROR_WIN_DS_BACKLINK_WITHOUT_LINK,
++ MD_ERROR_WIN_DS_EPOCH_MISMATCH,
++ MD_ERROR_WIN_DS_SRC_NAME_MISMATCH,
++ MD_ERROR_WIN_DS_SRC_AND_DST_NC_IDENTICAL,
++ MD_ERROR_WIN_DS_DST_NC_MISMATCH,
++ MD_ERROR_WIN_DS_NOT_AUTHORITIVE_FOR_DST_NC,
++ MD_ERROR_WIN_DS_SRC_GUID_MISMATCH,
++ MD_ERROR_WIN_DS_CANT_MOVE_DELETED_OBJECT,
++ MD_ERROR_WIN_DS_PDC_OPERATION_IN_PROGRESS,
++ MD_ERROR_WIN_DS_CROSS_DOMAIN_CLEANUP_REQD,
++ MD_ERROR_WIN_DS_ILLEGAL_XDOM_MOVE_OPERATION,
++ MD_ERROR_WIN_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS,
++ MD_ERROR_WIN_DS_NC_MUST_HAVE_NC_PARENT,
++ MD_ERROR_WIN_DS_CR_IMPOSSIBLE_TO_VALIDATE,
++ MD_ERROR_WIN_DS_DST_DOMAIN_NOT_NATIVE,
++ MD_ERROR_WIN_DS_MISSING_INFRASTRUCTURE_CONTAINER,
++ MD_ERROR_WIN_DS_CANT_MOVE_ACCOUNT_GROUP,
++ MD_ERROR_WIN_DS_CANT_MOVE_RESOURCE_GROUP,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG,
++ MD_ERROR_WIN_DS_NO_TREE_DELETE_ABOVE_NC,
++ MD_ERROR_WIN_DS_COULDNT_LOCK_TREE_FOR_DELETE,
++ MD_ERROR_WIN_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE,
++ MD_ERROR_WIN_DS_SAM_INIT_FAILURE,
++ MD_ERROR_WIN_DS_SENSITIVE_GROUP_VIOLATION,
++ MD_ERROR_WIN_DS_CANT_MOD_PRIMARYGROUPID,
++ MD_ERROR_WIN_DS_ILLEGAL_BASE_SCHEMA_MOD,
++ MD_ERROR_WIN_DS_NONSAFE_SCHEMA_CHANGE,
++ MD_ERROR_WIN_DS_SCHEMA_UPDATE_DISALLOWED,
++ MD_ERROR_WIN_DS_CANT_CREATE_UNDER_SCHEMA,
++ MD_ERROR_WIN_DS_INSTALL_NO_SRC_SCH_VERSION,
++ MD_ERROR_WIN_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE,
++ MD_ERROR_WIN_DS_INVALID_GROUP_TYPE,
++ MD_ERROR_WIN_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN,
++ MD_ERROR_WIN_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER,
++ MD_ERROR_WIN_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER,
++ MD_ERROR_WIN_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER,
++ MD_ERROR_WIN_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER,
++ MD_ERROR_WIN_DS_HAVE_PRIMARY_MEMBERS,
++ MD_ERROR_WIN_DS_STRING_SD_CONVERSION_FAILED,
++ MD_ERROR_WIN_DS_NAMING_MASTER_GC,
++ MD_ERROR_WIN_DS_DNS_LOOKUP_FAILURE,
++ MD_ERROR_WIN_DS_COULDNT_UPDATE_SPNS,
++ MD_ERROR_WIN_DS_CANT_RETRIEVE_SD,
++ MD_ERROR_WIN_DS_KEY_NOT_UNIQUE,
++ MD_ERROR_WIN_DS_WRONG_LINKED_ATT_SYNTAX,
++ MD_ERROR_WIN_DS_SAM_NEED_BOOTKEY_PASSWORD,
++ MD_ERROR_WIN_DS_SAM_NEED_BOOTKEY_FLOPPY,
++ MD_ERROR_WIN_DS_CANT_START,
++ MD_ERROR_WIN_DS_INIT_FAILURE,
++ MD_ERROR_WIN_DS_NO_PKT_PRIVACY_ON_CONNECTION,
++ MD_ERROR_WIN_DS_SOURCE_DOMAIN_IN_FOREST,
++ MD_ERROR_WIN_DS_DESTINATION_DOMAIN_NOT_IN_FOREST,
++ MD_ERROR_WIN_DS_DESTINATION_AUDITING_NOT_ENABLED,
++ MD_ERROR_WIN_DS_CANT_FIND_DC_FOR_SRC_DOMAIN,
++ MD_ERROR_WIN_DS_SRC_OBJ_NOT_GROUP_OR_USER,
++ MD_ERROR_WIN_DS_SRC_SID_EXISTS_IN_FOREST,
++ MD_ERROR_WIN_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH,
++ MD_ERROR_WIN_SAM_INIT_FAILURE,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_INFO_SHIP,
++ MD_ERROR_WIN_DS_DRA_SCHEMA_CONFLICT,
++ MD_ERROR_WIN_DS_DRA_EARLIER_SCHEMA_CONFLICT,
++ MD_ERROR_WIN_DS_DRA_OBJ_NC_MISMATCH,
++ MD_ERROR_WIN_DS_NC_STILL_HAS_DSAS,
++ MD_ERROR_WIN_DS_GC_REQUIRED,
++ MD_ERROR_WIN_DS_LOCAL_MEMBER_OF_LOCAL_ONLY,
++ MD_ERROR_WIN_DS_NO_FPO_IN_UNIVERSAL_GROUPS,
++ MD_ERROR_WIN_DS_CANT_ADD_TO_GC,
++ MD_ERROR_WIN_DS_NO_CHECKPOINT_WITH_PDC,
++ MD_ERROR_WIN_DS_SOURCE_AUDITING_NOT_ENABLED,
++ MD_ERROR_WIN_DS_CANT_CREATE_IN_NONDOMAIN_NC,
++ MD_ERROR_WIN_DS_INVALID_NAME_FOR_SPN,
++ MD_ERROR_WIN_DS_FILTER_USES_CONTRUCTED_ATTRS,
++ MD_ERROR_WIN_DS_UNICODEPWD_NOT_IN_QUOTES,
++ MD_ERROR_WIN_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED,
++ MD_ERROR_WIN_DS_MUST_BE_RUN_ON_DST_DC,
++ MD_ERROR_WIN_DS_SRC_DC_MUST_BE_SP4_OR_GREATER,
++ MD_ERROR_WIN_DS_CANT_TREE_DELETE_CRITICAL_OBJ,
++ MD_ERROR_WIN_DS_INIT_FAILURE_CONSOLE,
++ MD_ERROR_WIN_DS_SAM_INIT_FAILURE_CONSOLE,
++ MD_ERROR_WIN_DS_FOREST_VERSION_TOO_HIGH,
++ MD_ERROR_WIN_DS_DOMAIN_VERSION_TOO_HIGH,
++ MD_ERROR_WIN_DS_FOREST_VERSION_TOO_LOW,
++ MD_ERROR_WIN_DS_DOMAIN_VERSION_TOO_LOW,
++ MD_ERROR_WIN_DS_INCOMPATIBLE_VERSION,
++ MD_ERROR_WIN_DS_LOW_DSA_VERSION,
++ MD_ERROR_WIN_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN,
++ MD_ERROR_WIN_DS_NOT_SUPPORTED_SORT_ORDER,
++ MD_ERROR_WIN_DS_NAME_NOT_UNIQUE,
++ MD_ERROR_WIN_DS_MACHINE_ACCOUNT_CREATED_PRENT4,
++ MD_ERROR_WIN_DS_OUT_OF_VERSION_STORE,
++ MD_ERROR_WIN_DS_INCOMPATIBLE_CONTROLS_USED,
++ MD_ERROR_WIN_DS_NO_REF_DOMAIN,
++ MD_ERROR_WIN_DS_RESERVED_LINK_ID,
++ MD_ERROR_WIN_DS_LINK_ID_NOT_AVAILABLE,
++ MD_ERROR_WIN_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER,
++ MD_ERROR_WIN_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE,
++ MD_ERROR_WIN_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC,
++ MD_ERROR_WIN_DS_MODIFYDN_DISALLOWED_BY_FLAG,
++ MD_ERROR_WIN_DS_MODIFYDN_WRONG_GRANDPARENT,
++ MD_ERROR_WIN_DS_NAME_ERROR_TRUST_REFERRAL,
++ MD_ERROR_WIN_NOT_SUPPORTED_ON_STANDARD_SERVER,
++ MD_ERROR_WIN_DS_CANT_ACCESS_REMOTE_PART_OF_AD,
++ MD_ERROR_WIN_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2,
++ MD_ERROR_WIN_DS_THREAD_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_DS_NOT_CLOSEST,
++ MD_ERROR_WIN_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF,
++ MD_ERROR_WIN_DS_SINGLE_USER_MODE_FAILED,
++ MD_ERROR_WIN_DS_NTDSCRIPT_SYNTAX_ERROR,
++ MD_ERROR_WIN_DS_NTDSCRIPT_PROCESS_ERROR,
++ MD_ERROR_WIN_DS_DIFFERENT_REPL_EPOCHS,
++ MD_ERROR_WIN_DS_DRS_EXTENSIONS_CHANGED,
++ MD_ERROR_WIN_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR,
++ MD_ERROR_WIN_DS_NO_MSDS_INTID,
++ MD_ERROR_WIN_DS_DUP_MSDS_INTID,
++ MD_ERROR_WIN_DS_EXISTS_IN_RDNATTID,
++ MD_ERROR_WIN_DS_AUTHORIZATION_FAILED,
++ MD_ERROR_WIN_DS_INVALID_SCRIPT,
++ MD_ERROR_WIN_DS_REMOTE_CROSSREF_OP_FAILED,
++ MD_ERROR_WIN_DS_CROSS_REF_BUSY,
++ MD_ERROR_WIN_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN,
++ MD_ERROR_WIN_DS_CANT_DEMOTE_WITH_WRITEABLE_NC,
++ MD_ERROR_WIN_DS_DUPLICATE_ID_FOUND,
++ MD_ERROR_WIN_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT,
++ MD_ERROR_WIN_DS_GROUP_CONVERSION_ERROR,
++ MD_ERROR_WIN_DS_CANT_MOVE_APP_BASIC_GROUP,
++ MD_ERROR_WIN_DS_CANT_MOVE_APP_QUERY_GROUP,
++ MD_ERROR_WIN_DS_ROLE_NOT_VERIFIED,
++ MD_ERROR_WIN_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL,
++ MD_ERROR_WIN_DS_DOMAIN_RENAME_IN_PROGRESS,
++ MD_ERROR_WIN_DS_EXISTING_AD_CHILD_NC,
++ MD_ERROR_WIN_DS_REPL_LIFETIME_EXCEEDED,
++ MD_ERROR_WIN_DS_DISALLOWED_IN_SYSTEM_CONTAINER,
++ MD_ERROR_WIN_DS_LDAP_SEND_QUEUE_FULL,
++ MD_ERROR_WIN_DS_DRA_OUT_SCHEDULE_WINDOW,
++ MD_ERROR_WIN_DS_POLICY_NOT_KNOWN,
++ MD_ERROR_WIN_NO_SITE_SETTINGS_OBJECT,
++ MD_ERROR_WIN_NO_SECRETS,
++ MD_ERROR_WIN_NO_WRITABLE_DC_FOUND,
++ MD_ERROR_WIN_DS_NO_SERVER_OBJECT,
++ MD_ERROR_WIN_DS_NO_NTDSA_OBJECT,
++ MD_ERROR_WIN_DS_NON_ASQ_SEARCH,
++ MD_ERROR_WIN_DS_AUDIT_FAILURE,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG_SUBTREE,
++ MD_ERROR_WIN_DS_INVALID_SEARCH_FLAG_TUPLE,
++ MD_ERROR_WIN_DS_HIERARCHY_TABLE_TOO_DEEP,
++ MD_ERROR_WIN_DS_DRA_CORRUPT_UTD_VECTOR,
++ MD_ERROR_WIN_DS_DRA_SECRETS_DENIED,
++ MD_ERROR_WIN_DS_RESERVED_MAPI_ID,
++ MD_ERROR_WIN_DS_MAPI_ID_NOT_AVAILABLE,
++ MD_ERROR_WIN_DS_DRA_MISSING_KRBTGT_SECRET,
++ MD_ERROR_WIN_DS_DOMAIN_NAME_EXISTS_IN_FOREST,
++ MD_ERROR_WIN_DS_FLAT_NAME_EXISTS_IN_FOREST,
++ MD_ERROR_WIN_INVALID_USER_PRINCIPAL_NAME,
++ MD_ERROR_WIN_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS,
++ MD_ERROR_WIN_DS_OID_NOT_FOUND,
++ MD_ERROR_WIN_DS_DRA_RECYCLED_TARGET,
++ MD_ERROR_WIN_DS_DISALLOWED_NC_REDIRECT,
++ MD_ERROR_WIN_DS_HIGH_ADLDS_FFL,
++ MD_ERROR_WIN_DS_HIGH_DSA_VERSION,
++ MD_ERROR_WIN_DS_LOW_ADLDS_FFL,
++ MD_ERROR_WIN_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION,
++ MD_ERROR_WIN_DS_UNDELETE_SAM_VALIDATION_FAILED,
++ MD_ERROR_WIN_INCORRECT_ACCOUNT_TYPE,
++ MD_ERROR_WIN_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST,
++ MD_ERROR_WIN_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST,
++ MD_ERROR_WIN_DS_MISSING_FOREST_TRUST,
++ MD_ERROR_WIN_DS_VALUE_KEY_NOT_UNIQUE,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_EXISTS,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_IN_USE,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_EXISTS,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_IN_USE,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_EXISTS,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_EXISTS,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_EXISTS,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_IN_USE,
++ MD_ERROR_WIN_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_EXISTS,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_NOT_FOUND,
++ MD_ERROR_WIN_IPSEC_MM_FILTER_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_TRANSPORT_FILTER_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_TUNNEL_FILTER_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_MM_POLICY_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_MM_AUTH_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_QM_POLICY_PENDING_DELETION,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_BEGIN,
++ MD_ERROR_WIN_IPSEC_IKE_AUTH_FAIL,
++ MD_ERROR_WIN_IPSEC_IKE_ATTRIB_FAIL,
++ MD_ERROR_WIN_IPSEC_IKE_NEGOTIATION_PENDING,
++ MD_ERROR_WIN_IPSEC_IKE_GENERAL_PROCESSING_ERROR,
++ MD_ERROR_WIN_IPSEC_IKE_TIMED_OUT,
++ MD_ERROR_WIN_IPSEC_IKE_NO_CERT,
++ MD_ERROR_WIN_IPSEC_IKE_SA_DELETED,
++ MD_ERROR_WIN_IPSEC_IKE_SA_REAPED,
++ MD_ERROR_WIN_IPSEC_IKE_MM_ACQUIRE_DROP,
++ MD_ERROR_WIN_IPSEC_IKE_QM_ACQUIRE_DROP,
++ MD_ERROR_WIN_IPSEC_IKE_QUEUE_DROP_MM,
++ MD_ERROR_WIN_IPSEC_IKE_QUEUE_DROP_NO_MM,
++ MD_ERROR_WIN_IPSEC_IKE_DROP_NO_RESPONSE,
++ MD_ERROR_WIN_IPSEC_IKE_MM_DELAY_DROP,
++ MD_ERROR_WIN_IPSEC_IKE_QM_DELAY_DROP,
++ MD_ERROR_WIN_IPSEC_IKE_ERROR,
++ MD_ERROR_WIN_IPSEC_IKE_CRL_FAILED,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_KEY_USAGE,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_CERT_TYPE,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PRIVATE_KEY,
++ MD_ERROR_WIN_IPSEC_IKE_SIMULTANEOUS_REKEY,
++ MD_ERROR_WIN_IPSEC_IKE_DH_FAIL,
++ MD_ERROR_WIN_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HEADER,
++ MD_ERROR_WIN_IPSEC_IKE_NO_POLICY,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SIGNATURE,
++ MD_ERROR_WIN_IPSEC_IKE_KERBEROS_ERROR,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PUBLIC_KEY,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_SA,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_PROP,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_TRANS,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_KE,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_ID,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_CERT,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_CERT_REQ,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_HASH,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_SIG,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NONCE,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NOTIFY,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_DELETE,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_VENDOR,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_PAYLOAD,
++ MD_ERROR_WIN_IPSEC_IKE_LOAD_SOFT_SA,
++ MD_ERROR_WIN_IPSEC_IKE_SOFT_SA_TORN_DOWN,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_COOKIE,
++ MD_ERROR_WIN_IPSEC_IKE_NO_PEER_CERT,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_CRL_FAILED,
++ MD_ERROR_WIN_IPSEC_IKE_POLICY_CHANGE,
++ MD_ERROR_WIN_IPSEC_IKE_NO_MM_POLICY,
++ MD_ERROR_WIN_IPSEC_IKE_NOTCBPRIV,
++ MD_ERROR_WIN_IPSEC_IKE_SECLOADFAIL,
++ MD_ERROR_WIN_IPSEC_IKE_FAILSSPINIT,
++ MD_ERROR_WIN_IPSEC_IKE_FAILQUERYSSP,
++ MD_ERROR_WIN_IPSEC_IKE_SRVACQFAIL,
++ MD_ERROR_WIN_IPSEC_IKE_SRVQUERYCRED,
++ MD_ERROR_WIN_IPSEC_IKE_GETSPIFAIL,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_FILTER,
++ MD_ERROR_WIN_IPSEC_IKE_OUT_OF_MEMORY,
++ MD_ERROR_WIN_IPSEC_IKE_ADD_UPDATE_KEY_FAILED,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_POLICY,
++ MD_ERROR_WIN_IPSEC_IKE_UNKNOWN_DOI,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SITUATION,
++ MD_ERROR_WIN_IPSEC_IKE_DH_FAILURE,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_GROUP,
++ MD_ERROR_WIN_IPSEC_IKE_ENCRYPT,
++ MD_ERROR_WIN_IPSEC_IKE_DECRYPT,
++ MD_ERROR_WIN_IPSEC_IKE_POLICY_MATCH,
++ MD_ERROR_WIN_IPSEC_IKE_UNSUPPORTED_ID,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH_ALG,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_HASH_SIZE,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_ENCRYPT_ALG,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_AUTH_ALG,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_SIG,
++ MD_ERROR_WIN_IPSEC_IKE_LOAD_FAILED,
++ MD_ERROR_WIN_IPSEC_IKE_RPC_DELETE,
++ MD_ERROR_WIN_IPSEC_IKE_BENIGN_REINIT,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_MAJOR_VERSION,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_CERT_KEYLEN,
++ MD_ERROR_WIN_IPSEC_IKE_MM_LIMIT,
++ MD_ERROR_WIN_IPSEC_IKE_NEGOTIATION_DISABLED,
++ MD_ERROR_WIN_IPSEC_IKE_QM_LIMIT,
++ MD_ERROR_WIN_IPSEC_IKE_MM_EXPIRED,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_MM_ASSUMED_INVALID,
++ MD_ERROR_WIN_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH,
++ MD_ERROR_WIN_IPSEC_IKE_UNEXPECTED_MESSAGE_ID,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_AUTH_PAYLOAD,
++ MD_ERROR_WIN_IPSEC_IKE_DOS_COOKIE_SENT,
++ MD_ERROR_WIN_IPSEC_IKE_SHUTTING_DOWN,
++ MD_ERROR_WIN_IPSEC_IKE_CGA_AUTH_FAILED,
++ MD_ERROR_WIN_IPSEC_IKE_PROCESS_ERR_NATOA,
++ MD_ERROR_WIN_IPSEC_IKE_INVALID_MM_FOR_QM,
++ MD_ERROR_WIN_IPSEC_IKE_QM_EXPIRED,
++ MD_ERROR_WIN_IPSEC_IKE_TOO_MANY_FILTERS,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_END,
++ MD_ERROR_WIN_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL,
++ MD_ERROR_WIN_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE,
++ MD_ERROR_WIN_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING,
++ MD_ERROR_WIN_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING,
++ MD_ERROR_WIN_IPSEC_IKE_COEXISTENCE_SUPPRESS,
++ MD_ERROR_WIN_IPSEC_IKE_RATELIMIT_DROP,
++ MD_ERROR_WIN_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE,
++ MD_ERROR_WIN_IPSEC_IKE_AUTHORIZATION_FAILURE,
++ MD_ERROR_WIN_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE,
++ MD_ERROR_WIN_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY,
++ MD_ERROR_WIN_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE,
++ MD_ERROR_WIN_IPSEC_IKE_NEG_STATUS_EXTENDED_END,
++ MD_ERROR_WIN_IPSEC_BAD_SPI,
++ MD_ERROR_WIN_IPSEC_SA_LIFETIME_EXPIRED,
++ MD_ERROR_WIN_IPSEC_WRONG_SA,
++ MD_ERROR_WIN_IPSEC_REPLAY_CHECK_FAILED,
++ MD_ERROR_WIN_IPSEC_INVALID_PACKET,
++ MD_ERROR_WIN_IPSEC_INTEGRITY_CHECK_FAILED,
++ MD_ERROR_WIN_IPSEC_CLEAR_TEXT_DROP,
++ MD_ERROR_WIN_IPSEC_AUTH_FIREWALL_DROP,
++ MD_ERROR_WIN_IPSEC_THROTTLE_DROP,
++ MD_ERROR_WIN_IPSEC_DOSP_BLOCK,
++ MD_ERROR_WIN_IPSEC_DOSP_RECEIVED_MULTICAST,
++ MD_ERROR_WIN_IPSEC_DOSP_INVALID_PACKET,
++ MD_ERROR_WIN_IPSEC_DOSP_STATE_LOOKUP_FAILED,
++ MD_ERROR_WIN_IPSEC_DOSP_MAX_ENTRIES,
++ MD_ERROR_WIN_IPSEC_DOSP_KEYMOD_NOT_ALLOWED,
++ MD_ERROR_WIN_IPSEC_DOSP_NOT_INSTALLED,
++ MD_ERROR_WIN_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES,
++ MD_ERROR_WIN_SXS_SECTION_NOT_FOUND,
++ MD_ERROR_WIN_SXS_CANT_GEN_ACTCTX,
++ MD_ERROR_WIN_SXS_INVALID_ACTCTXDATA_FORMAT,
++ MD_ERROR_WIN_SXS_ASSEMBLY_NOT_FOUND,
++ MD_ERROR_WIN_SXS_MANIFEST_FORMAT_ERROR,
++ MD_ERROR_WIN_SXS_MANIFEST_PARSE_ERROR,
++ MD_ERROR_WIN_SXS_ACTIVATION_CONTEXT_DISABLED,
++ MD_ERROR_WIN_SXS_KEY_NOT_FOUND,
++ MD_ERROR_WIN_SXS_VERSION_CONFLICT,
++ MD_ERROR_WIN_SXS_WRONG_SECTION_TYPE,
++ MD_ERROR_WIN_SXS_THREAD_QUERIES_DISABLED,
++ MD_ERROR_WIN_SXS_PROCESS_DEFAULT_ALREADY_SET,
++ MD_ERROR_WIN_SXS_UNKNOWN_ENCODING_GROUP,
++ MD_ERROR_WIN_SXS_UNKNOWN_ENCODING,
++ MD_ERROR_WIN_SXS_INVALID_XML_NAMESPACE_URI,
++ MD_ERROR_WIN_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED,
++ MD_ERROR_WIN_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED,
++ MD_ERROR_WIN_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE,
++ MD_ERROR_WIN_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE,
++ MD_ERROR_WIN_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE,
++ MD_ERROR_WIN_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT,
++ MD_ERROR_WIN_SXS_DUPLICATE_DLL_NAME,
++ MD_ERROR_WIN_SXS_DUPLICATE_WINDOWCLASS_NAME,
++ MD_ERROR_WIN_SXS_DUPLICATE_CLSID,
++ MD_ERROR_WIN_SXS_DUPLICATE_IID,
++ MD_ERROR_WIN_SXS_DUPLICATE_TLBID,
++ MD_ERROR_WIN_SXS_DUPLICATE_PROGID,
++ MD_ERROR_WIN_SXS_DUPLICATE_ASSEMBLY_NAME,
++ MD_ERROR_WIN_SXS_FILE_HASH_MISMATCH,
++ MD_ERROR_WIN_SXS_POLICY_PARSE_ERROR,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGQUOTE,
++ MD_ERROR_WIN_SXS_XML_E_COMMENTSYNTAX,
++ MD_ERROR_WIN_SXS_XML_E_BADSTARTNAMECHAR,
++ MD_ERROR_WIN_SXS_XML_E_BADNAMECHAR,
++ MD_ERROR_WIN_SXS_XML_E_BADCHARINSTRING,
++ MD_ERROR_WIN_SXS_XML_E_XMLDECLSYNTAX,
++ MD_ERROR_WIN_SXS_XML_E_BADCHARDATA,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGWHITESPACE,
++ MD_ERROR_WIN_SXS_XML_E_EXPECTINGTAGEND,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGSEMICOLON,
++ MD_ERROR_WIN_SXS_XML_E_UNBALANCEDPAREN,
++ MD_ERROR_WIN_SXS_XML_E_INTERNALERROR,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTED_WHITESPACE,
++ MD_ERROR_WIN_SXS_XML_E_INCOMPLETE_ENCODING,
++ MD_ERROR_WIN_SXS_XML_E_MISSING_PAREN,
++ MD_ERROR_WIN_SXS_XML_E_EXPECTINGCLOSEQUOTE,
++ MD_ERROR_WIN_SXS_XML_E_MULTIPLE_COLONS,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_DECIMAL,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_HEXIDECIMAL,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_UNICODE,
++ MD_ERROR_WIN_SXS_XML_E_WHITESPACEORQUESTIONMARK,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTEDENDTAG,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDTAG,
++ MD_ERROR_WIN_SXS_XML_E_DUPLICATEATTRIBUTE,
++ MD_ERROR_WIN_SXS_XML_E_MULTIPLEROOTS,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDATROOTLEVEL,
++ MD_ERROR_WIN_SXS_XML_E_BADXMLDECL,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGROOT,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTEDEOF,
++ MD_ERROR_WIN_SXS_XML_E_BADPEREFINSUBSET,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDSTARTTAG,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDENDTAG,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDSTRING,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDCOMMENT,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDDECL,
++ MD_ERROR_WIN_SXS_XML_E_UNCLOSEDCDATA,
++ MD_ERROR_WIN_SXS_XML_E_RESERVEDNAMESPACE,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDENCODING,
++ MD_ERROR_WIN_SXS_XML_E_INVALIDSWITCH,
++ MD_ERROR_WIN_SXS_XML_E_BADXMLCASE,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_STANDALONE,
++ MD_ERROR_WIN_SXS_XML_E_UNEXPECTED_STANDALONE,
++ MD_ERROR_WIN_SXS_XML_E_INVALID_VERSION,
++ MD_ERROR_WIN_SXS_XML_E_MISSINGEQUALS,
++ MD_ERROR_WIN_SXS_PROTECTION_RECOVERY_FAILED,
++ MD_ERROR_WIN_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT,
++ MD_ERROR_WIN_SXS_PROTECTION_CATALOG_NOT_VALID,
++ MD_ERROR_WIN_SXS_UNTRANSLATABLE_HRESULT,
++ MD_ERROR_WIN_SXS_PROTECTION_CATALOG_FILE_MISSING,
++ MD_ERROR_WIN_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE,
++ MD_ERROR_WIN_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME,
++ MD_ERROR_WIN_SXS_ASSEMBLY_MISSING,
++ MD_ERROR_WIN_SXS_CORRUPT_ACTIVATION_STACK,
++ MD_ERROR_WIN_SXS_CORRUPTION,
++ MD_ERROR_WIN_SXS_EARLY_DEACTIVATION,
++ MD_ERROR_WIN_SXS_INVALID_DEACTIVATION,
++ MD_ERROR_WIN_SXS_MULTIPLE_DEACTIVATION,
++ MD_ERROR_WIN_SXS_PROCESS_TERMINATION_REQUESTED,
++ MD_ERROR_WIN_SXS_RELEASE_ACTIVATION_CONTEXT,
++ MD_ERROR_WIN_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY,
++ MD_ERROR_WIN_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE,
++ MD_ERROR_WIN_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME,
++ MD_ERROR_WIN_SXS_IDENTITY_DUPLICATE_ATTRIBUTE,
++ MD_ERROR_WIN_SXS_IDENTITY_PARSE_ERROR,
++ MD_ERROR_WIN_MALFORMED_SUBSTITUTION_STRING,
++ MD_ERROR_WIN_SXS_INCORRECT_PUBLIC_KEY_TOKEN,
++ MD_ERROR_WIN_UNMAPPED_SUBSTITUTION_STRING,
++ MD_ERROR_WIN_SXS_ASSEMBLY_NOT_LOCKED,
++ MD_ERROR_WIN_SXS_COMPONENT_STORE_CORRUPT,
++ MD_ERROR_WIN_ADVANCED_INSTALLER_FAILED,
++ MD_ERROR_WIN_XML_ENCODING_MISMATCH,
++ MD_ERROR_WIN_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT,
++ MD_ERROR_WIN_SXS_IDENTITIES_DIFFERENT,
++ MD_ERROR_WIN_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT,
++ MD_ERROR_WIN_SXS_FILE_NOT_PART_OF_ASSEMBLY,
++ MD_ERROR_WIN_SXS_MANIFEST_TOO_BIG,
++ MD_ERROR_WIN_SXS_SETTING_NOT_REGISTERED,
++ MD_ERROR_WIN_SXS_TRANSACTION_CLOSURE_INCOMPLETE,
++ MD_ERROR_WIN_SMI_PRIMITIVE_INSTALLER_FAILED,
++ MD_ERROR_WIN_GENERIC_COMMAND_FAILED,
++ MD_ERROR_WIN_SXS_FILE_HASH_MISSING,
++ MD_ERROR_WIN_SXS_DUPLICATE_ACTIVATABLE_CLASS,
++ MD_ERROR_WIN_EVT_INVALID_CHANNEL_PATH,
++ MD_ERROR_WIN_EVT_INVALID_QUERY,
++ MD_ERROR_WIN_EVT_PUBLISHER_METADATA_NOT_FOUND,
++ MD_ERROR_WIN_EVT_EVENT_TEMPLATE_NOT_FOUND,
++ MD_ERROR_WIN_EVT_INVALID_PUBLISHER_NAME,
++ MD_ERROR_WIN_EVT_INVALID_EVENT_DATA,
++ MD_ERROR_WIN_EVT_CHANNEL_NOT_FOUND,
++ MD_ERROR_WIN_EVT_MALFORMED_XML_TEXT,
++ MD_ERROR_WIN_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL,
++ MD_ERROR_WIN_EVT_CONFIGURATION_ERROR,
++ MD_ERROR_WIN_EVT_QUERY_RESULT_STALE,
++ MD_ERROR_WIN_EVT_QUERY_RESULT_INVALID_POSITION,
++ MD_ERROR_WIN_EVT_NON_VALIDATING_MSXML,
++ MD_ERROR_WIN_EVT_FILTER_ALREADYSCOPED,
++ MD_ERROR_WIN_EVT_FILTER_NOTELTSET,
++ MD_ERROR_WIN_EVT_FILTER_INVARG,
++ MD_ERROR_WIN_EVT_FILTER_INVTEST,
++ MD_ERROR_WIN_EVT_FILTER_INVTYPE,
++ MD_ERROR_WIN_EVT_FILTER_PARSEERR,
++ MD_ERROR_WIN_EVT_FILTER_UNSUPPORTEDOP,
++ MD_ERROR_WIN_EVT_FILTER_UNEXPECTEDTOKEN,
++ MD_ERROR_WIN_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL,
++ MD_ERROR_WIN_EVT_INVALID_CHANNEL_PROPERTY_VALUE,
++ MD_ERROR_WIN_EVT_INVALID_PUBLISHER_PROPERTY_VALUE,
++ MD_ERROR_WIN_EVT_CHANNEL_CANNOT_ACTIVATE,
++ MD_ERROR_WIN_EVT_FILTER_TOO_COMPLEX,
++ MD_ERROR_WIN_EVT_MESSAGE_NOT_FOUND,
++ MD_ERROR_WIN_EVT_MESSAGE_ID_NOT_FOUND,
++ MD_ERROR_WIN_EVT_UNRESOLVED_VALUE_INSERT,
++ MD_ERROR_WIN_EVT_UNRESOLVED_PARAMETER_INSERT,
++ MD_ERROR_WIN_EVT_MAX_INSERTS_REACHED,
++ MD_ERROR_WIN_EVT_EVENT_DEFINITION_NOT_FOUND,
++ MD_ERROR_WIN_EVT_MESSAGE_LOCALE_NOT_FOUND,
++ MD_ERROR_WIN_EVT_VERSION_TOO_OLD,
++ MD_ERROR_WIN_EVT_VERSION_TOO_NEW,
++ MD_ERROR_WIN_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY,
++ MD_ERROR_WIN_EVT_PUBLISHER_DISABLED,
++ MD_ERROR_WIN_EVT_FILTER_OUT_OF_RANGE,
++ MD_ERROR_WIN_EC_SUBSCRIPTION_CANNOT_ACTIVATE,
++ MD_ERROR_WIN_EC_LOG_DISABLED,
++ MD_ERROR_WIN_EC_CIRCULAR_FORWARDING,
++ MD_ERROR_WIN_EC_CREDSTORE_FULL,
++ MD_ERROR_WIN_EC_CRED_NOT_FOUND,
++ MD_ERROR_WIN_EC_NO_ACTIVE_CHANNEL,
++ MD_ERROR_WIN_MUI_FILE_NOT_FOUND,
++ MD_ERROR_WIN_MUI_INVALID_FILE,
++ MD_ERROR_WIN_MUI_INVALID_RC_CONFIG,
++ MD_ERROR_WIN_MUI_INVALID_LOCALE_NAME,
++ MD_ERROR_WIN_MUI_INVALID_ULTIMATEFALLBACK_NAME,
++ MD_ERROR_WIN_MUI_FILE_NOT_LOADED,
++ MD_ERROR_WIN_RESOURCE_ENUM_USER_STOP,
++ MD_ERROR_WIN_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED,
++ MD_ERROR_WIN_MUI_INTLSETTINGS_INVALID_LOCALE_NAME,
++ MD_ERROR_WIN_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE,
++ MD_ERROR_WIN_MRM_INVALID_PRICONFIG,
++ MD_ERROR_WIN_MRM_INVALID_FILE_TYPE,
++ MD_ERROR_WIN_MRM_UNKNOWN_QUALIFIER,
++ MD_ERROR_WIN_MRM_INVALID_QUALIFIER_VALUE,
++ MD_ERROR_WIN_MRM_NO_CANDIDATE,
++ MD_ERROR_WIN_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE,
++ MD_ERROR_WIN_MRM_RESOURCE_TYPE_MISMATCH,
++ MD_ERROR_WIN_MRM_DUPLICATE_MAP_NAME,
++ MD_ERROR_WIN_MRM_DUPLICATE_ENTRY,
++ MD_ERROR_WIN_MRM_INVALID_RESOURCE_IDENTIFIER,
++ MD_ERROR_WIN_MRM_FILEPATH_TOO_LONG,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_DIRECTORY_TYPE,
++ MD_ERROR_WIN_MRM_INVALID_PRI_FILE,
++ MD_ERROR_WIN_MRM_NAMED_RESOURCE_NOT_FOUND,
++ MD_ERROR_WIN_MRM_MAP_NOT_FOUND,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_PROFILE_TYPE,
++ MD_ERROR_WIN_MRM_INVALID_QUALIFIER_OPERATOR,
++ MD_ERROR_WIN_MRM_INDETERMINATE_QUALIFIER_VALUE,
++ MD_ERROR_WIN_MRM_AUTOMERGE_ENABLED,
++ MD_ERROR_WIN_MRM_TOO_MANY_RESOURCES,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE,
++ MD_ERROR_WIN_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE,
++ MD_ERROR_WIN_MRM_NO_CURRENT_VIEW_ON_THREAD,
++ MD_ERROR_WIN_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST,
++ MD_ERROR_WIN_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT,
++ MD_ERROR_WIN_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE,
++ MD_ERROR_WIN_MRM_GENERATION_COUNT_MISMATCH,
++ MD_ERROR_WIN_PRI_MERGE_VERSION_MISMATCH,
++ MD_ERROR_WIN_PRI_MERGE_MISSING_SCHEMA,
++ MD_ERROR_WIN_PRI_MERGE_LOAD_FILE_FAILED,
++ MD_ERROR_WIN_PRI_MERGE_ADD_FILE_FAILED,
++ MD_ERROR_WIN_PRI_MERGE_WRITE_FILE_FAILED,
++ MD_ERROR_WIN_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED,
++ MD_ERROR_WIN_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED,
++ MD_ERROR_WIN_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED,
++ MD_ERROR_WIN_PRI_MERGE_MAIN_PACKAGE_REQUIRED,
++ MD_ERROR_WIN_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED,
++ MD_ERROR_WIN_PRI_MERGE_INVALID_FILE_NAME,
++ MD_ERROR_WIN_MRM_PACKAGE_NOT_FOUND,
++ MD_ERROR_WIN_MRM_MISSING_DEFAULT_LANGUAGE,
++ MD_ERROR_WIN_MCA_INVALID_CAPABILITIES_STRING,
++ MD_ERROR_WIN_MCA_INVALID_VCP_VERSION,
++ MD_ERROR_WIN_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION,
++ MD_ERROR_WIN_MCA_MCCS_VERSION_MISMATCH,
++ MD_ERROR_WIN_MCA_UNSUPPORTED_MCCS_VERSION,
++ MD_ERROR_WIN_MCA_INTERNAL_ERROR,
++ MD_ERROR_WIN_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED,
++ MD_ERROR_WIN_MCA_UNSUPPORTED_COLOR_TEMPERATURE,
++ MD_ERROR_WIN_AMBIGUOUS_SYSTEM_DEVICE,
++ MD_ERROR_WIN_SYSTEM_DEVICE_NOT_FOUND,
++ MD_ERROR_WIN_HASH_NOT_SUPPORTED,
++ MD_ERROR_WIN_HASH_NOT_PRESENT,
++ MD_ERROR_WIN_SECONDARY_IC_PROVIDER_NOT_REGISTERED,
++ MD_ERROR_WIN_GPIO_CLIENT_INFORMATION_INVALID,
++ MD_ERROR_WIN_GPIO_VERSION_NOT_SUPPORTED,
++ MD_ERROR_WIN_GPIO_INVALID_REGISTRATION_PACKET,
++ MD_ERROR_WIN_GPIO_OPERATION_DENIED,
++ MD_ERROR_WIN_GPIO_INCOMPATIBLE_CONNECT_MODE,
++ MD_ERROR_WIN_GPIO_INTERRUPT_ALREADY_UNMASKED,
++ MD_ERROR_WIN_CANNOT_SWITCH_RUNLEVEL,
++ MD_ERROR_WIN_INVALID_RUNLEVEL_SETTING,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_TIMEOUT,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_AGENT_TIMEOUT,
++ MD_ERROR_WIN_RUNLEVEL_SWITCH_IN_PROGRESS,
++ MD_ERROR_WIN_SERVICES_FAILED_AUTOSTART,
++ MD_ERROR_WIN_COM_TASK_STOP_PENDING,
++ MD_ERROR_WIN_INSTALL_OPEN_PACKAGE_FAILED,
++ MD_ERROR_WIN_INSTALL_PACKAGE_NOT_FOUND,
++ MD_ERROR_WIN_INSTALL_INVALID_PACKAGE,
++ MD_ERROR_WIN_INSTALL_RESOLVE_DEPENDENCY_FAILED,
++ MD_ERROR_WIN_INSTALL_OUT_OF_DISK_SPACE,
++ MD_ERROR_WIN_INSTALL_NETWORK_FAILURE,
++ MD_ERROR_WIN_INSTALL_REGISTRATION_FAILURE,
++ MD_ERROR_WIN_INSTALL_DEREGISTRATION_FAILURE,
++ MD_ERROR_WIN_INSTALL_CANCEL,
++ MD_ERROR_WIN_INSTALL_FAILED,
++ MD_ERROR_WIN_REMOVE_FAILED,
++ MD_ERROR_WIN_PACKAGE_ALREADY_EXISTS,
++ MD_ERROR_WIN_NEEDS_REMEDIATION,
++ MD_ERROR_WIN_INSTALL_PREREQUISITE_FAILED,
++ MD_ERROR_WIN_PACKAGE_REPOSITORY_CORRUPTED,
++ MD_ERROR_WIN_INSTALL_POLICY_FAILURE,
++ MD_ERROR_WIN_PACKAGE_UPDATING,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_POLICY,
++ MD_ERROR_WIN_PACKAGES_IN_USE,
++ MD_ERROR_WIN_RECOVERY_FILE_CORRUPT,
++ MD_ERROR_WIN_INVALID_STAGED_SIGNATURE,
++ MD_ERROR_WIN_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED,
++ MD_ERROR_WIN_INSTALL_PACKAGE_DOWNGRADE,
++ MD_ERROR_WIN_SYSTEM_NEEDS_REMEDIATION,
++ MD_ERROR_WIN_APPX_INTEGRITY_FAILURE_CLR_NGEN,
++ MD_ERROR_WIN_RESILIENCY_FILE_CORRUPT,
++ MD_ERROR_WIN_INSTALL_FIREWALL_SERVICE_NOT_RUNNING,
++ MD_ERROR_WIN_PACKAGE_MOVE_FAILED,
++ MD_ERROR_WIN_INSTALL_VOLUME_NOT_EMPTY,
++ MD_ERROR_WIN_INSTALL_VOLUME_OFFLINE,
++ MD_ERROR_WIN_INSTALL_VOLUME_CORRUPT,
++ MD_ERROR_WIN_NEEDS_REGISTRATION,
++ MD_ERROR_WIN_INSTALL_WRONG_PROCESSOR_ARCHITECTURE,
++ MD_ERROR_WIN_DEV_SIDELOAD_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE,
++ MD_ERROR_WIN_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM,
++ MD_ERROR_WIN_PACKAGE_MOVE_BLOCKED_BY_STREAMING,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE,
++ MD_ERROR_WIN_PACKAGE_STAGING_ONHOLD,
++ MD_ERROR_WIN_INSTALL_INVALID_RELATED_SET_UPDATE,
++ MD_ERROR_WIN_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF,
++ MD_ERROR_WIN_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED,
++ MD_ERROR_WIN_PACKAGES_REPUTATION_CHECK_FAILED,
++ MD_ERROR_WIN_PACKAGES_REPUTATION_CHECK_TIMEDOUT,
++ MD_ERROR_WIN_DEPLOYMENT_OPTION_NOT_SUPPORTED,
++ MD_ERROR_WIN_APPINSTALLER_ACTIVATION_BLOCKED,
++ MD_ERROR_WIN_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED,
++ MD_ERROR_WIN_APPX_RAW_DATA_WRITE_FAILED,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE,
++ MD_ERROR_WIN_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY,
++ MD_ERROR_WIN_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY,
++ MD_ERROR_WIN_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER,
++ MD_ERROR_WIN_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED,
++ MD_ERROR_WIN_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE,
++ MD_ERROR_WIN_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES,
++ MD_ERROR_WIN_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED,
++ MD_ERROR_WIN_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST,
++ MD_ERROR_WIN_UNSIGNED_PACKAGE_INVALID_CONTENT,
++ MD_ERROR_WIN_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE,
++ MD_ERROR_WIN_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE,
++ MD_ERROR_WIN_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED,
++ MD_ERROR_WIN_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY,
++ MD_ERROR_WIN_STATE_LOAD_STORE_FAILED,
++ MD_ERROR_WIN_STATE_GET_VERSION_FAILED,
++ MD_ERROR_WIN_STATE_SET_VERSION_FAILED,
++ MD_ERROR_WIN_STATE_STRUCTURED_RESET_FAILED,
++ MD_ERROR_WIN_STATE_OPEN_CONTAINER_FAILED,
++ MD_ERROR_WIN_STATE_CREATE_CONTAINER_FAILED,
++ MD_ERROR_WIN_STATE_DELETE_CONTAINER_FAILED,
++ MD_ERROR_WIN_STATE_READ_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_WRITE_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_DELETE_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_QUERY_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_READ_COMPOSITE_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_WRITE_COMPOSITE_SETTING_FAILED,
++ MD_ERROR_WIN_STATE_ENUMERATE_CONTAINER_FAILED,
++ MD_ERROR_WIN_STATE_ENUMERATE_SETTINGS_FAILED,
++ MD_ERROR_WIN_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED,
++ MD_ERROR_WIN_API_UNAVAILABLE,
++};
++
++// The content of this array was created from winerror.h in the 10 SDK
++// (version 10.0.19041.0) with the following script:
++//
++// egrep -o '#define ERROR_[A-Z_0-9]+\s+[0-9]+L' winerror.h
++// | tr -d '\r'
++// | sed -r 's@#define (ERROR_[A-Z_0-9]+)\s+([0-9]+)L@\2 \1@'
++// | sort -n | sed -r 's@([0-9]+) ([A-Z_0-9]+)@ "\2",@'
++static const char* kWinErrorStrings[] = {
++ "ERROR_SUCCESS",
++ "ERROR_INVALID_FUNCTION",
++ "ERROR_FILE_NOT_FOUND",
++ "ERROR_PATH_NOT_FOUND",
++ "ERROR_TOO_MANY_OPEN_FILES",
++ "ERROR_ACCESS_DENIED",
++ "ERROR_INVALID_HANDLE",
++ "ERROR_ARENA_TRASHED",
++ "ERROR_NOT_ENOUGH_MEMORY",
++ "ERROR_INVALID_BLOCK",
++ "ERROR_BAD_ENVIRONMENT",
++ "ERROR_BAD_FORMAT",
++ "ERROR_INVALID_ACCESS",
++ "ERROR_INVALID_DATA",
++ "ERROR_OUTOFMEMORY",
++ "ERROR_INVALID_DRIVE",
++ "ERROR_CURRENT_DIRECTORY",
++ "ERROR_NOT_SAME_DEVICE",
++ "ERROR_NO_MORE_FILES",
++ "ERROR_WRITE_PROTECT",
++ "ERROR_BAD_UNIT",
++ "ERROR_NOT_READY",
++ "ERROR_BAD_COMMAND",
++ "ERROR_CRC",
++ "ERROR_BAD_LENGTH",
++ "ERROR_SEEK",
++ "ERROR_NOT_DOS_DISK",
++ "ERROR_SECTOR_NOT_FOUND",
++ "ERROR_OUT_OF_PAPER",
++ "ERROR_WRITE_FAULT",
++ "ERROR_READ_FAULT",
++ "ERROR_GEN_FAILURE",
++ "ERROR_SHARING_VIOLATION",
++ "ERROR_LOCK_VIOLATION",
++ "ERROR_WRONG_DISK",
++ "ERROR_SHARING_BUFFER_EXCEEDED",
++ "ERROR_HANDLE_EOF",
++ "ERROR_HANDLE_DISK_FULL",
++ "ERROR_NOT_SUPPORTED",
++ "ERROR_REM_NOT_LIST",
++ "ERROR_DUP_NAME",
++ "ERROR_BAD_NETPATH",
++ "ERROR_NETWORK_BUSY",
++ "ERROR_DEV_NOT_EXIST",
++ "ERROR_TOO_MANY_CMDS",
++ "ERROR_ADAP_HDW_ERR",
++ "ERROR_BAD_NET_RESP",
++ "ERROR_UNEXP_NET_ERR",
++ "ERROR_BAD_REM_ADAP",
++ "ERROR_PRINTQ_FULL",
++ "ERROR_NO_SPOOL_SPACE",
++ "ERROR_PRINT_CANCELLED",
++ "ERROR_NETNAME_DELETED",
++ "ERROR_NETWORK_ACCESS_DENIED",
++ "ERROR_BAD_DEV_TYPE",
++ "ERROR_BAD_NET_NAME",
++ "ERROR_TOO_MANY_NAMES",
++ "ERROR_TOO_MANY_SESS",
++ "ERROR_SHARING_PAUSED",
++ "ERROR_REQ_NOT_ACCEP",
++ "ERROR_REDIR_PAUSED",
++ "ERROR_FILE_EXISTS",
++ "ERROR_CANNOT_MAKE",
++ "ERROR_FAIL_I24",
++ "ERROR_OUT_OF_STRUCTURES",
++ "ERROR_ALREADY_ASSIGNED",
++ "ERROR_INVALID_PASSWORD",
++ "ERROR_INVALID_PARAMETER",
++ "ERROR_NET_WRITE_FAULT",
++ "ERROR_NO_PROC_SLOTS",
++ "ERROR_TOO_MANY_SEMAPHORES",
++ "ERROR_EXCL_SEM_ALREADY_OWNED",
++ "ERROR_SEM_IS_SET",
++ "ERROR_TOO_MANY_SEM_REQUESTS",
++ "ERROR_INVALID_AT_INTERRUPT_TIME",
++ "ERROR_SEM_OWNER_DIED",
++ "ERROR_SEM_USER_LIMIT",
++ "ERROR_DISK_CHANGE",
++ "ERROR_DRIVE_LOCKED",
++ "ERROR_BROKEN_PIPE",
++ "ERROR_OPEN_FAILED",
++ "ERROR_BUFFER_OVERFLOW",
++ "ERROR_DISK_FULL",
++ "ERROR_NO_MORE_SEARCH_HANDLES",
++ "ERROR_INVALID_TARGET_HANDLE",
++ "ERROR_INVALID_CATEGORY",
++ "ERROR_INVALID_VERIFY_SWITCH",
++ "ERROR_BAD_DRIVER_LEVEL",
++ "ERROR_CALL_NOT_IMPLEMENTED",
++ "ERROR_SEM_TIMEOUT",
++ "ERROR_INSUFFICIENT_BUFFER",
++ "ERROR_INVALID_NAME",
++ "ERROR_INVALID_LEVEL",
++ "ERROR_NO_VOLUME_LABEL",
++ "ERROR_MOD_NOT_FOUND",
++ "ERROR_PROC_NOT_FOUND",
++ "ERROR_WAIT_NO_CHILDREN",
++ "ERROR_CHILD_NOT_COMPLETE",
++ "ERROR_DIRECT_ACCESS_HANDLE",
++ "ERROR_NEGATIVE_SEEK",
++ "ERROR_SEEK_ON_DEVICE",
++ "ERROR_IS_JOIN_TARGET",
++ "ERROR_IS_JOINED",
++ "ERROR_IS_SUBSTED",
++ "ERROR_NOT_JOINED",
++ "ERROR_NOT_SUBSTED",
++ "ERROR_JOIN_TO_JOIN",
++ "ERROR_SUBST_TO_SUBST",
++ "ERROR_JOIN_TO_SUBST",
++ "ERROR_SUBST_TO_JOIN",
++ "ERROR_BUSY_DRIVE",
++ "ERROR_SAME_DRIVE",
++ "ERROR_DIR_NOT_ROOT",
++ "ERROR_DIR_NOT_EMPTY",
++ "ERROR_IS_SUBST_PATH",
++ "ERROR_IS_JOIN_PATH",
++ "ERROR_PATH_BUSY",
++ "ERROR_IS_SUBST_TARGET",
++ "ERROR_SYSTEM_TRACE",
++ "ERROR_INVALID_EVENT_COUNT",
++ "ERROR_TOO_MANY_MUXWAITERS",
++ "ERROR_INVALID_LIST_FORMAT",
++ "ERROR_LABEL_TOO_LONG",
++ "ERROR_TOO_MANY_TCBS",
++ "ERROR_SIGNAL_REFUSED",
++ "ERROR_DISCARDED",
++ "ERROR_NOT_LOCKED",
++ "ERROR_BAD_THREADID_ADDR",
++ "ERROR_BAD_ARGUMENTS",
++ "ERROR_BAD_PATHNAME",
++ "ERROR_SIGNAL_PENDING",
++ "ERROR_MAX_THRDS_REACHED",
++ "ERROR_LOCK_FAILED",
++ "ERROR_BUSY",
++ "ERROR_DEVICE_SUPPORT_IN_PROGRESS",
++ "ERROR_CANCEL_VIOLATION",
++ "ERROR_ATOMIC_LOCKS_NOT_SUPPORTED",
++ "ERROR_INVALID_SEGMENT_NUMBER",
++ "ERROR_INVALID_ORDINAL",
++ "ERROR_ALREADY_EXISTS",
++ "ERROR_INVALID_FLAG_NUMBER",
++ "ERROR_SEM_NOT_FOUND",
++ "ERROR_INVALID_STARTING_CODESEG",
++ "ERROR_INVALID_STACKSEG",
++ "ERROR_INVALID_MODULETYPE",
++ "ERROR_INVALID_EXE_SIGNATURE",
++ "ERROR_EXE_MARKED_INVALID",
++ "ERROR_BAD_EXE_FORMAT",
++ "ERROR_INVALID_MINALLOCSIZE",
++ "ERROR_DYNLINK_FROM_INVALID_RING",
++ "ERROR_IOPL_NOT_ENABLED",
++ "ERROR_INVALID_SEGDPL",
++ "ERROR_RING2SEG_MUST_BE_MOVABLE",
++ "ERROR_RELOC_CHAIN_XEEDS_SEGLIM",
++ "ERROR_INFLOOP_IN_RELOC_CHAIN",
++ "ERROR_ENVVAR_NOT_FOUND",
++ "ERROR_NO_SIGNAL_SENT",
++ "ERROR_FILENAME_EXCED_RANGE",
++ "ERROR_RING2_STACK_IN_USE",
++ "ERROR_META_EXPANSION_TOO_LONG",
++ "ERROR_INVALID_SIGNAL_NUMBER",
++ "ERROR_THREAD_1_INACTIVE",
++ "ERROR_LOCKED",
++ "ERROR_TOO_MANY_MODULES",
++ "ERROR_NESTING_NOT_ALLOWED",
++ "ERROR_EXE_MACHINE_TYPE_MISMATCH",
++ "ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY",
++ "ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY",
++ "ERROR_FILE_CHECKED_OUT",
++ "ERROR_CHECKOUT_REQUIRED",
++ "ERROR_BAD_FILE_TYPE",
++ "ERROR_FILE_TOO_LARGE",
++ "ERROR_FORMS_AUTH_REQUIRED",
++ "ERROR_VIRUS_INFECTED",
++ "ERROR_VIRUS_DELETED",
++ "ERROR_PIPE_LOCAL",
++ "ERROR_BAD_PIPE",
++ "ERROR_PIPE_BUSY",
++ "ERROR_NO_DATA",
++ "ERROR_PIPE_NOT_CONNECTED",
++ "ERROR_MORE_DATA",
++ "ERROR_NO_WORK_DONE",
++ "ERROR_VC_DISCONNECTED",
++ "ERROR_INVALID_EA_NAME",
++ "ERROR_EA_LIST_INCONSISTENT",
++ "ERROR_NO_MORE_ITEMS",
++ "ERROR_CANNOT_COPY",
++ "ERROR_DIRECTORY",
++ "ERROR_EAS_DIDNT_FIT",
++ "ERROR_EA_FILE_CORRUPT",
++ "ERROR_EA_TABLE_FULL",
++ "ERROR_INVALID_EA_HANDLE",
++ "ERROR_EAS_NOT_SUPPORTED",
++ "ERROR_NOT_OWNER",
++ "ERROR_TOO_MANY_POSTS",
++ "ERROR_PARTIAL_COPY",
++ "ERROR_OPLOCK_NOT_GRANTED",
++ "ERROR_INVALID_OPLOCK_PROTOCOL",
++ "ERROR_DISK_TOO_FRAGMENTED",
++ "ERROR_DELETE_PENDING",
++ "ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING",
++ "ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME",
++ "ERROR_SECURITY_STREAM_IS_INCONSISTENT",
++ "ERROR_INVALID_LOCK_RANGE",
++ "ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT",
++ "ERROR_NOTIFICATION_GUID_ALREADY_DEFINED",
++ "ERROR_INVALID_EXCEPTION_HANDLER",
++ "ERROR_DUPLICATE_PRIVILEGES",
++ "ERROR_NO_RANGES_PROCESSED",
++ "ERROR_NOT_ALLOWED_ON_SYSTEM_FILE",
++ "ERROR_DISK_RESOURCES_EXHAUSTED",
++ "ERROR_INVALID_TOKEN",
++ "ERROR_DEVICE_FEATURE_NOT_SUPPORTED",
++ "ERROR_MR_MID_NOT_FOUND",
++ "ERROR_SCOPE_NOT_FOUND",
++ "ERROR_UNDEFINED_SCOPE",
++ "ERROR_INVALID_CAP",
++ "ERROR_DEVICE_UNREACHABLE",
++ "ERROR_DEVICE_NO_RESOURCES",
++ "ERROR_DATA_CHECKSUM_ERROR",
++ "ERROR_INTERMIXED_KERNEL_EA_OPERATION",
++ "ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED",
++ "ERROR_OFFSET_ALIGNMENT_VIOLATION",
++ "ERROR_INVALID_FIELD_IN_PARAMETER_LIST",
++ "ERROR_OPERATION_IN_PROGRESS",
++ "ERROR_BAD_DEVICE_PATH",
++ "ERROR_TOO_MANY_DESCRIPTORS",
++ "ERROR_SCRUB_DATA_DISABLED",
++ "ERROR_NOT_REDUNDANT_STORAGE",
++ "ERROR_RESIDENT_FILE_NOT_SUPPORTED",
++ "ERROR_COMPRESSED_FILE_NOT_SUPPORTED",
++ "ERROR_DIRECTORY_NOT_SUPPORTED",
++ "ERROR_NOT_READ_FROM_COPY",
++ "ERROR_FT_WRITE_FAILURE",
++ "ERROR_FT_DI_SCAN_REQUIRED",
++ "ERROR_INVALID_KERNEL_INFO_VERSION",
++ "ERROR_INVALID_PEP_INFO_VERSION",
++ "ERROR_OBJECT_NOT_EXTERNALLY_BACKED",
++ "ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN",
++ "ERROR_COMPRESSION_NOT_BENEFICIAL",
++ "ERROR_STORAGE_TOPOLOGY_ID_MISMATCH",
++ "ERROR_BLOCKED_BY_PARENTAL_CONTROLS",
++ "ERROR_BLOCK_TOO_MANY_REFERENCES",
++ "ERROR_MARKED_TO_DISALLOW_WRITES",
++ "ERROR_ENCLAVE_FAILURE",
++ "ERROR_FAIL_NOACTION_REBOOT",
++ "ERROR_FAIL_SHUTDOWN",
++ "ERROR_FAIL_RESTART",
++ "ERROR_MAX_SESSIONS_REACHED",
++ "ERROR_NETWORK_ACCESS_DENIED_EDP",
++ "ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL",
++ "ERROR_EDP_POLICY_DENIES_OPERATION",
++ "ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED",
++ "ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT",
++ "ERROR_DEVICE_IN_MAINTENANCE",
++ "ERROR_NOT_SUPPORTED_ON_DAX",
++ "ERROR_DAX_MAPPING_EXISTS",
++ "ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING",
++ "ERROR_CLOUD_FILE_METADATA_CORRUPT",
++ "ERROR_CLOUD_FILE_METADATA_TOO_LARGE",
++ "ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE",
++ "ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH",
++ "ERROR_CHILD_PROCESS_BLOCKED",
++ "ERROR_STORAGE_LOST_DATA_PERSISTENCE",
++ "ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE",
++ "ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT",
++ "ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY",
++ "ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN",
++ "ERROR_GDI_HANDLE_LEAK",
++ "ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS",
++ "ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED",
++ "ERROR_NOT_A_CLOUD_FILE",
++ "ERROR_CLOUD_FILE_NOT_IN_SYNC",
++ "ERROR_CLOUD_FILE_ALREADY_CONNECTED",
++ "ERROR_CLOUD_FILE_NOT_SUPPORTED",
++ "ERROR_CLOUD_FILE_INVALID_REQUEST",
++ "ERROR_CLOUD_FILE_READ_ONLY_VOLUME",
++ "ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY",
++ "ERROR_CLOUD_FILE_VALIDATION_FAILED",
++ "ERROR_SMB1_NOT_AVAILABLE",
++ "ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION",
++ "ERROR_CLOUD_FILE_AUTHENTICATION_FAILED",
++ "ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES",
++ "ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE",
++ "ERROR_CLOUD_FILE_UNSUCCESSFUL",
++ "ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT",
++ "ERROR_CLOUD_FILE_IN_USE",
++ "ERROR_CLOUD_FILE_PINNED",
++ "ERROR_CLOUD_FILE_REQUEST_ABORTED",
++ "ERROR_CLOUD_FILE_PROPERTY_CORRUPT",
++ "ERROR_CLOUD_FILE_ACCESS_DENIED",
++ "ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS",
++ "ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT",
++ "ERROR_CLOUD_FILE_REQUEST_CANCELED",
++ "ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED",
++ "ERROR_THREAD_MODE_ALREADY_BACKGROUND",
++ "ERROR_THREAD_MODE_NOT_BACKGROUND",
++ "ERROR_PROCESS_MODE_ALREADY_BACKGROUND",
++ "ERROR_PROCESS_MODE_NOT_BACKGROUND",
++ "ERROR_CLOUD_FILE_PROVIDER_TERMINATED",
++ "ERROR_NOT_A_CLOUD_SYNC_ROOT",
++ "ERROR_FILE_PROTECTED_UNDER_DPL",
++ "ERROR_VOLUME_NOT_CLUSTER_ALIGNED",
++ "ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND",
++ "ERROR_APPX_FILE_NOT_ENCRYPTED",
++ "ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED",
++ "ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET",
++ "ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE",
++ "ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER",
++ "ERROR_LINUX_SUBSYSTEM_NOT_PRESENT",
++ "ERROR_FT_READ_FAILURE",
++ "ERROR_STORAGE_RESERVE_ID_INVALID",
++ "ERROR_STORAGE_RESERVE_DOES_NOT_EXIST",
++ "ERROR_STORAGE_RESERVE_ALREADY_EXISTS",
++ "ERROR_STORAGE_RESERVE_NOT_EMPTY",
++ "ERROR_NOT_A_DAX_VOLUME",
++ "ERROR_NOT_DAX_MAPPABLE",
++ "ERROR_TIME_SENSITIVE_THREAD",
++ "ERROR_DPL_NOT_SUPPORTED_FOR_USER",
++ "ERROR_CASE_DIFFERING_NAMES_IN_DIR",
++ "ERROR_FILE_NOT_SUPPORTED",
++ "ERROR_CLOUD_FILE_REQUEST_TIMEOUT",
++ "ERROR_NO_TASK_QUEUE",
++ "ERROR_SRC_SRV_DLL_LOAD_FAILED",
++ "ERROR_NOT_SUPPORTED_WITH_BTT",
++ "ERROR_ENCRYPTION_DISABLED",
++ "ERROR_ENCRYPTING_METADATA_DISALLOWED",
++ "ERROR_CANT_CLEAR_ENCRYPTION_FLAG",
++ "ERROR_NO_SUCH_DEVICE",
++ "ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED",
++ "ERROR_FILE_SNAP_IN_PROGRESS",
++ "ERROR_FILE_SNAP_USER_SECTION_NOT_SUPPORTED",
++ "ERROR_FILE_SNAP_MODIFY_NOT_SUPPORTED",
++ "ERROR_FILE_SNAP_IO_NOT_COORDINATED",
++ "ERROR_FILE_SNAP_UNEXPECTED_ERROR",
++ "ERROR_FILE_SNAP_INVALID_PARAMETER",
++ "ERROR_UNSATISFIED_DEPENDENCIES",
++ "ERROR_CASE_SENSITIVE_PATH",
++ "ERROR_UNEXPECTED_NTCACHEMANAGER_ERROR",
++ "ERROR_LINUX_SUBSYSTEM_UPDATE_REQUIRED",
++ "ERROR_DLP_POLICY_WARNS_AGAINST_OPERATION",
++ "ERROR_DLP_POLICY_DENIES_OPERATION",
++ "ERROR_DLP_POLICY_SILENTLY_FAIL",
++ "ERROR_CAPAUTHZ_NOT_DEVUNLOCKED",
++ "ERROR_CAPAUTHZ_CHANGE_TYPE",
++ "ERROR_CAPAUTHZ_NOT_PROVISIONED",
++ "ERROR_CAPAUTHZ_NOT_AUTHORIZED",
++ "ERROR_CAPAUTHZ_NO_POLICY",
++ "ERROR_CAPAUTHZ_DB_CORRUPTED",
++ "ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG",
++ "ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY",
++ "ERROR_CAPAUTHZ_SCCD_PARSE_ERROR",
++ "ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED",
++ "ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH",
++ "ERROR_CIMFS_IMAGE_CORRUPT",
++ "ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT",
++ "ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT",
++ "ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT",
++ "ERROR_DEVICE_HARDWARE_ERROR",
++ "ERROR_INVALID_ADDRESS",
++ "ERROR_HAS_SYSTEM_CRITICAL_FILES",
++ "ERROR_USER_PROFILE_LOAD",
++ "ERROR_ARITHMETIC_OVERFLOW",
++ "ERROR_PIPE_CONNECTED",
++ "ERROR_PIPE_LISTENING",
++ "ERROR_VERIFIER_STOP",
++ "ERROR_ABIOS_ERROR",
++ "ERROR_WX86_WARNING",
++ "ERROR_WX86_ERROR",
++ "ERROR_TIMER_NOT_CANCELED",
++ "ERROR_UNWIND",
++ "ERROR_BAD_STACK",
++ "ERROR_INVALID_UNWIND_TARGET",
++ "ERROR_INVALID_PORT_ATTRIBUTES",
++ "ERROR_PORT_MESSAGE_TOO_LONG",
++ "ERROR_INVALID_QUOTA_LOWER",
++ "ERROR_DEVICE_ALREADY_ATTACHED",
++ "ERROR_INSTRUCTION_MISALIGNMENT",
++ "ERROR_PROFILING_NOT_STARTED",
++ "ERROR_PROFILING_NOT_STOPPED",
++ "ERROR_COULD_NOT_INTERPRET",
++ "ERROR_PROFILING_AT_LIMIT",
++ "ERROR_CANT_WAIT",
++ "ERROR_CANT_TERMINATE_SELF",
++ "ERROR_UNEXPECTED_MM_CREATE_ERR",
++ "ERROR_UNEXPECTED_MM_MAP_ERROR",
++ "ERROR_UNEXPECTED_MM_EXTEND_ERR",
++ "ERROR_BAD_FUNCTION_TABLE",
++ "ERROR_NO_GUID_TRANSLATION",
++ "ERROR_INVALID_LDT_SIZE",
++ "ERROR_INVALID_LDT_OFFSET",
++ "ERROR_INVALID_LDT_DESCRIPTOR",
++ "ERROR_TOO_MANY_THREADS",
++ "ERROR_THREAD_NOT_IN_PROCESS",
++ "ERROR_PAGEFILE_QUOTA_EXCEEDED",
++ "ERROR_LOGON_SERVER_CONFLICT",
++ "ERROR_SYNCHRONIZATION_REQUIRED",
++ "ERROR_NET_OPEN_FAILED",
++ "ERROR_IO_PRIVILEGE_FAILED",
++ "ERROR_CONTROL_C_EXIT",
++ "ERROR_MISSING_SYSTEMFILE",
++ "ERROR_UNHANDLED_EXCEPTION",
++ "ERROR_APP_INIT_FAILURE",
++ "ERROR_PAGEFILE_CREATE_FAILED",
++ "ERROR_INVALID_IMAGE_HASH",
++ "ERROR_NO_PAGEFILE",
++ "ERROR_ILLEGAL_FLOAT_CONTEXT",
++ "ERROR_NO_EVENT_PAIR",
++ "ERROR_DOMAIN_CTRLR_CONFIG_ERROR",
++ "ERROR_ILLEGAL_CHARACTER",
++ "ERROR_UNDEFINED_CHARACTER",
++ "ERROR_FLOPPY_VOLUME",
++ "ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT",
++ "ERROR_BACKUP_CONTROLLER",
++ "ERROR_MUTANT_LIMIT_EXCEEDED",
++ "ERROR_FS_DRIVER_REQUIRED",
++ "ERROR_CANNOT_LOAD_REGISTRY_FILE",
++ "ERROR_DEBUG_ATTACH_FAILED",
++ "ERROR_SYSTEM_PROCESS_TERMINATED",
++ "ERROR_DATA_NOT_ACCEPTED",
++ "ERROR_VDM_HARD_ERROR",
++ "ERROR_DRIVER_CANCEL_TIMEOUT",
++ "ERROR_REPLY_MESSAGE_MISMATCH",
++ "ERROR_LOST_WRITEBEHIND_DATA",
++ "ERROR_CLIENT_SERVER_PARAMETERS_INVALID",
++ "ERROR_NOT_TINY_STREAM",
++ "ERROR_STACK_OVERFLOW_READ",
++ "ERROR_CONVERT_TO_LARGE",
++ "ERROR_FOUND_OUT_OF_SCOPE",
++ "ERROR_ALLOCATE_BUCKET",
++ "ERROR_MARSHALL_OVERFLOW",
++ "ERROR_INVALID_VARIANT",
++ "ERROR_BAD_COMPRESSION_BUFFER",
++ "ERROR_AUDIT_FAILED",
++ "ERROR_TIMER_RESOLUTION_NOT_SET",
++ "ERROR_INSUFFICIENT_LOGON_INFO",
++ "ERROR_BAD_DLL_ENTRYPOINT",
++ "ERROR_BAD_SERVICE_ENTRYPOINT",
++ "ERROR_IP_ADDRESS_CONFLICT1",
++ "ERROR_IP_ADDRESS_CONFLICT2",
++ "ERROR_REGISTRY_QUOTA_LIMIT",
++ "ERROR_NO_CALLBACK_ACTIVE",
++ "ERROR_PWD_TOO_SHORT",
++ "ERROR_PWD_TOO_RECENT",
++ "ERROR_PWD_HISTORY_CONFLICT",
++ "ERROR_UNSUPPORTED_COMPRESSION",
++ "ERROR_INVALID_HW_PROFILE",
++ "ERROR_INVALID_PLUGPLAY_DEVICE_PATH",
++ "ERROR_QUOTA_LIST_INCONSISTENT",
++ "ERROR_EVALUATION_EXPIRATION",
++ "ERROR_ILLEGAL_DLL_RELOCATION",
++ "ERROR_DLL_INIT_FAILED_LOGOFF",
++ "ERROR_VALIDATE_CONTINUE",
++ "ERROR_NO_MORE_MATCHES",
++ "ERROR_RANGE_LIST_CONFLICT",
++ "ERROR_SERVER_SID_MISMATCH",
++ "ERROR_CANT_ENABLE_DENY_ONLY",
++ "ERROR_FLOAT_MULTIPLE_FAULTS",
++ "ERROR_FLOAT_MULTIPLE_TRAPS",
++ "ERROR_NOINTERFACE",
++ "ERROR_DRIVER_FAILED_SLEEP",
++ "ERROR_CORRUPT_SYSTEM_FILE",
++ "ERROR_COMMITMENT_MINIMUM",
++ "ERROR_PNP_RESTART_ENUMERATION",
++ "ERROR_SYSTEM_IMAGE_BAD_SIGNATURE",
++ "ERROR_PNP_REBOOT_REQUIRED",
++ "ERROR_INSUFFICIENT_POWER",
++ "ERROR_MULTIPLE_FAULT_VIOLATION",
++ "ERROR_SYSTEM_SHUTDOWN",
++ "ERROR_PORT_NOT_SET",
++ "ERROR_DS_VERSION_CHECK_FAILURE",
++ "ERROR_RANGE_NOT_FOUND",
++ "ERROR_NOT_SAFE_MODE_DRIVER",
++ "ERROR_FAILED_DRIVER_ENTRY",
++ "ERROR_DEVICE_ENUMERATION_ERROR",
++ "ERROR_MOUNT_POINT_NOT_RESOLVED",
++ "ERROR_INVALID_DEVICE_OBJECT_PARAMETER",
++ "ERROR_MCA_OCCURED",
++ "ERROR_DRIVER_DATABASE_ERROR",
++ "ERROR_SYSTEM_HIVE_TOO_LARGE",
++ "ERROR_DRIVER_FAILED_PRIOR_UNLOAD",
++ "ERROR_VOLSNAP_PREPARE_HIBERNATE",
++ "ERROR_HIBERNATION_FAILURE",
++ "ERROR_PWD_TOO_LONG",
++ "ERROR_FILE_SYSTEM_LIMITATION",
++ "ERROR_ASSERTION_FAILURE",
++ "ERROR_ACPI_ERROR",
++ "ERROR_WOW_ASSERTION",
++ "ERROR_PNP_BAD_MPS_TABLE",
++ "ERROR_PNP_TRANSLATION_FAILED",
++ "ERROR_PNP_IRQ_TRANSLATION_FAILED",
++ "ERROR_PNP_INVALID_ID",
++ "ERROR_WAKE_SYSTEM_DEBUGGER",
++ "ERROR_HANDLES_CLOSED",
++ "ERROR_EXTRANEOUS_INFORMATION",
++ "ERROR_RXACT_COMMIT_NECESSARY",
++ "ERROR_MEDIA_CHECK",
++ "ERROR_GUID_SUBSTITUTION_MADE",
++ "ERROR_STOPPED_ON_SYMLINK",
++ "ERROR_LONGJUMP",
++ "ERROR_PLUGPLAY_QUERY_VETOED",
++ "ERROR_UNWIND_CONSOLIDATE",
++ "ERROR_REGISTRY_HIVE_RECOVERED",
++ "ERROR_DLL_MIGHT_BE_INSECURE",
++ "ERROR_DLL_MIGHT_BE_INCOMPATIBLE",
++ "ERROR_DBG_EXCEPTION_NOT_HANDLED",
++ "ERROR_DBG_REPLY_LATER",
++ "ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE",
++ "ERROR_DBG_TERMINATE_THREAD",
++ "ERROR_DBG_TERMINATE_PROCESS",
++ "ERROR_DBG_CONTROL_C",
++ "ERROR_DBG_PRINTEXCEPTION_C",
++ "ERROR_DBG_RIPEXCEPTION",
++ "ERROR_DBG_CONTROL_BREAK",
++ "ERROR_DBG_COMMAND_EXCEPTION",
++ "ERROR_OBJECT_NAME_EXISTS",
++ "ERROR_THREAD_WAS_SUSPENDED",
++ "ERROR_IMAGE_NOT_AT_BASE",
++ "ERROR_RXACT_STATE_CREATED",
++ "ERROR_SEGMENT_NOTIFICATION",
++ "ERROR_BAD_CURRENT_DIRECTORY",
++ "ERROR_FT_READ_RECOVERY_FROM_BACKUP",
++ "ERROR_FT_WRITE_RECOVERY",
++ "ERROR_IMAGE_MACHINE_TYPE_MISMATCH",
++ "ERROR_RECEIVE_PARTIAL",
++ "ERROR_RECEIVE_EXPEDITED",
++ "ERROR_RECEIVE_PARTIAL_EXPEDITED",
++ "ERROR_EVENT_DONE",
++ "ERROR_EVENT_PENDING",
++ "ERROR_CHECKING_FILE_SYSTEM",
++ "ERROR_FATAL_APP_EXIT",
++ "ERROR_PREDEFINED_HANDLE",
++ "ERROR_WAS_UNLOCKED",
++ "ERROR_SERVICE_NOTIFICATION",
++ "ERROR_WAS_LOCKED",
++ "ERROR_LOG_HARD_ERROR",
++ "ERROR_ALREADY_WIN32",
++ "ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE",
++ "ERROR_NO_YIELD_PERFORMED",
++ "ERROR_TIMER_RESUME_IGNORED",
++ "ERROR_ARBITRATION_UNHANDLED",
++ "ERROR_CARDBUS_NOT_SUPPORTED",
++ "ERROR_MP_PROCESSOR_MISMATCH",
++ "ERROR_HIBERNATED",
++ "ERROR_RESUME_HIBERNATION",
++ "ERROR_FIRMWARE_UPDATED",
++ "ERROR_DRIVERS_LEAKING_LOCKED_PAGES",
++ "ERROR_WAKE_SYSTEM",
++ "ERROR_WAIT_1",
++ "ERROR_WAIT_2",
++ "ERROR_WAIT_3",
++ "ERROR_WAIT_63",
++ "ERROR_ABANDONED_WAIT_0",
++ "ERROR_ABANDONED_WAIT_63",
++ "ERROR_USER_APC",
++ "ERROR_KERNEL_APC",
++ "ERROR_ALERTED",
++ "ERROR_ELEVATION_REQUIRED",
++ "ERROR_REPARSE",
++ "ERROR_OPLOCK_BREAK_IN_PROGRESS",
++ "ERROR_VOLUME_MOUNTED",
++ "ERROR_RXACT_COMMITTED",
++ "ERROR_NOTIFY_CLEANUP",
++ "ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED",
++ "ERROR_PAGE_FAULT_TRANSITION",
++ "ERROR_PAGE_FAULT_DEMAND_ZERO",
++ "ERROR_PAGE_FAULT_COPY_ON_WRITE",
++ "ERROR_PAGE_FAULT_GUARD_PAGE",
++ "ERROR_PAGE_FAULT_PAGING_FILE",
++ "ERROR_CACHE_PAGE_LOCKED",
++ "ERROR_CRASH_DUMP",
++ "ERROR_BUFFER_ALL_ZEROS",
++ "ERROR_REPARSE_OBJECT",
++ "ERROR_RESOURCE_REQUIREMENTS_CHANGED",
++ "ERROR_TRANSLATION_COMPLETE",
++ "ERROR_NOTHING_TO_TERMINATE",
++ "ERROR_PROCESS_NOT_IN_JOB",
++ "ERROR_PROCESS_IN_JOB",
++ "ERROR_VOLSNAP_HIBERNATE_READY",
++ "ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY",
++ "ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED",
++ "ERROR_INTERRUPT_STILL_CONNECTED",
++ "ERROR_WAIT_FOR_OPLOCK",
++ "ERROR_DBG_EXCEPTION_HANDLED",
++ "ERROR_DBG_CONTINUE",
++ "ERROR_CALLBACK_POP_STACK",
++ "ERROR_COMPRESSION_DISABLED",
++ "ERROR_CANTFETCHBACKWARDS",
++ "ERROR_CANTSCROLLBACKWARDS",
++ "ERROR_ROWSNOTRELEASED",
++ "ERROR_BAD_ACCESSOR_FLAGS",
++ "ERROR_ERRORS_ENCOUNTERED",
++ "ERROR_NOT_CAPABLE",
++ "ERROR_REQUEST_OUT_OF_SEQUENCE",
++ "ERROR_VERSION_PARSE_ERROR",
++ "ERROR_BADSTARTPOSITION",
++ "ERROR_MEMORY_HARDWARE",
++ "ERROR_DISK_REPAIR_DISABLED",
++ "ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE",
++ "ERROR_SYSTEM_POWERSTATE_TRANSITION",
++ "ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION",
++ "ERROR_MCA_EXCEPTION",
++ "ERROR_ACCESS_AUDIT_BY_POLICY",
++ "ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY",
++ "ERROR_ABANDON_HIBERFILE",
++ "ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED",
++ "ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR",
++ "ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR",
++ "ERROR_BAD_MCFG_TABLE",
++ "ERROR_DISK_REPAIR_REDIRECTED",
++ "ERROR_DISK_REPAIR_UNSUCCESSFUL",
++ "ERROR_CORRUPT_LOG_OVERFULL",
++ "ERROR_CORRUPT_LOG_CORRUPTED",
++ "ERROR_CORRUPT_LOG_UNAVAILABLE",
++ "ERROR_CORRUPT_LOG_DELETED_FULL",
++ "ERROR_CORRUPT_LOG_CLEARED",
++ "ERROR_ORPHAN_NAME_EXHAUSTED",
++ "ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE",
++ "ERROR_CANNOT_GRANT_REQUESTED_OPLOCK",
++ "ERROR_CANNOT_BREAK_OPLOCK",
++ "ERROR_OPLOCK_HANDLE_CLOSED",
++ "ERROR_NO_ACE_CONDITION",
++ "ERROR_INVALID_ACE_CONDITION",
++ "ERROR_FILE_HANDLE_REVOKED",
++ "ERROR_IMAGE_AT_DIFFERENT_BASE",
++ "ERROR_ENCRYPTED_IO_NOT_POSSIBLE",
++ "ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS",
++ "ERROR_QUOTA_ACTIVITY",
++ "ERROR_HANDLE_REVOKED",
++ "ERROR_CALLBACK_INVOKE_INLINE",
++ "ERROR_CPU_SET_INVALID",
++ "ERROR_ENCLAVE_NOT_TERMINATED",
++ "ERROR_ENCLAVE_VIOLATION",
++ "ERROR_EA_ACCESS_DENIED",
++ "ERROR_OPERATION_ABORTED",
++ "ERROR_IO_INCOMPLETE",
++ "ERROR_IO_PENDING",
++ "ERROR_NOACCESS",
++ "ERROR_SWAPERROR",
++ "ERROR_STACK_OVERFLOW",
++ "ERROR_INVALID_MESSAGE",
++ "ERROR_CAN_NOT_COMPLETE",
++ "ERROR_INVALID_FLAGS",
++ "ERROR_UNRECOGNIZED_VOLUME",
++ "ERROR_FILE_INVALID",
++ "ERROR_FULLSCREEN_MODE",
++ "ERROR_NO_TOKEN",
++ "ERROR_BADDB",
++ "ERROR_BADKEY",
++ "ERROR_CANTOPEN",
++ "ERROR_CANTREAD",
++ "ERROR_CANTWRITE",
++ "ERROR_REGISTRY_RECOVERED",
++ "ERROR_REGISTRY_CORRUPT",
++ "ERROR_REGISTRY_IO_FAILED",
++ "ERROR_NOT_REGISTRY_FILE",
++ "ERROR_KEY_DELETED",
++ "ERROR_NO_LOG_SPACE",
++ "ERROR_KEY_HAS_CHILDREN",
++ "ERROR_CHILD_MUST_BE_VOLATILE",
++ "ERROR_NOTIFY_ENUM_DIR",
++ "ERROR_DEPENDENT_SERVICES_RUNNING",
++ "ERROR_INVALID_SERVICE_CONTROL",
++ "ERROR_SERVICE_REQUEST_TIMEOUT",
++ "ERROR_SERVICE_NO_THREAD",
++ "ERROR_SERVICE_DATABASE_LOCKED",
++ "ERROR_SERVICE_ALREADY_RUNNING",
++ "ERROR_INVALID_SERVICE_ACCOUNT",
++ "ERROR_SERVICE_DISABLED",
++ "ERROR_CIRCULAR_DEPENDENCY",
++ "ERROR_SERVICE_DOES_NOT_EXIST",
++ "ERROR_SERVICE_CANNOT_ACCEPT_CTRL",
++ "ERROR_SERVICE_NOT_ACTIVE",
++ "ERROR_FAILED_SERVICE_CONTROLLER_CONNECT",
++ "ERROR_EXCEPTION_IN_SERVICE",
++ "ERROR_DATABASE_DOES_NOT_EXIST",
++ "ERROR_SERVICE_SPECIFIC_ERROR",
++ "ERROR_PROCESS_ABORTED",
++ "ERROR_SERVICE_DEPENDENCY_FAIL",
++ "ERROR_SERVICE_LOGON_FAILED",
++ "ERROR_SERVICE_START_HANG",
++ "ERROR_INVALID_SERVICE_LOCK",
++ "ERROR_SERVICE_MARKED_FOR_DELETE",
++ "ERROR_SERVICE_EXISTS",
++ "ERROR_ALREADY_RUNNING_LKG",
++ "ERROR_SERVICE_DEPENDENCY_DELETED",
++ "ERROR_BOOT_ALREADY_ACCEPTED",
++ "ERROR_SERVICE_NEVER_STARTED",
++ "ERROR_DUPLICATE_SERVICE_NAME",
++ "ERROR_DIFFERENT_SERVICE_ACCOUNT",
++ "ERROR_CANNOT_DETECT_DRIVER_FAILURE",
++ "ERROR_CANNOT_DETECT_PROCESS_ABORT",
++ "ERROR_NO_RECOVERY_PROGRAM",
++ "ERROR_SERVICE_NOT_IN_EXE",
++ "ERROR_NOT_SAFEBOOT_SERVICE",
++ "ERROR_END_OF_MEDIA",
++ "ERROR_FILEMARK_DETECTED",
++ "ERROR_BEGINNING_OF_MEDIA",
++ "ERROR_SETMARK_DETECTED",
++ "ERROR_NO_DATA_DETECTED",
++ "ERROR_PARTITION_FAILURE",
++ "ERROR_INVALID_BLOCK_LENGTH",
++ "ERROR_DEVICE_NOT_PARTITIONED",
++ "ERROR_UNABLE_TO_LOCK_MEDIA",
++ "ERROR_UNABLE_TO_UNLOAD_MEDIA",
++ "ERROR_MEDIA_CHANGED",
++ "ERROR_BUS_RESET",
++ "ERROR_NO_MEDIA_IN_DRIVE",
++ "ERROR_NO_UNICODE_TRANSLATION",
++ "ERROR_DLL_INIT_FAILED",
++ "ERROR_SHUTDOWN_IN_PROGRESS",
++ "ERROR_NO_SHUTDOWN_IN_PROGRESS",
++ "ERROR_IO_DEVICE",
++ "ERROR_SERIAL_NO_DEVICE",
++ "ERROR_IRQ_BUSY",
++ "ERROR_MORE_WRITES",
++ "ERROR_COUNTER_TIMEOUT",
++ "ERROR_FLOPPY_ID_MARK_NOT_FOUND",
++ "ERROR_FLOPPY_WRONG_CYLINDER",
++ "ERROR_FLOPPY_UNKNOWN_ERROR",
++ "ERROR_FLOPPY_BAD_REGISTERS",
++ "ERROR_DISK_RECALIBRATE_FAILED",
++ "ERROR_DISK_OPERATION_FAILED",
++ "ERROR_DISK_RESET_FAILED",
++ "ERROR_EOM_OVERFLOW",
++ "ERROR_NOT_ENOUGH_SERVER_MEMORY",
++ "ERROR_POSSIBLE_DEADLOCK",
++ "ERROR_MAPPED_ALIGNMENT",
++ "ERROR_SET_POWER_STATE_VETOED",
++ "ERROR_SET_POWER_STATE_FAILED",
++ "ERROR_TOO_MANY_LINKS",
++ "ERROR_OLD_WIN_VERSION",
++ "ERROR_APP_WRONG_OS",
++ "ERROR_SINGLE_INSTANCE_APP",
++ "ERROR_RMODE_APP",
++ "ERROR_INVALID_DLL",
++ "ERROR_NO_ASSOCIATION",
++ "ERROR_DDE_FAIL",
++ "ERROR_DLL_NOT_FOUND",
++ "ERROR_NO_MORE_USER_HANDLES",
++ "ERROR_MESSAGE_SYNC_ONLY",
++ "ERROR_SOURCE_ELEMENT_EMPTY",
++ "ERROR_DESTINATION_ELEMENT_FULL",
++ "ERROR_ILLEGAL_ELEMENT_ADDRESS",
++ "ERROR_MAGAZINE_NOT_PRESENT",
++ "ERROR_DEVICE_REINITIALIZATION_NEEDED",
++ "ERROR_DEVICE_REQUIRES_CLEANING",
++ "ERROR_DEVICE_DOOR_OPEN",
++ "ERROR_DEVICE_NOT_CONNECTED",
++ "ERROR_NOT_FOUND",
++ "ERROR_NO_MATCH",
++ "ERROR_SET_NOT_FOUND",
++ "ERROR_POINT_NOT_FOUND",
++ "ERROR_NO_TRACKING_SERVICE",
++ "ERROR_NO_VOLUME_ID",
++ "ERROR_UNABLE_TO_REMOVE_REPLACED",
++ "ERROR_UNABLE_TO_MOVE_REPLACEMENT",
++ "ERROR_UNABLE_TO_MOVE_REPLACEMENT_2",
++ "ERROR_JOURNAL_DELETE_IN_PROGRESS",
++ "ERROR_JOURNAL_NOT_ACTIVE",
++ "ERROR_POTENTIAL_FILE_FOUND",
++ "ERROR_JOURNAL_ENTRY_DELETED",
++ "ERROR_VRF_CFG_AND_IO_ENABLED",
++ "ERROR_PARTITION_TERMINATING",
++ "ERROR_SHUTDOWN_IS_SCHEDULED",
++ "ERROR_SHUTDOWN_USERS_LOGGED_ON",
++ "ERROR_BAD_DEVICE",
++ "ERROR_CONNECTION_UNAVAIL",
++ "ERROR_DEVICE_ALREADY_REMEMBERED",
++ "ERROR_NO_NET_OR_BAD_PATH",
++ "ERROR_BAD_PROVIDER",
++ "ERROR_CANNOT_OPEN_PROFILE",
++ "ERROR_BAD_PROFILE",
++ "ERROR_NOT_CONTAINER",
++ "ERROR_EXTENDED_ERROR",
++ "ERROR_INVALID_GROUPNAME",
++ "ERROR_INVALID_COMPUTERNAME",
++ "ERROR_INVALID_EVENTNAME",
++ "ERROR_INVALID_DOMAINNAME",
++ "ERROR_INVALID_SERVICENAME",
++ "ERROR_INVALID_NETNAME",
++ "ERROR_INVALID_SHARENAME",
++ "ERROR_INVALID_PASSWORDNAME",
++ "ERROR_INVALID_MESSAGENAME",
++ "ERROR_INVALID_MESSAGEDEST",
++ "ERROR_SESSION_CREDENTIAL_CONFLICT",
++ "ERROR_REMOTE_SESSION_LIMIT_EXCEEDED",
++ "ERROR_DUP_DOMAINNAME",
++ "ERROR_NO_NETWORK",
++ "ERROR_CANCELLED",
++ "ERROR_USER_MAPPED_FILE",
++ "ERROR_CONNECTION_REFUSED",
++ "ERROR_GRACEFUL_DISCONNECT",
++ "ERROR_ADDRESS_ALREADY_ASSOCIATED",
++ "ERROR_ADDRESS_NOT_ASSOCIATED",
++ "ERROR_CONNECTION_INVALID",
++ "ERROR_CONNECTION_ACTIVE",
++ "ERROR_NETWORK_UNREACHABLE",
++ "ERROR_HOST_UNREACHABLE",
++ "ERROR_PROTOCOL_UNREACHABLE",
++ "ERROR_PORT_UNREACHABLE",
++ "ERROR_REQUEST_ABORTED",
++ "ERROR_CONNECTION_ABORTED",
++ "ERROR_RETRY",
++ "ERROR_CONNECTION_COUNT_LIMIT",
++ "ERROR_LOGIN_TIME_RESTRICTION",
++ "ERROR_LOGIN_WKSTA_RESTRICTION",
++ "ERROR_INCORRECT_ADDRESS",
++ "ERROR_ALREADY_REGISTERED",
++ "ERROR_SERVICE_NOT_FOUND",
++ "ERROR_NOT_AUTHENTICATED",
++ "ERROR_NOT_LOGGED_ON",
++ "ERROR_CONTINUE",
++ "ERROR_ALREADY_INITIALIZED",
++ "ERROR_NO_MORE_DEVICES",
++ "ERROR_NO_SUCH_SITE",
++ "ERROR_DOMAIN_CONTROLLER_EXISTS",
++ "ERROR_ONLY_IF_CONNECTED",
++ "ERROR_OVERRIDE_NOCHANGES",
++ "ERROR_BAD_USER_PROFILE",
++ "ERROR_NOT_SUPPORTED_ON_SBS",
++ "ERROR_SERVER_SHUTDOWN_IN_PROGRESS",
++ "ERROR_HOST_DOWN",
++ "ERROR_NON_ACCOUNT_SID",
++ "ERROR_NON_DOMAIN_SID",
++ "ERROR_APPHELP_BLOCK",
++ "ERROR_ACCESS_DISABLED_BY_POLICY",
++ "ERROR_REG_NAT_CONSUMPTION",
++ "ERROR_CSCSHARE_OFFLINE",
++ "ERROR_PKINIT_FAILURE",
++ "ERROR_SMARTCARD_SUBSYSTEM_FAILURE",
++ "ERROR_DOWNGRADE_DETECTED",
++ "ERROR_MACHINE_LOCKED",
++ "ERROR_SMB_GUEST_LOGON_BLOCKED",
++ "ERROR_CALLBACK_SUPPLIED_INVALID_DATA",
++ "ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED",
++ "ERROR_DRIVER_BLOCKED",
++ "ERROR_INVALID_IMPORT_OF_NON_DLL",
++ "ERROR_ACCESS_DISABLED_WEBBLADE",
++ "ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER",
++ "ERROR_RECOVERY_FAILURE",
++ "ERROR_ALREADY_FIBER",
++ "ERROR_ALREADY_THREAD",
++ "ERROR_STACK_BUFFER_OVERRUN",
++ "ERROR_PARAMETER_QUOTA_EXCEEDED",
++ "ERROR_DEBUGGER_INACTIVE",
++ "ERROR_DELAY_LOAD_FAILED",
++ "ERROR_VDM_DISALLOWED",
++ "ERROR_UNIDENTIFIED_ERROR",
++ "ERROR_INVALID_CRUNTIME_PARAMETER",
++ "ERROR_BEYOND_VDL",
++ "ERROR_INCOMPATIBLE_SERVICE_SID_TYPE",
++ "ERROR_DRIVER_PROCESS_TERMINATED",
++ "ERROR_IMPLEMENTATION_LIMIT",
++ "ERROR_PROCESS_IS_PROTECTED",
++ "ERROR_SERVICE_NOTIFY_CLIENT_LAGGING",
++ "ERROR_DISK_QUOTA_EXCEEDED",
++ "ERROR_CONTENT_BLOCKED",
++ "ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE",
++ "ERROR_APP_HANG",
++ "ERROR_INVALID_LABEL",
++ "ERROR_NOT_ALL_ASSIGNED",
++ "ERROR_SOME_NOT_MAPPED",
++ "ERROR_NO_QUOTAS_FOR_ACCOUNT",
++ "ERROR_LOCAL_USER_SESSION_KEY",
++ "ERROR_NULL_LM_PASSWORD",
++ "ERROR_UNKNOWN_REVISION",
++ "ERROR_REVISION_MISMATCH",
++ "ERROR_INVALID_OWNER",
++ "ERROR_INVALID_PRIMARY_GROUP",
++ "ERROR_NO_IMPERSONATION_TOKEN",
++ "ERROR_CANT_DISABLE_MANDATORY",
++ "ERROR_NO_LOGON_SERVERS",
++ "ERROR_NO_SUCH_LOGON_SESSION",
++ "ERROR_NO_SUCH_PRIVILEGE",
++ "ERROR_PRIVILEGE_NOT_HELD",
++ "ERROR_INVALID_ACCOUNT_NAME",
++ "ERROR_USER_EXISTS",
++ "ERROR_NO_SUCH_USER",
++ "ERROR_GROUP_EXISTS",
++ "ERROR_NO_SUCH_GROUP",
++ "ERROR_MEMBER_IN_GROUP",
++ "ERROR_MEMBER_NOT_IN_GROUP",
++ "ERROR_LAST_ADMIN",
++ "ERROR_WRONG_PASSWORD",
++ "ERROR_ILL_FORMED_PASSWORD",
++ "ERROR_PASSWORD_RESTRICTION",
++ "ERROR_LOGON_FAILURE",
++ "ERROR_ACCOUNT_RESTRICTION",
++ "ERROR_INVALID_LOGON_HOURS",
++ "ERROR_INVALID_WORKSTATION",
++ "ERROR_PASSWORD_EXPIRED",
++ "ERROR_ACCOUNT_DISABLED",
++ "ERROR_NONE_MAPPED",
++ "ERROR_TOO_MANY_LUIDS_REQUESTED",
++ "ERROR_LUIDS_EXHAUSTED",
++ "ERROR_INVALID_SUB_AUTHORITY",
++ "ERROR_INVALID_ACL",
++ "ERROR_INVALID_SID",
++ "ERROR_INVALID_SECURITY_DESCR",
++ "ERROR_BAD_INHERITANCE_ACL",
++ "ERROR_SERVER_DISABLED",
++ "ERROR_SERVER_NOT_DISABLED",
++ "ERROR_INVALID_ID_AUTHORITY",
++ "ERROR_ALLOTTED_SPACE_EXCEEDED",
++ "ERROR_INVALID_GROUP_ATTRIBUTES",
++ "ERROR_BAD_IMPERSONATION_LEVEL",
++ "ERROR_CANT_OPEN_ANONYMOUS",
++ "ERROR_BAD_VALIDATION_CLASS",
++ "ERROR_BAD_TOKEN_TYPE",
++ "ERROR_NO_SECURITY_ON_OBJECT",
++ "ERROR_CANT_ACCESS_DOMAIN_INFO",
++ "ERROR_INVALID_SERVER_STATE",
++ "ERROR_INVALID_DOMAIN_STATE",
++ "ERROR_INVALID_DOMAIN_ROLE",
++ "ERROR_NO_SUCH_DOMAIN",
++ "ERROR_DOMAIN_EXISTS",
++ "ERROR_DOMAIN_LIMIT_EXCEEDED",
++ "ERROR_INTERNAL_DB_CORRUPTION",
++ "ERROR_INTERNAL_ERROR",
++ "ERROR_GENERIC_NOT_MAPPED",
++ "ERROR_BAD_DESCRIPTOR_FORMAT",
++ "ERROR_NOT_LOGON_PROCESS",
++ "ERROR_LOGON_SESSION_EXISTS",
++ "ERROR_NO_SUCH_PACKAGE",
++ "ERROR_BAD_LOGON_SESSION_STATE",
++ "ERROR_LOGON_SESSION_COLLISION",
++ "ERROR_INVALID_LOGON_TYPE",
++ "ERROR_CANNOT_IMPERSONATE",
++ "ERROR_RXACT_INVALID_STATE",
++ "ERROR_RXACT_COMMIT_FAILURE",
++ "ERROR_SPECIAL_ACCOUNT",
++ "ERROR_SPECIAL_GROUP",
++ "ERROR_SPECIAL_USER",
++ "ERROR_MEMBERS_PRIMARY_GROUP",
++ "ERROR_TOKEN_ALREADY_IN_USE",
++ "ERROR_NO_SUCH_ALIAS",
++ "ERROR_MEMBER_NOT_IN_ALIAS",
++ "ERROR_MEMBER_IN_ALIAS",
++ "ERROR_ALIAS_EXISTS",
++ "ERROR_LOGON_NOT_GRANTED",
++ "ERROR_TOO_MANY_SECRETS",
++ "ERROR_SECRET_TOO_LONG",
++ "ERROR_INTERNAL_DB_ERROR",
++ "ERROR_TOO_MANY_CONTEXT_IDS",
++ "ERROR_LOGON_TYPE_NOT_GRANTED",
++ "ERROR_NT_CROSS_ENCRYPTION_REQUIRED",
++ "ERROR_NO_SUCH_MEMBER",
++ "ERROR_INVALID_MEMBER",
++ "ERROR_TOO_MANY_SIDS",
++ "ERROR_LM_CROSS_ENCRYPTION_REQUIRED",
++ "ERROR_NO_INHERITANCE",
++ "ERROR_FILE_CORRUPT",
++ "ERROR_DISK_CORRUPT",
++ "ERROR_NO_USER_SESSION_KEY",
++ "ERROR_LICENSE_QUOTA_EXCEEDED",
++ "ERROR_WRONG_TARGET_NAME",
++ "ERROR_MUTUAL_AUTH_FAILED",
++ "ERROR_TIME_SKEW",
++ "ERROR_CURRENT_DOMAIN_NOT_ALLOWED",
++ "ERROR_INVALID_WINDOW_HANDLE",
++ "ERROR_INVALID_MENU_HANDLE",
++ "ERROR_INVALID_CURSOR_HANDLE",
++ "ERROR_INVALID_ACCEL_HANDLE",
++ "ERROR_INVALID_HOOK_HANDLE",
++ "ERROR_INVALID_DWP_HANDLE",
++ "ERROR_TLW_WITH_WSCHILD",
++ "ERROR_CANNOT_FIND_WND_CLASS",
++ "ERROR_WINDOW_OF_OTHER_THREAD",
++ "ERROR_HOTKEY_ALREADY_REGISTERED",
++ "ERROR_CLASS_ALREADY_EXISTS",
++ "ERROR_CLASS_DOES_NOT_EXIST",
++ "ERROR_CLASS_HAS_WINDOWS",
++ "ERROR_INVALID_INDEX",
++ "ERROR_INVALID_ICON_HANDLE",
++ "ERROR_PRIVATE_DIALOG_INDEX",
++ "ERROR_LISTBOX_ID_NOT_FOUND",
++ "ERROR_NO_WILDCARD_CHARACTERS",
++ "ERROR_CLIPBOARD_NOT_OPEN",
++ "ERROR_HOTKEY_NOT_REGISTERED",
++ "ERROR_WINDOW_NOT_DIALOG",
++ "ERROR_CONTROL_ID_NOT_FOUND",
++ "ERROR_INVALID_COMBOBOX_MESSAGE",
++ "ERROR_WINDOW_NOT_COMBOBOX",
++ "ERROR_INVALID_EDIT_HEIGHT",
++ "ERROR_DC_NOT_FOUND",
++ "ERROR_INVALID_HOOK_FILTER",
++ "ERROR_INVALID_FILTER_PROC",
++ "ERROR_HOOK_NEEDS_HMOD",
++ "ERROR_GLOBAL_ONLY_HOOK",
++ "ERROR_JOURNAL_HOOK_SET",
++ "ERROR_HOOK_NOT_INSTALLED",
++ "ERROR_INVALID_LB_MESSAGE",
++ "ERROR_SETCOUNT_ON_BAD_LB",
++ "ERROR_LB_WITHOUT_TABSTOPS",
++ "ERROR_DESTROY_OBJECT_OF_OTHER_THREAD",
++ "ERROR_CHILD_WINDOW_MENU",
++ "ERROR_NO_SYSTEM_MENU",
++ "ERROR_INVALID_MSGBOX_STYLE",
++ "ERROR_INVALID_SPI_VALUE",
++ "ERROR_SCREEN_ALREADY_LOCKED",
++ "ERROR_HWNDS_HAVE_DIFF_PARENT",
++ "ERROR_NOT_CHILD_WINDOW",
++ "ERROR_INVALID_GW_COMMAND",
++ "ERROR_INVALID_THREAD_ID",
++ "ERROR_NON_MDICHILD_WINDOW",
++ "ERROR_POPUP_ALREADY_ACTIVE",
++ "ERROR_NO_SCROLLBARS",
++ "ERROR_INVALID_SCROLLBAR_RANGE",
++ "ERROR_INVALID_SHOWWIN_COMMAND",
++ "ERROR_NO_SYSTEM_RESOURCES",
++ "ERROR_NONPAGED_SYSTEM_RESOURCES",
++ "ERROR_PAGED_SYSTEM_RESOURCES",
++ "ERROR_WORKING_SET_QUOTA",
++ "ERROR_PAGEFILE_QUOTA",
++ "ERROR_COMMITMENT_LIMIT",
++ "ERROR_MENU_ITEM_NOT_FOUND",
++ "ERROR_INVALID_KEYBOARD_HANDLE",
++ "ERROR_HOOK_TYPE_NOT_ALLOWED",
++ "ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION",
++ "ERROR_TIMEOUT",
++ "ERROR_INVALID_MONITOR_HANDLE",
++ "ERROR_INCORRECT_SIZE",
++ "ERROR_SYMLINK_CLASS_DISABLED",
++ "ERROR_SYMLINK_NOT_SUPPORTED",
++ "ERROR_XML_PARSE_ERROR",
++ "ERROR_XMLDSIG_ERROR",
++ "ERROR_RESTART_APPLICATION",
++ "ERROR_WRONG_COMPARTMENT",
++ "ERROR_AUTHIP_FAILURE",
++ "ERROR_NO_NVRAM_RESOURCES",
++ "ERROR_NOT_GUI_PROCESS",
++ "ERROR_EVENTLOG_FILE_CORRUPT",
++ "ERROR_EVENTLOG_CANT_START",
++ "ERROR_LOG_FILE_FULL",
++ "ERROR_EVENTLOG_FILE_CHANGED",
++ "ERROR_CONTAINER_ASSIGNED",
++ "ERROR_JOB_NO_CONTAINER",
++ "ERROR_INVALID_TASK_NAME",
++ "ERROR_INVALID_TASK_INDEX",
++ "ERROR_THREAD_ALREADY_IN_TASK",
++ "ERROR_INSTALL_SERVICE_FAILURE",
++ "ERROR_INSTALL_USEREXIT",
++ "ERROR_INSTALL_FAILURE",
++ "ERROR_INSTALL_SUSPEND",
++ "ERROR_UNKNOWN_PRODUCT",
++ "ERROR_UNKNOWN_FEATURE",
++ "ERROR_UNKNOWN_COMPONENT",
++ "ERROR_UNKNOWN_PROPERTY",
++ "ERROR_INVALID_HANDLE_STATE",
++ "ERROR_BAD_CONFIGURATION",
++ "ERROR_INDEX_ABSENT",
++ "ERROR_INSTALL_SOURCE_ABSENT",
++ "ERROR_INSTALL_PACKAGE_VERSION",
++ "ERROR_PRODUCT_UNINSTALLED",
++ "ERROR_BAD_QUERY_SYNTAX",
++ "ERROR_INVALID_FIELD",
++ "ERROR_DEVICE_REMOVED",
++ "ERROR_INSTALL_ALREADY_RUNNING",
++ "ERROR_INSTALL_PACKAGE_OPEN_FAILED",
++ "ERROR_INSTALL_PACKAGE_INVALID",
++ "ERROR_INSTALL_UI_FAILURE",
++ "ERROR_INSTALL_LOG_FAILURE",
++ "ERROR_INSTALL_LANGUAGE_UNSUPPORTED",
++ "ERROR_INSTALL_TRANSFORM_FAILURE",
++ "ERROR_INSTALL_PACKAGE_REJECTED",
++ "ERROR_FUNCTION_NOT_CALLED",
++ "ERROR_FUNCTION_FAILED",
++ "ERROR_INVALID_TABLE",
++ "ERROR_DATATYPE_MISMATCH",
++ "ERROR_UNSUPPORTED_TYPE",
++ "ERROR_CREATE_FAILED",
++ "ERROR_INSTALL_TEMP_UNWRITABLE",
++ "ERROR_INSTALL_PLATFORM_UNSUPPORTED",
++ "ERROR_INSTALL_NOTUSED",
++ "ERROR_PATCH_PACKAGE_OPEN_FAILED",
++ "ERROR_PATCH_PACKAGE_INVALID",
++ "ERROR_PATCH_PACKAGE_UNSUPPORTED",
++ "ERROR_PRODUCT_VERSION",
++ "ERROR_INVALID_COMMAND_LINE",
++ "ERROR_INSTALL_REMOTE_DISALLOWED",
++ "ERROR_SUCCESS_REBOOT_INITIATED",
++ "ERROR_PATCH_TARGET_NOT_FOUND",
++ "ERROR_PATCH_PACKAGE_REJECTED",
++ "ERROR_INSTALL_TRANSFORM_REJECTED",
++ "ERROR_INSTALL_REMOTE_PROHIBITED",
++ "ERROR_PATCH_REMOVAL_UNSUPPORTED",
++ "ERROR_UNKNOWN_PATCH",
++ "ERROR_PATCH_NO_SEQUENCE",
++ "ERROR_PATCH_REMOVAL_DISALLOWED",
++ "ERROR_INVALID_PATCH_XML",
++ "ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT",
++ "ERROR_INSTALL_SERVICE_SAFEBOOT",
++ "ERROR_FAIL_FAST_EXCEPTION",
++ "ERROR_INSTALL_REJECTED",
++ "ERROR_DYNAMIC_CODE_BLOCKED",
++ "ERROR_NOT_SAME_OBJECT",
++ "ERROR_STRICT_CFG_VIOLATION",
++ "ERROR_SET_CONTEXT_DENIED",
++ "ERROR_CROSS_PARTITION_VIOLATION",
++ "ERROR_RETURN_ADDRESS_HIJACK_ATTEMPT",
++ "ERROR_INVALID_USER_BUFFER",
++ "ERROR_UNRECOGNIZED_MEDIA",
++ "ERROR_NO_TRUST_LSA_SECRET",
++ "ERROR_NO_TRUST_SAM_ACCOUNT",
++ "ERROR_TRUSTED_DOMAIN_FAILURE",
++ "ERROR_TRUSTED_RELATIONSHIP_FAILURE",
++ "ERROR_TRUST_FAILURE",
++ "ERROR_NETLOGON_NOT_STARTED",
++ "ERROR_ACCOUNT_EXPIRED",
++ "ERROR_REDIRECTOR_HAS_OPEN_HANDLES",
++ "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED",
++ "ERROR_UNKNOWN_PORT",
++ "ERROR_UNKNOWN_PRINTER_DRIVER",
++ "ERROR_UNKNOWN_PRINTPROCESSOR",
++ "ERROR_INVALID_SEPARATOR_FILE",
++ "ERROR_INVALID_PRIORITY",
++ "ERROR_INVALID_PRINTER_NAME",
++ "ERROR_PRINTER_ALREADY_EXISTS",
++ "ERROR_INVALID_PRINTER_COMMAND",
++ "ERROR_INVALID_DATATYPE",
++ "ERROR_INVALID_ENVIRONMENT",
++ "ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT",
++ "ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT",
++ "ERROR_NOLOGON_SERVER_TRUST_ACCOUNT",
++ "ERROR_DOMAIN_TRUST_INCONSISTENT",
++ "ERROR_SERVER_HAS_OPEN_HANDLES",
++ "ERROR_RESOURCE_DATA_NOT_FOUND",
++ "ERROR_RESOURCE_TYPE_NOT_FOUND",
++ "ERROR_RESOURCE_NAME_NOT_FOUND",
++ "ERROR_RESOURCE_LANG_NOT_FOUND",
++ "ERROR_NOT_ENOUGH_QUOTA",
++ "ERROR_INVALID_TIME",
++ "ERROR_INVALID_FORM_NAME",
++ "ERROR_INVALID_FORM_SIZE",
++ "ERROR_ALREADY_WAITING",
++ "ERROR_PRINTER_DELETED",
++ "ERROR_INVALID_PRINTER_STATE",
++ "ERROR_PASSWORD_MUST_CHANGE",
++ "ERROR_DOMAIN_CONTROLLER_NOT_FOUND",
++ "ERROR_ACCOUNT_LOCKED_OUT",
++ "ERROR_NO_SITENAME",
++ "ERROR_CANT_ACCESS_FILE",
++ "ERROR_CANT_RESOLVE_FILENAME",
++ "ERROR_KM_DRIVER_BLOCKED",
++ "ERROR_CONTEXT_EXPIRED",
++ "ERROR_PER_USER_TRUST_QUOTA_EXCEEDED",
++ "ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED",
++ "ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED",
++ "ERROR_AUTHENTICATION_FIREWALL_FAILED",
++ "ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED",
++ "ERROR_NTLM_BLOCKED",
++ "ERROR_PASSWORD_CHANGE_REQUIRED",
++ "ERROR_LOST_MODE_LOGON_RESTRICTION",
++ "ERROR_INVALID_PIXEL_FORMAT",
++ "ERROR_BAD_DRIVER",
++ "ERROR_INVALID_WINDOW_STYLE",
++ "ERROR_METAFILE_NOT_SUPPORTED",
++ "ERROR_TRANSFORM_NOT_SUPPORTED",
++ "ERROR_CLIPPING_NOT_SUPPORTED",
++ "ERROR_INVALID_CMM",
++ "ERROR_INVALID_PROFILE",
++ "ERROR_TAG_NOT_FOUND",
++ "ERROR_TAG_NOT_PRESENT",
++ "ERROR_DUPLICATE_TAG",
++ "ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE",
++ "ERROR_PROFILE_NOT_FOUND",
++ "ERROR_INVALID_COLORSPACE",
++ "ERROR_ICM_NOT_ENABLED",
++ "ERROR_DELETING_ICM_XFORM",
++ "ERROR_INVALID_TRANSFORM",
++ "ERROR_COLORSPACE_MISMATCH",
++ "ERROR_INVALID_COLORINDEX",
++ "ERROR_PROFILE_DOES_NOT_MATCH_DEVICE",
++ "ERROR_CONNECTED_OTHER_PASSWORD",
++ "ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT",
++ "ERROR_BAD_USERNAME",
++ "ERROR_NOT_CONNECTED",
++ "ERROR_OPEN_FILES",
++ "ERROR_ACTIVE_CONNECTIONS",
++ "ERROR_DEVICE_IN_USE",
++ "ERROR_UNKNOWN_PRINT_MONITOR",
++ "ERROR_PRINTER_DRIVER_IN_USE",
++ "ERROR_SPOOL_FILE_NOT_FOUND",
++ "ERROR_SPL_NO_STARTDOC",
++ "ERROR_SPL_NO_ADDJOB",
++ "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED",
++ "ERROR_PRINT_MONITOR_ALREADY_INSTALLED",
++ "ERROR_INVALID_PRINT_MONITOR",
++ "ERROR_PRINT_MONITOR_IN_USE",
++ "ERROR_PRINTER_HAS_JOBS_QUEUED",
++ "ERROR_SUCCESS_REBOOT_REQUIRED",
++ "ERROR_SUCCESS_RESTART_REQUIRED",
++ "ERROR_PRINTER_NOT_FOUND",
++ "ERROR_PRINTER_DRIVER_WARNED",
++ "ERROR_PRINTER_DRIVER_BLOCKED",
++ "ERROR_PRINTER_DRIVER_PACKAGE_IN_USE",
++ "ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND",
++ "ERROR_FAIL_REBOOT_REQUIRED",
++ "ERROR_FAIL_REBOOT_INITIATED",
++ "ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED",
++ "ERROR_PRINT_JOB_RESTART_REQUIRED",
++ "ERROR_INVALID_PRINTER_DRIVER_MANIFEST",
++ "ERROR_PRINTER_NOT_SHAREABLE",
++ "ERROR_REQUEST_PAUSED",
++ "ERROR_APPEXEC_CONDITION_NOT_SATISFIED",
++ "ERROR_APPEXEC_HANDLE_INVALIDATED",
++ "ERROR_APPEXEC_INVALID_HOST_GENERATION",
++ "ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION",
++ "ERROR_APPEXEC_INVALID_HOST_STATE",
++ "ERROR_APPEXEC_NO_DONOR",
++ "ERROR_APPEXEC_HOST_ID_MISMATCH",
++ "ERROR_APPEXEC_UNKNOWN_USER",
++ "ERROR_IO_REISSUE_AS_CACHED",
++ "ERROR_WINS_INTERNAL",
++ "ERROR_CAN_NOT_DEL_LOCAL_WINS",
++ "ERROR_STATIC_INIT",
++ "ERROR_INC_BACKUP",
++ "ERROR_FULL_BACKUP",
++ "ERROR_REC_NON_EXISTENT",
++ "ERROR_RPL_NOT_ALLOWED",
++ "ERROR_DHCP_ADDRESS_CONFLICT",
++ "ERROR_WMI_GUID_NOT_FOUND",
++ "ERROR_WMI_INSTANCE_NOT_FOUND",
++ "ERROR_WMI_ITEMID_NOT_FOUND",
++ "ERROR_WMI_TRY_AGAIN",
++ "ERROR_WMI_DP_NOT_FOUND",
++ "ERROR_WMI_UNRESOLVED_INSTANCE_REF",
++ "ERROR_WMI_ALREADY_ENABLED",
++ "ERROR_WMI_GUID_DISCONNECTED",
++ "ERROR_WMI_SERVER_UNAVAILABLE",
++ "ERROR_WMI_DP_FAILED",
++ "ERROR_WMI_INVALID_MOF",
++ "ERROR_WMI_INVALID_REGINFO",
++ "ERROR_WMI_ALREADY_DISABLED",
++ "ERROR_WMI_READ_ONLY",
++ "ERROR_WMI_SET_FAILURE",
++ "ERROR_NOT_APPCONTAINER",
++ "ERROR_APPCONTAINER_REQUIRED",
++ "ERROR_NOT_SUPPORTED_IN_APPCONTAINER",
++ "ERROR_INVALID_PACKAGE_SID_LENGTH",
++ "ERROR_INVALID_MEDIA",
++ "ERROR_INVALID_LIBRARY",
++ "ERROR_INVALID_MEDIA_POOL",
++ "ERROR_DRIVE_MEDIA_MISMATCH",
++ "ERROR_MEDIA_OFFLINE",
++ "ERROR_LIBRARY_OFFLINE",
++ "ERROR_EMPTY",
++ "ERROR_NOT_EMPTY",
++ "ERROR_MEDIA_UNAVAILABLE",
++ "ERROR_RESOURCE_DISABLED",
++ "ERROR_INVALID_CLEANER",
++ "ERROR_UNABLE_TO_CLEAN",
++ "ERROR_OBJECT_NOT_FOUND",
++ "ERROR_DATABASE_FAILURE",
++ "ERROR_DATABASE_FULL",
++ "ERROR_MEDIA_INCOMPATIBLE",
++ "ERROR_RESOURCE_NOT_PRESENT",
++ "ERROR_INVALID_OPERATION",
++ "ERROR_MEDIA_NOT_AVAILABLE",
++ "ERROR_DEVICE_NOT_AVAILABLE",
++ "ERROR_REQUEST_REFUSED",
++ "ERROR_INVALID_DRIVE_OBJECT",
++ "ERROR_LIBRARY_FULL",
++ "ERROR_MEDIUM_NOT_ACCESSIBLE",
++ "ERROR_UNABLE_TO_LOAD_MEDIUM",
++ "ERROR_UNABLE_TO_INVENTORY_DRIVE",
++ "ERROR_UNABLE_TO_INVENTORY_SLOT",
++ "ERROR_UNABLE_TO_INVENTORY_TRANSPORT",
++ "ERROR_TRANSPORT_FULL",
++ "ERROR_CONTROLLING_IEPORT",
++ "ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA",
++ "ERROR_CLEANER_SLOT_SET",
++ "ERROR_CLEANER_SLOT_NOT_SET",
++ "ERROR_CLEANER_CARTRIDGE_SPENT",
++ "ERROR_UNEXPECTED_OMID",
++ "ERROR_CANT_DELETE_LAST_ITEM",
++ "ERROR_MESSAGE_EXCEEDS_MAX_SIZE",
++ "ERROR_VOLUME_CONTAINS_SYS_FILES",
++ "ERROR_INDIGENOUS_TYPE",
++ "ERROR_NO_SUPPORTING_DRIVES",
++ "ERROR_CLEANER_CARTRIDGE_INSTALLED",
++ "ERROR_IEPORT_FULL",
++ "ERROR_FILE_OFFLINE",
++ "ERROR_REMOTE_STORAGE_NOT_ACTIVE",
++ "ERROR_REMOTE_STORAGE_MEDIA_ERROR",
++ "ERROR_NOT_A_REPARSE_POINT",
++ "ERROR_REPARSE_ATTRIBUTE_CONFLICT",
++ "ERROR_INVALID_REPARSE_DATA",
++ "ERROR_REPARSE_TAG_INVALID",
++ "ERROR_REPARSE_TAG_MISMATCH",
++ "ERROR_REPARSE_POINT_ENCOUNTERED",
++ "ERROR_APP_DATA_NOT_FOUND",
++ "ERROR_APP_DATA_EXPIRED",
++ "ERROR_APP_DATA_CORRUPT",
++ "ERROR_APP_DATA_LIMIT_EXCEEDED",
++ "ERROR_APP_DATA_REBOOT_REQUIRED",
++ "ERROR_SECUREBOOT_ROLLBACK_DETECTED",
++ "ERROR_SECUREBOOT_POLICY_VIOLATION",
++ "ERROR_SECUREBOOT_INVALID_POLICY",
++ "ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND",
++ "ERROR_SECUREBOOT_POLICY_NOT_SIGNED",
++ "ERROR_SECUREBOOT_NOT_ENABLED",
++ "ERROR_SECUREBOOT_FILE_REPLACED",
++ "ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED",
++ "ERROR_SECUREBOOT_POLICY_UNKNOWN",
++ "ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION",
++ "ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH",
++ "ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED",
++ "ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH",
++ "ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING",
++ "ERROR_SECUREBOOT_NOT_BASE_POLICY",
++ "ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY",
++ "ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED",
++ "ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED",
++ "ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED",
++ "ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED",
++ "ERROR_ALREADY_HAS_STREAM_ID",
++ "ERROR_SMR_GARBAGE_COLLECTION_REQUIRED",
++ "ERROR_WOF_WIM_HEADER_CORRUPT",
++ "ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT",
++ "ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT",
++ "ERROR_VOLUME_NOT_SIS_ENABLED",
++ "ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED",
++ "ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION",
++ "ERROR_SYSTEM_INTEGRITY_INVALID_POLICY",
++ "ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED",
++ "ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES",
++ "ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED",
++ "ERROR_VSM_NOT_INITIALIZED",
++ "ERROR_VSM_DMA_PROTECTION_NOT_IN_USE",
++ "ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED",
++ "ERROR_PLATFORM_MANIFEST_INVALID",
++ "ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED",
++ "ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED",
++ "ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND",
++ "ERROR_PLATFORM_MANIFEST_NOT_ACTIVE",
++ "ERROR_PLATFORM_MANIFEST_NOT_SIGNED",
++ "ERROR_DEPENDENT_RESOURCE_EXISTS",
++ "ERROR_DEPENDENCY_NOT_FOUND",
++ "ERROR_DEPENDENCY_ALREADY_EXISTS",
++ "ERROR_RESOURCE_NOT_ONLINE",
++ "ERROR_HOST_NODE_NOT_AVAILABLE",
++ "ERROR_RESOURCE_NOT_AVAILABLE",
++ "ERROR_RESOURCE_NOT_FOUND",
++ "ERROR_SHUTDOWN_CLUSTER",
++ "ERROR_CANT_EVICT_ACTIVE_NODE",
++ "ERROR_OBJECT_ALREADY_EXISTS",
++ "ERROR_OBJECT_IN_LIST",
++ "ERROR_GROUP_NOT_AVAILABLE",
++ "ERROR_GROUP_NOT_FOUND",
++ "ERROR_GROUP_NOT_ONLINE",
++ "ERROR_HOST_NODE_NOT_RESOURCE_OWNER",
++ "ERROR_HOST_NODE_NOT_GROUP_OWNER",
++ "ERROR_RESMON_CREATE_FAILED",
++ "ERROR_RESMON_ONLINE_FAILED",
++ "ERROR_RESOURCE_ONLINE",
++ "ERROR_QUORUM_RESOURCE",
++ "ERROR_NOT_QUORUM_CAPABLE",
++ "ERROR_CLUSTER_SHUTTING_DOWN",
++ "ERROR_INVALID_STATE",
++ "ERROR_RESOURCE_PROPERTIES_STORED",
++ "ERROR_NOT_QUORUM_CLASS",
++ "ERROR_CORE_RESOURCE",
++ "ERROR_QUORUM_RESOURCE_ONLINE_FAILED",
++ "ERROR_QUORUMLOG_OPEN_FAILED",
++ "ERROR_CLUSTERLOG_CORRUPT",
++ "ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE",
++ "ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE",
++ "ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND",
++ "ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE",
++ "ERROR_QUORUM_OWNER_ALIVE",
++ "ERROR_NETWORK_NOT_AVAILABLE",
++ "ERROR_NODE_NOT_AVAILABLE",
++ "ERROR_ALL_NODES_NOT_AVAILABLE",
++ "ERROR_RESOURCE_FAILED",
++ "ERROR_CLUSTER_INVALID_NODE",
++ "ERROR_CLUSTER_NODE_EXISTS",
++ "ERROR_CLUSTER_JOIN_IN_PROGRESS",
++ "ERROR_CLUSTER_NODE_NOT_FOUND",
++ "ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND",
++ "ERROR_CLUSTER_NETWORK_EXISTS",
++ "ERROR_CLUSTER_NETWORK_NOT_FOUND",
++ "ERROR_CLUSTER_NETINTERFACE_EXISTS",
++ "ERROR_CLUSTER_NETINTERFACE_NOT_FOUND",
++ "ERROR_CLUSTER_INVALID_REQUEST",
++ "ERROR_CLUSTER_INVALID_NETWORK_PROVIDER",
++ "ERROR_CLUSTER_NODE_DOWN",
++ "ERROR_CLUSTER_NODE_UNREACHABLE",
++ "ERROR_CLUSTER_NODE_NOT_MEMBER",
++ "ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS",
++ "ERROR_CLUSTER_INVALID_NETWORK",
++ "ERROR_CLUSTER_NODE_UP",
++ "ERROR_CLUSTER_IPADDR_IN_USE",
++ "ERROR_CLUSTER_NODE_NOT_PAUSED",
++ "ERROR_CLUSTER_NO_SECURITY_CONTEXT",
++ "ERROR_CLUSTER_NETWORK_NOT_INTERNAL",
++ "ERROR_CLUSTER_NODE_ALREADY_UP",
++ "ERROR_CLUSTER_NODE_ALREADY_DOWN",
++ "ERROR_CLUSTER_NETWORK_ALREADY_ONLINE",
++ "ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE",
++ "ERROR_CLUSTER_NODE_ALREADY_MEMBER",
++ "ERROR_CLUSTER_LAST_INTERNAL_NETWORK",
++ "ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS",
++ "ERROR_INVALID_OPERATION_ON_QUORUM",
++ "ERROR_DEPENDENCY_NOT_ALLOWED",
++ "ERROR_CLUSTER_NODE_PAUSED",
++ "ERROR_NODE_CANT_HOST_RESOURCE",
++ "ERROR_CLUSTER_NODE_NOT_READY",
++ "ERROR_CLUSTER_NODE_SHUTTING_DOWN",
++ "ERROR_CLUSTER_JOIN_ABORTED",
++ "ERROR_CLUSTER_INCOMPATIBLE_VERSIONS",
++ "ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED",
++ "ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED",
++ "ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND",
++ "ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED",
++ "ERROR_CLUSTER_RESNAME_NOT_FOUND",
++ "ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED",
++ "ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST",
++ "ERROR_CLUSTER_DATABASE_SEQMISMATCH",
++ "ERROR_RESMON_INVALID_STATE",
++ "ERROR_CLUSTER_GUM_NOT_LOCKER",
++ "ERROR_QUORUM_DISK_NOT_FOUND",
++ "ERROR_DATABASE_BACKUP_CORRUPT",
++ "ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT",
++ "ERROR_RESOURCE_PROPERTY_UNCHANGEABLE",
++ "ERROR_NO_ADMIN_ACCESS_POINT",
++ "ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE",
++ "ERROR_CLUSTER_QUORUMLOG_NOT_FOUND",
++ "ERROR_CLUSTER_MEMBERSHIP_HALT",
++ "ERROR_CLUSTER_INSTANCE_ID_MISMATCH",
++ "ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP",
++ "ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH",
++ "ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP",
++ "ERROR_CLUSTER_PARAMETER_MISMATCH",
++ "ERROR_NODE_CANNOT_BE_CLUSTERED",
++ "ERROR_CLUSTER_WRONG_OS_VERSION",
++ "ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME",
++ "ERROR_CLUSCFG_ALREADY_COMMITTED",
++ "ERROR_CLUSCFG_ROLLBACK_FAILED",
++ "ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT",
++ "ERROR_CLUSTER_OLD_VERSION",
++ "ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME",
++ "ERROR_CLUSTER_NO_NET_ADAPTERS",
++ "ERROR_CLUSTER_POISONED",
++ "ERROR_CLUSTER_GROUP_MOVING",
++ "ERROR_CLUSTER_RESOURCE_TYPE_BUSY",
++ "ERROR_RESOURCE_CALL_TIMED_OUT",
++ "ERROR_INVALID_CLUSTER_IPV6_ADDRESS",
++ "ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION",
++ "ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS",
++ "ERROR_CLUSTER_PARTIAL_SEND",
++ "ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION",
++ "ERROR_CLUSTER_INVALID_STRING_TERMINATION",
++ "ERROR_CLUSTER_INVALID_STRING_FORMAT",
++ "ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS",
++ "ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS",
++ "ERROR_CLUSTER_NULL_DATA",
++ "ERROR_CLUSTER_PARTIAL_READ",
++ "ERROR_CLUSTER_PARTIAL_WRITE",
++ "ERROR_CLUSTER_CANT_DESERIALIZE_DATA",
++ "ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT",
++ "ERROR_CLUSTER_NO_QUORUM",
++ "ERROR_CLUSTER_INVALID_IPV6_NETWORK",
++ "ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK",
++ "ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP",
++ "ERROR_DEPENDENCY_TREE_TOO_COMPLEX",
++ "ERROR_EXCEPTION_IN_RESOURCE_CALL",
++ "ERROR_CLUSTER_RHS_FAILED_INITIALIZATION",
++ "ERROR_CLUSTER_NOT_INSTALLED",
++ "ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE",
++ "ERROR_CLUSTER_MAX_NODES_IN_CLUSTER",
++ "ERROR_CLUSTER_TOO_MANY_NODES",
++ "ERROR_CLUSTER_OBJECT_ALREADY_USED",
++ "ERROR_NONCORE_GROUPS_FOUND",
++ "ERROR_FILE_SHARE_RESOURCE_CONFLICT",
++ "ERROR_CLUSTER_EVICT_INVALID_REQUEST",
++ "ERROR_CLUSTER_SINGLETON_RESOURCE",
++ "ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE",
++ "ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED",
++ "ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR",
++ "ERROR_CLUSTER_GROUP_BUSY",
++ "ERROR_CLUSTER_NOT_SHARED_VOLUME",
++ "ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR",
++ "ERROR_CLUSTER_SHARED_VOLUMES_IN_USE",
++ "ERROR_CLUSTER_USE_SHARED_VOLUMES_API",
++ "ERROR_CLUSTER_BACKUP_IN_PROGRESS",
++ "ERROR_NON_CSV_PATH",
++ "ERROR_CSV_VOLUME_NOT_LOCAL",
++ "ERROR_CLUSTER_WATCHDOG_TERMINATING",
++ "ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES",
++ "ERROR_CLUSTER_INVALID_NODE_WEIGHT",
++ "ERROR_CLUSTER_RESOURCE_VETOED_CALL",
++ "ERROR_RESMON_SYSTEM_RESOURCES_LACKING",
++ "ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION",
++ "ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE",
++ "ERROR_CLUSTER_GROUP_QUEUED",
++ "ERROR_CLUSTER_RESOURCE_LOCKED_STATUS",
++ "ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED",
++ "ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS",
++ "ERROR_CLUSTER_DISK_NOT_CONNECTED",
++ "ERROR_DISK_NOT_CSV_CAPABLE",
++ "ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE",
++ "ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED",
++ "ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED",
++ "ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES",
++ "ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES",
++ "ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE",
++ "ERROR_CLUSTER_AFFINITY_CONFLICT",
++ "ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE",
++ "ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS",
++ "ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED",
++ "ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED",
++ "ERROR_CLUSTER_UPGRADE_IN_PROGRESS",
++ "ERROR_CLUSTER_UPGRADE_INCOMPLETE",
++ "ERROR_CLUSTER_NODE_IN_GRACE_PERIOD",
++ "ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT",
++ "ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER",
++ "ERROR_CLUSTER_RESOURCE_NOT_MONITORED",
++ "ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED",
++ "ERROR_CLUSTER_RESOURCE_IS_REPLICATED",
++ "ERROR_CLUSTER_NODE_ISOLATED",
++ "ERROR_CLUSTER_NODE_QUARANTINED",
++ "ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED",
++ "ERROR_CLUSTER_SPACE_DEGRADED",
++ "ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED",
++ "ERROR_CLUSTER_CSV_INVALID_HANDLE",
++ "ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR",
++ "ERROR_GROUPSET_NOT_AVAILABLE",
++ "ERROR_GROUPSET_NOT_FOUND",
++ "ERROR_GROUPSET_CANT_PROVIDE",
++ "ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND",
++ "ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY",
++ "ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION",
++ "ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS",
++ "ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME",
++ "ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE",
++ "ERROR_ENCRYPTION_FAILED",
++ "ERROR_DECRYPTION_FAILED",
++ "ERROR_FILE_ENCRYPTED",
++ "ERROR_NO_RECOVERY_POLICY",
++ "ERROR_NO_EFS",
++ "ERROR_WRONG_EFS",
++ "ERROR_NO_USER_KEYS",
++ "ERROR_FILE_NOT_ENCRYPTED",
++ "ERROR_NOT_EXPORT_FORMAT",
++ "ERROR_FILE_READ_ONLY",
++ "ERROR_DIR_EFS_DISALLOWED",
++ "ERROR_EFS_SERVER_NOT_TRUSTED",
++ "ERROR_BAD_RECOVERY_POLICY",
++ "ERROR_EFS_ALG_BLOB_TOO_BIG",
++ "ERROR_VOLUME_NOT_SUPPORT_EFS",
++ "ERROR_EFS_DISABLED",
++ "ERROR_EFS_VERSION_NOT_SUPPORT",
++ "ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE",
++ "ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER",
++ "ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE",
++ "ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE",
++ "ERROR_CS_ENCRYPTION_FILE_NOT_CSE",
++ "ERROR_ENCRYPTION_POLICY_DENIES_OPERATION",
++ "ERROR_WIP_ENCRYPTION_FAILED",
++ "ERROR_NO_BROWSER_SERVERS_FOUND",
++ "ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM",
++ "ERROR_LOG_SECTOR_INVALID",
++ "ERROR_LOG_SECTOR_PARITY_INVALID",
++ "ERROR_LOG_SECTOR_REMAPPED",
++ "ERROR_LOG_BLOCK_INCOMPLETE",
++ "ERROR_LOG_INVALID_RANGE",
++ "ERROR_LOG_BLOCKS_EXHAUSTED",
++ "ERROR_LOG_READ_CONTEXT_INVALID",
++ "ERROR_LOG_RESTART_INVALID",
++ "ERROR_LOG_BLOCK_VERSION",
++ "ERROR_LOG_BLOCK_INVALID",
++ "ERROR_LOG_READ_MODE_INVALID",
++ "ERROR_LOG_NO_RESTART",
++ "ERROR_LOG_METADATA_CORRUPT",
++ "ERROR_LOG_METADATA_INVALID",
++ "ERROR_LOG_METADATA_INCONSISTENT",
++ "ERROR_LOG_RESERVATION_INVALID",
++ "ERROR_LOG_CANT_DELETE",
++ "ERROR_LOG_CONTAINER_LIMIT_EXCEEDED",
++ "ERROR_LOG_START_OF_LOG",
++ "ERROR_LOG_POLICY_ALREADY_INSTALLED",
++ "ERROR_LOG_POLICY_NOT_INSTALLED",
++ "ERROR_LOG_POLICY_INVALID",
++ "ERROR_LOG_POLICY_CONFLICT",
++ "ERROR_LOG_PINNED_ARCHIVE_TAIL",
++ "ERROR_LOG_RECORD_NONEXISTENT",
++ "ERROR_LOG_RECORDS_RESERVED_INVALID",
++ "ERROR_LOG_SPACE_RESERVED_INVALID",
++ "ERROR_LOG_TAIL_INVALID",
++ "ERROR_LOG_FULL",
++ "ERROR_COULD_NOT_RESIZE_LOG",
++ "ERROR_LOG_MULTIPLEXED",
++ "ERROR_LOG_DEDICATED",
++ "ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS",
++ "ERROR_LOG_ARCHIVE_IN_PROGRESS",
++ "ERROR_LOG_EPHEMERAL",
++ "ERROR_LOG_NOT_ENOUGH_CONTAINERS",
++ "ERROR_LOG_CLIENT_ALREADY_REGISTERED",
++ "ERROR_LOG_CLIENT_NOT_REGISTERED",
++ "ERROR_LOG_FULL_HANDLER_IN_PROGRESS",
++ "ERROR_LOG_CONTAINER_READ_FAILED",
++ "ERROR_LOG_CONTAINER_WRITE_FAILED",
++ "ERROR_LOG_CONTAINER_OPEN_FAILED",
++ "ERROR_LOG_CONTAINER_STATE_INVALID",
++ "ERROR_LOG_STATE_INVALID",
++ "ERROR_LOG_PINNED",
++ "ERROR_LOG_METADATA_FLUSH_FAILED",
++ "ERROR_LOG_INCONSISTENT_SECURITY",
++ "ERROR_LOG_APPENDED_FLUSH_FAILED",
++ "ERROR_LOG_PINNED_RESERVATION",
++ "ERROR_INVALID_TRANSACTION",
++ "ERROR_TRANSACTION_NOT_ACTIVE",
++ "ERROR_TRANSACTION_REQUEST_NOT_VALID",
++ "ERROR_TRANSACTION_NOT_REQUESTED",
++ "ERROR_TRANSACTION_ALREADY_ABORTED",
++ "ERROR_TRANSACTION_ALREADY_COMMITTED",
++ "ERROR_TM_INITIALIZATION_FAILED",
++ "ERROR_RESOURCEMANAGER_READ_ONLY",
++ "ERROR_TRANSACTION_NOT_JOINED",
++ "ERROR_TRANSACTION_SUPERIOR_EXISTS",
++ "ERROR_CRM_PROTOCOL_ALREADY_EXISTS",
++ "ERROR_TRANSACTION_PROPAGATION_FAILED",
++ "ERROR_CRM_PROTOCOL_NOT_FOUND",
++ "ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER",
++ "ERROR_CURRENT_TRANSACTION_NOT_VALID",
++ "ERROR_TRANSACTION_NOT_FOUND",
++ "ERROR_RESOURCEMANAGER_NOT_FOUND",
++ "ERROR_ENLISTMENT_NOT_FOUND",
++ "ERROR_TRANSACTIONMANAGER_NOT_FOUND",
++ "ERROR_TRANSACTIONMANAGER_NOT_ONLINE",
++ "ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION",
++ "ERROR_TRANSACTION_NOT_ROOT",
++ "ERROR_TRANSACTION_OBJECT_EXPIRED",
++ "ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED",
++ "ERROR_TRANSACTION_RECORD_TOO_LONG",
++ "ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED",
++ "ERROR_TRANSACTION_INTEGRITY_VIOLATED",
++ "ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH",
++ "ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT",
++ "ERROR_TRANSACTION_MUST_WRITETHROUGH",
++ "ERROR_TRANSACTION_NO_SUPERIOR",
++ "ERROR_HEURISTIC_DAMAGE_POSSIBLE",
++ "ERROR_TRANSACTIONAL_CONFLICT",
++ "ERROR_RM_NOT_ACTIVE",
++ "ERROR_RM_METADATA_CORRUPT",
++ "ERROR_DIRECTORY_NOT_RM",
++ "ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE",
++ "ERROR_LOG_RESIZE_INVALID_SIZE",
++ "ERROR_OBJECT_NO_LONGER_EXISTS",
++ "ERROR_STREAM_MINIVERSION_NOT_FOUND",
++ "ERROR_STREAM_MINIVERSION_NOT_VALID",
++ "ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION",
++ "ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT",
++ "ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS",
++ "ERROR_REMOTE_FILE_VERSION_MISMATCH",
++ "ERROR_HANDLE_NO_LONGER_VALID",
++ "ERROR_NO_TXF_METADATA",
++ "ERROR_LOG_CORRUPTION_DETECTED",
++ "ERROR_CANT_RECOVER_WITH_HANDLE_OPEN",
++ "ERROR_RM_DISCONNECTED",
++ "ERROR_ENLISTMENT_NOT_SUPERIOR",
++ "ERROR_RECOVERY_NOT_NEEDED",
++ "ERROR_RM_ALREADY_STARTED",
++ "ERROR_FILE_IDENTITY_NOT_PERSISTENT",
++ "ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY",
++ "ERROR_CANT_CROSS_RM_BOUNDARY",
++ "ERROR_TXF_DIR_NOT_EMPTY",
++ "ERROR_INDOUBT_TRANSACTIONS_EXIST",
++ "ERROR_TM_VOLATILE",
++ "ERROR_ROLLBACK_TIMER_EXPIRED",
++ "ERROR_TXF_ATTRIBUTE_CORRUPT",
++ "ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION",
++ "ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED",
++ "ERROR_LOG_GROWTH_FAILED",
++ "ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE",
++ "ERROR_TXF_METADATA_ALREADY_PRESENT",
++ "ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET",
++ "ERROR_TRANSACTION_REQUIRED_PROMOTION",
++ "ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION",
++ "ERROR_TRANSACTIONS_NOT_FROZEN",
++ "ERROR_TRANSACTION_FREEZE_IN_PROGRESS",
++ "ERROR_NOT_SNAPSHOT_VOLUME",
++ "ERROR_NO_SAVEPOINT_WITH_OPEN_FILES",
++ "ERROR_DATA_LOST_REPAIR",
++ "ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION",
++ "ERROR_TM_IDENTITY_MISMATCH",
++ "ERROR_FLOATED_SECTION",
++ "ERROR_CANNOT_ACCEPT_TRANSACTED_WORK",
++ "ERROR_CANNOT_ABORT_TRANSACTIONS",
++ "ERROR_BAD_CLUSTERS",
++ "ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION",
++ "ERROR_VOLUME_DIRTY",
++ "ERROR_NO_LINK_TRACKING_IN_TRANSACTION",
++ "ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION",
++ "ERROR_EXPIRED_HANDLE",
++ "ERROR_TRANSACTION_NOT_ENLISTED",
++ "ERROR_CTX_WINSTATION_NAME_INVALID",
++ "ERROR_CTX_INVALID_PD",
++ "ERROR_CTX_PD_NOT_FOUND",
++ "ERROR_CTX_WD_NOT_FOUND",
++ "ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY",
++ "ERROR_CTX_SERVICE_NAME_COLLISION",
++ "ERROR_CTX_CLOSE_PENDING",
++ "ERROR_CTX_NO_OUTBUF",
++ "ERROR_CTX_MODEM_INF_NOT_FOUND",
++ "ERROR_CTX_INVALID_MODEMNAME",
++ "ERROR_CTX_MODEM_RESPONSE_ERROR",
++ "ERROR_CTX_MODEM_RESPONSE_TIMEOUT",
++ "ERROR_CTX_MODEM_RESPONSE_NO_CARRIER",
++ "ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE",
++ "ERROR_CTX_MODEM_RESPONSE_BUSY",
++ "ERROR_CTX_MODEM_RESPONSE_VOICE",
++ "ERROR_CTX_TD_ERROR",
++ "ERROR_CTX_WINSTATION_NOT_FOUND",
++ "ERROR_CTX_WINSTATION_ALREADY_EXISTS",
++ "ERROR_CTX_WINSTATION_BUSY",
++ "ERROR_CTX_BAD_VIDEO_MODE",
++ "ERROR_CTX_GRAPHICS_INVALID",
++ "ERROR_CTX_LOGON_DISABLED",
++ "ERROR_CTX_NOT_CONSOLE",
++ "ERROR_CTX_CLIENT_QUERY_TIMEOUT",
++ "ERROR_CTX_CONSOLE_DISCONNECT",
++ "ERROR_CTX_CONSOLE_CONNECT",
++ "ERROR_CTX_SHADOW_DENIED",
++ "ERROR_CTX_WINSTATION_ACCESS_DENIED",
++ "ERROR_CTX_INVALID_WD",
++ "ERROR_CTX_SHADOW_INVALID",
++ "ERROR_CTX_SHADOW_DISABLED",
++ "ERROR_CTX_CLIENT_LICENSE_IN_USE",
++ "ERROR_CTX_CLIENT_LICENSE_NOT_SET",
++ "ERROR_CTX_LICENSE_NOT_AVAILABLE",
++ "ERROR_CTX_LICENSE_CLIENT_INVALID",
++ "ERROR_CTX_LICENSE_EXPIRED",
++ "ERROR_CTX_SHADOW_NOT_RUNNING",
++ "ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE",
++ "ERROR_ACTIVATION_COUNT_EXCEEDED",
++ "ERROR_CTX_WINSTATIONS_DISABLED",
++ "ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED",
++ "ERROR_CTX_SESSION_IN_USE",
++ "ERROR_CTX_NO_FORCE_LOGOFF",
++ "ERROR_CTX_ACCOUNT_RESTRICTION",
++ "ERROR_RDP_PROTOCOL_ERROR",
++ "ERROR_CTX_CDM_CONNECT",
++ "ERROR_CTX_CDM_DISCONNECT",
++ "ERROR_CTX_SECURITY_LAYER_ERROR",
++ "ERROR_TS_INCOMPATIBLE_SESSIONS",
++ "ERROR_TS_VIDEO_SUBSYSTEM_ERROR",
++ "ERROR_DS_NOT_INSTALLED",
++ "ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY",
++ "ERROR_DS_NO_ATTRIBUTE_OR_VALUE",
++ "ERROR_DS_INVALID_ATTRIBUTE_SYNTAX",
++ "ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED",
++ "ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS",
++ "ERROR_DS_BUSY",
++ "ERROR_DS_UNAVAILABLE",
++ "ERROR_DS_NO_RIDS_ALLOCATED",
++ "ERROR_DS_NO_MORE_RIDS",
++ "ERROR_DS_INCORRECT_ROLE_OWNER",
++ "ERROR_DS_RIDMGR_INIT_ERROR",
++ "ERROR_DS_OBJ_CLASS_VIOLATION",
++ "ERROR_DS_CANT_ON_NON_LEAF",
++ "ERROR_DS_CANT_ON_RDN",
++ "ERROR_DS_CANT_MOD_OBJ_CLASS",
++ "ERROR_DS_CROSS_DOM_MOVE_ERROR",
++ "ERROR_DS_GC_NOT_AVAILABLE",
++ "ERROR_SHARED_POLICY",
++ "ERROR_POLICY_OBJECT_NOT_FOUND",
++ "ERROR_POLICY_ONLY_IN_DS",
++ "ERROR_PROMOTION_ACTIVE",
++ "ERROR_NO_PROMOTION_ACTIVE",
++ "ERROR_DS_OPERATIONS_ERROR",
++ "ERROR_DS_PROTOCOL_ERROR",
++ "ERROR_DS_TIMELIMIT_EXCEEDED",
++ "ERROR_DS_SIZELIMIT_EXCEEDED",
++ "ERROR_DS_ADMIN_LIMIT_EXCEEDED",
++ "ERROR_DS_COMPARE_FALSE",
++ "ERROR_DS_COMPARE_TRUE",
++ "ERROR_DS_AUTH_METHOD_NOT_SUPPORTED",
++ "ERROR_DS_STRONG_AUTH_REQUIRED",
++ "ERROR_DS_INAPPROPRIATE_AUTH",
++ "ERROR_DS_AUTH_UNKNOWN",
++ "ERROR_DS_REFERRAL",
++ "ERROR_DS_UNAVAILABLE_CRIT_EXTENSION",
++ "ERROR_DS_CONFIDENTIALITY_REQUIRED",
++ "ERROR_DS_INAPPROPRIATE_MATCHING",
++ "ERROR_DS_CONSTRAINT_VIOLATION",
++ "ERROR_DS_NO_SUCH_OBJECT",
++ "ERROR_DS_ALIAS_PROBLEM",
++ "ERROR_DS_INVALID_DN_SYNTAX",
++ "ERROR_DS_IS_LEAF",
++ "ERROR_DS_ALIAS_DEREF_PROBLEM",
++ "ERROR_DS_UNWILLING_TO_PERFORM",
++ "ERROR_DS_LOOP_DETECT",
++ "ERROR_DS_NAMING_VIOLATION",
++ "ERROR_DS_OBJECT_RESULTS_TOO_LARGE",
++ "ERROR_DS_AFFECTS_MULTIPLE_DSAS",
++ "ERROR_DS_SERVER_DOWN",
++ "ERROR_DS_LOCAL_ERROR",
++ "ERROR_DS_ENCODING_ERROR",
++ "ERROR_DS_DECODING_ERROR",
++ "ERROR_DS_FILTER_UNKNOWN",
++ "ERROR_DS_PARAM_ERROR",
++ "ERROR_DS_NOT_SUPPORTED",
++ "ERROR_DS_NO_RESULTS_RETURNED",
++ "ERROR_DS_CONTROL_NOT_FOUND",
++ "ERROR_DS_CLIENT_LOOP",
++ "ERROR_DS_REFERRAL_LIMIT_EXCEEDED",
++ "ERROR_DS_SORT_CONTROL_MISSING",
++ "ERROR_DS_OFFSET_RANGE_ERROR",
++ "ERROR_DS_RIDMGR_DISABLED",
++ "ERROR_DS_ROOT_MUST_BE_NC",
++ "ERROR_DS_ADD_REPLICA_INHIBITED",
++ "ERROR_DS_ATT_NOT_DEF_IN_SCHEMA",
++ "ERROR_DS_MAX_OBJ_SIZE_EXCEEDED",
++ "ERROR_DS_OBJ_STRING_NAME_EXISTS",
++ "ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA",
++ "ERROR_DS_RDN_DOESNT_MATCH_SCHEMA",
++ "ERROR_DS_NO_REQUESTED_ATTS_FOUND",
++ "ERROR_DS_USER_BUFFER_TO_SMALL",
++ "ERROR_DS_ATT_IS_NOT_ON_OBJ",
++ "ERROR_DS_ILLEGAL_MOD_OPERATION",
++ "ERROR_DS_OBJ_TOO_LARGE",
++ "ERROR_DS_BAD_INSTANCE_TYPE",
++ "ERROR_DS_MASTERDSA_REQUIRED",
++ "ERROR_DS_OBJECT_CLASS_REQUIRED",
++ "ERROR_DS_MISSING_REQUIRED_ATT",
++ "ERROR_DS_ATT_NOT_DEF_FOR_CLASS",
++ "ERROR_DS_ATT_ALREADY_EXISTS",
++ "ERROR_DS_CANT_ADD_ATT_VALUES",
++ "ERROR_DS_SINGLE_VALUE_CONSTRAINT",
++ "ERROR_DS_RANGE_CONSTRAINT",
++ "ERROR_DS_ATT_VAL_ALREADY_EXISTS",
++ "ERROR_DS_CANT_REM_MISSING_ATT",
++ "ERROR_DS_CANT_REM_MISSING_ATT_VAL",
++ "ERROR_DS_ROOT_CANT_BE_SUBREF",
++ "ERROR_DS_NO_CHAINING",
++ "ERROR_DS_NO_CHAINED_EVAL",
++ "ERROR_DS_NO_PARENT_OBJECT",
++ "ERROR_DS_PARENT_IS_AN_ALIAS",
++ "ERROR_DS_CANT_MIX_MASTER_AND_REPS",
++ "ERROR_DS_CHILDREN_EXIST",
++ "ERROR_DS_OBJ_NOT_FOUND",
++ "ERROR_DS_ALIASED_OBJ_MISSING",
++ "ERROR_DS_BAD_NAME_SYNTAX",
++ "ERROR_DS_ALIAS_POINTS_TO_ALIAS",
++ "ERROR_DS_CANT_DEREF_ALIAS",
++ "ERROR_DS_OUT_OF_SCOPE",
++ "ERROR_DS_OBJECT_BEING_REMOVED",
++ "ERROR_DS_CANT_DELETE_DSA_OBJ",
++ "ERROR_DS_GENERIC_ERROR",
++ "ERROR_DS_DSA_MUST_BE_INT_MASTER",
++ "ERROR_DS_CLASS_NOT_DSA",
++ "ERROR_DS_INSUFF_ACCESS_RIGHTS",
++ "ERROR_DS_ILLEGAL_SUPERIOR",
++ "ERROR_DS_ATTRIBUTE_OWNED_BY_SAM",
++ "ERROR_DS_NAME_TOO_MANY_PARTS",
++ "ERROR_DS_NAME_TOO_LONG",
++ "ERROR_DS_NAME_VALUE_TOO_LONG",
++ "ERROR_DS_NAME_UNPARSEABLE",
++ "ERROR_DS_NAME_TYPE_UNKNOWN",
++ "ERROR_DS_NOT_AN_OBJECT",
++ "ERROR_DS_SEC_DESC_TOO_SHORT",
++ "ERROR_DS_SEC_DESC_INVALID",
++ "ERROR_DS_NO_DELETED_NAME",
++ "ERROR_DS_SUBREF_MUST_HAVE_PARENT",
++ "ERROR_DS_NCNAME_MUST_BE_NC",
++ "ERROR_DS_CANT_ADD_SYSTEM_ONLY",
++ "ERROR_DS_CLASS_MUST_BE_CONCRETE",
++ "ERROR_DS_INVALID_DMD",
++ "ERROR_DS_OBJ_GUID_EXISTS",
++ "ERROR_DS_NOT_ON_BACKLINK",
++ "ERROR_DS_NO_CROSSREF_FOR_NC",
++ "ERROR_DS_SHUTTING_DOWN",
++ "ERROR_DS_UNKNOWN_OPERATION",
++ "ERROR_DS_INVALID_ROLE_OWNER",
++ "ERROR_DS_COULDNT_CONTACT_FSMO",
++ "ERROR_DS_CROSS_NC_DN_RENAME",
++ "ERROR_DS_CANT_MOD_SYSTEM_ONLY",
++ "ERROR_DS_REPLICATOR_ONLY",
++ "ERROR_DS_OBJ_CLASS_NOT_DEFINED",
++ "ERROR_DS_OBJ_CLASS_NOT_SUBCLASS",
++ "ERROR_DS_NAME_REFERENCE_INVALID",
++ "ERROR_DS_CROSS_REF_EXISTS",
++ "ERROR_DS_CANT_DEL_MASTER_CROSSREF",
++ "ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD",
++ "ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX",
++ "ERROR_DS_DUP_RDN",
++ "ERROR_DS_DUP_OID",
++ "ERROR_DS_DUP_MAPI_ID",
++ "ERROR_DS_DUP_SCHEMA_ID_GUID",
++ "ERROR_DS_DUP_LDAP_DISPLAY_NAME",
++ "ERROR_DS_SEMANTIC_ATT_TEST",
++ "ERROR_DS_SYNTAX_MISMATCH",
++ "ERROR_DS_EXISTS_IN_MUST_HAVE",
++ "ERROR_DS_EXISTS_IN_MAY_HAVE",
++ "ERROR_DS_NONEXISTENT_MAY_HAVE",
++ "ERROR_DS_NONEXISTENT_MUST_HAVE",
++ "ERROR_DS_AUX_CLS_TEST_FAIL",
++ "ERROR_DS_NONEXISTENT_POSS_SUP",
++ "ERROR_DS_SUB_CLS_TEST_FAIL",
++ "ERROR_DS_BAD_RDN_ATT_ID_SYNTAX",
++ "ERROR_DS_EXISTS_IN_AUX_CLS",
++ "ERROR_DS_EXISTS_IN_SUB_CLS",
++ "ERROR_DS_EXISTS_IN_POSS_SUP",
++ "ERROR_DS_RECALCSCHEMA_FAILED",
++ "ERROR_DS_TREE_DELETE_NOT_FINISHED",
++ "ERROR_DS_CANT_DELETE",
++ "ERROR_DS_ATT_SCHEMA_REQ_ID",
++ "ERROR_DS_BAD_ATT_SCHEMA_SYNTAX",
++ "ERROR_DS_CANT_CACHE_ATT",
++ "ERROR_DS_CANT_CACHE_CLASS",
++ "ERROR_DS_CANT_REMOVE_ATT_CACHE",
++ "ERROR_DS_CANT_REMOVE_CLASS_CACHE",
++ "ERROR_DS_CANT_RETRIEVE_DN",
++ "ERROR_DS_MISSING_SUPREF",
++ "ERROR_DS_CANT_RETRIEVE_INSTANCE",
++ "ERROR_DS_CODE_INCONSISTENCY",
++ "ERROR_DS_DATABASE_ERROR",
++ "ERROR_DS_GOVERNSID_MISSING",
++ "ERROR_DS_MISSING_EXPECTED_ATT",
++ "ERROR_DS_NCNAME_MISSING_CR_REF",
++ "ERROR_DS_SECURITY_CHECKING_ERROR",
++ "ERROR_DS_SCHEMA_NOT_LOADED",
++ "ERROR_DS_SCHEMA_ALLOC_FAILED",
++ "ERROR_DS_ATT_SCHEMA_REQ_SYNTAX",
++ "ERROR_DS_GCVERIFY_ERROR",
++ "ERROR_DS_DRA_SCHEMA_MISMATCH",
++ "ERROR_DS_CANT_FIND_DSA_OBJ",
++ "ERROR_DS_CANT_FIND_EXPECTED_NC",
++ "ERROR_DS_CANT_FIND_NC_IN_CACHE",
++ "ERROR_DS_CANT_RETRIEVE_CHILD",
++ "ERROR_DS_SECURITY_ILLEGAL_MODIFY",
++ "ERROR_DS_CANT_REPLACE_HIDDEN_REC",
++ "ERROR_DS_BAD_HIERARCHY_FILE",
++ "ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED",
++ "ERROR_DS_CONFIG_PARAM_MISSING",
++ "ERROR_DS_COUNTING_AB_INDICES_FAILED",
++ "ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED",
++ "ERROR_DS_INTERNAL_FAILURE",
++ "ERROR_DS_UNKNOWN_ERROR",
++ "ERROR_DS_ROOT_REQUIRES_CLASS_TOP",
++ "ERROR_DS_REFUSING_FSMO_ROLES",
++ "ERROR_DS_MISSING_FSMO_SETTINGS",
++ "ERROR_DS_UNABLE_TO_SURRENDER_ROLES",
++ "ERROR_DS_DRA_GENERIC",
++ "ERROR_DS_DRA_INVALID_PARAMETER",
++ "ERROR_DS_DRA_BUSY",
++ "ERROR_DS_DRA_BAD_DN",
++ "ERROR_DS_DRA_BAD_NC",
++ "ERROR_DS_DRA_DN_EXISTS",
++ "ERROR_DS_DRA_INTERNAL_ERROR",
++ "ERROR_DS_DRA_INCONSISTENT_DIT",
++ "ERROR_DS_DRA_CONNECTION_FAILED",
++ "ERROR_DS_DRA_BAD_INSTANCE_TYPE",
++ "ERROR_DS_DRA_OUT_OF_MEM",
++ "ERROR_DS_DRA_MAIL_PROBLEM",
++ "ERROR_DS_DRA_REF_ALREADY_EXISTS",
++ "ERROR_DS_DRA_REF_NOT_FOUND",
++ "ERROR_DS_DRA_OBJ_IS_REP_SOURCE",
++ "ERROR_DS_DRA_DB_ERROR",
++ "ERROR_DS_DRA_NO_REPLICA",
++ "ERROR_DS_DRA_ACCESS_DENIED",
++ "ERROR_DS_DRA_NOT_SUPPORTED",
++ "ERROR_DS_DRA_RPC_CANCELLED",
++ "ERROR_DS_DRA_SOURCE_DISABLED",
++ "ERROR_DS_DRA_SINK_DISABLED",
++ "ERROR_DS_DRA_NAME_COLLISION",
++ "ERROR_DS_DRA_SOURCE_REINSTALLED",
++ "ERROR_DS_DRA_MISSING_PARENT",
++ "ERROR_DS_DRA_PREEMPTED",
++ "ERROR_DS_DRA_ABANDON_SYNC",
++ "ERROR_DS_DRA_SHUTDOWN",
++ "ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET",
++ "ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA",
++ "ERROR_DS_DRA_EXTN_CONNECTION_FAILED",
++ "ERROR_DS_INSTALL_SCHEMA_MISMATCH",
++ "ERROR_DS_DUP_LINK_ID",
++ "ERROR_DS_NAME_ERROR_RESOLVING",
++ "ERROR_DS_NAME_ERROR_NOT_FOUND",
++ "ERROR_DS_NAME_ERROR_NOT_UNIQUE",
++ "ERROR_DS_NAME_ERROR_NO_MAPPING",
++ "ERROR_DS_NAME_ERROR_DOMAIN_ONLY",
++ "ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING",
++ "ERROR_DS_CONSTRUCTED_ATT_MOD",
++ "ERROR_DS_WRONG_OM_OBJ_CLASS",
++ "ERROR_DS_DRA_REPL_PENDING",
++ "ERROR_DS_DS_REQUIRED",
++ "ERROR_DS_INVALID_LDAP_DISPLAY_NAME",
++ "ERROR_DS_NON_BASE_SEARCH",
++ "ERROR_DS_CANT_RETRIEVE_ATTS",
++ "ERROR_DS_BACKLINK_WITHOUT_LINK",
++ "ERROR_DS_EPOCH_MISMATCH",
++ "ERROR_DS_SRC_NAME_MISMATCH",
++ "ERROR_DS_SRC_AND_DST_NC_IDENTICAL",
++ "ERROR_DS_DST_NC_MISMATCH",
++ "ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC",
++ "ERROR_DS_SRC_GUID_MISMATCH",
++ "ERROR_DS_CANT_MOVE_DELETED_OBJECT",
++ "ERROR_DS_PDC_OPERATION_IN_PROGRESS",
++ "ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD",
++ "ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION",
++ "ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS",
++ "ERROR_DS_NC_MUST_HAVE_NC_PARENT",
++ "ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE",
++ "ERROR_DS_DST_DOMAIN_NOT_NATIVE",
++ "ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER",
++ "ERROR_DS_CANT_MOVE_ACCOUNT_GROUP",
++ "ERROR_DS_CANT_MOVE_RESOURCE_GROUP",
++ "ERROR_DS_INVALID_SEARCH_FLAG",
++ "ERROR_DS_NO_TREE_DELETE_ABOVE_NC",
++ "ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE",
++ "ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE",
++ "ERROR_DS_SAM_INIT_FAILURE",
++ "ERROR_DS_SENSITIVE_GROUP_VIOLATION",
++ "ERROR_DS_CANT_MOD_PRIMARYGROUPID",
++ "ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD",
++ "ERROR_DS_NONSAFE_SCHEMA_CHANGE",
++ "ERROR_DS_SCHEMA_UPDATE_DISALLOWED",
++ "ERROR_DS_CANT_CREATE_UNDER_SCHEMA",
++ "ERROR_DS_INSTALL_NO_SRC_SCH_VERSION",
++ "ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE",
++ "ERROR_DS_INVALID_GROUP_TYPE",
++ "ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN",
++ "ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN",
++ "ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER",
++ "ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER",
++ "ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER",
++ "ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER",
++ "ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER",
++ "ERROR_DS_HAVE_PRIMARY_MEMBERS",
++ "ERROR_DS_STRING_SD_CONVERSION_FAILED",
++ "ERROR_DS_NAMING_MASTER_GC",
++ "ERROR_DS_DNS_LOOKUP_FAILURE",
++ "ERROR_DS_COULDNT_UPDATE_SPNS",
++ "ERROR_DS_CANT_RETRIEVE_SD",
++ "ERROR_DS_KEY_NOT_UNIQUE",
++ "ERROR_DS_WRONG_LINKED_ATT_SYNTAX",
++ "ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD",
++ "ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY",
++ "ERROR_DS_CANT_START",
++ "ERROR_DS_INIT_FAILURE",
++ "ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION",
++ "ERROR_DS_SOURCE_DOMAIN_IN_FOREST",
++ "ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST",
++ "ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED",
++ "ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN",
++ "ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER",
++ "ERROR_DS_SRC_SID_EXISTS_IN_FOREST",
++ "ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH",
++ "ERROR_SAM_INIT_FAILURE",
++ "ERROR_DS_DRA_SCHEMA_INFO_SHIP",
++ "ERROR_DS_DRA_SCHEMA_CONFLICT",
++ "ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT",
++ "ERROR_DS_DRA_OBJ_NC_MISMATCH",
++ "ERROR_DS_NC_STILL_HAS_DSAS",
++ "ERROR_DS_GC_REQUIRED",
++ "ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY",
++ "ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS",
++ "ERROR_DS_CANT_ADD_TO_GC",
++ "ERROR_DS_NO_CHECKPOINT_WITH_PDC",
++ "ERROR_DS_SOURCE_AUDITING_NOT_ENABLED",
++ "ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC",
++ "ERROR_DS_INVALID_NAME_FOR_SPN",
++ "ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS",
++ "ERROR_DS_UNICODEPWD_NOT_IN_QUOTES",
++ "ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED",
++ "ERROR_DS_MUST_BE_RUN_ON_DST_DC",
++ "ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER",
++ "ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ",
++ "ERROR_DS_INIT_FAILURE_CONSOLE",
++ "ERROR_DS_SAM_INIT_FAILURE_CONSOLE",
++ "ERROR_DS_FOREST_VERSION_TOO_HIGH",
++ "ERROR_DS_DOMAIN_VERSION_TOO_HIGH",
++ "ERROR_DS_FOREST_VERSION_TOO_LOW",
++ "ERROR_DS_DOMAIN_VERSION_TOO_LOW",
++ "ERROR_DS_INCOMPATIBLE_VERSION",
++ "ERROR_DS_LOW_DSA_VERSION",
++ "ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN",
++ "ERROR_DS_NOT_SUPPORTED_SORT_ORDER",
++ "ERROR_DS_NAME_NOT_UNIQUE",
++ "ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4",
++ "ERROR_DS_OUT_OF_VERSION_STORE",
++ "ERROR_DS_INCOMPATIBLE_CONTROLS_USED",
++ "ERROR_DS_NO_REF_DOMAIN",
++ "ERROR_DS_RESERVED_LINK_ID",
++ "ERROR_DS_LINK_ID_NOT_AVAILABLE",
++ "ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER",
++ "ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE",
++ "ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC",
++ "ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG",
++ "ERROR_DS_MODIFYDN_WRONG_GRANDPARENT",
++ "ERROR_DS_NAME_ERROR_TRUST_REFERRAL",
++ "ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER",
++ "ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD",
++ "ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2",
++ "ERROR_DS_THREAD_LIMIT_EXCEEDED",
++ "ERROR_DS_NOT_CLOSEST",
++ "ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF",
++ "ERROR_DS_SINGLE_USER_MODE_FAILED",
++ "ERROR_DS_NTDSCRIPT_SYNTAX_ERROR",
++ "ERROR_DS_NTDSCRIPT_PROCESS_ERROR",
++ "ERROR_DS_DIFFERENT_REPL_EPOCHS",
++ "ERROR_DS_DRS_EXTENSIONS_CHANGED",
++ "ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR",
++ "ERROR_DS_NO_MSDS_INTID",
++ "ERROR_DS_DUP_MSDS_INTID",
++ "ERROR_DS_EXISTS_IN_RDNATTID",
++ "ERROR_DS_AUTHORIZATION_FAILED",
++ "ERROR_DS_INVALID_SCRIPT",
++ "ERROR_DS_REMOTE_CROSSREF_OP_FAILED",
++ "ERROR_DS_CROSS_REF_BUSY",
++ "ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN",
++ "ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC",
++ "ERROR_DS_DUPLICATE_ID_FOUND",
++ "ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT",
++ "ERROR_DS_GROUP_CONVERSION_ERROR",
++ "ERROR_DS_CANT_MOVE_APP_BASIC_GROUP",
++ "ERROR_DS_CANT_MOVE_APP_QUERY_GROUP",
++ "ERROR_DS_ROLE_NOT_VERIFIED",
++ "ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL",
++ "ERROR_DS_DOMAIN_RENAME_IN_PROGRESS",
++ "ERROR_DS_EXISTING_AD_CHILD_NC",
++ "ERROR_DS_REPL_LIFETIME_EXCEEDED",
++ "ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER",
++ "ERROR_DS_LDAP_SEND_QUEUE_FULL",
++ "ERROR_DS_DRA_OUT_SCHEDULE_WINDOW",
++ "ERROR_DS_POLICY_NOT_KNOWN",
++ "ERROR_NO_SITE_SETTINGS_OBJECT",
++ "ERROR_NO_SECRETS",
++ "ERROR_NO_WRITABLE_DC_FOUND",
++ "ERROR_DS_NO_SERVER_OBJECT",
++ "ERROR_DS_NO_NTDSA_OBJECT",
++ "ERROR_DS_NON_ASQ_SEARCH",
++ "ERROR_DS_AUDIT_FAILURE",
++ "ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE",
++ "ERROR_DS_INVALID_SEARCH_FLAG_TUPLE",
++ "ERROR_DS_HIERARCHY_TABLE_TOO_DEEP",
++ "ERROR_DS_DRA_CORRUPT_UTD_VECTOR",
++ "ERROR_DS_DRA_SECRETS_DENIED",
++ "ERROR_DS_RESERVED_MAPI_ID",
++ "ERROR_DS_MAPI_ID_NOT_AVAILABLE",
++ "ERROR_DS_DRA_MISSING_KRBTGT_SECRET",
++ "ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST",
++ "ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST",
++ "ERROR_INVALID_USER_PRINCIPAL_NAME",
++ "ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS",
++ "ERROR_DS_OID_NOT_FOUND",
++ "ERROR_DS_DRA_RECYCLED_TARGET",
++ "ERROR_DS_DISALLOWED_NC_REDIRECT",
++ "ERROR_DS_HIGH_ADLDS_FFL",
++ "ERROR_DS_HIGH_DSA_VERSION",
++ "ERROR_DS_LOW_ADLDS_FFL",
++ "ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION",
++ "ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED",
++ "ERROR_INCORRECT_ACCOUNT_TYPE",
++ "ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST",
++ "ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST",
++ "ERROR_DS_MISSING_FOREST_TRUST",
++ "ERROR_DS_VALUE_KEY_NOT_UNIQUE",
++ "ERROR_IPSEC_QM_POLICY_EXISTS",
++ "ERROR_IPSEC_QM_POLICY_NOT_FOUND",
++ "ERROR_IPSEC_QM_POLICY_IN_USE",
++ "ERROR_IPSEC_MM_POLICY_EXISTS",
++ "ERROR_IPSEC_MM_POLICY_NOT_FOUND",
++ "ERROR_IPSEC_MM_POLICY_IN_USE",
++ "ERROR_IPSEC_MM_FILTER_EXISTS",
++ "ERROR_IPSEC_MM_FILTER_NOT_FOUND",
++ "ERROR_IPSEC_TRANSPORT_FILTER_EXISTS",
++ "ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND",
++ "ERROR_IPSEC_MM_AUTH_EXISTS",
++ "ERROR_IPSEC_MM_AUTH_NOT_FOUND",
++ "ERROR_IPSEC_MM_AUTH_IN_USE",
++ "ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND",
++ "ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND",
++ "ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND",
++ "ERROR_IPSEC_TUNNEL_FILTER_EXISTS",
++ "ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND",
++ "ERROR_IPSEC_MM_FILTER_PENDING_DELETION",
++ "ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION",
++ "ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION",
++ "ERROR_IPSEC_MM_POLICY_PENDING_DELETION",
++ "ERROR_IPSEC_MM_AUTH_PENDING_DELETION",
++ "ERROR_IPSEC_QM_POLICY_PENDING_DELETION",
++ "ERROR_IPSEC_IKE_NEG_STATUS_BEGIN",
++ "ERROR_IPSEC_IKE_AUTH_FAIL",
++ "ERROR_IPSEC_IKE_ATTRIB_FAIL",
++ "ERROR_IPSEC_IKE_NEGOTIATION_PENDING",
++ "ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR",
++ "ERROR_IPSEC_IKE_TIMED_OUT",
++ "ERROR_IPSEC_IKE_NO_CERT",
++ "ERROR_IPSEC_IKE_SA_DELETED",
++ "ERROR_IPSEC_IKE_SA_REAPED",
++ "ERROR_IPSEC_IKE_MM_ACQUIRE_DROP",
++ "ERROR_IPSEC_IKE_QM_ACQUIRE_DROP",
++ "ERROR_IPSEC_IKE_QUEUE_DROP_MM",
++ "ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM",
++ "ERROR_IPSEC_IKE_DROP_NO_RESPONSE",
++ "ERROR_IPSEC_IKE_MM_DELAY_DROP",
++ "ERROR_IPSEC_IKE_QM_DELAY_DROP",
++ "ERROR_IPSEC_IKE_ERROR",
++ "ERROR_IPSEC_IKE_CRL_FAILED",
++ "ERROR_IPSEC_IKE_INVALID_KEY_USAGE",
++ "ERROR_IPSEC_IKE_INVALID_CERT_TYPE",
++ "ERROR_IPSEC_IKE_NO_PRIVATE_KEY",
++ "ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY",
++ "ERROR_IPSEC_IKE_DH_FAIL",
++ "ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED",
++ "ERROR_IPSEC_IKE_INVALID_HEADER",
++ "ERROR_IPSEC_IKE_NO_POLICY",
++ "ERROR_IPSEC_IKE_INVALID_SIGNATURE",
++ "ERROR_IPSEC_IKE_KERBEROS_ERROR",
++ "ERROR_IPSEC_IKE_NO_PUBLIC_KEY",
++ "ERROR_IPSEC_IKE_PROCESS_ERR",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_SA",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_PROP",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_TRANS",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_KE",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_ID",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_CERT",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_HASH",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_SIG",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_NONCE",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_DELETE",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR",
++ "ERROR_IPSEC_IKE_INVALID_PAYLOAD",
++ "ERROR_IPSEC_IKE_LOAD_SOFT_SA",
++ "ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN",
++ "ERROR_IPSEC_IKE_INVALID_COOKIE",
++ "ERROR_IPSEC_IKE_NO_PEER_CERT",
++ "ERROR_IPSEC_IKE_PEER_CRL_FAILED",
++ "ERROR_IPSEC_IKE_POLICY_CHANGE",
++ "ERROR_IPSEC_IKE_NO_MM_POLICY",
++ "ERROR_IPSEC_IKE_NOTCBPRIV",
++ "ERROR_IPSEC_IKE_SECLOADFAIL",
++ "ERROR_IPSEC_IKE_FAILSSPINIT",
++ "ERROR_IPSEC_IKE_FAILQUERYSSP",
++ "ERROR_IPSEC_IKE_SRVACQFAIL",
++ "ERROR_IPSEC_IKE_SRVQUERYCRED",
++ "ERROR_IPSEC_IKE_GETSPIFAIL",
++ "ERROR_IPSEC_IKE_INVALID_FILTER",
++ "ERROR_IPSEC_IKE_OUT_OF_MEMORY",
++ "ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED",
++ "ERROR_IPSEC_IKE_INVALID_POLICY",
++ "ERROR_IPSEC_IKE_UNKNOWN_DOI",
++ "ERROR_IPSEC_IKE_INVALID_SITUATION",
++ "ERROR_IPSEC_IKE_DH_FAILURE",
++ "ERROR_IPSEC_IKE_INVALID_GROUP",
++ "ERROR_IPSEC_IKE_ENCRYPT",
++ "ERROR_IPSEC_IKE_DECRYPT",
++ "ERROR_IPSEC_IKE_POLICY_MATCH",
++ "ERROR_IPSEC_IKE_UNSUPPORTED_ID",
++ "ERROR_IPSEC_IKE_INVALID_HASH",
++ "ERROR_IPSEC_IKE_INVALID_HASH_ALG",
++ "ERROR_IPSEC_IKE_INVALID_HASH_SIZE",
++ "ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG",
++ "ERROR_IPSEC_IKE_INVALID_AUTH_ALG",
++ "ERROR_IPSEC_IKE_INVALID_SIG",
++ "ERROR_IPSEC_IKE_LOAD_FAILED",
++ "ERROR_IPSEC_IKE_RPC_DELETE",
++ "ERROR_IPSEC_IKE_BENIGN_REINIT",
++ "ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY",
++ "ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION",
++ "ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN",
++ "ERROR_IPSEC_IKE_MM_LIMIT",
++ "ERROR_IPSEC_IKE_NEGOTIATION_DISABLED",
++ "ERROR_IPSEC_IKE_QM_LIMIT",
++ "ERROR_IPSEC_IKE_MM_EXPIRED",
++ "ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID",
++ "ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH",
++ "ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID",
++ "ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD",
++ "ERROR_IPSEC_IKE_DOS_COOKIE_SENT",
++ "ERROR_IPSEC_IKE_SHUTTING_DOWN",
++ "ERROR_IPSEC_IKE_CGA_AUTH_FAILED",
++ "ERROR_IPSEC_IKE_PROCESS_ERR_NATOA",
++ "ERROR_IPSEC_IKE_INVALID_MM_FOR_QM",
++ "ERROR_IPSEC_IKE_QM_EXPIRED",
++ "ERROR_IPSEC_IKE_TOO_MANY_FILTERS",
++ "ERROR_IPSEC_IKE_NEG_STATUS_END",
++ "ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL",
++ "ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE",
++ "ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING",
++ "ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING",
++ "ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS",
++ "ERROR_IPSEC_IKE_RATELIMIT_DROP",
++ "ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE",
++ "ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE",
++ "ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE",
++ "ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY",
++ "ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE",
++ "ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END",
++ "ERROR_IPSEC_BAD_SPI",
++ "ERROR_IPSEC_SA_LIFETIME_EXPIRED",
++ "ERROR_IPSEC_WRONG_SA",
++ "ERROR_IPSEC_REPLAY_CHECK_FAILED",
++ "ERROR_IPSEC_INVALID_PACKET",
++ "ERROR_IPSEC_INTEGRITY_CHECK_FAILED",
++ "ERROR_IPSEC_CLEAR_TEXT_DROP",
++ "ERROR_IPSEC_AUTH_FIREWALL_DROP",
++ "ERROR_IPSEC_THROTTLE_DROP",
++ "ERROR_IPSEC_DOSP_BLOCK",
++ "ERROR_IPSEC_DOSP_RECEIVED_MULTICAST",
++ "ERROR_IPSEC_DOSP_INVALID_PACKET",
++ "ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED",
++ "ERROR_IPSEC_DOSP_MAX_ENTRIES",
++ "ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED",
++ "ERROR_IPSEC_DOSP_NOT_INSTALLED",
++ "ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES",
++ "ERROR_SXS_SECTION_NOT_FOUND",
++ "ERROR_SXS_CANT_GEN_ACTCTX",
++ "ERROR_SXS_INVALID_ACTCTXDATA_FORMAT",
++ "ERROR_SXS_ASSEMBLY_NOT_FOUND",
++ "ERROR_SXS_MANIFEST_FORMAT_ERROR",
++ "ERROR_SXS_MANIFEST_PARSE_ERROR",
++ "ERROR_SXS_ACTIVATION_CONTEXT_DISABLED",
++ "ERROR_SXS_KEY_NOT_FOUND",
++ "ERROR_SXS_VERSION_CONFLICT",
++ "ERROR_SXS_WRONG_SECTION_TYPE",
++ "ERROR_SXS_THREAD_QUERIES_DISABLED",
++ "ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET",
++ "ERROR_SXS_UNKNOWN_ENCODING_GROUP",
++ "ERROR_SXS_UNKNOWN_ENCODING",
++ "ERROR_SXS_INVALID_XML_NAMESPACE_URI",
++ "ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED",
++ "ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED",
++ "ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE",
++ "ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE",
++ "ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE",
++ "ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT",
++ "ERROR_SXS_DUPLICATE_DLL_NAME",
++ "ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME",
++ "ERROR_SXS_DUPLICATE_CLSID",
++ "ERROR_SXS_DUPLICATE_IID",
++ "ERROR_SXS_DUPLICATE_TLBID",
++ "ERROR_SXS_DUPLICATE_PROGID",
++ "ERROR_SXS_DUPLICATE_ASSEMBLY_NAME",
++ "ERROR_SXS_FILE_HASH_MISMATCH",
++ "ERROR_SXS_POLICY_PARSE_ERROR",
++ "ERROR_SXS_XML_E_MISSINGQUOTE",
++ "ERROR_SXS_XML_E_COMMENTSYNTAX",
++ "ERROR_SXS_XML_E_BADSTARTNAMECHAR",
++ "ERROR_SXS_XML_E_BADNAMECHAR",
++ "ERROR_SXS_XML_E_BADCHARINSTRING",
++ "ERROR_SXS_XML_E_XMLDECLSYNTAX",
++ "ERROR_SXS_XML_E_BADCHARDATA",
++ "ERROR_SXS_XML_E_MISSINGWHITESPACE",
++ "ERROR_SXS_XML_E_EXPECTINGTAGEND",
++ "ERROR_SXS_XML_E_MISSINGSEMICOLON",
++ "ERROR_SXS_XML_E_UNBALANCEDPAREN",
++ "ERROR_SXS_XML_E_INTERNALERROR",
++ "ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE",
++ "ERROR_SXS_XML_E_INCOMPLETE_ENCODING",
++ "ERROR_SXS_XML_E_MISSING_PAREN",
++ "ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE",
++ "ERROR_SXS_XML_E_MULTIPLE_COLONS",
++ "ERROR_SXS_XML_E_INVALID_DECIMAL",
++ "ERROR_SXS_XML_E_INVALID_HEXIDECIMAL",
++ "ERROR_SXS_XML_E_INVALID_UNICODE",
++ "ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK",
++ "ERROR_SXS_XML_E_UNEXPECTEDENDTAG",
++ "ERROR_SXS_XML_E_UNCLOSEDTAG",
++ "ERROR_SXS_XML_E_DUPLICATEATTRIBUTE",
++ "ERROR_SXS_XML_E_MULTIPLEROOTS",
++ "ERROR_SXS_XML_E_INVALIDATROOTLEVEL",
++ "ERROR_SXS_XML_E_BADXMLDECL",
++ "ERROR_SXS_XML_E_MISSINGROOT",
++ "ERROR_SXS_XML_E_UNEXPECTEDEOF",
++ "ERROR_SXS_XML_E_BADPEREFINSUBSET",
++ "ERROR_SXS_XML_E_UNCLOSEDSTARTTAG",
++ "ERROR_SXS_XML_E_UNCLOSEDENDTAG",
++ "ERROR_SXS_XML_E_UNCLOSEDSTRING",
++ "ERROR_SXS_XML_E_UNCLOSEDCOMMENT",
++ "ERROR_SXS_XML_E_UNCLOSEDDECL",
++ "ERROR_SXS_XML_E_UNCLOSEDCDATA",
++ "ERROR_SXS_XML_E_RESERVEDNAMESPACE",
++ "ERROR_SXS_XML_E_INVALIDENCODING",
++ "ERROR_SXS_XML_E_INVALIDSWITCH",
++ "ERROR_SXS_XML_E_BADXMLCASE",
++ "ERROR_SXS_XML_E_INVALID_STANDALONE",
++ "ERROR_SXS_XML_E_UNEXPECTED_STANDALONE",
++ "ERROR_SXS_XML_E_INVALID_VERSION",
++ "ERROR_SXS_XML_E_MISSINGEQUALS",
++ "ERROR_SXS_PROTECTION_RECOVERY_FAILED",
++ "ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT",
++ "ERROR_SXS_PROTECTION_CATALOG_NOT_VALID",
++ "ERROR_SXS_UNTRANSLATABLE_HRESULT",
++ "ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING",
++ "ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE",
++ "ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME",
++ "ERROR_SXS_ASSEMBLY_MISSING",
++ "ERROR_SXS_CORRUPT_ACTIVATION_STACK",
++ "ERROR_SXS_CORRUPTION",
++ "ERROR_SXS_EARLY_DEACTIVATION",
++ "ERROR_SXS_INVALID_DEACTIVATION",
++ "ERROR_SXS_MULTIPLE_DEACTIVATION",
++ "ERROR_SXS_PROCESS_TERMINATION_REQUESTED",
++ "ERROR_SXS_RELEASE_ACTIVATION_CONTEXT",
++ "ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY",
++ "ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE",
++ "ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME",
++ "ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE",
++ "ERROR_SXS_IDENTITY_PARSE_ERROR",
++ "ERROR_MALFORMED_SUBSTITUTION_STRING",
++ "ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN",
++ "ERROR_UNMAPPED_SUBSTITUTION_STRING",
++ "ERROR_SXS_ASSEMBLY_NOT_LOCKED",
++ "ERROR_SXS_COMPONENT_STORE_CORRUPT",
++ "ERROR_ADVANCED_INSTALLER_FAILED",
++ "ERROR_XML_ENCODING_MISMATCH",
++ "ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT",
++ "ERROR_SXS_IDENTITIES_DIFFERENT",
++ "ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT",
++ "ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY",
++ "ERROR_SXS_MANIFEST_TOO_BIG",
++ "ERROR_SXS_SETTING_NOT_REGISTERED",
++ "ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE",
++ "ERROR_SMI_PRIMITIVE_INSTALLER_FAILED",
++ "ERROR_GENERIC_COMMAND_FAILED",
++ "ERROR_SXS_FILE_HASH_MISSING",
++ "ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS",
++ "ERROR_EVT_INVALID_CHANNEL_PATH",
++ "ERROR_EVT_INVALID_QUERY",
++ "ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND",
++ "ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND",
++ "ERROR_EVT_INVALID_PUBLISHER_NAME",
++ "ERROR_EVT_INVALID_EVENT_DATA",
++ "ERROR_EVT_CHANNEL_NOT_FOUND",
++ "ERROR_EVT_MALFORMED_XML_TEXT",
++ "ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL",
++ "ERROR_EVT_CONFIGURATION_ERROR",
++ "ERROR_EVT_QUERY_RESULT_STALE",
++ "ERROR_EVT_QUERY_RESULT_INVALID_POSITION",
++ "ERROR_EVT_NON_VALIDATING_MSXML",
++ "ERROR_EVT_FILTER_ALREADYSCOPED",
++ "ERROR_EVT_FILTER_NOTELTSET",
++ "ERROR_EVT_FILTER_INVARG",
++ "ERROR_EVT_FILTER_INVTEST",
++ "ERROR_EVT_FILTER_INVTYPE",
++ "ERROR_EVT_FILTER_PARSEERR",
++ "ERROR_EVT_FILTER_UNSUPPORTEDOP",
++ "ERROR_EVT_FILTER_UNEXPECTEDTOKEN",
++ "ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL",
++ "ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE",
++ "ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE",
++ "ERROR_EVT_CHANNEL_CANNOT_ACTIVATE",
++ "ERROR_EVT_FILTER_TOO_COMPLEX",
++ "ERROR_EVT_MESSAGE_NOT_FOUND",
++ "ERROR_EVT_MESSAGE_ID_NOT_FOUND",
++ "ERROR_EVT_UNRESOLVED_VALUE_INSERT",
++ "ERROR_EVT_UNRESOLVED_PARAMETER_INSERT",
++ "ERROR_EVT_MAX_INSERTS_REACHED",
++ "ERROR_EVT_EVENT_DEFINITION_NOT_FOUND",
++ "ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND",
++ "ERROR_EVT_VERSION_TOO_OLD",
++ "ERROR_EVT_VERSION_TOO_NEW",
++ "ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY",
++ "ERROR_EVT_PUBLISHER_DISABLED",
++ "ERROR_EVT_FILTER_OUT_OF_RANGE",
++ "ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE",
++ "ERROR_EC_LOG_DISABLED",
++ "ERROR_EC_CIRCULAR_FORWARDING",
++ "ERROR_EC_CREDSTORE_FULL",
++ "ERROR_EC_CRED_NOT_FOUND",
++ "ERROR_EC_NO_ACTIVE_CHANNEL",
++ "ERROR_MUI_FILE_NOT_FOUND",
++ "ERROR_MUI_INVALID_FILE",
++ "ERROR_MUI_INVALID_RC_CONFIG",
++ "ERROR_MUI_INVALID_LOCALE_NAME",
++ "ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME",
++ "ERROR_MUI_FILE_NOT_LOADED",
++ "ERROR_RESOURCE_ENUM_USER_STOP",
++ "ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED",
++ "ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME",
++ "ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE",
++ "ERROR_MRM_INVALID_PRICONFIG",
++ "ERROR_MRM_INVALID_FILE_TYPE",
++ "ERROR_MRM_UNKNOWN_QUALIFIER",
++ "ERROR_MRM_INVALID_QUALIFIER_VALUE",
++ "ERROR_MRM_NO_CANDIDATE",
++ "ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE",
++ "ERROR_MRM_RESOURCE_TYPE_MISMATCH",
++ "ERROR_MRM_DUPLICATE_MAP_NAME",
++ "ERROR_MRM_DUPLICATE_ENTRY",
++ "ERROR_MRM_INVALID_RESOURCE_IDENTIFIER",
++ "ERROR_MRM_FILEPATH_TOO_LONG",
++ "ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE",
++ "ERROR_MRM_INVALID_PRI_FILE",
++ "ERROR_MRM_NAMED_RESOURCE_NOT_FOUND",
++ "ERROR_MRM_MAP_NOT_FOUND",
++ "ERROR_MRM_UNSUPPORTED_PROFILE_TYPE",
++ "ERROR_MRM_INVALID_QUALIFIER_OPERATOR",
++ "ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE",
++ "ERROR_MRM_AUTOMERGE_ENABLED",
++ "ERROR_MRM_TOO_MANY_RESOURCES",
++ "ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE",
++ "ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE",
++ "ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD",
++ "ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST",
++ "ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT",
++ "ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE",
++ "ERROR_MRM_GENERATION_COUNT_MISMATCH",
++ "ERROR_PRI_MERGE_VERSION_MISMATCH",
++ "ERROR_PRI_MERGE_MISSING_SCHEMA",
++ "ERROR_PRI_MERGE_LOAD_FILE_FAILED",
++ "ERROR_PRI_MERGE_ADD_FILE_FAILED",
++ "ERROR_PRI_MERGE_WRITE_FILE_FAILED",
++ "ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED",
++ "ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED",
++ "ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED",
++ "ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED",
++ "ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED",
++ "ERROR_PRI_MERGE_INVALID_FILE_NAME",
++ "ERROR_MRM_PACKAGE_NOT_FOUND",
++ "ERROR_MRM_MISSING_DEFAULT_LANGUAGE",
++ "ERROR_MCA_INVALID_CAPABILITIES_STRING",
++ "ERROR_MCA_INVALID_VCP_VERSION",
++ "ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION",
++ "ERROR_MCA_MCCS_VERSION_MISMATCH",
++ "ERROR_MCA_UNSUPPORTED_MCCS_VERSION",
++ "ERROR_MCA_INTERNAL_ERROR",
++ "ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED",
++ "ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE",
++ "ERROR_AMBIGUOUS_SYSTEM_DEVICE",
++ "ERROR_SYSTEM_DEVICE_NOT_FOUND",
++ "ERROR_HASH_NOT_SUPPORTED",
++ "ERROR_HASH_NOT_PRESENT",
++ "ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED",
++ "ERROR_GPIO_CLIENT_INFORMATION_INVALID",
++ "ERROR_GPIO_VERSION_NOT_SUPPORTED",
++ "ERROR_GPIO_INVALID_REGISTRATION_PACKET",
++ "ERROR_GPIO_OPERATION_DENIED",
++ "ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE",
++ "ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED",
++ "ERROR_CANNOT_SWITCH_RUNLEVEL",
++ "ERROR_INVALID_RUNLEVEL_SETTING",
++ "ERROR_RUNLEVEL_SWITCH_TIMEOUT",
++ "ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT",
++ "ERROR_RUNLEVEL_SWITCH_IN_PROGRESS",
++ "ERROR_SERVICES_FAILED_AUTOSTART",
++ "ERROR_COM_TASK_STOP_PENDING",
++ "ERROR_INSTALL_OPEN_PACKAGE_FAILED",
++ "ERROR_INSTALL_PACKAGE_NOT_FOUND",
++ "ERROR_INSTALL_INVALID_PACKAGE",
++ "ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED",
++ "ERROR_INSTALL_OUT_OF_DISK_SPACE",
++ "ERROR_INSTALL_NETWORK_FAILURE",
++ "ERROR_INSTALL_REGISTRATION_FAILURE",
++ "ERROR_INSTALL_DEREGISTRATION_FAILURE",
++ "ERROR_INSTALL_CANCEL",
++ "ERROR_INSTALL_FAILED",
++ "ERROR_REMOVE_FAILED",
++ "ERROR_PACKAGE_ALREADY_EXISTS",
++ "ERROR_NEEDS_REMEDIATION",
++ "ERROR_INSTALL_PREREQUISITE_FAILED",
++ "ERROR_PACKAGE_REPOSITORY_CORRUPTED",
++ "ERROR_INSTALL_POLICY_FAILURE",
++ "ERROR_PACKAGE_UPDATING",
++ "ERROR_DEPLOYMENT_BLOCKED_BY_POLICY",
++ "ERROR_PACKAGES_IN_USE",
++ "ERROR_RECOVERY_FILE_CORRUPT",
++ "ERROR_INVALID_STAGED_SIGNATURE",
++ "ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED",
++ "ERROR_INSTALL_PACKAGE_DOWNGRADE",
++ "ERROR_SYSTEM_NEEDS_REMEDIATION",
++ "ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN",
++ "ERROR_RESILIENCY_FILE_CORRUPT",
++ "ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING",
++ "ERROR_PACKAGE_MOVE_FAILED",
++ "ERROR_INSTALL_VOLUME_NOT_EMPTY",
++ "ERROR_INSTALL_VOLUME_OFFLINE",
++ "ERROR_INSTALL_VOLUME_CORRUPT",
++ "ERROR_NEEDS_REGISTRATION",
++ "ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE",
++ "ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED",
++ "ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE",
++ "ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM",
++ "ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING",
++ "ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE",
++ "ERROR_PACKAGE_STAGING_ONHOLD",
++ "ERROR_INSTALL_INVALID_RELATED_SET_UPDATE",
++ "ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY",
++ "ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF",
++ "ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED",
++ "ERROR_PACKAGES_REPUTATION_CHECK_FAILED",
++ "ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT",
++ "ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED",
++ "ERROR_APPINSTALLER_ACTIVATION_BLOCKED",
++ "ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED",
++ "ERROR_APPX_RAW_DATA_WRITE_FAILED",
++ "ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE",
++ "ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE",
++ "ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY",
++ "ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY",
++ "ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER",
++ "ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED",
++ "ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE",
++ "ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES",
++ "ERROR_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED",
++ "ERROR_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST",
++ "ERROR_UNSIGNED_PACKAGE_INVALID_CONTENT",
++ "ERROR_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE",
++ "ERROR_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE",
++ "ERROR_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED",
++ "ERROR_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY",
++ "ERROR_STATE_LOAD_STORE_FAILED",
++ "ERROR_STATE_GET_VERSION_FAILED",
++ "ERROR_STATE_SET_VERSION_FAILED",
++ "ERROR_STATE_STRUCTURED_RESET_FAILED",
++ "ERROR_STATE_OPEN_CONTAINER_FAILED",
++ "ERROR_STATE_CREATE_CONTAINER_FAILED",
++ "ERROR_STATE_DELETE_CONTAINER_FAILED",
++ "ERROR_STATE_READ_SETTING_FAILED",
++ "ERROR_STATE_WRITE_SETTING_FAILED",
++ "ERROR_STATE_DELETE_SETTING_FAILED",
++ "ERROR_STATE_QUERY_SETTING_FAILED",
++ "ERROR_STATE_READ_COMPOSITE_SETTING_FAILED",
++ "ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED",
++ "ERROR_STATE_ENUMERATE_CONTAINER_FAILED",
++ "ERROR_STATE_ENUMERATE_SETTINGS_FAILED",
++ "ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED",
++ "ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED",
++ "ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED",
++ "ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED",
++ "ERROR_API_UNAVAILABLE",
++};
++
++const char* WinErrorToString(uint16_t error) {
++ auto itr = std::find(std::begin(kWinErrorValues),
++ std::end(kWinErrorValues),
++ error);
++ if (itr == std::end(kWinErrorValues)) {
++ return nullptr;
++ }
++
++ return kWinErrorStrings[itr - std::begin(kWinErrorValues)];
+ }
+
+ } // namespace google_breakpad
+diff --git a/src/processor/symbolic_constants_win.h b/src/processor/symbolic_constants_win.h
+--- a/src/processor/symbolic_constants_win.h
++++ b/src/processor/symbolic_constants_win.h
+@@ -31,24 +31,31 @@
+ //
+ // Provides a means to convert NTSTATUS codes to strings.
+ //
+ // Author: Ben Wagner
+
+ #ifndef GOOGLE_BREAKPAD_PROCESSOR_SYMBOLIC_CONSTANTS_WIN_H_
+ #define GOOGLE_BREAKPAD_PROCESSOR_SYMBOLIC_CONSTANTS_WIN_H_
+
++#include <stdint.h>
+ #include <string>
+
+ #include "common/using_std_string.h"
+ #include "google_breakpad/common/breakpad_types.h"
+
+ namespace google_breakpad {
+
+-/* Converts a NTSTATUS code to a reason string. */
+-string NTStatusToString(uint32_t ntstatus);
++/* Converts an NTSTATUS code to its string representation. Returns nullptr if
++ * no entry corresponds to the code. */
++const char* NTStatusToString(uint32_t ntstatus);
+
+-/* Converts a FAST_FAIL code to a reason string. */
+-string FastFailToString(uint32_t fast_fail_code);
++/* Converts a FAST_FAIL code to its string representation. Returns nullptr if
++ * no entry corresponds to the code. */
++const char* FastFailToString(uint32_t fast_fail_code);
++
++/* Converts an ERROR code to its string representation. Returns nullptr if
++ * no entry corresponds to the code. */
++const char* WinErrorToString(uint16_t error);
+
+ } // namespace google_breakpad
+
+ #endif // GOOGLE_BREAKPAD_PROCESSOR_SYMBOLIC_CONSTANTS_WIN_H_
diff --git a/toolkit/crashreporter/breakpad-patches/23-si-user-si-kernel-siginfo.patch b/toolkit/crashreporter/breakpad-patches/23-si-user-si-kernel-siginfo.patch
new file mode 100644
index 0000000000..9e779f7dd8
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/23-si-user-si-kernel-siginfo.patch
@@ -0,0 +1,76 @@
+diff --git a/src/google_breakpad/common/minidump_exception_linux.h b/src/google_breakpad/common/minidump_exception_linux.h
+--- a/src/google_breakpad/common/minidump_exception_linux.h
++++ b/src/google_breakpad/common/minidump_exception_linux.h
+@@ -83,16 +83,20 @@ typedef enum {
+ MD_EXCEPTION_CODE_LIN_DUMP_REQUESTED = 0xFFFFFFFF /* No exception,
+ dump requested. */
+ } MDExceptionCodeLinux;
+
+ /* For (MDException).exception_flags. These values come from
+ * asm-generic/siginfo.h.
+ */
+ typedef enum {
++ /* Generic */
++ MD_EXCEPTION_FLAG_LIN_SI_USER = 0,
++ MD_EXCEPTION_FLAG_LIN_SI_KERNEL = 0x80,
++
+ /* SIGILL */
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLOPC = 1,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLOPN = 2,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLADR = 3,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLTRP = 4,
+ MD_EXCEPTION_FLAG_LIN_ILL_PRVOPC = 5,
+ MD_EXCEPTION_FLAG_LIN_ILL_PRVREG = 6,
+ MD_EXCEPTION_FLAG_LIN_ILL_COPROC = 7,
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1401,16 +1401,22 @@ string MinidumpProcessor::GetCrashReason
+ reason = "SIGTRAP";
+ break;
+ case MD_EXCEPTION_CODE_LIN_SIGABRT:
+ reason = "SIGABRT";
+ break;
+ case MD_EXCEPTION_CODE_LIN_SIGBUS:
+ reason = "SIGBUS / ";
+ switch (exception_flags) {
++ case MD_EXCEPTION_FLAG_LIN_SI_USER:
++ reason.append("SI_USER");
++ break;
++ case MD_EXCEPTION_FLAG_LIN_SI_KERNEL:
++ reason.append("SI_KERNEL");
++ break;
+ case MD_EXCEPTION_FLAG_LIN_BUS_ADRALN:
+ reason.append("BUS_ADRALN");
+ break;
+ case MD_EXCEPTION_FLAG_LIN_BUS_ADRERR:
+ reason.append("BUS_ADRERR");
+ break;
+ case MD_EXCEPTION_FLAG_LIN_BUS_OBJERR:
+ reason.append("BUS_OBJERR");
+@@ -1462,18 +1468,24 @@ string MinidumpProcessor::GetCrashReason
+ break;
+ case MD_EXCEPTION_CODE_LIN_SIGKILL:
+ reason = "SIGKILL";
+ break;
+ case MD_EXCEPTION_CODE_LIN_SIGUSR1:
+ reason = "SIGUSR1";
+ break;
+ case MD_EXCEPTION_CODE_LIN_SIGSEGV:
+- reason = "SIGSEGV /";
++ reason = "SIGSEGV / ";
+ switch (exception_flags) {
++ case MD_EXCEPTION_FLAG_LIN_SI_USER:
++ reason.append("SI_USER");
++ break;
++ case MD_EXCEPTION_FLAG_LIN_SI_KERNEL:
++ reason.append("SI_KERNEL");
++ break;
+ case MD_EXCEPTION_FLAG_LIN_SEGV_MAPERR:
+ reason.append("SEGV_MAPERR");
+ break;
+ case MD_EXCEPTION_FLAG_LIN_SEGV_ACCERR:
+ reason.append("SEGV_ACCERR");
+ break;
+ case MD_EXCEPTION_FLAG_LIN_SEGV_BNDERR:
+ reason.append("SEGV_BNDERR");
diff --git a/toolkit/crashreporter/breakpad-patches/24-macos-exc-resource.patch b/toolkit/crashreporter/breakpad-patches/24-macos-exc-resource.patch
new file mode 100644
index 0000000000..29cf116048
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/24-macos-exc-resource.patch
@@ -0,0 +1,155 @@
+diff --git a/src/google_breakpad/common/minidump_exception_mac.h b/src/google_breakpad/common/minidump_exception_mac.h
+--- a/src/google_breakpad/common/minidump_exception_mac.h
++++ b/src/google_breakpad/common/minidump_exception_mac.h
+@@ -62,16 +62,18 @@ typedef enum {
+ MD_EXCEPTION_MAC_BREAKPOINT = 6, /* code is CPU-specific */
+ /* EXC_BREAKPOINT */
+ MD_EXCEPTION_MAC_SYSCALL = 7,
+ /* EXC_SYSCALL */
+ MD_EXCEPTION_MAC_MACH_SYSCALL = 8,
+ /* EXC_MACH_SYSCALL */
+ MD_EXCEPTION_MAC_RPC_ALERT = 9,
+ /* EXC_RPC_ALERT */
++ MD_EXCEPTION_MAC_RESOURCE = 11,
++ /* EXC_RESOURCE */
+ MD_EXCEPTION_MAC_SIMULATED = 0x43507378
+ /* Fake exception code used by Crashpad's SimulateCrash ('CPsx'). */
+ } MDExceptionMac;
+
+ /* For (MDException).exception_flags. Breakpad minidump extension for Mac OS X
+ * support. Based on Darwin/Mac OS X' mach/ppc/exception.h and
+ * mach/i386/exception.h. This is what Mac OS X calls a "code". */
+ typedef enum {
+@@ -201,9 +203,42 @@ typedef enum {
+ /* EXC_I386_PGFLT = 14: should not occur in user space */
+ /* EXC_I386_EXTERRFLT = 16: mapped to EXC_ARITHMETIC/EXC_I386_EXTERR */
+ MD_EXCEPTION_CODE_MAC_X86_ALIGNMENT_FAULT = 17
+ /* EXC_ALIGNFLT (for vector operations) */
+ /* EXC_I386_ENOEXTFLT = 32: should be handled by the kernel */
+ /* EXC_I386_ENDPERR = 33: should not occur */
+ } MDExceptionCodeMac;
+
++// The following definitions were taken from Darwin/XNU kernel sources.
++// See https://github.com/apple/darwin-xnu/blob/main/osfmk/kern/exc_resource.h
++
++typedef enum MDMacExcResourceType {
++ MD_MAC_EXC_RESOURCE_TYPE_CPU = 1,
++ MD_MAC_EXC_RESOURCE_TYPE_WAKEUPS = 2,
++ MD_MAC_EXC_RESOURCE_TYPE_MEMORY = 3,
++ MD_MAC_EXC_RESOURCE_TYPE_IO = 4,
++ MD_MAC_EXC_RESOURCE_TYPE_THREADS = 5
++} MDMacExcResourceType;
++
++typedef enum MDMacExcResourceFlavorCpu {
++ MD_MAC_EXC_RESOURCE_FLAVOR_CPU_MONITOR = 1,
++ MD_MAC_EXC_RESOURCE_FLAVOR_CPU_MONITOR_FATAL = 2
++} MDMacExcResourceFlavorCpu;
++
++typedef enum MDMacExcResourceFlavorWakeup {
++ MD_MAC_EXC_RESOURCE_FLAVOR_WAKEUPS_MONITOR = 1,
++} MDMacExcResourceFlavorWakeup;
++
++typedef enum MDMacExcResourceFlavorMemory {
++ MD_MAC_EXC_RESOURCE_FLAVOR_HIGH_WATERMARK = 1,
++} MDMacExcResourceFlavorMemory;
++
++typedef enum MDMacExcResourceIOFlavor {
++ MD_MAC_EXC_RESOURCE_FLAVOR_IO_PHYSICAL_WRITES = 1,
++ MD_MAC_EXC_RESOURCE_FLAVOR_IO_LOGICAL_WRITES = 2,
++} MDMacExcResourceIOFlavor;
++
++typedef enum MDMacExcResourceThreadsFlavor {
++ MD_MAC_EXC_RESOURCE_FLAVOR_THREADS_HIGH_WATERMARK = 1,
++} MDMacExcResourceThreadsFlavor;
++
+ #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_OSX_H__ */
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1143,16 +1143,86 @@ string MinidumpProcessor::GetCrashReason
+ case MD_EXCEPTION_MAC_MACH_SYSCALL:
+ reason = "EXC_MACH_SYSCALL / ";
+ reason.append(flags_string);
+ break;
+ case MD_EXCEPTION_MAC_RPC_ALERT:
+ reason = "EXC_RPC_ALERT / ";
+ reason.append(flags_string);
+ break;
++ case MD_EXCEPTION_MAC_RESOURCE:
++ reason = "EXC_RESOURCE / ";
++ {
++ uint32_t type = (exception_flags >> 29) & 0x7ULL;
++ uint32_t flavor = (exception_flags >> 26) & 0x7ULL;
++ char flavor_string[6] = {};
++ switch (type) {
++ case MD_MAC_EXC_RESOURCE_TYPE_CPU:
++ reason.append("RESOURCE_TYPE_CPU / ");
++ switch (flavor) {
++ case MD_MAC_EXC_RESOURCE_FLAVOR_CPU_MONITOR:
++ reason.append("FLAVOR_CPU_MONITOR");
++ break;
++ case MD_MAC_EXC_RESOURCE_FLAVOR_CPU_MONITOR_FATAL:
++ reason.append("FLAVOR_CPU_MONITOR_FATAL");
++ break;
++ default:
++ snprintf(flavor_string, sizeof(flavor_string), "%#3x", flavor);
++ reason.append(flavor_string);
++ break;
++ }
++ break;
++ case MD_MAC_EXC_RESOURCE_TYPE_WAKEUPS:
++ reason.append("RESOURCE_TYPE_WAKEUPS / ");
++ if (flavor == MD_MAC_EXC_RESOURCE_FLAVOR_WAKEUPS_MONITOR) {
++ reason.append("FLAVOR_WAKEUPS_MONITOR");
++ } else {
++ snprintf(flavor_string, sizeof(flavor_string), "%#3x", flavor);
++ reason.append(flavor_string);
++ }
++ break;
++ case MD_MAC_EXC_RESOURCE_TYPE_MEMORY:
++ reason.append("RESOURCE_TYPE_MEMORY / ");
++ if (flavor == MD_MAC_EXC_RESOURCE_FLAVOR_HIGH_WATERMARK) {
++ reason.append("FLAVOR_HIGH_WATERMARK");
++ } else {
++ snprintf(flavor_string, sizeof(flavor_string), "%#3x", flavor);
++ reason.append(flavor_string);
++ }
++ break;
++ case MD_MAC_EXC_RESOURCE_TYPE_IO:
++ reason.append("EXC_RESOURCE_TYPE_IO / ");
++ switch (flavor) {
++ case MD_MAC_EXC_RESOURCE_FLAVOR_IO_PHYSICAL_WRITES:
++ reason.append("FLAVOR_IO_PHYSICAL_WRITES");
++ break;
++ case MD_MAC_EXC_RESOURCE_FLAVOR_IO_LOGICAL_WRITES:
++ reason.append("FLAVOR_IO_LOGICAL_WRITES");
++ break;
++ default:
++ snprintf(flavor_string, sizeof(flavor_string), "%#3x", flavor);
++ reason.append(flavor_string);
++ break;
++ }
++ break;
++ case MD_MAC_EXC_RESOURCE_TYPE_THREADS:
++ reason.append("EXC_RESOURCE_TYPE_THREADS / ");
++ if (flavor == MD_MAC_EXC_RESOURCE_FLAVOR_THREADS_HIGH_WATERMARK) {
++ reason.append("FLAVOR_THREADS_HIGH_WATERMARK");
++ } else {
++ snprintf(flavor_string, sizeof(flavor_string), "%#3x", flavor);
++ reason.append(flavor_string);
++ }
++ break;
++ default:
++ reason.append(flags_string);
++ break;
++ }
++ }
++ break;
+ case MD_EXCEPTION_MAC_SIMULATED:
+ reason = "Simulated Exception";
+ break;
+ }
+ break;
+ }
+
+ case MD_OS_WIN32_NT:
diff --git a/toolkit/crashreporter/breakpad-patches/25-macos-exc-guard.patch b/toolkit/crashreporter/breakpad-patches/25-macos-exc-guard.patch
new file mode 100644
index 0000000000..512c8d8ebd
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/25-macos-exc-guard.patch
@@ -0,0 +1,349 @@
+diff --git a/src/google_breakpad/common/minidump_exception_mac.h b/src/google_breakpad/common/minidump_exception_mac.h
+--- a/src/google_breakpad/common/minidump_exception_mac.h
++++ b/src/google_breakpad/common/minidump_exception_mac.h
+@@ -64,16 +64,18 @@ typedef enum {
+ MD_EXCEPTION_MAC_SYSCALL = 7,
+ /* EXC_SYSCALL */
+ MD_EXCEPTION_MAC_MACH_SYSCALL = 8,
+ /* EXC_MACH_SYSCALL */
+ MD_EXCEPTION_MAC_RPC_ALERT = 9,
+ /* EXC_RPC_ALERT */
+ MD_EXCEPTION_MAC_RESOURCE = 11,
+ /* EXC_RESOURCE */
++ MD_EXCEPTION_MAC_GUARD = 12,
++ /* EXC_GUARD */
+ MD_EXCEPTION_MAC_SIMULATED = 0x43507378
+ /* Fake exception code used by Crashpad's SimulateCrash ('CPsx'). */
+ } MDExceptionMac;
+
+ /* For (MDException).exception_flags. Breakpad minidump extension for Mac OS X
+ * support. Based on Darwin/Mac OS X' mach/ppc/exception.h and
+ * mach/i386/exception.h. This is what Mac OS X calls a "code". */
+ typedef enum {
+@@ -236,9 +238,77 @@ typedef enum MDMacExcResourceIOFlavor {
+ MD_MAC_EXC_RESOURCE_FLAVOR_IO_PHYSICAL_WRITES = 1,
+ MD_MAC_EXC_RESOURCE_FLAVOR_IO_LOGICAL_WRITES = 2,
+ } MDMacExcResourceIOFlavor;
+
+ typedef enum MDMacExcResourceThreadsFlavor {
+ MD_MAC_EXC_RESOURCE_FLAVOR_THREADS_HIGH_WATERMARK = 1,
+ } MDMacExcResourceThreadsFlavor;
+
++// See https://github.com/apple/darwin-xnu/blob/main/osfmk/kern/exc_guard.h
++
++typedef enum MDMacExcGuardType {
++ MD_MAC_EXC_GUARD_TYPE_NONE = 0x0,
++ MD_MAC_EXC_GUARD_TYPE_MACH_PORT = 0x1,
++ MD_MAC_EXC_GUARD_TYPE_FD = 0x2,
++ MD_MAC_EXC_GUARD_TYPE_USER = 0x3,
++ MD_MAC_EXC_GUARD_TYPE_VN = 0x4,
++ MD_MAC_EXC_GUARD_TYPE_VIRT_MEMORY = 0x5
++} MDMacExcGuardType;
++
++// See https://github.com/apple/darwin-xnu/osfmk/mach/port.h
++
++typedef enum MDMacExcGuardMachPortFlavor {
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_DESTROY = 1u << 0,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MOD_REFS = 1u << 1,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SET_CONTEXT = 1u << 2,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_UNGUARDED = 1u << 3,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INCORRECT_GUARD = 1u << 4,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_IMMOVABLE = 1u << 5,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_STRICT_REPLY = 1u << 6,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MSG_FILTERED = 1u << 7,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_RIGHT = 1u << 8,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_NAME = 1u << 9,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_VALUE = 1u << 10,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_ARGUMENT = 1u << 11,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RIGHT_EXISTS = 1u << 12,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_NO_SPACE = 1u << 13,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_FAILURE = 1u << 14,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_RESOURCE = 1u << 15,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_REPLY = 1u << 16,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_VOUCHER = 1u << 17,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_RIGHT = 1u << 18,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RCV_INVALID_NAME = 1u << 19,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RCV_GUARDED_DESC = 1u << 20,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21,
++ MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22,
++} MDMacExcGuardMachPortFlavor;
++
++// See https://github.com/apple/darwin-xnu/blob/main/bsd/sys/guarded.h
++
++typedef enum MDMacExcGuardFDFlavor {
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_CLOSE = 1u << 0,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_DUP = 1u << 1,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_NOCLOEXEC = 1u << 2,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_SOCKET_IPC = 1u << 3,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_FILEPORT = 1u << 4,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_MISMATCH = 1u << 5,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_WRITE = 1u << 6
++} MDMacExcGuardFDFlavor;
++
++
++typedef enum MDMacExcGuardVNFlavor {
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_RENAME_TO = 1u << 0,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_RENAME_FROM = 1u << 1,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_UNLINK = 1u << 2,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_WRITE_OTHER = 1u << 3,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_TRUNC_OTHER = 1u << 4,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_LINK = 1u << 5,
++ MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_EXCHDATA = 1u << 6,
++} MDMacExcGuardVNFlavor;
++
++// See https://github.com/apple/darwin-xnu/osfmk/mach/vm_statistics.h
++
++typedef enum MDMacExcGuardVirtMemoryFlavor {
++ MD_MAC_EXC_GUARD_VIRT_MEMORY_FLAVOR_GUARD_EXC_DEALLOC_GAP = 1u << 0
++} MDMacExcGuardVirtMemoryFlavor;
++
+ #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_OSX_H__ */
+diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
+--- a/src/processor/minidump_processor.cc
++++ b/src/processor/minidump_processor.cc
+@@ -1213,16 +1213,245 @@ string MinidumpProcessor::GetCrashReason
+ }
+ break;
+ default:
+ reason.append(flags_string);
+ break;
+ }
+ }
+ break;
++ case MD_EXCEPTION_MAC_GUARD:
++ reason = "EXC_GUARD / ";
++ {
++ uint32_t type = (exception_flags >> 29) & 0x7ULL;
++ uint32_t flavor = exception_flags & 0x1FFFFFFFULL;
++ switch (type) {
++ case MD_MAC_EXC_GUARD_TYPE_NONE:
++ reason.append("GUARD_TYPE_NONE");
++ break;
++ case MD_MAC_EXC_GUARD_TYPE_MACH_PORT:
++ reason.append("GUARD_TYPE_MACH_PORT");
++
++ if (flavor) {
++ std::vector<std::string> flavors;
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_DESTROY) {
++ flavors.push_back("GUARD_EXC_DESTROY");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MOD_REFS) {
++ flavors.push_back("GUARD_EXC_MOD_REFS");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SET_CONTEXT) {
++ flavors.push_back("GUARD_EXC_SET_CONTEXT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SET_CONTEXT) {
++ flavors.push_back("GUARD_EXC_SET_CONTEXT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_UNGUARDED) {
++ flavors.push_back("GUARD_EXC_UNGUARDED");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INCORRECT_GUARD) {
++ flavors.push_back("GUARD_EXC_INCORRECT_GUARD");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_IMMOVABLE) {
++ flavors.push_back("GUARD_EXC_IMMOVABLE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_STRICT_REPLY) {
++ flavors.push_back("GUARD_EXC_STRICT_REPLY");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MSG_FILTERED) {
++ flavors.push_back("GUARD_EXC_MSG_FILTERED");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_RIGHT) {
++ flavors.push_back("GUARD_EXC_INVALID_RIGHT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_NAME) {
++ flavors.push_back("GUARD_EXC_INVALID_NAME");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_VALUE) {
++ flavors.push_back("GUARD_EXC_INVALID_VALUE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_INVALID_ARGUMENT) {
++ flavors.push_back("GUARD_EXC_INVALID_ARGUMENT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RIGHT_EXISTS) {
++ flavors.push_back("GUARD_EXC_RIGHT_EXISTS");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_NO_SPACE) {
++ flavors.push_back("GUARD_EXC_KERN_NO_SPACE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_FAILURE) {
++ flavors.push_back("GUARD_EXC_KERN_FAILURE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_KERN_RESOURCE) {
++ flavors.push_back("GUARD_EXC_KERN_RESOURCE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_REPLY) {
++ flavors.push_back("GUARD_EXC_SEND_INVALID_REPLY");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_VOUCHER) {
++ flavors.push_back("GUARD_EXC_SEND_INVALID_VOUCHER");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_SEND_INVALID_RIGHT) {
++ flavors.push_back("GUARD_EXC_SEND_INVALID_RIGHT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RCV_INVALID_NAME) {
++ flavors.push_back("GUARD_EXC_RCV_INVALID_NAME");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_RCV_GUARDED_DESC) {
++ flavors.push_back("GUARD_EXC_RCV_GUARDED_DESC");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_MOD_REFS_NON_FATAL) {
++ flavors.push_back("GUARD_EXC_MOD_REFS_NON_FATAL");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_MACH_PORT_FLAVOR_GUARD_EXC_IMMOVABLE_NON_FATAL) {
++ flavors.push_back("GUARD_EXC_IMMOVABLE_NON_FATAL");
++ }
++
++ reason.append(" / ");
++ for (size_t i = 0; i < flavors.size(); i++) {
++ if (i > 0) {
++ reason.append(" | ");
++ }
++
++ reason.append(flavors[i]);
++ }
++ }
++
++ break;
++ case MD_MAC_EXC_GUARD_TYPE_FD:
++ reason.append("GUARD_TYPE_FD");
++
++ if (flavor) {
++ std::vector<std::string> flavors;
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_CLOSE) {
++ flavors.push_back("GUARD_EXC_CLOSE");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_DUP) {
++ flavors.push_back("GUARD_EXC_DUP");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_NOCLOEXEC) {
++ flavors.push_back("GUARD_EXC_NOCLOEXEC");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_SOCKET_IPC) {
++ flavors.push_back("GUARD_EXC_SOCKET_IPC");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_FILEPORT) {
++ flavors.push_back("GUARD_EXC_FILEPORT");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_MISMATCH) {
++ flavors.push_back("GUARD_EXC_MISMATCH");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_WRITE) {
++ flavors.push_back("GUARD_EXC_WRITE");
++ }
++
++ reason.append(" / ");
++ for (size_t i = 0; i < flavors.size(); i++) {
++ if (i > 0) {
++ reason.append(" | ");
++ }
++
++ reason.append(flavors[i]);
++ }
++ }
++
++ break;
++ case MD_MAC_EXC_GUARD_TYPE_USER:
++ reason.append("GUARD_TYPE_USER");
++ break;
++ case MD_MAC_EXC_GUARD_TYPE_VN:
++ reason.append("GUARD_TYPE_VN");
++
++ if (flavor) {
++ std::vector<std::string> flavors;
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_RENAME_TO) {
++ flavors.push_back("GUARD_EXC_RENAME_TO");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_RENAME_FROM) {
++ flavors.push_back("GUARD_EXC_RENAME_FROM");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_UNLINK) {
++ flavors.push_back("GUARD_EXC_UNLINK");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_WRITE_OTHER) {
++ flavors.push_back("GUARD_EXC_WRITE_OTHER");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_TRUNC_OTHER) {
++ flavors.push_back("GUARD_EXC_TRUNC_OTHER");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_LINK) {
++ flavors.push_back("GUARD_EXC_LINK");
++ }
++
++ if (flavor & MD_MAC_EXC_GUARD_FD_FLAVOR_GUARD_EXC_EXCHDATA) {
++ flavors.push_back("GUARD_EXC_EXCHDATA");
++ }
++
++ reason.append(" / ");
++ for (size_t i = 0; i < flavors.size(); i++) {
++ if (i > 0) {
++ reason.append(" | ");
++ }
++
++ reason.append(flavors[i]);
++ }
++ }
++
++ break;
++ case MD_MAC_EXC_GUARD_TYPE_VIRT_MEMORY:
++ reason.append("GUARD_TYPE_VIRT_MEMORY");
++
++ if (flavor & MD_MAC_EXC_GUARD_VIRT_MEMORY_FLAVOR_GUARD_EXC_DEALLOC_GAP) {
++ reason.append(" / GUARD_EXC_DEALLOC_GAP");
++ }
++
++ break;
++ default:
++ reason.append(flags_string);
++ break;
++ }
++ }
++ break;
+ case MD_EXCEPTION_MAC_SIMULATED:
+ reason = "Simulated Exception";
+ break;
+ }
+ break;
+ }
+
+ case MD_OS_WIN32_NT:
diff --git a/toolkit/crashreporter/breakpad-patches/26-print-thread-tid.patch b/toolkit/crashreporter/breakpad-patches/26-print-thread-tid.patch
new file mode 100644
index 0000000000..f81ca774bd
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/26-print-thread-tid.patch
@@ -0,0 +1,44 @@
+diff --git a/src/processor/stackwalk_common.cc b/src/processor/stackwalk_common.cc
+--- a/src/processor/stackwalk_common.cc
++++ b/src/processor/stackwalk_common.cc
+@@ -879,18 +879,19 @@ void PrintProcessState(const ProcessStat
+ }
+
+ // If the thread that requested the dump is known, print it first.
+ int requesting_thread = process_state.requesting_thread();
+ if (requesting_thread != -1) {
+ const CallStack* requesting_thread_callstack =
+ process_state.threads()->at(requesting_thread);
+ printf("\n"
+- "Thread %d (%s)",
++ "Thread %d tid %u (%s)",
+ requesting_thread,
++ requesting_thread_callstack->tid(),
+ process_state.crashed() ? "crashed" :
+ "requested dump, did not crash");
+ if (!requesting_thread_callstack->name().empty()) {
+ printf(" - %s", requesting_thread_callstack->name().c_str());
+ }
+ PrintStack(requesting_thread_callstack, cpu,
+ output_stack_contents,
+ process_state.thread_memory_regions()->at(requesting_thread),
+@@ -899,17 +900,17 @@ void PrintProcessState(const ProcessStat
+
+ // Print all of the threads in the dump.
+ int thread_count = process_state.threads()->size();
+ for (int thread_index = 0; thread_index < thread_count; ++thread_index) {
+ if (thread_index != requesting_thread) {
+ // Don't print the crash thread again, it was already printed.
+ const CallStack* callstack = process_state.threads()->at(thread_index);
+ printf("\n"
+- "Thread %d", thread_index);
++ "Thread %d tid %u", thread_index, callstack->tid());
+ if (!callstack->name().empty()) {
+ printf(" - %s", callstack->name().c_str());
+ }
+ printf("\n");
+ PrintStack(callstack, cpu,
+ output_stack_contents,
+ process_state.thread_memory_regions()->at(thread_index),
+ process_state.modules(), resolver);
+
diff --git a/toolkit/crashreporter/breakpad-patches/27-fix-unified-builds-bug-1733547.patch b/toolkit/crashreporter/breakpad-patches/27-fix-unified-builds-bug-1733547.patch
new file mode 100644
index 0000000000..5afc50316e
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/27-fix-unified-builds-bug-1733547.patch
@@ -0,0 +1,22 @@
+diff --git a/src/processor/stack_frame_symbolizer.cc b/src/processor/stack_frame_symbolizer.cc
+--- a/src/processor/stack_frame_symbolizer.cc
++++ b/src/processor/stack_frame_symbolizer.cc
+@@ -124,17 +124,16 @@ StackFrameSymbolizer::SymbolizerResult S
+
+ case SymbolSupplier::INTERRUPT:
+ return kInterrupt;
+
+ default:
+ BPLOG(ERROR) << "Unknown SymbolResult enum: " << symbol_result;
+ return kError;
+ }
+- return kError;
+ }
+
+ WindowsFrameInfo* StackFrameSymbolizer::FindWindowsFrameInfo(
+ const StackFrame* frame) {
+ return resolver_ ? resolver_->FindWindowsFrameInfo(frame) : NULL;
+ }
+
+ CFIFrameInfo* StackFrameSymbolizer::FindCFIFrameInfo(
+
diff --git a/toolkit/crashreporter/breakpad-patches/28-no-garbage-in-code-ids.patch b/toolkit/crashreporter/breakpad-patches/28-no-garbage-in-code-ids.patch
new file mode 100644
index 0000000000..64f791d01e
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/28-no-garbage-in-code-ids.patch
@@ -0,0 +1,34 @@
+diff --git a/src/common/linux/file_id.cc b/src/common/linux/file_id.cc
+--- a/src/common/linux/file_id.cc
++++ b/src/common/linux/file_id.cc
+@@ -115,28 +115,27 @@ static bool FindElfBuildIDNote(const voi
+
+ return false;
+ }
+
+ // Attempt to locate the .text section of an ELF binary and generate
+ // a simple hash by XORing the first page worth of bytes into |identifier|.
+ static bool HashElfTextSection(const void* elf_mapped_base,
+ wasteful_vector<uint8_t>& identifier) {
+- identifier.resize(kMDGUIDSize);
+-
+ void* text_section;
+ size_t text_size;
+ if (!FindElfSection(elf_mapped_base, ".text", SHT_PROGBITS,
+ (const void**)&text_section, &text_size) ||
+ text_size == 0) {
+ return false;
+ }
+
+ // Only provide |kMDGUIDSize| bytes to keep identifiers produced by this
+ // function backwards-compatible.
++ identifier.resize(kMDGUIDSize);
+ my_memset(&identifier[0], 0, kMDGUIDSize);
+ const uint8_t* ptr = reinterpret_cast<const uint8_t*>(text_section);
+ const uint8_t* ptr_end = ptr + std::min(text_size, static_cast<size_t>(4096));
+ while (ptr < ptr_end) {
+ for (unsigned i = 0; i < kMDGUIDSize; i++)
+ identifier[i] ^= ptr[i];
+ ptr += kMDGUIDSize;
+ }
+
diff --git a/toolkit/crashreporter/breakpad-patches/29-cpu-context-packing.patch b/toolkit/crashreporter/breakpad-patches/29-cpu-context-packing.patch
new file mode 100644
index 0000000000..f6ef0c4d29
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/29-cpu-context-packing.patch
@@ -0,0 +1,118 @@
+diff --git a/src/google_breakpad/common/minidump_cpu_arm64.h b/src/google_breakpad/common/minidump_cpu_arm64.h
+--- a/src/google_breakpad/common/minidump_cpu_arm64.h
++++ b/src/google_breakpad/common/minidump_cpu_arm64.h
+@@ -86,16 +86,20 @@ typedef struct {
+ #define MD_CONTEXT_ARM64_INTEGER (MD_CONTEXT_ARM64 | 0x00000002)
+ #define MD_CONTEXT_ARM64_FLOATING_POINT (MD_CONTEXT_ARM64 | 0x00000004)
+ #define MD_CONTEXT_ARM64_DEBUG (MD_CONTEXT_ARM64 | 0x00000008)
+ #define MD_CONTEXT_ARM64_FULL (MD_CONTEXT_ARM64_CONTROL | \
+ MD_CONTEXT_ARM64_INTEGER | \
+ MD_CONTEXT_ARM64_FLOATING_POINT)
+ #define MD_CONTEXT_ARM64_ALL (MD_CONTEXT_ARM64_FULL | MD_CONTEXT_ARM64_DEBUG)
+
++/* Use the same 32-bit alignment when accessing these structures from 64-bit
++ * code as is used natively in 32-bit code. */
++#pragma pack(push, 4)
++
+ typedef struct {
+ /* Determines which fields of this struct are populated */
+ uint32_t context_flags;
+
+ /* CPSR (flags, basically): 32 bits:
+ bit 31 - N (negative)
+ bit 30 - Z (zero)
+ bit 29 - C (carry)
+@@ -125,20 +129,16 @@ typedef struct {
+ typedef struct {
+ uint32_t fpsr; /* FPU status register */
+ uint32_t fpcr; /* FPU control register */
+
+ /* 32 128-bit floating point registers, d0 .. d31. */
+ uint128_struct regs[MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT];
+ } MDFloatingSaveAreaARM64_Old;
+
+-/* Use the same 32-bit alignment when accessing this structure from 64-bit code
+- * as is used natively in 32-bit code. */
+-#pragma pack(push, 4)
+-
+ typedef struct {
+ /* The next field determines the layout of the structure, and which parts
+ * of it are populated
+ */
+ uint64_t context_flags;
+
+ /* 33 64-bit integer registers, x0 .. x31 + the PC
+ * Note the following fixed uses:
+diff --git a/src/google_breakpad/common/minidump_cpu_ppc.h b/src/google_breakpad/common/minidump_cpu_ppc.h
+--- a/src/google_breakpad/common/minidump_cpu_ppc.h
++++ b/src/google_breakpad/common/minidump_cpu_ppc.h
+@@ -73,16 +73,20 @@
+ /*
+ * Breakpad minidump extension for PowerPC support. Based on Darwin/Mac OS X'
+ * mach/ppc/_types.h
+ */
+
+ #ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC_H__
+ #define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC_H__
+
++/* Use the same 32-bit alignment when accessing these structures from 64-bit
++ * code as is used natively in 32-bit code. */
++#pragma pack(push, 4)
++
+ #define MD_FLOATINGSAVEAREA_PPC_FPR_COUNT 32
+
+ typedef struct {
+ /* fpregs is a double[32] in mach/ppc/_types.h, but a uint64_t is used
+ * here for precise sizing. */
+ uint64_t fpregs[MD_FLOATINGSAVEAREA_PPC_FPR_COUNT];
+ uint32_t fpscr_pad;
+ uint32_t fpscr; /* Status/control */
+@@ -99,25 +103,16 @@ typedef struct {
+ uint32_t save_pad5[4];
+ uint32_t save_vrvalid; /* Indicates which vector registers are saved */
+ uint32_t save_pad6[7];
+ } MDVectorSaveAreaPPC; /* ppc_vector_state */
+
+
+ #define MD_CONTEXT_PPC_GPR_COUNT 32
+
+-/* Use the same 32-bit alignment when accessing this structure from 64-bit code
+- * as is used natively in 32-bit code. #pragma pack is a MSVC extension
+- * supported by gcc. */
+-#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+-#pragma pack(4)
+-#else
+-#pragma pack(push, 4)
+-#endif
+-
+ typedef struct {
+ /* context_flags is not present in ppc_thread_state, but it aids
+ * identification of MDRawContextPPC among other raw context types,
+ * and it guarantees alignment when we get to float_save. */
+ uint32_t context_flags;
+
+ uint32_t srr0; /* Machine status save/restore: stores pc
+ * (instruction) */
+@@ -140,21 +135,17 @@ typedef struct {
+ MDVectorSaveAreaPPC vector_save;
+ } MDRawContextPPC; /* Based on ppc_thread_state */
+
+ /* Indices into gpr for registers with a dedicated or conventional purpose. */
+ enum MDPPCRegisterNumbers {
+ MD_CONTEXT_PPC_REG_SP = 1
+ };
+
+-#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+-#pragma pack(0)
+-#else
+ #pragma pack(pop)
+-#endif
+
+ /* For (MDRawContextPPC).context_flags. These values indicate the type of
+ * context stored in the structure. MD_CONTEXT_PPC is Breakpad-defined. Its
+ * value was chosen to avoid likely conflicts with MD_CONTEXT_* for other
+ * CPUs. */
+ #define MD_CONTEXT_PPC 0x20000000
+ #define MD_CONTEXT_PPC_BASE (MD_CONTEXT_PPC | 0x00000001)
+ #define MD_CONTEXT_PPC_FLOATING_POINT (MD_CONTEXT_PPC | 0x00000008)
+
diff --git a/toolkit/crashreporter/breakpad-patches/30-sign-compare.patch b/toolkit/crashreporter/breakpad-patches/30-sign-compare.patch
new file mode 100644
index 0000000000..5fbf075810
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/30-sign-compare.patch
@@ -0,0 +1,11 @@
+--- a/src/client/windows/crash_generation/crash_generation_server.cc
++++ b/src/client/windows/crash_generation/crash_generation_server.cc
+@@ -954,7 +954,7 @@ bool CrashGenerationServer::GenerateDump(const ClientInfo& client,
+ }
+
+ // Allocate AppMemory instances for exception context.
+- for (int i = 0; i < kExceptionAppMemoryRegions; i++) {
++ for (size_t i = 0; i < kExceptionAppMemoryRegions; i++) {
+ AppMemory app_memory;
+ app_memory.ptr = reinterpret_cast<ULONG64>(nullptr);
+ app_memory.length = 0;
diff --git a/toolkit/crashreporter/breakpad-patches/README b/toolkit/crashreporter/breakpad-patches/README
new file mode 100644
index 0000000000..b3f23b255f
--- /dev/null
+++ b/toolkit/crashreporter/breakpad-patches/README
@@ -0,0 +1,4 @@
+Do not land local patches to Breakpad without the approval of
+Ted Mielczarek <ted@mielczarek.org>
+
+All local patches must be in the process of being upstreamed. \ No newline at end of file