📄 debug.c
字号:
IrpSp->Parameters.LockControl.Length->QuadPart,
IrpSp->Parameters.LockControl.Key
#else
((PEXTENDED_IO_STACK_LOCATION)
IrpSp)->Parameters.LockControl.ByteOffset.QuadPart,
((PEXTENDED_IO_STACK_LOCATION)
IrpSp)->Parameters.LockControl.Length->QuadPart,
((PEXTENDED_IO_STACK_LOCATION)
IrpSp)->Parameters.LockControl.Key
#endif
);
}
else if (IrpSp->MinorFunction & IRP_MN_UNLOCK_ALL)
{
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s %s IRP_MN_UNLOCK_ALL\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FileName
);
}
else if (IrpSp->MinorFunction & IRP_MN_UNLOCK_ALL_BY_KEY)
{
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s %s IRP_MN_UNLOCK_ALL_BY_KEY Key: %u\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FileName,
#ifndef _GNU_NTIFS_
IrpSp->Parameters.LockControl.Key
#else
((PEXTENDED_IO_STACK_LOCATION)
IrpSp)->Parameters.LockControl.Key
#endif
);
}
else
{
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s %s Unknown minor function %#x\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FileName,
IrpSp->MinorFunction
);
}
break;
case IRP_MJ_CLEANUP:
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s %s\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FileName
);
break;
default:
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s %s\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FileName
);
}
}
VOID
FsdDbgPrintComplete (
IN PIRP Irp
)
{
PIO_STACK_LOCATION IrpSp;
ASSERT(Irp != NULL);
if (Irp->IoStatus.Status != STATUS_SUCCESS)
{
IrpSp = IoGetCurrentIrpStackLocation(Irp);
DbgPrint(
DRIVER_NAME ": %-16.16s %-31s *** Status: %s (%#x) ***\n",
FsdGetCurrentProcessName(),
IrpMjStrings[IrpSp->MajorFunction],
FsdNtStatusToString(Irp->IoStatus.Status),
Irp->IoStatus.Status
);
}
}
PUCHAR
FsdNtStatusToString (
IN NTSTATUS Status
)
{
switch (Status)
{
case 0x00000000: return "STATUS_SUCCESS";
case 0x00000001: return "STATUS_WAIT_1";
case 0x00000002: return "STATUS_WAIT_2";
case 0x00000003: return "STATUS_WAIT_3";
case 0x0000003F: return "STATUS_WAIT_63";
case 0x00000080: return "STATUS_ABANDONED_WAIT_0";
case 0x000000BF: return "STATUS_ABANDONED_WAIT_63";
case 0x000000C0: return "STATUS_USER_APC";
case 0x00000100: return "STATUS_KERNEL_APC";
case 0x00000101: return "STATUS_ALERTED";
case 0x00000102: return "STATUS_TIMEOUT";
case 0x00000103: return "STATUS_PENDING";
case 0x00000104: return "STATUS_REPARSE";
case 0x00000105: return "STATUS_MORE_ENTRIES";
case 0x00000106: return "STATUS_NOT_ALL_ASSIGNED";
case 0x00000107: return "STATUS_SOME_NOT_MAPPED";
case 0x00000108: return "STATUS_OPLOCK_BREAK_IN_PROGRESS";
case 0x00000109: return "STATUS_VOLUME_MOUNTED";
case 0x0000010A: return "STATUS_RXACT_COMMITTED";
case 0x0000010B: return "STATUS_NOTIFY_CLEANUP";
case 0x0000010C: return "STATUS_NOTIFY_ENUM_DIR";
case 0x0000010D: return "STATUS_NO_QUOTAS_FOR_ACCOUNT";
case 0x0000010E: return "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED";
case 0x00000110: return "STATUS_PAGE_FAULT_TRANSITION";
case 0x00000111: return "STATUS_PAGE_FAULT_DEMAND_ZERO";
case 0x00000112: return "STATUS_PAGE_FAULT_COPY_ON_WRITE";
case 0x00000113: return "STATUS_PAGE_FAULT_GUARD_PAGE";
case 0x00000114: return "STATUS_PAGE_FAULT_PAGING_FILE";
case 0x00000115: return "STATUS_CACHE_PAGE_LOCKED";
case 0x00000116: return "STATUS_CRASH_DUMP";
case 0x00000117: return "STATUS_BUFFER_ALL_ZEROS";
case 0x00000118: return "STATUS_REPARSE_OBJECT";
case 0x00000119: return "STATUS_RESOURCE_REQUIREMENTS_CHANGED";
case 0x00000120: return "STATUS_TRANSLATION_COMPLETE";
case 0x00000121: return "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY";
case 0x00000122: return "STATUS_NOTHING_TO_TERMINATE";
case 0x00000123: return "STATUS_PROCESS_NOT_IN_JOB";
case 0x00000124: return "STATUS_PROCESS_IN_JOB";
case 0x40000000: return "STATUS_OBJECT_NAME_EXISTS";
case 0x40000001: return "STATUS_THREAD_WAS_SUSPENDED";
case 0x40000002: return "STATUS_WORKING_SET_LIMIT_RANGE";
case 0x40000003: return "STATUS_IMAGE_NOT_AT_BASE";
case 0x40000004: return "STATUS_RXACT_STATE_CREATED";
case 0x40000005: return "STATUS_SEGMENT_NOTIFICATION";
case 0x40000006: return "STATUS_LOCAL_USER_SESSION_KEY";
case 0x40000007: return "STATUS_BAD_CURRENT_DIRECTORY";
case 0x40000008: return "STATUS_SERIAL_MORE_WRITES";
case 0x40000009: return "STATUS_REGISTRY_RECOVERED";
case 0x4000000A: return "STATUS_FT_READ_RECOVERY_FROM_BACKUP";
case 0x4000000B: return "STATUS_FT_WRITE_RECOVERY";
case 0x4000000C: return "STATUS_SERIAL_COUNTER_TIMEOUT";
case 0x4000000D: return "STATUS_NULL_LM_PASSWORD";
case 0x4000000E: return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH";
case 0x4000000F: return "STATUS_RECEIVE_PARTIAL";
case 0x40000010: return "STATUS_RECEIVE_EXPEDITED";
case 0x40000011: return "STATUS_RECEIVE_PARTIAL_EXPEDITED";
case 0x40000012: return "STATUS_EVENT_DONE";
case 0x40000013: return "STATUS_EVENT_PENDING";
case 0x40000014: return "STATUS_CHECKING_FILE_SYSTEM";
case 0x40000015: return "STATUS_FATAL_APP_EXIT";
case 0x40000016: return "STATUS_PREDEFINED_HANDLE";
case 0x40000017: return "STATUS_WAS_UNLOCKED";
case 0x40000018: return "STATUS_SERVICE_NOTIFICATION";
case 0x40000019: return "STATUS_WAS_LOCKED";
case 0x4000001A: return "STATUS_LOG_HARD_ERROR";
case 0x4000001B: return "STATUS_ALREADY_WIN32";
case 0x4000001C: return "STATUS_WX86_UNSIMULATE";
case 0x4000001D: return "STATUS_WX86_CONTINUE";
case 0x4000001E: return "STATUS_WX86_SINGLE_STEP";
case 0x4000001F: return "STATUS_WX86_BREAKPOINT";
case 0x40000020: return "STATUS_WX86_EXCEPTION_CONTINUE";
case 0x40000021: return "STATUS_WX86_EXCEPTION_LASTCHANCE";
case 0x40000022: return "STATUS_WX86_EXCEPTION_CHAIN";
case 0x40000023: return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE";
case 0x40000024: return "STATUS_NO_YIELD_PERFORMED";
case 0x40000025: return "STATUS_TIMER_RESUME_IGNORED";
case 0x40000026: return "STATUS_ARBITRATION_UNHANDLED";
case 0x40000027: return "STATUS_CARDBUS_NOT_SUPPORTED";
case 0x40000028: return "STATUS_WX86_CREATEWX86TIB";
case 0x40000029: return "STATUS_MP_PROCESSOR_MISMATCH";
case 0x4000002A: return "STATUS_HIBERNATED";
case 0x4000002B: return "STATUS_RESUME_HIBERNATION";
case 0x80000001: return "STATUS_GUARD_PAGE_VIOLATION";
case 0x80000002: return "STATUS_DATATYPE_MISALIGNMENT";
case 0x80000003: return "STATUS_BREAKPOINT";
case 0x80000004: return "STATUS_SINGLE_STEP";
case 0x80000005: return "STATUS_BUFFER_OVERFLOW";
case 0x80000006: return "STATUS_NO_MORE_FILES";
case 0x80000007: return "STATUS_WAKE_SYSTEM_DEBUGGER";
case 0x8000000A: return "STATUS_HANDLES_CLOSED";
case 0x8000000B: return "STATUS_NO_INHERITANCE";
case 0x8000000C: return "STATUS_GUID_SUBSTITUTION_MADE";
case 0x8000000D: return "STATUS_PARTIAL_COPY";
case 0x8000000E: return "STATUS_DEVICE_PAPER_EMPTY";
case 0x8000000F: return "STATUS_DEVICE_POWERED_OFF";
case 0x80000010: return "STATUS_DEVICE_OFF_LINE";
case 0x80000011: return "STATUS_DEVICE_BUSY";
case 0x80000012: return "STATUS_NO_MORE_EAS";
case 0x80000013: return "STATUS_INVALID_EA_NAME";
case 0x80000014: return "STATUS_EA_LIST_INCONSISTENT";
case 0x80000015: return "STATUS_INVALID_EA_FLAG";
case 0x80000016: return "STATUS_VERIFY_REQUIRED";
case 0x80000017: return "STATUS_EXTRANEOUS_INFORMATION";
case 0x80000018: return "STATUS_RXACT_COMMIT_NECESSARY";
case 0x8000001A: return "STATUS_NO_MORE_ENTRIES";
case 0x8000001B: return "STATUS_FILEMARK_DETECTED";
case 0x8000001C: return "STATUS_MEDIA_CHANGED";
case 0x8000001D: return "STATUS_BUS_RESET";
case 0x8000001E: return "STATUS_END_OF_MEDIA";
case 0x8000001F: return "STATUS_BEGINNING_OF_MEDIA";
case 0x80000020: return "STATUS_MEDIA_CHECK";
case 0x80000021: return "STATUS_SETMARK_DETECTED";
case 0x80000022: return "STATUS_NO_DATA_DETECTED";
case 0x80000023: return "STATUS_REDIRECTOR_HAS_OPEN_HANDLES";
case 0x80000024: return "STATUS_SERVER_HAS_OPEN_HANDLES";
case 0x80000025: return "STATUS_ALREADY_DISCONNECTED";
case 0x80000026: return "STATUS_LONGJUMP";
case 0x80000027: return "STATUS_CLEANER_CARTRIDGE_INSTALLED";
case 0x80000028: return "STATUS_PLUGPLAY_QUERY_VETOED";
case 0x80000029: return "STATUS_UNWIND_CONSOLIDATE";
case 0x80130001: return "STATUS_CLUSTER_NODE_ALREADY_UP";
case 0x80130002: return "STATUS_CLUSTER_NODE_ALREADY_DOWN";
case 0x80130003: return "STATUS_CLUSTER_NETWORK_ALREADY_ONLINE";
case 0x80130004: return "STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE";
case 0x80130005: return "STATUS_CLUSTER_NODE_ALREADY_MEMBER";
case 0xC0000001: return "STATUS_UNSUCCESSFUL";
case 0xC0000002: return "STATUS_NOT_IMPLEMENTED";
case 0xC0000003: return "STATUS_INVALID_INFO_CLASS";
case 0xC0000004: return "STATUS_INFO_LENGTH_MISMATCH";
case 0xC0000005: return "STATUS_ACCESS_VIOLATION";
case 0xC0000006: return "STATUS_IN_PAGE_ERROR";
case 0xC0000007: return "STATUS_PAGEFILE_QUOTA";
case 0xC0000008: return "STATUS_INVALID_HANDLE";
case 0xC0000009: return "STATUS_BAD_INITIAL_STACK";
case 0xC000000A: return "STATUS_BAD_INITIAL_PC";
case 0xC000000B: return "STATUS_INVALID_CID";
case 0xC000000C: return "STATUS_TIMER_NOT_CANCELED";
case 0xC000000D: return "STATUS_INVALID_PARAMETER";
case 0xC000000E: return "STATUS_NO_SUCH_DEVICE";
case 0xC000000F: return "STATUS_NO_SUCH_FILE";
case 0xC0000010: return "STATUS_INVALID_DEVICE_REQUEST";
case 0xC0000011: return "STATUS_END_OF_FILE";
case 0xC0000012: return "STATUS_WRONG_VOLUME";
case 0xC0000013: return "STATUS_NO_MEDIA_IN_DEVICE";
case 0xC0000014: return "STATUS_UNRECOGNIZED_MEDIA";
case 0xC0000015: return "STATUS_NONEXISTENT_SECTOR";
case 0xC0000016: return "STATUS_MORE_PROCESSING_REQUIRED";
case 0xC0000017: return "STATUS_NO_MEMORY";
case 0xC0000018: return "STATUS_CONFLICTING_ADDRESSES";
case 0xC0000019: return "STATUS_NOT_MAPPED_VIEW";
case 0xC000001A: return "STATUS_UNABLE_TO_FREE_VM";
case 0xC000001B: return "STATUS_UNABLE_TO_DELETE_SECTION";
case 0xC000001C: return "STATUS_INVALID_SYSTEM_SERVICE";
case 0xC000001D: return "STATUS_ILLEGAL_INSTRUCTION";
case 0xC000001E: return "STATUS_INVALID_LOCK_SEQUENCE";
case 0xC000001F: return "STATUS_INVALID_VIEW_SIZE";
case 0xC0000020: return "STATUS_INVALID_FILE_FOR_SECTION";
case 0xC0000021: return "STATUS_ALREADY_COMMITTED";
case 0xC0000022: return "STATUS_ACCESS_DENIED";
case 0xC0000023: return "STATUS_BUFFER_TOO_SMALL";
case 0xC0000024: return "STATUS_OBJECT_TYPE_MISMATCH";
case 0xC0000025: return "STATUS_NONCONTINUABLE_EXCEPTION";
case 0xC0000026: return "STATUS_INVALID_DISPOSITION";
case 0xC0000027: return "STATUS_UNWIND";
case 0xC0000028: return "STATUS_BAD_STACK";
case 0xC0000029: return "STATUS_INVALID_UNWIND_TARGET";
case 0xC000002A: return "STATUS_NOT_LOCKED";
case 0xC000002B: return "STATUS_PARITY_ERROR";
case 0xC000002C: return "STATUS_UNABLE_TO_DECOMMIT_VM";
case 0xC000002D: return "STATUS_NOT_COMMITTED";
case 0xC000002E: return "STATUS_INVALID_PORT_ATTRIBUTES";
case 0xC000002F: return "STATUS_PORT_MESSAGE_TOO_LONG";
case 0xC0000030: return "STATUS_INVALID_PARAMETER_MIX";
case 0xC0000031: return "STATUS_INVALID_QUOTA_LOWER";
case 0xC0000032: return "STATUS_DISK_CORRUPT_ERROR";
case 0xC0000033: return "STATUS_OBJECT_NAME_INVALID";
case 0xC0000034: return "STATUS_OBJECT_NAME_NOT_FOUND";
case 0xC0000035: return "STATUS_OBJECT_NAME_COLLISION";
case 0xC0000037: return "STATUS_PORT_DISCONNECTED";
case 0xC0000038: return "STATUS_DEVICE_ALREADY_ATTACHED";
case 0xC0000039: return "STATUS_OBJECT_PATH_INVALID";
case 0xC000003A: return "STATUS_OBJECT_PATH_NOT_FOUND";
case 0xC000003B: return "STATUS_OBJECT_PATH_SYNTAX_BAD";
case 0xC000003C: return "STATUS_DATA_OVERRUN";
case 0xC000003D: return "STATUS_DATA_LATE_ERROR";
case 0xC000003E: return "STATUS_DATA_ERROR";
case 0xC000003F: return "STATUS_CRC_ERROR";
case 0xC0000040: return "STATUS_SECTION_TOO_BIG";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -