ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

Disk.c
Go to the documentation of this file.
00001 /*
00002  * PROJECT:          Mke2fs
00003  * FILE:             Disk.c
00004  * PROGRAMMER:       Matt Wu <mattwu@163.com>
00005  * HOMEPAGE:         http://ext2.yeah.net
00006  */
00007 
00008 /* INCLUDES **************************************************************/
00009 
00010 #include "Mke2fs.h"
00011 #include <debug.h>
00012 
00013 /* DEFINITIONS ***********************************************************/
00014 
00015 
00016 
00017 /* FUNCTIONS *************************************************************/
00018 
00019 PCCHAR
00020 Ext2StatusToString ( IN NTSTATUS Status )
00021 {
00022     switch (Status)
00023     {
00024     case 0x00000000: return "STATUS_SUCCESS";
00025     case 0x00000001: return "STATUS_WAIT_1";
00026     case 0x00000002: return "STATUS_WAIT_2";
00027     case 0x00000003: return "STATUS_WAIT_3";
00028     case 0x0000003F: return "STATUS_WAIT_63";
00029     case 0x00000080: return "STATUS_ABANDONED_WAIT_0";
00030     case 0x000000BF: return "STATUS_ABANDONED_WAIT_63";
00031     case 0x000000C0: return "STATUS_USER_APC";
00032     case 0x00000100: return "STATUS_KERNEL_APC";
00033     case 0x00000101: return "STATUS_ALERTED";
00034     case 0x00000102: return "STATUS_TIMEOUT";
00035     case 0x00000103: return "STATUS_PENDING";
00036     case 0x00000104: return "STATUS_REPARSE";
00037     case 0x00000105: return "STATUS_MORE_ENTRIES";
00038     case 0x00000106: return "STATUS_NOT_ALL_ASSIGNED";
00039     case 0x00000107: return "STATUS_SOME_NOT_MAPPED";
00040     case 0x00000108: return "STATUS_OPLOCK_BREAK_IN_PROGRESS";
00041     case 0x00000109: return "STATUS_VOLUME_MOUNTED";
00042     case 0x0000010A: return "STATUS_RXACT_COMMITTED";
00043     case 0x0000010B: return "STATUS_NOTIFY_CLEANUP";
00044     case 0x0000010C: return "STATUS_NOTIFY_ENUM_DIR";
00045     case 0x0000010D: return "STATUS_NO_QUOTAS_FOR_ACCOUNT";
00046     case 0x0000010E: return "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED";
00047     case 0x00000110: return "STATUS_PAGE_FAULT_TRANSITION";
00048     case 0x00000111: return "STATUS_PAGE_FAULT_DEMAND_ZERO";
00049     case 0x00000112: return "STATUS_PAGE_FAULT_COPY_ON_WRITE";
00050     case 0x00000113: return "STATUS_PAGE_FAULT_GUARD_PAGE";
00051     case 0x00000114: return "STATUS_PAGE_FAULT_PAGING_FILE";
00052     case 0x00000115: return "STATUS_CACHE_PAGE_LOCKED";
00053     case 0x00000116: return "STATUS_CRASH_DUMP";
00054     case 0x00000117: return "STATUS_BUFFER_ALL_ZEROS";
00055     case 0x00000118: return "STATUS_REPARSE_OBJECT";
00056     case 0x00000119: return "STATUS_RESOURCE_REQUIREMENTS_CHANGED";
00057     case 0x00000120: return "STATUS_TRANSLATION_COMPLETE";
00058     case 0x00000121: return "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY";
00059     case 0x00010001: return "DBG_EXCEPTION_HANDLED";
00060     case 0x00010002: return "DBG_CONTINUE";
00061     case 0x40000000: return "STATUS_OBJECT_NAME_EXISTS";
00062     case 0x40000001: return "STATUS_THREAD_WAS_SUSPENDED";
00063     case 0x40000002: return "STATUS_WORKING_SET_LIMIT_RANGE";
00064     case 0x40000003: return "STATUS_IMAGE_NOT_AT_BASE";
00065     case 0x40000004: return "STATUS_RXACT_STATE_CREATED";
00066     case 0x40000005: return "STATUS_SEGMENT_NOTIFICATION";
00067     case 0x40000006: return "STATUS_LOCAL_USER_SESSION_KEY";
00068     case 0x40000007: return "STATUS_BAD_CURRENT_DIRECTORY";
00069     case 0x40000008: return "STATUS_SERIAL_MORE_WRITES";
00070     case 0x40000009: return "STATUS_REGISTRY_RECOVERED";
00071     case 0x4000000A: return "STATUS_FT_READ_RECOVERY_FROM_BACKUP";
00072     case 0x4000000B: return "STATUS_FT_WRITE_RECOVERY";
00073     case 0x4000000C: return "STATUS_SERIAL_COUNTER_TIMEOUT";
00074     case 0x4000000D: return "STATUS_NULL_LM_PASSWORD";
00075     case 0x4000000E: return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH";
00076     case 0x4000000F: return "STATUS_RECEIVE_PARTIAL";
00077     case 0x40000010: return "STATUS_RECEIVE_EXPEDITED";
00078     case 0x40000011: return "STATUS_RECEIVE_PARTIAL_EXPEDITED";
00079     case 0x40000012: return "STATUS_EVENT_DONE";
00080     case 0x40000013: return "STATUS_EVENT_PENDING";
00081     case 0x40000014: return "STATUS_CHECKING_FILE_SYSTEM";
00082     case 0x40000015: return "STATUS_FATAL_APP_EXIT";
00083     case 0x40000016: return "STATUS_PREDEFINED_HANDLE";
00084     case 0x40000017: return "STATUS_WAS_UNLOCKED";
00085     case 0x40000018: return "STATUS_SERVICE_NOTIFICATION";
00086     case 0x40000019: return "STATUS_WAS_LOCKED";
00087     case 0x4000001A: return "STATUS_LOG_HARD_ERROR";
00088     case 0x4000001B: return "STATUS_ALREADY_WIN32";
00089     case 0x4000001C: return "STATUS_WX86_UNSIMULATE";
00090     case 0x4000001D: return "STATUS_WX86_CONTINUE";
00091     case 0x4000001E: return "STATUS_WX86_SINGLE_STEP";
00092     case 0x4000001F: return "STATUS_WX86_BREAKPOINT";
00093     case 0x40000020: return "STATUS_WX86_EXCEPTION_CONTINUE";
00094     case 0x40000021: return "STATUS_WX86_EXCEPTION_LASTCHANCE";
00095     case 0x40000022: return "STATUS_WX86_EXCEPTION_CHAIN";
00096     case 0x40000023: return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE";
00097     case 0x40000024: return "STATUS_NO_YIELD_PERFORMED";
00098     case 0x40000025: return "STATUS_TIMER_RESUME_IGNORED";
00099     case 0x40000026: return "STATUS_ARBITRATION_UNHANDLED";
00100     case 0x40000027: return "STATUS_CARDBUS_NOT_SUPPORTED";
00101     case 0x40000028: return "STATUS_WX86_CREATEWX86TIB";
00102     case 0x40000029: return "STATUS_MP_PROCESSOR_MISMATCH";
00103     case 0x40010001: return "DBG_REPLY_LATER";
00104     case 0x40010002: return "DBG_UNABLE_TO_PROVIDE_HANDLE";
00105     case 0x40010003: return "DBG_TERMINATE_THREAD";
00106     case 0x40010004: return "DBG_TERMINATE_PROCESS";
00107     case 0x40010005: return "DBG_CONTROL_C";
00108     case 0x40010006: return "DBG_PRINTEXCEPTION_C";
00109     case 0x40010007: return "DBG_RIPEXCEPTION";
00110     case 0x40010008: return "DBG_CONTROL_BREAK";
00111     case 0x80000001: return "STATUS_GUARD_PAGE_VIOLATION";
00112     case 0x80000002: return "STATUS_DATATYPE_MISALIGNMENT";
00113     case 0x80000003: return "STATUS_BREAKPOINT";
00114     case 0x80000004: return "STATUS_SINGLE_STEP";
00115     case 0x80000005: return "STATUS_BUFFER_OVERFLOW";
00116     case 0x80000006: return "STATUS_NO_MORE_FILES";
00117     case 0x80000007: return "STATUS_WAKE_SYSTEM_DEBUGGER";
00118     case 0x8000000A: return "STATUS_HANDLES_CLOSED";
00119     case 0x8000000B: return "STATUS_NO_INHERITANCE";
00120     case 0x8000000C: return "STATUS_GUID_SUBSTITUTION_MADE";
00121     case 0x8000000D: return "STATUS_PARTIAL_COPY";
00122     case 0x8000000E: return "STATUS_DEVICE_PAPER_EMPTY";
00123     case 0x8000000F: return "STATUS_DEVICE_POWERED_OFF";
00124     case 0x80000010: return "STATUS_DEVICE_OFF_LINE";
00125     case 0x80000011: return "STATUS_DEVICE_BUSY";
00126     case 0x80000012: return "STATUS_NO_MORE_EAS";
00127     case 0x80000013: return "STATUS_INVALID_EA_NAME";
00128     case 0x80000014: return "STATUS_EA_LIST_INCONSISTENT";
00129     case 0x80000015: return "STATUS_INVALID_EA_FLAG";
00130     case 0x80000016: return "STATUS_VERIFY_REQUIRED";
00131     case 0x80000017: return "STATUS_EXTRANEOUS_INFORMATION";
00132     case 0x80000018: return "STATUS_RXACT_COMMIT_NECESSARY";
00133     case 0x8000001A: return "STATUS_NO_MORE_ENTRIES";
00134     case 0x8000001B: return "STATUS_FILEMARK_DETECTED";
00135     case 0x8000001C: return "STATUS_MEDIA_CHANGED";
00136     case 0x8000001D: return "STATUS_BUS_RESET";
00137     case 0x8000001E: return "STATUS_END_OF_MEDIA";
00138     case 0x8000001F: return "STATUS_BEGINNING_OF_MEDIA";
00139     case 0x80000020: return "STATUS_MEDIA_CHECK";
00140     case 0x80000021: return "STATUS_SETMARK_DETECTED";
00141     case 0x80000022: return "STATUS_NO_DATA_DETECTED";
00142     case 0x80000023: return "STATUS_REDIRECTOR_HAS_OPEN_HANDLES";
00143     case 0x80000024: return "STATUS_SERVER_HAS_OPEN_HANDLES";
00144     case 0x80000025: return "STATUS_ALREADY_DISCONNECTED";
00145     case 0x80000026: return "STATUS_LONGJUMP";
00146     case 0x80010001: return "DBG_EXCEPTION_NOT_HANDLED";
00147     case 0xC0000001: return "STATUS_UNSUCCESSFUL";
00148     case 0xC0000002: return "STATUS_NOT_IMPLEMENTED";
00149     case 0xC0000003: return "STATUS_INVALID_INFO_CLASS";
00150     case 0xC0000004: return "STATUS_INFO_LENGTH_MISMATCH";
00151     case 0xC0000005: return "STATUS_ACCESS_VIOLATION";
00152     case 0xC0000006: return "STATUS_IN_PAGE_ERROR";
00153     case 0xC0000007: return "STATUS_PAGEFILE_QUOTA";
00154     case 0xC0000008: return "STATUS_INVALID_HANDLE";
00155     case 0xC0000009: return "STATUS_BAD_INITIAL_STACK";
00156     case 0xC000000A: return "STATUS_BAD_INITIAL_PC";
00157     case 0xC000000B: return "STATUS_INVALID_CID";
00158     case 0xC000000C: return "STATUS_TIMER_NOT_CANCELED";
00159     case 0xC000000D: return "STATUS_INVALID_PARAMETER";
00160     case 0xC000000E: return "STATUS_NO_SUCH_DEVICE";
00161     case 0xC000000F: return "STATUS_NO_SUCH_FILE";
00162     case 0xC0000010: return "STATUS_INVALID_DEVICE_REQUEST";
00163     case 0xC0000011: return "STATUS_END_OF_FILE";
00164     case 0xC0000012: return "STATUS_WRONG_VOLUME";
00165     case 0xC0000013: return "STATUS_NO_MEDIA_IN_DEVICE";
00166     case 0xC0000014: return "STATUS_UNRECOGNIZED_MEDIA";
00167     case 0xC0000015: return "STATUS_NONEXISTENT_SECTOR";
00168     case 0xC0000016: return "STATUS_MORE_PROCESSING_REQUIRED";
00169     case 0xC0000017: return "STATUS_NO_MEMORY";
00170     case 0xC0000018: return "STATUS_CONFLICTING_ADDRESSES";
00171     case 0xC0000019: return "STATUS_NOT_MAPPED_VIEW";
00172     case 0xC000001A: return "STATUS_UNABLE_TO_FREE_VM";
00173     case 0xC000001B: return "STATUS_UNABLE_TO_DELETE_SECTION";
00174     case 0xC000001C: return "STATUS_INVALID_SYSTEM_SERVICE";
00175     case 0xC000001D: return "STATUS_ILLEGAL_INSTRUCTION";
00176     case 0xC000001E: return "STATUS_INVALID_LOCK_SEQUENCE";
00177     case 0xC000001F: return "STATUS_INVALID_VIEW_SIZE";
00178     case 0xC0000020: return "STATUS_INVALID_FILE_FOR_SECTION";
00179     case 0xC0000021: return "STATUS_ALREADY_COMMITTED";
00180     case 0xC0000022: return "STATUS_ACCESS_DENIED";
00181     case 0xC0000023: return "STATUS_BUFFER_TOO_SMALL";
00182     case 0xC0000024: return "STATUS_OBJECT_TYPE_MISMATCH";
00183     case 0xC0000025: return "STATUS_NONCONTINUABLE_EXCEPTION";
00184     case 0xC0000026: return "STATUS_INVALID_DISPOSITION";
00185     case 0xC0000027: return "STATUS_UNWIND";
00186     case 0xC0000028: return "STATUS_BAD_STACK";
00187     case 0xC0000029: return "STATUS_INVALID_UNWIND_TARGET";
00188     case 0xC000002A: return "STATUS_NOT_LOCKED";
00189     case 0xC000002B: return "STATUS_PARITY_ERROR";
00190     case 0xC000002C: return "STATUS_UNABLE_TO_DECOMMIT_VM";
00191     case 0xC000002D: return "STATUS_NOT_COMMITTED";
00192     case 0xC000002E: return "STATUS_INVALID_PORT_ATTRIBUTES";
00193     case 0xC000002F: return "STATUS_PORT_MESSAGE_TOO_LONG";
00194     case 0xC0000030: return "STATUS_INVALID_PARAMETER_MIX";
00195     case 0xC0000031: return "STATUS_INVALID_QUOTA_LOWER";
00196     case 0xC0000032: return "STATUS_DISK_CORRUPT_ERROR";
00197     case 0xC0000033: return "STATUS_OBJECT_NAME_INVALID";
00198     case 0xC0000034: return "STATUS_OBJECT_NAME_NOT_FOUND";
00199     case 0xC0000035: return "STATUS_OBJECT_NAME_COLLISION";
00200     case 0xC0000037: return "STATUS_PORT_DISCONNECTED";
00201     case 0xC0000038: return "STATUS_DEVICE_ALREADY_ATTACHED";
00202     case 0xC0000039: return "STATUS_OBJECT_PATH_INVALID";
00203     case 0xC000003A: return "STATUS_OBJECT_PATH_NOT_FOUND";
00204     case 0xC000003B: return "STATUS_OBJECT_PATH_SYNTAX_BAD";
00205     case 0xC000003C: return "STATUS_DATA_OVERRUN";
00206     case 0xC000003D: return "STATUS_DATA_LATE_ERROR";
00207     case 0xC000003E: return "STATUS_DATA_ERROR";
00208     case 0xC000003F: return "STATUS_CRC_ERROR";
00209     case 0xC0000040: return "STATUS_SECTION_TOO_BIG";
00210     case 0xC0000041: return "STATUS_PORT_CONNECTION_REFUSED";
00211     case 0xC0000042: return "STATUS_INVALID_PORT_HANDLE";
00212     case 0xC0000043: return "STATUS_SHARING_VIOLATION";
00213     case 0xC0000044: return "STATUS_QUOTA_EXCEEDED";
00214     case 0xC0000045: return "STATUS_INVALID_PAGE_PROTECTION";
00215     case 0xC0000046: return "STATUS_MUTANT_NOT_OWNED";
00216     case 0xC0000047: return "STATUS_SEMAPHORE_LIMIT_EXCEEDED";
00217     case 0xC0000048: return "STATUS_PORT_ALREADY_SET";
00218     case 0xC0000049: return "STATUS_SECTION_NOT_IMAGE";
00219     case 0xC000004A: return "STATUS_SUSPEND_COUNT_EXCEEDED";
00220     case 0xC000004B: return "STATUS_THREAD_IS_TERMINATING";
00221     case 0xC000004C: return "STATUS_BAD_WORKING_SET_LIMIT";
00222     case 0xC000004D: return "STATUS_INCOMPATIBLE_FILE_MAP";
00223     case 0xC000004E: return "STATUS_SECTION_PROTECTION";
00224     case 0xC000004F: return "STATUS_EAS_NOT_SUPPORTED";
00225     case 0xC0000050: return "STATUS_EA_TOO_LARGE";
00226     case 0xC0000051: return "STATUS_NONEXISTENT_EA_ENTRY";
00227     case 0xC0000052: return "STATUS_NO_EAS_ON_FILE";
00228     case 0xC0000053: return "STATUS_EA_CORRUPT_ERROR";
00229     case 0xC0000054: return "STATUS_FILE_LOCK_CONFLICT";
00230     case 0xC0000055: return "STATUS_LOCK_NOT_GRANTED";
00231     case 0xC0000056: return "STATUS_DELETE_PENDING";
00232     case 0xC0000057: return "STATUS_CTL_FILE_NOT_SUPPORTED";
00233     case 0xC0000058: return "STATUS_UNKNOWN_REVISION";
00234     case 0xC0000059: return "STATUS_REVISION_MISMATCH";
00235     case 0xC000005A: return "STATUS_INVALID_OWNER";
00236     case 0xC000005B: return "STATUS_INVALID_PRIMARY_GROUP";
00237     case 0xC000005C: return "STATUS_NO_IMPERSONATION_TOKEN";
00238     case 0xC000005D: return "STATUS_CANT_DISABLE_MANDATORY";
00239     case 0xC000005E: return "STATUS_NO_LOGON_SERVERS";
00240     case 0xC000005F: return "STATUS_NO_SUCH_LOGON_SESSION";
00241     case 0xC0000060: return "STATUS_NO_SUCH_PRIVILEGE";
00242     case 0xC0000061: return "STATUS_PRIVILEGE_NOT_HELD";
00243     case 0xC0000062: return "STATUS_INVALID_ACCOUNT_NAME";
00244     case 0xC0000063: return "STATUS_USER_EXISTS";
00245     case 0xC0000064: return "STATUS_NO_SUCH_USER";
00246     case 0xC0000065: return "STATUS_GROUP_EXISTS";
00247     case 0xC0000066: return "STATUS_NO_SUCH_GROUP";
00248     case 0xC0000067: return "STATUS_MEMBER_IN_GROUP";
00249     case 0xC0000068: return "STATUS_MEMBER_NOT_IN_GROUP";
00250     case 0xC0000069: return "STATUS_LAST_ADMIN";
00251     case 0xC000006A: return "STATUS_WRONG_PASSWORD";
00252     case 0xC000006B: return "STATUS_ILL_FORMED_PASSWORD";
00253     case 0xC000006C: return "STATUS_PASSWORD_RESTRICTION";
00254     case 0xC000006D: return "STATUS_LOGON_FAILURE";
00255     case 0xC000006E: return "STATUS_ACCOUNT_RESTRICTION";
00256     case 0xC000006F: return "STATUS_INVALID_LOGON_HOURS";
00257     case 0xC0000070: return "STATUS_INVALID_WORKSTATION";
00258     case 0xC0000071: return "STATUS_PASSWORD_EXPIRED";
00259     case 0xC0000072: return "STATUS_ACCOUNT_DISABLED";
00260     case 0xC0000073: return "STATUS_NONE_MAPPED";
00261     case 0xC0000074: return "STATUS_TOO_MANY_LUIDS_REQUESTED";
00262     case 0xC0000075: return "STATUS_LUIDS_EXHAUSTED";
00263     case 0xC0000076: return "STATUS_INVALID_SUB_AUTHORITY";
00264     case 0xC0000077: return "STATUS_INVALID_ACL";
00265     case 0xC0000078: return "STATUS_INVALID_SID";
00266     case 0xC0000079: return "STATUS_INVALID_SECURITY_DESCR";
00267     case 0xC000007A: return "STATUS_PROCEDURE_NOT_FOUND";
00268     case 0xC000007B: return "STATUS_INVALID_IMAGE_FORMAT";
00269     case 0xC000007C: return "STATUS_NO_TOKEN";
00270     case 0xC000007D: return "STATUS_BAD_INHERITANCE_ACL";
00271     case 0xC000007E: return "STATUS_RANGE_NOT_LOCKED";
00272     case 0xC000007F: return "STATUS_DISK_FULL";
00273     case 0xC0000080: return "STATUS_SERVER_DISABLED";
00274     case 0xC0000081: return "STATUS_SERVER_NOT_DISABLED";
00275     case 0xC0000082: return "STATUS_TOO_MANY_GUIDS_REQUESTED";
00276     case 0xC0000083: return "STATUS_GUIDS_EXHAUSTED";
00277     case 0xC0000084: return "STATUS_INVALID_ID_AUTHORITY";
00278     case 0xC0000085: return "STATUS_AGENTS_EXHAUSTED";
00279     case 0xC0000086: return "STATUS_INVALID_VOLUME_LABEL";
00280     case 0xC0000087: return "STATUS_SECTION_NOT_EXTENDED";
00281     case 0xC0000088: return "STATUS_NOT_MAPPED_DATA";
00282     case 0xC0000089: return "STATUS_RESOURCE_DATA_NOT_FOUND";
00283     case 0xC000008A: return "STATUS_RESOURCE_TYPE_NOT_FOUND";
00284     case 0xC000008B: return "STATUS_RESOURCE_NAME_NOT_FOUND";
00285     case 0xC000008C: return "STATUS_ARRAY_BOUNDS_EXCEEDED";
00286     case 0xC000008D: return "STATUS_FLOAT_DENORMAL_OPERAND";
00287     case 0xC000008E: return "STATUS_FLOAT_DIVIDE_BY_ZERO";
00288     case 0xC000008F: return "STATUS_FLOAT_INEXACT_RESULT";
00289     case 0xC0000090: return "STATUS_FLOAT_INVALID_OPERATION";
00290     case 0xC0000091: return "STATUS_FLOAT_OVERFLOW";
00291     case 0xC0000092: return "STATUS_FLOAT_STACK_CHECK";
00292     case 0xC0000093: return "STATUS_FLOAT_UNDERFLOW";
00293     case 0xC0000094: return "STATUS_INTEGER_DIVIDE_BY_ZERO";
00294     case 0xC0000095: return "STATUS_INTEGER_OVERFLOW";
00295     case 0xC0000096: return "STATUS_PRIVILEGED_INSTRUCTION";
00296     case 0xC0000097: return "STATUS_TOO_MANY_PAGING_FILES";
00297     case 0xC0000098: return "STATUS_FILE_INVALID";
00298     case 0xC0000099: return "STATUS_ALLOTTED_SPACE_EXCEEDED";
00299     case 0xC000009A: return "STATUS_INSUFFICIENT_RESOURCES";
00300     case 0xC000009B: return "STATUS_DFS_EXIT_PATH_FOUND";
00301     case 0xC000009C: return "STATUS_DEVICE_DATA_ERROR";
00302     case 0xC000009D: return "STATUS_DEVICE_NOT_CONNECTED";
00303     case 0xC000009E: return "STATUS_DEVICE_POWER_FAILURE";
00304     case 0xC000009F: return "STATUS_FREE_VM_NOT_AT_BASE";
00305     case 0xC00000A0: return "STATUS_MEMORY_NOT_ALLOCATED";
00306     case 0xC00000A1: return "STATUS_WORKING_SET_QUOTA";
00307     case 0xC00000A2: return "STATUS_MEDIA_WRITE_PROTECTED";
00308     case 0xC00000A3: return "STATUS_DEVICE_NOT_READY";
00309     case 0xC00000A4: return "STATUS_INVALID_GROUP_ATTRIBUTES";
00310     case 0xC00000A5: return "STATUS_BAD_IMPERSONATION_LEVEL";
00311     case 0xC00000A6: return "STATUS_CANT_OPEN_ANONYMOUS";
00312     case 0xC00000A7: return "STATUS_BAD_VALIDATION_CLASS";
00313     case 0xC00000A8: return "STATUS_BAD_TOKEN_TYPE";
00314     case 0xC00000A9: return "STATUS_BAD_MASTER_BOOT_RECORD";
00315     case 0xC00000AA: return "STATUS_INSTRUCTION_MISALIGNMENT";
00316     case 0xC00000AB: return "STATUS_INSTANCE_NOT_AVAILABLE";
00317     case 0xC00000AC: return "STATUS_PIPE_NOT_AVAILABLE";
00318     case 0xC00000AD: return "STATUS_INVALID_PIPE_STATE";
00319     case 0xC00000AE: return "STATUS_PIPE_BUSY";
00320     case 0xC00000AF: return "STATUS_ILLEGAL_FUNCTION";
00321     case 0xC00000B0: return "STATUS_PIPE_DISCONNECTED";
00322     case 0xC00000B1: return "STATUS_PIPE_CLOSING";
00323     case 0xC00000B2: return "STATUS_PIPE_CONNECTED";
00324     case 0xC00000B3: return "STATUS_PIPE_LISTENING";
00325     case 0xC00000B4: return "STATUS_INVALID_READ_MODE";
00326     case 0xC00000B5: return "STATUS_IO_TIMEOUT";
00327     case 0xC00000B6: return "STATUS_FILE_FORCED_CLOSED";
00328     case 0xC00000B7: return "STATUS_PROFILING_NOT_STARTED";
00329     case 0xC00000B8: return "STATUS_PROFILING_NOT_STOPPED";
00330     case 0xC00000B9: return "STATUS_COULD_NOT_INTERPRET";
00331     case 0xC00000BA: return "STATUS_FILE_IS_A_DIRECTORY";
00332     case 0xC00000BB: return "STATUS_NOT_SUPPORTED";
00333     case 0xC00000BC: return "STATUS_REMOTE_NOT_LISTENING";
00334     case 0xC00000BD: return "STATUS_DUPLICATE_NAME";
00335     case 0xC00000BE: return "STATUS_BAD_NETWORK_PATH";
00336     case 0xC00000BF: return "STATUS_NETWORK_BUSY";
00337     case 0xC00000C0: return "STATUS_DEVICE_DOES_NOT_EXIST";
00338     case 0xC00000C1: return "STATUS_TOO_MANY_COMMANDS";
00339     case 0xC00000C2: return "STATUS_ADAPTER_HARDWARE_ERROR";
00340     case 0xC00000C3: return "STATUS_INVALID_NETWORK_RESPONSE";
00341     case 0xC00000C4: return "STATUS_UNEXPECTED_NETWORK_ERROR";
00342     case 0xC00000C5: return "STATUS_BAD_REMOTE_ADAPTER";
00343     case 0xC00000C6: return "STATUS_PRINT_QUEUE_FULL";
00344     case 0xC00000C7: return "STATUS_NO_SPOOL_SPACE";
00345     case 0xC00000C8: return "STATUS_PRINT_CANCELLED";
00346     case 0xC00000C9: return "STATUS_NETWORK_NAME_DELETED";
00347     case 0xC00000CA: return "STATUS_NETWORK_ACCESS_DENIED";
00348     case 0xC00000CB: return "STATUS_BAD_DEVICE_TYPE";
00349     case 0xC00000CC: return "STATUS_BAD_NETWORK_NAME";
00350     case 0xC00000CD: return "STATUS_TOO_MANY_NAMES";
00351     case 0xC00000CE: return "STATUS_TOO_MANY_SESSIONS";
00352     case 0xC00000CF: return "STATUS_SHARING_PAUSED";
00353     case 0xC00000D0: return "STATUS_REQUEST_NOT_ACCEPTED";
00354     case 0xC00000D1: return "STATUS_REDIRECTOR_PAUSED";
00355     case 0xC00000D2: return "STATUS_NET_WRITE_FAULT";
00356     case 0xC00000D3: return "STATUS_PROFILING_AT_LIMIT";
00357     case 0xC00000D4: return "STATUS_NOT_SAME_DEVICE";
00358     case 0xC00000D5: return "STATUS_FILE_RENAMED";
00359     case 0xC00000D6: return "STATUS_VIRTUAL_CIRCUIT_CLOSED";
00360     case 0xC00000D7: return "STATUS_NO_SECURITY_ON_OBJECT";
00361     case 0xC00000D8: return "STATUS_CANT_WAIT";
00362     case 0xC00000D9: return "STATUS_PIPE_EMPTY";
00363     case 0xC00000DA: return "STATUS_CANT_ACCESS_DOMAIN_INFO";
00364     case 0xC00000DB: return "STATUS_CANT_TERMINATE_SELF";
00365     case 0xC00000DC: return "STATUS_INVALID_SERVER_STATE";
00366     case 0xC00000DD: return "STATUS_INVALID_DOMAIN_STATE";
00367     case 0xC00000DE: return "STATUS_INVALID_DOMAIN_ROLE";
00368     case 0xC00000DF: return "STATUS_NO_SUCH_DOMAIN";
00369     case 0xC00000E0: return "STATUS_DOMAIN_EXISTS";
00370     case 0xC00000E1: return "STATUS_DOMAIN_LIMIT_EXCEEDED";
00371     case 0xC00000E2: return "STATUS_OPLOCK_NOT_GRANTED";
00372     case 0xC00000E3: return "STATUS_INVALID_OPLOCK_PROTOCOL";
00373     case 0xC00000E4: return "STATUS_INTERNAL_DB_CORRUPTION";
00374     case 0xC00000E5: return "STATUS_INTERNAL_ERROR";
00375     case 0xC00000E6: return "STATUS_GENERIC_NOT_MAPPED";
00376     case 0xC00000E7: return "STATUS_BAD_DESCRIPTOR_FORMAT";
00377     case 0xC00000E8: return "STATUS_INVALID_USER_BUFFER";
00378     case 0xC00000E9: return "STATUS_UNEXPECTED_IO_ERROR";
00379     case 0xC00000EA: return "STATUS_UNEXPECTED_MM_CREATE_ERR";
00380     case 0xC00000EB: return "STATUS_UNEXPECTED_MM_MAP_ERROR";
00381     case 0xC00000EC: return "STATUS_UNEXPECTED_MM_EXTEND_ERR";
00382     case 0xC00000ED: return "STATUS_NOT_LOGON_PROCESS";
00383     case 0xC00000EE: return "STATUS_LOGON_SESSION_EXISTS";
00384     case 0xC00000EF: return "STATUS_INVALID_PARAMETER_1";
00385     case 0xC00000F0: return "STATUS_INVALID_PARAMETER_2";
00386     case 0xC00000F1: return "STATUS_INVALID_PARAMETER_3";
00387     case 0xC00000F2: return "STATUS_INVALID_PARAMETER_4";
00388     case 0xC00000F3: return "STATUS_INVALID_PARAMETER_5";
00389     case 0xC00000F4: return "STATUS_INVALID_PARAMETER_6";
00390     case 0xC00000F5: return "STATUS_INVALID_PARAMETER_7";
00391     case 0xC00000F6: return "STATUS_INVALID_PARAMETER_8";
00392     case 0xC00000F7: return "STATUS_INVALID_PARAMETER_9";
00393     case 0xC00000F8: return "STATUS_INVALID_PARAMETER_10";
00394     case 0xC00000F9: return "STATUS_INVALID_PARAMETER_11";
00395     case 0xC00000FA: return "STATUS_INVALID_PARAMETER_12";
00396     case 0xC00000FB: return "STATUS_REDIRECTOR_NOT_STARTED";
00397     case 0xC00000FC: return "STATUS_REDIRECTOR_STARTED";
00398     case 0xC00000FD: return "STATUS_STACK_OVERFLOW";
00399     case 0xC00000FE: return "STATUS_NO_SUCH_PACKAGE";
00400     case 0xC00000FF: return "STATUS_BAD_FUNCTION_TABLE";
00401     case 0xC0000100: return "STATUS_VARIABLE_NOT_FOUND";
00402     case 0xC0000101: return "STATUS_DIRECTORY_NOT_EMPTY";
00403     case 0xC0000102: return "STATUS_FILE_CORRUPT_ERROR";
00404     case 0xC0000103: return "STATUS_NOT_A_DIRECTORY";
00405     case 0xC0000104: return "STATUS_BAD_LOGON_SESSION_STATE";
00406     case 0xC0000105: return "STATUS_LOGON_SESSION_COLLISION";
00407     case 0xC0000106: return "STATUS_NAME_TOO_LONG";
00408     case 0xC0000107: return "STATUS_FILES_OPEN";
00409     case 0xC0000108: return "STATUS_CONNECTION_IN_USE";
00410     case 0xC0000109: return "STATUS_MESSAGE_NOT_FOUND";
00411     case 0xC000010A: return "STATUS_PROCESS_IS_TERMINATING";
00412     case 0xC000010B: return "STATUS_INVALID_LOGON_TYPE";
00413     case 0xC000010C: return "STATUS_NO_GUID_TRANSLATION";
00414     case 0xC000010D: return "STATUS_CANNOT_IMPERSONATE";
00415     case 0xC000010E: return "STATUS_IMAGE_ALREADY_LOADED";
00416     case 0xC000010F: return "STATUS_ABIOS_NOT_PRESENT";
00417     case 0xC0000110: return "STATUS_ABIOS_LID_NOT_EXIST";
00418     case 0xC0000111: return "STATUS_ABIOS_LID_ALREADY_OWNED";
00419     case 0xC0000112: return "STATUS_ABIOS_NOT_LID_OWNER";
00420     case 0xC0000113: return "STATUS_ABIOS_INVALID_COMMAND";
00421     case 0xC0000114: return "STATUS_ABIOS_INVALID_LID";
00422     case 0xC0000115: return "STATUS_ABIOS_SELECTOR_NOT_AVAILABLE";
00423     case 0xC0000116: return "STATUS_ABIOS_INVALID_SELECTOR";
00424     case 0xC0000117: return "STATUS_NO_LDT";
00425     case 0xC0000118: return "STATUS_INVALID_LDT_SIZE";
00426     case 0xC0000119: return "STATUS_INVALID_LDT_OFFSET";
00427     case 0xC000011A: return "STATUS_INVALID_LDT_DESCRIPTOR";
00428     case 0xC000011B: return "STATUS_INVALID_IMAGE_NE_FORMAT";
00429     case 0xC000011C: return "STATUS_RXACT_INVALID_STATE";
00430     case 0xC000011D: return "STATUS_RXACT_COMMIT_FAILURE";
00431     case 0xC000011E: return "STATUS_MAPPED_FILE_SIZE_ZERO";
00432     case 0xC000011F: return "STATUS_TOO_MANY_OPENED_FILES";
00433     case 0xC0000120: return "STATUS_CANCELLED";
00434     case 0xC0000121: return "STATUS_CANNOT_DELETE";
00435     case 0xC0000122: return "STATUS_INVALID_COMPUTER_NAME";
00436     case 0xC0000123: return "STATUS_FILE_DELETED";
00437     case 0xC0000124: return "STATUS_SPECIAL_ACCOUNT";
00438     case 0xC0000125: return "STATUS_SPECIAL_GROUP";
00439     case 0xC0000126: return "STATUS_SPECIAL_USER";
00440     case 0xC0000127: return "STATUS_MEMBERS_PRIMARY_GROUP";
00441     case 0xC0000128: return "STATUS_FILE_CLOSED";
00442     case 0xC0000129: return "STATUS_TOO_MANY_THREADS";
00443     case 0xC000012A: return "STATUS_THREAD_NOT_IN_PROCESS";
00444     case 0xC000012B: return "STATUS_TOKEN_ALREADY_IN_USE";
00445     case 0xC000012C: return "STATUS_PAGEFILE_QUOTA_EXCEEDED";
00446     case 0xC000012D: return "STATUS_COMMITMENT_LIMIT";
00447     case 0xC000012E: return "STATUS_INVALID_IMAGE_LE_FORMAT";
00448     case 0xC000012F: return "STATUS_INVALID_IMAGE_NOT_MZ";
00449     case 0xC0000130: return "STATUS_INVALID_IMAGE_PROTECT";
00450     case 0xC0000131: return "STATUS_INVALID_IMAGE_WIN_16";
00451     case 0xC0000132: return "STATUS_LOGON_SERVER_CONFLICT";
00452     case 0xC0000133: return "STATUS_TIME_DIFFERENCE_AT_DC";
00453     case 0xC0000134: return "STATUS_SYNCHRONIZATION_REQUIRED";
00454     case 0xC0000135: return "STATUS_DLL_NOT_FOUND";
00455     case 0xC0000136: return "STATUS_OPEN_FAILED";
00456     case 0xC0000137: return "STATUS_IO_PRIVILEGE_FAILED";
00457     case 0xC0000138: return "STATUS_ORDINAL_NOT_FOUND";
00458     case 0xC0000139: return "STATUS_ENTRYPOINT_NOT_FOUND";
00459     case 0xC000013A: return "STATUS_CONTROL_C_EXIT";
00460     case 0xC000013B: return "STATUS_LOCAL_DISCONNECT";
00461     case 0xC000013C: return "STATUS_REMOTE_DISCONNECT";
00462     case 0xC000013D: return "STATUS_REMOTE_RESOURCES";
00463     case 0xC000013E: return "STATUS_LINK_FAILED";
00464     case 0xC000013F: return "STATUS_LINK_TIMEOUT";
00465     case 0xC0000140: return "STATUS_INVALID_CONNECTION";
00466     case 0xC0000141: return "STATUS_INVALID_ADDRESS";
00467     case 0xC0000142: return "STATUS_DLL_INIT_FAILED";
00468     case 0xC0000143: return "STATUS_MISSING_SYSTEMFILE";
00469     case 0xC0000144: return "STATUS_UNHANDLED_EXCEPTION";
00470     case 0xC0000145: return "STATUS_APP_INIT_FAILURE";
00471     case 0xC0000146: return "STATUS_PAGEFILE_CREATE_FAILED";
00472     case 0xC0000147: return "STATUS_NO_PAGEFILE";
00473     case 0xC0000148: return "STATUS_INVALID_LEVEL";
00474     case 0xC0000149: return "STATUS_WRONG_PASSWORD_CORE";
00475     case 0xC000014A: return "STATUS_ILLEGAL_FLOAT_CONTEXT";
00476     case 0xC000014B: return "STATUS_PIPE_BROKEN";
00477     case 0xC000014C: return "STATUS_REGISTRY_CORRUPT";
00478     case 0xC000014D: return "STATUS_REGISTRY_IO_FAILED";
00479     case 0xC000014E: return "STATUS_NO_EVENT_PAIR";
00480     case 0xC000014F: return "STATUS_UNRECOGNIZED_VOLUME";
00481     case 0xC0000150: return "STATUS_SERIAL_NO_DEVICE_INITED";
00482     case 0xC0000151: return "STATUS_NO_SUCH_ALIAS";
00483     case 0xC0000152: return "STATUS_MEMBER_NOT_IN_ALIAS";
00484     case 0xC0000153: return "STATUS_MEMBER_IN_ALIAS";
00485     case 0xC0000154: return "STATUS_ALIAS_EXISTS";
00486     case 0xC0000155: return "STATUS_LOGON_NOT_GRANTED";
00487     case 0xC0000156: return "STATUS_TOO_MANY_SECRETS";
00488     case 0xC0000157: return "STATUS_SECRET_TOO_LONG";
00489     case 0xC0000158: return "STATUS_INTERNAL_DB_ERROR";
00490     case 0xC0000159: return "STATUS_FULLSCREEN_MODE";
00491     case 0xC000015A: return "STATUS_TOO_MANY_CONTEXT_IDS";
00492     case 0xC000015B: return "STATUS_LOGON_TYPE_NOT_GRANTED";
00493     case 0xC000015C: return "STATUS_NOT_REGISTRY_FILE";
00494     case 0xC000015D: return "STATUS_NT_CROSS_ENCRYPTION_REQUIRED";
00495     case 0xC000015E: return "STATUS_DOMAIN_CTRLR_CONFIG_ERROR";
00496     case 0xC000015F: return "STATUS_FT_MISSING_MEMBER";
00497     case 0xC0000160: return "STATUS_ILL_FORMED_SERVICE_ENTRY";
00498     case 0xC0000161: return "STATUS_ILLEGAL_CHARACTER";
00499     case 0xC0000162: return "STATUS_UNMAPPABLE_CHARACTER";
00500     case 0xC0000163: return "STATUS_UNDEFINED_CHARACTER";
00501     case 0xC0000164: return "STATUS_FLOPPY_VOLUME";
00502     case 0xC0000165: return "STATUS_FLOPPY_ID_MARK_NOT_FOUND";
00503     case 0xC0000166: return "STATUS_FLOPPY_WRONG_CYLINDER";
00504     case 0xC0000167: return "STATUS_FLOPPY_UNKNOWN_ERROR";
00505     case 0xC0000168: return "STATUS_FLOPPY_BAD_REGISTERS";
00506     case 0xC0000169: return "STATUS_DISK_RECALIBRATE_FAILED";
00507     case 0xC000016A: return "STATUS_DISK_OPERATION_FAILED";
00508     case 0xC000016B: return "STATUS_DISK_RESET_FAILED";
00509     case 0xC000016C: return "STATUS_SHARED_IRQ_BUSY";
00510     case 0xC000016D: return "STATUS_FT_ORPHANING";
00511     case 0xC000016E: return "STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT";
00512     case 0xC0000172: return "STATUS_PARTITION_FAILURE";
00513     case 0xC0000173: return "STATUS_INVALID_BLOCK_LENGTH";
00514     case 0xC0000174: return "STATUS_DEVICE_NOT_PARTITIONED";
00515     case 0xC0000175: return "STATUS_UNABLE_TO_LOCK_MEDIA";
00516     case 0xC0000176: return "STATUS_UNABLE_TO_UNLOAD_MEDIA";
00517     case 0xC0000177: return "STATUS_EOM_OVERFLOW";
00518     case 0xC0000178: return "STATUS_NO_MEDIA";
00519     case 0xC000017A: return "STATUS_NO_SUCH_MEMBER";
00520     case 0xC000017B: return "STATUS_INVALID_MEMBER";
00521     case 0xC000017C: return "STATUS_KEY_DELETED";
00522     case 0xC000017D: return "STATUS_NO_LOG_SPACE";
00523     case 0xC000017E: return "STATUS_TOO_MANY_SIDS";
00524     case 0xC000017F: return "STATUS_LM_CROSS_ENCRYPTION_REQUIRED";
00525     case 0xC0000180: return "STATUS_KEY_HAS_CHILDREN";
00526     case 0xC0000181: return "STATUS_CHILD_MUST_BE_VOLATILE";
00527     case 0xC0000182: return "STATUS_DEVICE_CONFIGURATION_ERROR";
00528     case 0xC0000183: return "STATUS_DRIVER_INTERNAL_ERROR";
00529     case 0xC0000184: return "STATUS_INVALID_DEVICE_STATE";
00530     case 0xC0000185: return "STATUS_IO_DEVICE_ERROR";
00531     case 0xC0000186: return "STATUS_DEVICE_PROTOCOL_ERROR";
00532     case 0xC0000187: return "STATUS_BACKUP_CONTROLLER";
00533     case 0xC0000188: return "STATUS_LOG_FILE_FULL";
00534     case 0xC0000189: return "STATUS_TOO_LATE";
00535     case 0xC000018A: return "STATUS_NO_TRUST_LSA_SECRET";
00536     case 0xC000018B: return "STATUS_NO_TRUST_SAM_ACCOUNT";
00537     case 0xC000018C: return "STATUS_TRUSTED_DOMAIN_FAILURE";
00538     case 0xC000018D: return "STATUS_TRUSTED_RELATIONSHIP_FAILURE";
00539     case 0xC000018E: return "STATUS_EVENTLOG_FILE_CORRUPT";
00540     case 0xC000018F: return "STATUS_EVENTLOG_CANT_START";
00541     case 0xC0000190: return "STATUS_TRUST_FAILURE";
00542     case 0xC0000191: return "STATUS_MUTANT_LIMIT_EXCEEDED";
00543     case 0xC0000192: return "STATUS_NETLOGON_NOT_STARTED";
00544     case 0xC0000193: return "STATUS_ACCOUNT_EXPIRED";
00545     case 0xC0000194: return "STATUS_POSSIBLE_DEADLOCK";
00546     case 0xC0000195: return "STATUS_NETWORK_CREDENTIAL_CONFLICT";
00547     case 0xC0000196: return "STATUS_REMOTE_SESSION_LIMIT";
00548     case 0xC0000197: return "STATUS_EVENTLOG_FILE_CHANGED";
00549     case 0xC0000198: return "STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT";
00550     case 0xC0000199: return "STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT";
00551     case 0xC000019A: return "STATUS_NOLOGON_SERVER_TRUST_ACCOUNT";
00552     case 0xC000019B: return "STATUS_DOMAIN_TRUST_INCONSISTENT";
00553     case 0xC000019C: return "STATUS_FS_DRIVER_REQUIRED";
00554     case 0xC0000202: return "STATUS_NO_USER_SESSION_KEY";
00555     case 0xC0000203: return "STATUS_USER_SESSION_DELETED";
00556     case 0xC0000204: return "STATUS_RESOURCE_LANG_NOT_FOUND";
00557     case 0xC0000205: return "STATUS_INSUFF_SERVER_RESOURCES";
00558     case 0xC0000206: return "STATUS_INVALID_BUFFER_SIZE";
00559     case 0xC0000207: return "STATUS_INVALID_ADDRESS_COMPONENT";
00560     case 0xC0000208: return "STATUS_INVALID_ADDRESS_WILDCARD";
00561     case 0xC0000209: return "STATUS_TOO_MANY_ADDRESSES";
00562     case 0xC000020A: return "STATUS_ADDRESS_ALREADY_EXISTS";
00563     case 0xC000020B: return "STATUS_ADDRESS_CLOSED";
00564     case 0xC000020C: return "STATUS_CONNECTION_DISCONNECTED";
00565     case 0xC000020D: return "STATUS_CONNECTION_RESET";
00566     case 0xC000020E: return "STATUS_TOO_MANY_NODES";
00567     case 0xC000020F: return "STATUS_TRANSACTION_ABORTED";
00568     case 0xC0000210: return "STATUS_TRANSACTION_TIMED_OUT";
00569     case 0xC0000211: return "STATUS_TRANSACTION_NO_RELEASE";
00570     case 0xC0000212: return "STATUS_TRANSACTION_NO_MATCH";
00571     case 0xC0000213: return "STATUS_TRANSACTION_RESPONDED";
00572     case 0xC0000214: return "STATUS_TRANSACTION_INVALID_ID";
00573     case 0xC0000215: return "STATUS_TRANSACTION_INVALID_TYPE";
00574     case 0xC0000216: return "STATUS_NOT_SERVER_SESSION";
00575     case 0xC0000217: return "STATUS_NOT_CLIENT_SESSION";
00576     case 0xC0000218: return "STATUS_CANNOT_LOAD_REGISTRY_FILE";
00577     case 0xC0000219: return "STATUS_DEBUG_ATTACH_FAILED";
00578     case 0xC000021A: return "STATUS_SYSTEM_PROCESS_TERMINATED";
00579     case 0xC000021B: return "STATUS_DATA_NOT_ACCEPTED";
00580     case 0xC000021C: return "STATUS_NO_BROWSER_SERVERS_FOUND";
00581     case 0xC000021D: return "STATUS_VDM_HARD_ERROR";
00582     case 0xC000021E: return "STATUS_DRIVER_CANCEL_TIMEOUT";
00583     case 0xC000021F: return "STATUS_REPLY_MESSAGE_MISMATCH";
00584     case 0xC0000220: return "STATUS_MAPPED_ALIGNMENT";
00585     case 0xC0000221: return "STATUS_IMAGE_CHECKSUM_MISMATCH";
00586     case 0xC0000222: return "STATUS_LOST_WRITEBEHIND_DATA";
00587     case 0xC0000223: return "STATUS_CLIENT_SERVER_PARAMETERS_INVALID";
00588     case 0xC0000224: return "STATUS_PASSWORD_MUST_CHANGE";
00589     case 0xC0000225: return "STATUS_NOT_FOUND";
00590     case 0xC0000226: return "STATUS_NOT_TINY_STREAM";
00591     case 0xC0000227: return "STATUS_RECOVERY_FAILURE";
00592     case 0xC0000228: return "STATUS_STACK_OVERFLOW_READ";
00593     case 0xC0000229: return "STATUS_FAIL_CHECK";
00594     case 0xC000022A: return "STATUS_DUPLICATE_OBJECTID";
00595     case 0xC000022B: return "STATUS_OBJECTID_EXISTS";
00596     case 0xC000022C: return "STATUS_CONVERT_TO_LARGE";
00597     case 0xC000022D: return "STATUS_RETRY";
00598     case 0xC000022E: return "STATUS_FOUND_OUT_OF_SCOPE";
00599     case 0xC000022F: return "STATUS_ALLOCATE_BUCKET";
00600     case 0xC0000230: return "STATUS_PROPSET_NOT_FOUND";
00601     case 0xC0000231: return "STATUS_MARSHALL_OVERFLOW";
00602     case 0xC0000232: return "STATUS_INVALID_VARIANT";
00603     case 0xC0000233: return "STATUS_DOMAIN_CONTROLLER_NOT_FOUND";
00604     case 0xC0000234: return "STATUS_ACCOUNT_LOCKED_OUT";
00605     case 0xC0000235: return "STATUS_HANDLE_NOT_CLOSABLE";
00606     case 0xC0000236: return "STATUS_CONNECTION_REFUSED";
00607     case 0xC0000237: return "STATUS_GRACEFUL_DISCONNECT";
00608     case 0xC0000238: return "STATUS_ADDRESS_ALREADY_ASSOCIATED";
00609     case 0xC0000239: return "STATUS_ADDRESS_NOT_ASSOCIATED";
00610     case 0xC000023A: return "STATUS_CONNECTION_INVALID";
00611     case 0xC000023B: return "STATUS_CONNECTION_ACTIVE";
00612     case 0xC000023C: return "STATUS_NETWORK_UNREACHABLE";
00613     case 0xC000023D: return "STATUS_HOST_UNREACHABLE";
00614     case 0xC000023E: return "STATUS_PROTOCOL_UNREACHABLE";
00615     case 0xC000023F: return "STATUS_PORT_UNREACHABLE";
00616     case 0xC0000240: return "STATUS_REQUEST_ABORTED";
00617     case 0xC0000241: return "STATUS_CONNECTION_ABORTED";
00618     case 0xC0000242: return "STATUS_BAD_COMPRESSION_BUFFER";
00619     case 0xC0000243: return "STATUS_USER_MAPPED_FILE";
00620     case 0xC0000244: return "STATUS_AUDIT_FAILED";
00621     case 0xC0000245: return "STATUS_TIMER_RESOLUTION_NOT_SET";
00622     case 0xC0000246: return "STATUS_CONNECTION_COUNT_LIMIT";
00623     case 0xC0000247: return "STATUS_LOGIN_TIME_RESTRICTION";
00624     case 0xC0000248: return "STATUS_LOGIN_WKSTA_RESTRICTION";
00625     case 0xC0000249: return "STATUS_IMAGE_MP_UP_MISMATCH";
00626     case 0xC0000250: return "STATUS_INSUFFICIENT_LOGON_INFO";
00627     case 0xC0000251: return "STATUS_BAD_DLL_ENTRYPOINT";
00628     case 0xC0000252: return "STATUS_BAD_SERVICE_ENTRYPOINT";
00629     case 0xC0000253: return "STATUS_LPC_REPLY_LOST";
00630     case 0xC0000254: return "STATUS_IP_ADDRESS_CONFLICT1";
00631     case 0xC0000255: return "STATUS_IP_ADDRESS_CONFLICT2";
00632     case 0xC0000256: return "STATUS_REGISTRY_QUOTA_LIMIT";
00633     case 0xC0000257: return "STATUS_PATH_NOT_COVERED";
00634     case 0xC0000258: return "STATUS_NO_CALLBACK_ACTIVE";
00635     case 0xC0000259: return "STATUS_LICENSE_QUOTA_EXCEEDED";
00636     case 0xC000025A: return "STATUS_PWD_TOO_SHORT";
00637     case 0xC000025B: return "STATUS_PWD_TOO_RECENT";
00638     case 0xC000025C: return "STATUS_PWD_HISTORY_CONFLICT";
00639     case 0xC000025E: return "STATUS_PLUGPLAY_NO_DEVICE";
00640     case 0xC000025F: return "STATUS_UNSUPPORTED_COMPRESSION";
00641     case 0xC0000260: return "STATUS_INVALID_HW_PROFILE";
00642     case 0xC0000261: return "STATUS_INVALID_PLUGPLAY_DEVICE_PATH";
00643     case 0xC0000262: return "STATUS_DRIVER_ORDINAL_NOT_FOUND";
00644     case 0xC0000263: return "STATUS_DRIVER_ENTRYPOINT_NOT_FOUND";
00645     case 0xC0000264: return "STATUS_RESOURCE_NOT_OWNED";
00646     case 0xC0000265: return "STATUS_TOO_MANY_LINKS";
00647     case 0xC0000266: return "STATUS_QUOTA_LIST_INCONSISTENT";
00648     case 0xC0000267: return "STATUS_FILE_IS_OFFLINE";
00649     case 0xC0000268: return "STATUS_EVALUATION_EXPIRATION";
00650     case 0xC0000269: return "STATUS_ILLEGAL_DLL_RELOCATION";
00651     case 0xC000026A: return "STATUS_LICENSE_VIOLATION";
00652     case 0xC000026B: return "STATUS_DLL_INIT_FAILED_LOGOFF";
00653     case 0xC000026C: return "STATUS_DRIVER_UNABLE_TO_LOAD";
00654     case 0xC000026D: return "STATUS_DFS_UNAVAILABLE";
00655     case 0xC000026E: return "STATUS_VOLUME_DISMOUNTED";
00656     case 0xC000026F: return "STATUS_WX86_INTERNAL_ERROR";
00657     case 0xC0000270: return "STATUS_WX86_FLOAT_STACK_CHECK";
00658     case 0xC0000271: return "STATUS_VALIDATE_CONTINUE";
00659     case 0xC0000272: return "STATUS_NO_MATCH";
00660     case 0xC0000273: return "STATUS_NO_MORE_MATCHES";
00661     case 0xC0000275: return "STATUS_NOT_A_REPARSE_POINT";
00662     case 0xC0000276: return "STATUS_IO_REPARSE_TAG_INVALID";
00663     case 0xC0000277: return "STATUS_IO_REPARSE_TAG_MISMATCH";
00664     case 0xC0000278: return "STATUS_IO_REPARSE_DATA_INVALID";
00665     case 0xC0000279: return "STATUS_IO_REPARSE_TAG_NOT_HANDLED";
00666     case 0xC0000280: return "STATUS_REPARSE_POINT_NOT_RESOLVED";
00667     case 0xC0000281: return "STATUS_DIRECTORY_IS_A_REPARSE_POINT";
00668     case 0xC0000282: return "STATUS_RANGE_LIST_CONFLICT";
00669     case 0xC0000283: return "STATUS_SOURCE_ELEMENT_EMPTY";
00670     case 0xC0000284: return "STATUS_DESTINATION_ELEMENT_FULL";
00671     case 0xC0000285: return "STATUS_ILLEGAL_ELEMENT_ADDRESS";
00672     case 0xC0000286: return "STATUS_MAGAZINE_NOT_PRESENT";
00673     case 0xC0000287: return "STATUS_REINITIALIZATION_NEEDED";
00674     case 0x80000288: return "STATUS_DEVICE_REQUIRES_CLEANING";
00675     case 0x80000289: return "STATUS_DEVICE_DOOR_OPEN";
00676     case 0xC000028A: return "STATUS_ENCRYPTION_FAILED";
00677     case 0xC000028B: return "STATUS_DECRYPTION_FAILED";
00678     case 0xC000028C: return "STATUS_RANGE_NOT_FOUND";
00679     case 0xC000028D: return "STATUS_NO_RECOVERY_POLICY";
00680     case 0xC000028E: return "STATUS_NO_EFS";
00681     case 0xC000028F: return "STATUS_WRONG_EFS";
00682     case 0xC0000290: return "STATUS_NO_USER_KEYS";
00683     case 0xC0000291: return "STATUS_FILE_NOT_ENCRYPTED";
00684     case 0xC0000292: return "STATUS_NOT_EXPORT_FORMAT";
00685     case 0xC0000293: return "STATUS_FILE_ENCRYPTED";
00686     case 0x40000294: return "STATUS_WAKE_SYSTEM";
00687     case 0xC0000295: return "STATUS_WMI_GUID_NOT_FOUND";
00688     case 0xC0000296: return "STATUS_WMI_INSTANCE_NOT_FOUND";
00689     case 0xC0000297: return "STATUS_WMI_ITEMID_NOT_FOUND";
00690     case 0xC0000298: return "STATUS_WMI_TRY_AGAIN";
00691     case 0xC0000299: return "STATUS_SHARED_POLICY";
00692     case 0xC000029A: return "STATUS_POLICY_OBJECT_NOT_FOUND";
00693     case 0xC000029B: return "STATUS_POLICY_ONLY_IN_DS";
00694     case 0xC000029C: return "STATUS_VOLUME_NOT_UPGRADED";
00695     case 0xC000029D: return "STATUS_REMOTE_STORAGE_NOT_ACTIVE";
00696     case 0xC000029E: return "STATUS_REMOTE_STORAGE_MEDIA_ERROR";
00697     case 0xC000029F: return "STATUS_NO_TRACKING_SERVICE";
00698     case 0xC00002A0: return "STATUS_SERVER_SID_MISMATCH";
00699     case 0xC00002A1: return "STATUS_DS_NO_ATTRIBUTE_OR_VALUE";
00700     case 0xC00002A2: return "STATUS_DS_INVALID_ATTRIBUTE_SYNTAX";
00701     case 0xC00002A3: return "STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED";
00702     case 0xC00002A4: return "STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS";
00703     case 0xC00002A5: return "STATUS_DS_BUSY";
00704     case 0xC00002A6: return "STATUS_DS_UNAVAILABLE";
00705     case 0xC00002A7: return "STATUS_DS_NO_RIDS_ALLOCATED";
00706     case 0xC00002A8: return "STATUS_DS_NO_MORE_RIDS";
00707     case 0xC00002A9: return "STATUS_DS_INCORRECT_ROLE_OWNER";
00708     case 0xC00002AA: return "STATUS_DS_RIDMGR_INIT_ERROR";
00709     case 0xC00002AB: return "STATUS_DS_OBJ_CLASS_VIOLATION";
00710     case 0xC00002AC: return "STATUS_DS_CANT_ON_NON_LEAF";
00711     case 0xC00002AD: return "STATUS_DS_CANT_ON_RDN";
00712     case 0xC00002AE: return "STATUS_DS_CANT_MOD_OBJ_CLASS";
00713     case 0xC00002AF: return "STATUS_DS_CROSS_DOM_MOVE_FAILED";
00714     case 0xC00002B0: return "STATUS_DS_GC_NOT_AVAILABLE";
00715     case 0xC00002B1: return "STATUS_DIRECTORY_SERVICE_REQUIRED";
00716     case 0xC00002B2: return "STATUS_REPARSE_ATTRIBUTE_CONFLICT";
00717     case 0xC00002B3: return "STATUS_CANT_ENABLE_DENY_ONLY";
00718     case 0xC00002B4: return "STATUS_FLOAT_MULTIPLE_FAULTS";
00719     case 0xC00002B5: return "STATUS_FLOAT_MULTIPLE_TRAPS";
00720     case 0xC00002B6: return "STATUS_DEVICE_REMOVED";
00721     case 0xC00002B7: return "STATUS_JOURNAL_DELETE_IN_PROGRESS";
00722     case 0xC00002B8: return "STATUS_JOURNAL_NOT_ACTIVE";
00723     case 0xC00002B9: return "STATUS_NOINTERFACE";
00724     case 0xC00002C1: return "STATUS_DS_ADMIN_LIMIT_EXCEEDED";
00725     case 0xC00002C2: return "STATUS_DRIVER_FAILED_SLEEP";
00726     case 0xC00002C3: return "STATUS_MUTUAL_AUTHENTICATION_FAILED";
00727     case 0xC00002C4: return "STATUS_CORRUPT_SYSTEM_FILE";
00728     case 0xC00002C5: return "STATUS_DATATYPE_MISALIGNMENT_ERROR";
00729     case 0xC00002C6: return "STATUS_WMI_READ_ONLY";
00730     case 0xC00002C7: return "STATUS_WMI_SET_FAILURE";
00731     case 0xC00002C8: return "STATUS_COMMITMENT_MINIMUM";
00732     case 0xC00002C9: return "STATUS_REG_NAT_CONSUMPTION";
00733     case 0xC00002CA: return "STATUS_TRANSPORT_FULL";
00734     case 0xC00002CB: return "STATUS_DS_SAM_INIT_FAILURE";
00735     case 0xC00002CC: return "STATUS_ONLY_IF_CONNECTED";
00736     case 0xC00002CD: return "STATUS_DS_SENSITIVE_GROUP_VIOLATION";
00737     case 0xC00002CE: return "STATUS_PNP_RESTART_ENUMERATION";
00738     case 0xC00002CF: return "STATUS_JOURNAL_ENTRY_DELETED";
00739     case 0xC00002D0: return "STATUS_DS_CANT_MOD_PRIMARYGROUPID";
00740     case 0xC00002D1: return "STATUS_SYSTEM_IMAGE_BAD_SIGNATURE";
00741     case 0xC00002D2: return "STATUS_PNP_REBOOT_REQUIRED";
00742     case 0xC00002D3: return "STATUS_POWER_STATE_INVALID";
00743     case 0xC00002D4: return "STATUS_DS_INVALID_GROUP_TYPE";
00744     case 0xC00002D5: return "STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN";
00745     case 0xC00002D6: return "STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN";
00746     case 0xC00002D7: return "STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER";
00747     case 0xC00002D8: return "STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER";
00748     case 0xC00002D9: return "STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER";
00749     case 0xC00002DA: return "STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER";
00750     case 0xC00002DB: return "STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER";
00751     case 0xC00002DC: return "STATUS_DS_HAVE_PRIMARY_MEMBERS";
00752     case 0xC00002DD: return "STATUS_WMI_NOT_SUPPORTED";
00753     case 0xC00002DE: return "STATUS_INSUFFICIENT_POWER";
00754     case 0xC00002DF: return "STATUS_SAM_NEED_BOOTKEY_PASSWORD";
00755     case 0xC00002E0: return "STATUS_SAM_NEED_BOOTKEY_FLOPPY";
00756     case 0xC00002E1: return "STATUS_DS_CANT_START";
00757     case 0xC00002E2: return "STATUS_DS_INIT_FAILURE";
00758     case 0xC00002E3: return "STATUS_SAM_INIT_FAILURE";
00759     case 0xC00002E4: return "STATUS_DS_GC_REQUIRED";
00760     case 0xC00002E5: return "STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY";
00761     case 0xC00002E6: return "STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS";
00762     case 0xC00002E7: return "STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED";
00763     case 0xC00002E8: return "STATUS_MULTIPLE_FAULT_VIOLATION";
00764     case 0xC0000300: return "STATUS_NOT_SUPPORTED_ON_SBS";
00765     case 0xC0009898: return "STATUS_WOW_ASSERTION";
00766     case 0xC0010001: return "DBG_NO_STATE_CHANGE";
00767     case 0xC0010002: return "DBG_APP_NOT_IDLE";
00768     case 0xC0020001: return "RPC_NT_INVALID_STRING_BINDING";
00769     case 0xC0020002: return "RPC_NT_WRONG_KIND_OF_BINDING";
00770     case 0xC0020003: return "RPC_NT_INVALID_BINDING";
00771     case 0xC0020004: return "RPC_NT_PROTSEQ_NOT_SUPPORTED";
00772     case 0xC0020005: return "RPC_NT_INVALID_RPC_PROTSEQ";
00773     case 0xC0020006: return "RPC_NT_INVALID_STRING_UUID";
00774     case 0xC0020007: return "RPC_NT_INVALID_ENDPOINT_FORMAT";
00775     case 0xC0020008: return "RPC_NT_INVALID_NET_ADDR";
00776     case 0xC0020009: return "RPC_NT_NO_ENDPOINT_FOUND";
00777     case 0xC002000A: return "RPC_NT_INVALID_TIMEOUT";
00778     case 0xC002000B: return "RPC_NT_OBJECT_NOT_FOUND";
00779     case 0xC002000C: return "RPC_NT_ALREADY_REGISTERED";
00780     case 0xC002000D: return "RPC_NT_TYPE_ALREADY_REGISTERED";
00781     case 0xC002000E: return "RPC_NT_ALREADY_LISTENING";
00782     case 0xC002000F: return "RPC_NT_NO_PROTSEQS_REGISTERED";
00783     case 0xC0020010: return "RPC_NT_NOT_LISTENING";
00784     case 0xC0020011: return "RPC_NT_UNKNOWN_MGR_TYPE";
00785     case 0xC0020012: return "RPC_NT_UNKNOWN_IF";
00786     case 0xC0020013: return "RPC_NT_NO_BINDINGS";
00787     case 0xC0020014: return "RPC_NT_NO_PROTSEQS";
00788     case 0xC0020015: return "RPC_NT_CANT_CREATE_ENDPOINT";
00789     case 0xC0020016: return "RPC_NT_OUT_OF_RESOURCES";
00790     case 0xC0020017: return "RPC_NT_SERVER_UNAVAILABLE";
00791     case 0xC0020018: return "RPC_NT_SERVER_TOO_BUSY";
00792     case 0xC0020019: return "RPC_NT_INVALID_NETWORK_OPTIONS";
00793     case 0xC002001A: return "RPC_NT_NO_CALL_ACTIVE";
00794     case 0xC002001B: return "RPC_NT_CALL_FAILED";
00795     case 0xC002001C: return "RPC_NT_CALL_FAILED_DNE";
00796     case 0xC002001D: return "RPC_NT_PROTOCOL_ERROR";
00797     case 0xC002001F: return "RPC_NT_UNSUPPORTED_TRANS_SYN";
00798     case 0xC0020021: return "RPC_NT_UNSUPPORTED_TYPE";
00799     case 0xC0020022: return "RPC_NT_INVALID_TAG";
00800     case 0xC0020023: return "RPC_NT_INVALID_BOUND";
00801     case 0xC0020024: return "RPC_NT_NO_ENTRY_NAME";
00802     case 0xC0020025: return "RPC_NT_INVALID_NAME_SYNTAX";
00803     case 0xC0020026: return "RPC_NT_UNSUPPORTED_NAME_SYNTAX";
00804     case 0xC0020028: return "RPC_NT_UUID_NO_ADDRESS";
00805     case 0xC0020029: return "RPC_NT_DUPLICATE_ENDPOINT";
00806     case 0xC002002A: return "RPC_NT_UNKNOWN_AUTHN_TYPE";
00807     case 0xC002002B: return "RPC_NT_MAX_CALLS_TOO_SMALL";
00808     case 0xC002002C: return "RPC_NT_STRING_TOO_LONG";
00809     case 0xC002002D: return "RPC_NT_PROTSEQ_NOT_FOUND";
00810     case 0xC002002E: return "RPC_NT_PROCNUM_OUT_OF_RANGE";
00811     case 0xC002002F: return "RPC_NT_BINDING_HAS_NO_AUTH";
00812     case 0xC0020030: return "RPC_NT_UNKNOWN_AUTHN_SERVICE";
00813     case 0xC0020031: return "RPC_NT_UNKNOWN_AUTHN_LEVEL";
00814     case 0xC0020032: return "RPC_NT_INVALID_AUTH_IDENTITY";
00815     case 0xC0020033: return "RPC_NT_UNKNOWN_AUTHZ_SERVICE";
00816     case 0xC0020034: return "EPT_NT_INVALID_ENTRY";
00817     case 0xC0020035: return "EPT_NT_CANT_PERFORM_OP";
00818     case 0xC0020036: return "EPT_NT_NOT_REGISTERED";
00819     case 0xC0020037: return "RPC_NT_NOTHING_TO_EXPORT";
00820     case 0xC0020038: return "RPC_NT_INCOMPLETE_NAME";
00821     case 0xC0020039: return "RPC_NT_INVALID_VERS_OPTION";
00822     case 0xC002003A: return "RPC_NT_NO_MORE_MEMBERS";
00823     case 0xC002003B: return "RPC_NT_NOT_ALL_OBJS_UNEXPORTED";
00824     case 0xC002003C: return "RPC_NT_INTERFACE_NOT_FOUND";
00825     case 0xC002003D: return "RPC_NT_ENTRY_ALREADY_EXISTS";
00826     case 0xC002003E: return "RPC_NT_ENTRY_NOT_FOUND";
00827     case 0xC002003F: return "RPC_NT_NAME_SERVICE_UNAVAILABLE";
00828     case 0xC0020040: return "RPC_NT_INVALID_NAF_ID";
00829     case 0xC0020041: return "RPC_NT_CANNOT_SUPPORT";
00830     case 0xC0020042: return "RPC_NT_NO_CONTEXT_AVAILABLE";
00831     case 0xC0020043: return "RPC_NT_INTERNAL_ERROR";
00832     case 0xC0020044: return "RPC_NT_ZERO_DIVIDE";
00833     case 0xC0020045: return "RPC_NT_ADDRESS_ERROR";
00834     case 0xC0020046: return "RPC_NT_FP_DIV_ZERO";
00835     case 0xC0020047: return "RPC_NT_FP_UNDERFLOW";
00836     case 0xC0020048: return "RPC_NT_FP_OVERFLOW";
00837     case 0xC0030001: return "RPC_NT_NO_MORE_ENTRIES";
00838     case 0xC0030002: return "RPC_NT_SS_CHAR_TRANS_OPEN_FAIL";
00839     case 0xC0030003: return "RPC_NT_SS_CHAR_TRANS_SHORT_FILE";
00840     case 0xC0030004: return "RPC_NT_SS_IN_NULL_CONTEXT";
00841     case 0xC0030005: return "RPC_NT_SS_CONTEXT_MISMATCH";
00842     case 0xC0030006: return "RPC_NT_SS_CONTEXT_DAMAGED";
00843     case 0xC0030007: return "RPC_NT_SS_HANDLES_MISMATCH";
00844     case 0xC0030008: return "RPC_NT_SS_CANNOT_GET_CALL_HANDLE";
00845     case 0xC0030009: return "RPC_NT_NULL_REF_POINTER";
00846     case 0xC003000A: return "RPC_NT_ENUM_VALUE_OUT_OF_RANGE";
00847     case 0xC003000B: return "RPC_NT_BYTE_COUNT_TOO_SMALL";
00848     case 0xC003000C: return "RPC_NT_BAD_STUB_DATA";
00849     case 0xC0020049: return "RPC_NT_CALL_IN_PROGRESS";
00850     case 0xC002004A: return "RPC_NT_NO_MORE_BINDINGS";
00851     case 0xC002004B: return "RPC_NT_GROUP_MEMBER_NOT_FOUND";
00852     case 0xC002004C: return "EPT_NT_CANT_CREATE";
00853     case 0xC002004D: return "RPC_NT_INVALID_OBJECT";
00854     case 0xC002004F: return "RPC_NT_NO_INTERFACES";
00855     case 0xC0020050: return "RPC_NT_CALL_CANCELLED";
00856     case 0xC0020051: return "RPC_NT_BINDING_INCOMPLETE";
00857     case 0xC0020052: return "RPC_NT_COMM_FAILURE";
00858     case 0xC0020053: return "RPC_NT_UNSUPPORTED_AUTHN_LEVEL";
00859     case 0xC0020054: return "RPC_NT_NO_PRINC_NAME";
00860     case 0xC0020055: return "RPC_NT_NOT_RPC_ERROR";
00861     case 0x40020056: return "RPC_NT_UUID_LOCAL_ONLY";
00862     case 0xC0020057: return "RPC_NT_SEC_PKG_ERROR";
00863     case 0xC0020058: return "RPC_NT_NOT_CANCELLED";
00864     case 0xC0030059: return "RPC_NT_INVALID_ES_ACTION";
00865     case 0xC003005A: return "RPC_NT_WRONG_ES_VERSION";
00866     case 0xC003005B: return "RPC_NT_WRONG_STUB_VERSION";
00867     case 0xC003005C: return "RPC_NT_INVALID_PIPE_OBJECT";
00868     case 0xC003005D: return "RPC_NT_INVALID_PIPE_OPERATION";
00869     case 0xC003005E: return "RPC_NT_WRONG_PIPE_VERSION";
00870     case 0xC003005F: return "RPC_NT_PIPE_CLOSED";
00871     case 0xC0030060: return "RPC_NT_PIPE_DISCIPLINE_ERROR";
00872     case 0xC0030061: return "RPC_NT_PIPE_EMPTY";
00873     case 0xC0020062: return "RPC_NT_INVALID_ASYNC_HANDLE";
00874     case 0xC0020063: return "RPC_NT_INVALID_ASYNC_CALL";
00875     case 0x400200AF: return "RPC_NT_SEND_INCOMPLETE";
00876     case 0xC0140001: return "STATUS_ACPI_INVALID_OPCODE";
00877     case 0xC0140002: return "STATUS_ACPI_STACK_OVERFLOW";
00878     case 0xC0140003: return "STATUS_ACPI_ASSERT_FAILED";
00879     case 0xC0140004: return "STATUS_ACPI_INVALID_INDEX";
00880     case 0xC0140005: return "STATUS_ACPI_INVALID_ARGUMENT";
00881     case 0xC0140006: return "STATUS_ACPI_FATAL";
00882     case 0xC0140007: return "STATUS_ACPI_INVALID_SUPERNAME";
00883     case 0xC0140008: return "STATUS_ACPI_INVALID_ARGTYPE";
00884     case 0xC0140009: return "STATUS_ACPI_INVALID_OBJTYPE";
00885     case 0xC014000A: return "STATUS_ACPI_INVALID_TARGETTYPE";
00886     case 0xC014000B: return "STATUS_ACPI_INCORRECT_ARGUMENT_COUNT";
00887     case 0xC014000C: return "STATUS_ACPI_ADDRESS_NOT_MAPPED";
00888     case 0xC014000D: return "STATUS_ACPI_INVALID_EVENTTYPE";
00889     case 0xC014000E: return "STATUS_ACPI_HANDLER_COLLISION";
00890     case 0xC014000F: return "STATUS_ACPI_INVALID_DATA";
00891     case 0xC0140010: return "STATUS_ACPI_INVALID_REGION";
00892     case 0xC0140011: return "STATUS_ACPI_INVALID_ACCESS_SIZE";
00893     case 0xC0140012: return "STATUS_ACPI_ACQUIRE_GLOBAL_LOCK";
00894     case 0xC0140013: return "STATUS_ACPI_ALREADY_INITIALIZED";
00895     case 0xC0140014: return "STATUS_ACPI_NOT_INITIALIZED";
00896     case 0xC0140015: return "STATUS_ACPI_INVALID_MUTEX_LEVEL";
00897     case 0xC0140016: return "STATUS_ACPI_MUTEX_NOT_OWNED";
00898     case 0xC0140017: return "STATUS_ACPI_MUTEX_NOT_OWNER";
00899     case 0xC0140018: return "STATUS_ACPI_RS_ACCESS";
00900     case 0xC0140019: return "STATUS_ACPI_INVALID_TABLE";
00901     case 0xC0140020: return "STATUS_ACPI_REG_HANDLER_FAILED";
00902     case 0xC0140021: return "STATUS_ACPI_POWER_REQUEST_FAILED";
00903     case 0xC00A0001: return "STATUS_CTX_WINSTATION_NAME_INVALID";
00904     case 0xC00A0002: return "STATUS_CTX_INVALID_PD";
00905     case 0xC00A0003: return "STATUS_CTX_PD_NOT_FOUND";
00906     case 0x400A0004: return "STATUS_CTX_CDM_CONNECT";
00907     case 0x400A0005: return "STATUS_CTX_CDM_DISCONNECT";
00908     case 0xC00A0006: return "STATUS_CTX_CLOSE_PENDING";
00909     case 0xC00A0007: return "STATUS_CTX_NO_OUTBUF";
00910     case 0xC00A0008: return "STATUS_CTX_MODEM_INF_NOT_FOUND";
00911     case 0xC00A0009: return "STATUS_CTX_INVALID_MODEMNAME";
00912     case 0xC00A000A: return "STATUS_CTX_RESPONSE_ERROR";
00913     case 0xC00A000B: return "STATUS_CTX_MODEM_RESPONSE_TIMEOUT";
00914     case 0xC00A000C: return "STATUS_CTX_MODEM_RESPONSE_NO_CARRIER";
00915     case 0xC00A000D: return "STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE";
00916     case 0xC00A000E: return "STATUS_CTX_MODEM_RESPONSE_BUSY";
00917     case 0xC00A000F: return "STATUS_CTX_MODEM_RESPONSE_VOICE";
00918     case 0xC00A0010: return "STATUS_CTX_TD_ERROR";
00919     case 0xC00A0012: return "STATUS_CTX_LICENSE_CLIENT_INVALID";
00920     case 0xC00A0013: return "STATUS_CTX_LICENSE_NOT_AVAILABLE";
00921     case 0xC00A0014: return "STATUS_CTX_LICENSE_EXPIRED";
00922     case 0xC00A0015: return "STATUS_CTX_WINSTATION_NOT_FOUND";
00923     case 0xC00A0016: return "STATUS_CTX_WINSTATION_NAME_COLLISION";
00924     case 0xC00A0017: return "STATUS_CTX_WINSTATION_BUSY";
00925     case 0xC00A0018: return "STATUS_CTX_BAD_VIDEO_MODE";
00926     case 0xC00A0022: return "STATUS_CTX_GRAPHICS_INVALID";
00927     case 0xC00A0024: return "STATUS_CTX_NOT_CONSOLE";
00928     case 0xC00A0026: return "STATUS_CTX_CLIENT_QUERY_TIMEOUT";
00929     case 0xC00A0027: return "STATUS_CTX_CONSOLE_DISCONNECT";
00930     case 0xC00A0028: return "STATUS_CTX_CONSOLE_CONNECT";
00931     case 0xC00A002A: return "STATUS_CTX_SHADOW_DENIED";
00932     case 0xC00A002B: return "STATUS_CTX_WINSTATION_ACCESS_DENIED";
00933     case 0xC00A002E: return "STATUS_CTX_INVALID_WD";
00934     case 0xC00A002F: return "STATUS_CTX_WD_NOT_FOUND";
00935     case 0xC00A0030: return "STATUS_CTX_SHADOW_INVALID";
00936     case 0xC00A0031: return "STATUS_CTX_SHADOW_DISABLED";
00937     case 0xC00A0032: return "STATUS_RDP_PROTOCOL_ERROR";
00938     case 0xC00A0033: return "STATUS_CTX_CLIENT_LICENSE_NOT_SET";
00939     case 0xC00A0034: return "STATUS_CTX_CLIENT_LICENSE_IN_USE";
00940     case 0xC0040035: return "STATUS_PNP_BAD_MPS_TABLE";
00941     case 0xC0040036: return "STATUS_PNP_TRANSLATION_FAILED";
00942     case 0xC0040037: return "STATUS_PNP_IRQ_TRANSLATION_FAILED";
00943     default:         return "STATUS_UNKNOWN";
00944     }
00945 }
00946 
00947 /*
00948  * Ext2ReadDisk
00949  *     Read data from disk ...
00950  *
00951  * ARGUMENTS:
00952  *     VolumeHandle: Volume Handle
00953  *     Offset      : Disk Offset
00954  *     Length      : Data Length to be read
00955  *     Buffer      : ...
00956  *
00957  * RETURNS: 
00958  *     Success: STATUS_SUCCESS
00959  *     Fail:  ...
00960  *
00961  * NOTES: 
00962  *     Both Length and Offset should be SECTOR_SIZE aligned.
00963  */
00964 NTSTATUS 
00965 Ext2ReadDisk( PEXT2_FILESYS  Ext2Sys,
00966               ULONGLONG      Offset,
00967               ULONG          Length,
00968               PVOID          Buffer     )
00969 {
00970     LARGE_INTEGER   Address;
00971     NTSTATUS        Status;
00972     ULONG           AlignedLength;
00973 
00974     IO_STATUS_BLOCK IoStatus;
00975 
00976     PVOID           NonPagedBuffer = NULL;
00977 
00978     ASSERT(Buffer != NULL);
00979 
00980 #if 0
00981     if (Ext2Sys->bFile)
00982     {
00983         Address.QuadPart = Offset;
00984 
00985         Status = NtReadFile(  Ext2Sys->MediaHandle,
00986                               0,
00987                               NULL,
00988                               NULL,
00989                               &IoStatus,
00990                               Buffer,
00991                               Length,
00992                               &Address,
00993                               NULL );
00994     }
00995     else
00996 #endif
00997     {
00998         Address.QuadPart = Offset & (~((ULONGLONG)SECTOR_SIZE - 1));
00999 
01000         AlignedLength = (Length + SECTOR_SIZE - 1)&(~(SECTOR_SIZE - 1));
01001 
01002         AlignedLength += ((ULONG)(Offset - Address.QuadPart) + SECTOR_SIZE - 1)
01003                          & (~(SECTOR_SIZE - 1));
01004 
01005         NonPagedBuffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, AlignedLength);
01006         if (!NonPagedBuffer)
01007         {
01008             Status = STATUS_INSUFFICIENT_RESOURCES;
01009             goto errorout;
01010         }
01011 
01012         Status = NtReadFile( Ext2Sys->MediaHandle,
01013                              0,
01014                              NULL,
01015                              NULL,
01016                              &IoStatus,
01017                              NonPagedBuffer,
01018                              AlignedLength,
01019                              &Address,
01020                              NULL );
01021 
01022         if (!NT_SUCCESS(Status))
01023         {
01024             goto errorout;
01025         }
01026 
01027         RtlCopyMemory( Buffer, 
01028                        (PUCHAR)NonPagedBuffer + (ULONG)(Offset - Address.QuadPart),
01029                        Length );
01030     }
01031  
01032 errorout:
01033 
01034     if (NonPagedBuffer)
01035         RtlFreeHeap(RtlGetProcessHeap(), 0, NonPagedBuffer);
01036 
01037     return Status;
01038 }
01039 
01040 
01041 /*
01042  * Ext2WriteDisk
01043  *     Write data to disk ...
01044  *
01045  * ARGUMENTS:
01046  *     VolumeHandle: Volume Handle
01047  *     Offset      : Disk Offset
01048  *     Length      : Data Length to be written
01049  *     Buffer      : Data to be written ...
01050  *
01051  * RETURNS: 
01052  *     Success: STATUS_SUCCESS
01053  *     Fail:  ...
01054  *
01055  * NOTES: 
01056  *     Both Length and Offset should be SECTOR_SIZE aligned.
01057  */
01058 
01059 NTSTATUS
01060 Ext2WriteDisk( PEXT2_FILESYS  Ext2Sys,
01061                ULONGLONG      Offset,
01062                ULONG          Length,
01063                PVOID          Buffer )
01064 {
01065     LARGE_INTEGER   Address;
01066     NTSTATUS        Status;
01067     ULONG           AlignedLength;
01068 
01069     IO_STATUS_BLOCK IoStatus;
01070 
01071     PVOID           NonPagedBuffer = NULL;
01072 
01073     ASSERT(Buffer != NULL);
01074 
01075 #if 0
01076     if (Ext2Sys->bFile)
01077     {
01078         Address.QuadPart = Offset;
01079 
01080         Status = NtWriteFile( Ext2Sys->MediaHandle,
01081                               0,
01082                               NULL,
01083                               NULL,
01084                               &IoStatus,
01085                               Buffer,
01086                               Length,
01087                               &Address,
01088                               NULL );
01089     }
01090     else
01091 #endif
01092     {
01093         Address.QuadPart = Offset & (~((ULONGLONG)SECTOR_SIZE - 1));
01094 
01095         AlignedLength = (Length + SECTOR_SIZE - 1)&(~(SECTOR_SIZE - 1));
01096 
01097         AlignedLength += ((ULONG)(Offset - Address.QuadPart) + SECTOR_SIZE - 1)
01098                          & (~(SECTOR_SIZE - 1));
01099 
01100         NonPagedBuffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, AlignedLength);
01101         if (!NonPagedBuffer)
01102         {
01103             Status = STATUS_INSUFFICIENT_RESOURCES;
01104             goto errorout;
01105         }
01106 
01107         if ((AlignedLength != Length) || (Address.QuadPart != (LONGLONG)Offset))
01108         {
01109             Status = NtReadFile( Ext2Sys->MediaHandle,
01110                                  0,
01111                                  NULL,
01112                                  NULL,
01113                                  &IoStatus,
01114                                  NonPagedBuffer,
01115                                  AlignedLength,
01116                                  &Address,
01117                                  NULL );
01118 
01119             if (!NT_SUCCESS(Status))
01120             {
01121                 goto errorout;
01122             }
01123         }
01124 
01125         RtlCopyMemory( (PUCHAR)NonPagedBuffer + (ULONG)(Offset - Address.QuadPart),
01126                        Buffer, Length );
01127 
01128         Status = NtWriteFile( Ext2Sys->MediaHandle,
01129                               0,
01130                               NULL,
01131                               NULL,
01132                               &IoStatus,
01133                               NonPagedBuffer,
01134                               AlignedLength,
01135                               &Address,
01136                               NULL );
01137     }
01138 
01139 errorout:
01140 
01141     if (NonPagedBuffer)
01142         RtlFreeHeap(RtlGetProcessHeap(), 0, NonPagedBuffer);
01143 
01144     return Status;
01145 }
01146 
01147 
01148 /*
01149  * Ext2GetMediaInfo
01150  *     Get volume gemmetry information ...
01151  *
01152  * ARGUMENTS:
01153  *     VolumeHandle:    Volume handle.
01154  *
01155  * RETURNS: 
01156  *     Success or Fail
01157  *
01158  * NOTES: 
01159  *     N/A
01160  */
01161 
01162 NTSTATUS
01163 Ext2GetMediaInfo( PEXT2_FILESYS Ext2Sys )
01164 {
01165     NTSTATUS Status;
01166     IO_STATUS_BLOCK IoSb;
01167 
01168     Status = NtDeviceIoControlFile( Ext2Sys->MediaHandle,
01169                                 NULL, NULL, NULL, &IoSb,
01170                                 IOCTL_DISK_GET_DRIVE_GEOMETRY,
01171                                 &(Ext2Sys->DiskGeometry), sizeof(DISK_GEOMETRY),
01172                                 &(Ext2Sys->DiskGeometry), sizeof(DISK_GEOMETRY));
01173 
01174 
01175     if (!NT_SUCCESS(Status))
01176     {
01177         goto errorout;
01178     }
01179 
01180     Status = NtDeviceIoControlFile( Ext2Sys->MediaHandle,
01181                                 NULL, NULL, NULL, &IoSb,
01182                                 IOCTL_DISK_GET_PARTITION_INFO,
01183                                 &(Ext2Sys->PartInfo), sizeof(PARTITION_INFORMATION),
01184                                 &(Ext2Sys->PartInfo), sizeof(PARTITION_INFORMATION));
01185 
01186     if (!NT_SUCCESS(Status))
01187     {
01188         goto errorout;
01189     }
01190 
01191 errorout:
01192 
01193     return Status;
01194 }
01195 
01196 
01197 /*
01198  * Ext2LockVolume
01199  *     Lock the volume ...
01200  *
01201  * ARGUMENTS:
01202  *     VolumeHandle:    Volume handle.
01203  *
01204  * RETURNS: 
01205  *     Success or Fail
01206  *
01207  * NOTES: 
01208  *     N/A
01209  */
01210 
01211 
01212 NTSTATUS
01213 Ext2LockVolume( PEXT2_FILESYS Ext2Sys )
01214 {
01215     NTSTATUS Status;
01216     IO_STATUS_BLOCK IoSb;
01217 
01218     Status = NtFsControlFile( Ext2Sys->MediaHandle,
01219                               NULL, NULL, NULL, &IoSb,
01220                               FSCTL_LOCK_VOLUME,
01221                               NULL, 0, NULL, 0 );
01222 
01223     if (!NT_SUCCESS(Status))
01224     {
01225         DPRINT1("Mke2fs: Error when locking volume: Status = %lxh %s...\n",
01226                 Status, Ext2StatusToString(Status));
01227 
01228         goto errorout;
01229     }
01230 
01231 errorout:
01232 
01233     return Status;
01234 }
01235 
01236 
01237 NTSTATUS
01238 Ext2UnLockVolume( PEXT2_FILESYS Ext2Sys )
01239 {
01240     NTSTATUS Status;
01241     IO_STATUS_BLOCK IoSb;
01242 
01243     Status = NtFsControlFile( Ext2Sys->MediaHandle,
01244                               NULL, NULL, NULL, &IoSb,
01245                               FSCTL_UNLOCK_VOLUME,
01246                               NULL, 0, NULL, 0 );
01247 
01248     if (!NT_SUCCESS(Status))
01249     {
01250         DPRINT1("Mke2fs: Error when unlocking volume ...\n");
01251         goto errorout;
01252     }
01253 
01254 errorout:
01255 
01256     return Status;
01257 }
01258 
01259 
01260 NTSTATUS
01261 Ext2DisMountVolume( PEXT2_FILESYS Ext2Sys )
01262 {
01263     NTSTATUS Status;
01264     IO_STATUS_BLOCK IoSb;
01265 
01266     Status = NtFsControlFile( Ext2Sys->MediaHandle,
01267                               NULL, NULL, NULL, &IoSb,
01268                               FSCTL_DISMOUNT_VOLUME,
01269                               NULL, 0, NULL, 0 );
01270 
01271     if (!NT_SUCCESS(Status))
01272     {
01273         DPRINT1("Mke2fs: Error when dismounting volume ...\n");
01274         goto errorout;
01275     }
01276 
01277 errorout:
01278 
01279     return Status;
01280 }
01281 
01282 NTSTATUS
01283 Ext2OpenDevice(  PEXT2_FILESYS Ext2Sys,
01284                  PUNICODE_STRING DeviceName )
01285 {
01286     NTSTATUS Status;
01287     OBJECT_ATTRIBUTES ObjectAttributes;
01288     HANDLE FileHandle;
01289     IO_STATUS_BLOCK Iosb;
01290 
01291     //
01292     // Setup the name in an object attributes structure.
01293     // Note that we create a name that is case INsensitive
01294     //
01295     InitializeObjectAttributes(&ObjectAttributes,           // ptr to structure
01296                                DeviceName,                  // ptr to file spec
01297                                OBJ_CASE_INSENSITIVE,        // attributes
01298                                NULL,                        // root directory handle
01299                                NULL );                      // ptr to security descriptor
01300 
01301     //
01302     // Do the create.  In this particular case, we'll have the I/O Manager
01303     // make our write requests syncrhonous for our convenience.
01304     //
01305     Status = NtCreateFile(&FileHandle,                      // returned file handle
01306                           (GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE),    // desired access
01307                           &ObjectAttributes,                // ptr to object attributes
01308                           &Iosb,                            // ptr to I/O status block
01309                           0,                                // allocation size
01310                           FILE_ATTRIBUTE_NORMAL,            // file attributes
01311                           FILE_SHARE_WRITE | FILE_SHARE_READ, // share access
01312                           FILE_OPEN  /*FILE_SUPERSEDE*/,    // create disposition
01313                           FILE_SYNCHRONOUS_IO_NONALERT, // create options
01314                           NULL,                             // ptr to extended attributes
01315                           0);                               // length of ea buffer
01316 
01317     //
01318     // Check the system service status
01319     //
01320     if( !NT_SUCCESS(Status) )
01321     {
01322         DPRINT1("Mke2fs: Create system service failed status = 0x%lx\n", Status);
01323         return Status;
01324     }
01325 
01326 
01327     //
01328     // Check the returned status too...
01329     //
01330     if(!NT_SUCCESS(Iosb.Status) )
01331     {
01332         DPRINT1("Mke2fs: Create failed with status = 0x%lx\n",Iosb.Status);
01333         return Status;
01334     }
01335 
01336     Ext2Sys->MediaHandle = FileHandle;
01337 
01338     return Status;
01339 }
01340 
01341 
01342 NTSTATUS
01343 Ext2CloseDevice( PEXT2_FILESYS Ext2Sys)
01344 {
01345     NTSTATUS Status = STATUS_SUCCESS;
01346 
01347     if(Ext2Sys->MediaHandle)
01348     {
01349         Status = NtClose(Ext2Sys->MediaHandle);
01350     }
01351 
01352     return Status;
01353 }

Generated on Sat May 26 2012 04:35:03 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.