📄 sprofile.c
字号:
"FS_FindFirstFileW",
"FS_CreateFileW",
"FS_CeRegisterFileSystemNotification",
"FS_CeRegisterReplNotification",
"FS_CeOidGetInfo",
"FS_CeFindFirstDatabase",
"FS_CeCreateDatabase",
"FS_CeSetDatabaseInfo",
"FS_CeOpenDatabase",
"prgRegCloseKey",
"prgRegCreateKeyExW",
"prgRegDeleteKeyW",
"prgRegDeleteValueW",
"prgRegEnumValueW",
"prgRegEnumKeyExW",
"prgRegOpenKeyExW",
"prgRegQueryInfoKeyW",
"prgRegQueryValueExW",
"prgRegSetValueExW",
"FS_CreateContainerW",
"FS_CeDeleteDatabase",
"FS_RegisterDevice",
"FS_DeregisterDevice",
"FS_SetFileAttributesW",
"FS_GetStoreInformation",
"FS_CeGetReplChangeMask",
"FS_CeSetReplChangeMask",
"FS_CeGetReplChangeBits",
"FS_CeClearReplChangeBits",
"FS_CeGetReplOtherBits",
"FS_CeSetReplOtherBits",
"FS_GetSystemMemoryDivision",
"FS_SetSystemMemoryDivision"
};
// from coreos\filesys\filesys.c, class name "W32H"
char *W32HNames[] = {
"FS_CloseFileHandle",
"0",
"FS_ReadFile",
"FS_WriteFile",
"FS_GetFileSize",
"FS_SetFilePointer",
"FS_GetFileInformationByHandle",
"FS_FlushFileBuffers",
"FS_GetFileTime",
"FS_SetFileTime",
"FS_SetEndOfFile",
"FS_DeviceIoControl"
};
// from coreos\filesys\filesys.c, class name "W32D"
char *W32DNames[] = {
"FS_DevCloseFileHandle",
"0",
"FS_DevReadFile",
"FS_DevWriteFile",
"FS_DevGetFileSize",
"FS_DevSetFilePointer",
"FS_DevGetFileInformationByHandle",
"FS_DevFlushFileBuffers",
"FS_DevGetFileTime",
"FS_DevSetFileTime",
"FS_DevSetEndOfFile",
"FS_DevDeviceIoControl"
};
// from coreos\filesys\filesys.c, class name "FFHN"
char *FFHNNames[] = {
"FS_FindClose",
"0",
"FS_FindNextFile"
};
// from coreos\filesys\filesys.c, class name "DBFA"
char *DBFANames[] = {
"FS_CloseDBFindHandle",
"0",
"FS_CeFindNextDatabase"
};
// from coreos\filesys\filesys.c, class name "DBOA"
char *DBOANames[] = {
"FS_CloseDBHandle",
"0",
"FS_CeSeekDatabase",
"FS_CeDeleteRecord",
"FS_CeReadRecordProps",
"FS_CeWriteRecordProps"
};
// from coreos\nk\kernel\kwin32.c, class name Wn32
char *Wn32Names[] = {
"SC_Nop",
"SC_NotSupported",
"SC_CreateAPISet",
"SC_VirtualAlloc",
"SC_VirtualFree",
"SC_VirtualProtect",
"SC_VirtualQuery",
"SC_VirtualCopy",
"SC_LoadLibraryW",
"SC_FreeLibrary",
"SC_GetProcAddressW",
"SC_ThreadAttachAllDLLs",
"SC_ThreadDetachAllDLLs",
"SC_GetTickCount",
"OutputDebugStringW",
"SC_NotSupported",
"SC_TlsCall",
"SC_GetSystemInfo",
"0",
"ropen",
"rread",
"rwrite",
"rlseek",
"rclose",
"0",
"0",
"SC_RegisterDbgZones",
"SC_NotSupported",
"NKDbgPrintfW",
"SC_ProfileSyscall",
"SC_FindResource",
"SC_LoadResource",
"SC_NotSupported",
"SC_SizeofResource",
"OEMGetRealTime",
"OEMSetRealTime",
"SC_ProcessDetachAllDLLs",
"SC_ExtractResource",
"SC_GetRomFileInfo",
"SC_GetRomFileBytes",
"SC_CacheSync",
"SC_AddTrackedItem",
"SC_DeleteTrackedItem",
"SC_PrintTrackedItem",
"SC_GetKPhys",
"SC_GiveKPhys"
};
// from coreos\nk\kernel\kwin32.c, class name KW32
char *KW32Names[] = {
"SysCall_NOT_SUPPORTED",
"SysCall_NOT_SUPPORTED",
"SC_GetOwnerProcess",
"SC_GetCallerProcess",
"SC_PerformCallBack",
"SC_InterruptInitialize",
"SC_InterruptDone",
"SC_InterruptDisable",
"SC_GetCurrentProcessId",
"SC_GetCurrentThreadId",
"SC_IsPrimaryThread",
"SC_KillAllOtherThreads",
"SC_OtherThreadsRunning",
"SC_SetProcPermissions",
"SC_CallDebugger",
"SC_SetKernelAlarm",
"SC_RaiseException",
"SC_GetCurrentPermissions",
"SC_GetFSHeapInfo",
"SC_SetKMode",
"SC_GetProcAddrBits"
};
// from coreos\nk\kernel\schedule.c, class name THRD
char *THRDNames[] = {
"SysCall_THREAD_HANDLECLOSE",
"SysCall_NOT_SUPPORTED",
"SysCall_THREAD_TAKECRITSEC",
"SysCall_THREAD_RELEASECRITSEC",
"SysCall_THREAD_SUSPEND",
"SysCall_THREAD_RESUME",
"SysCall_THREAD_SLEEP",
"SysCall_THREAD_CREATEEVENT",
"SysCall_THREAD_SETPRIO",
"SysCall_THREAD_GETPRIO",
"SysCall_THREAD_SETLASTERROR",
"SysCall_THREAD_GETLASTERROR",
"SysCall_THREAD_TERMINATE",
"SysCall_THREAD_GETRETCODE",
"SysCall_THREAD_LOADSWITCH",
"SysCall_THREAD_TERMINATE_AND_SIGNAL",
"0",
"SysCall_THREAD_TURNONPROFILING",
"SysCall_THREAD_TURNOFFPROFILING",
"SysCall_THREAD_TURNONSYSCALLPROFILING",
"SysCall_THREAD_TURNOFFSYSCALLPROFILING"
};
// from coreos\nk\kernel\schedule.c, class name PROC
char *PROCNames[] = {
"SysCall_PROC_HANDLECLOSE",
"SysCall_NOT_SUPPORTED",
"SysCall_NOT_SUPPORTED",
"SysCall_NOT_SUPPORTED",
"SysCall_PROC_ALLOCMODULE",
"SysCall_PROC_FREEMODULE",
"SysCall_PROC_GETDEFSTACKSIZE",
"SysCall_PROC_TERMINATE",
"SC_PROC_IsBadPtr",
"SysCall_PROC_SETDBGZONE",
"SysCall_PROC_SETDBGINFO",
"SysCall_PROC_GETDBGINFO",
"SysCall_PROC_MAPPTR",
"SysCall_PROC_MAPTOPROC",
"SysCall_PROC_GETPROCFROMPTR",
"SysCall_PROC_TERMINATEOTHER"
};
// from coreos\nk\kernel\schedule.c, class name EVNT
char *EVNTNames[] = {
"SysCall_EVENT_FREE",
"SysCall_EVENT_WAIT",
"SysCall_EVENT_MODIFY"
};
// from shell\notify\server\process.cpp, class name "NTFY"
char *NTFYNames[] = {
"NotifyCallback",
"PegSetUserNotification",
"PegClearUserNotification",
"PegRunAppAtTime",
"PegRunAppAtEvent",
"PegHandleAppNotifications"
};
// from shell\shell\server\shell.cpp, class name "SHEL"
char *SHELNames[] = {
"ShellNotifyCallback",
"ShellApiReservedForNK", /* Reserved for NK */
"XShellExecuteEx",
"XGetOpenFileName",
"XGetSaveFileName",
"SHGetFileInfo",
"Shell_NotifyIcon",
"SHAddToRecentDocs",
"SHCreateShortcut",
"SHCreateExplorerInstance"
};
// from coreos\nk\kernel\objdisp.c, class name "APIS"
char *APISNames[] = {
"SC_CloseAPISet",
"SC_NotSupported",
"SC_RegisterAPISet",
"SC_CreateAPIHandle",
"SC_VerifyAPIHandle"
};
char *MethodToName(long iMethod, char ClassName[4])
{
if (UNKNOWNMETHOD == iMethod) {
return NULL;
} else if (!strncmp(ClassName, "GDI", 3)) {
return GDINames[iMethod];
} else if (!strncmp(ClassName, "USER", 3)) {
return USERNames[iMethod];
} else if (!strncmp(ClassName, "INT", 3)) {
return INTNames[iMethod];
} else if (!strncmp(ClassName, "TEST", 3)) {
return TESTNames[iMethod];
} else if (!strncmp(ClassName, "W32A", 4)) {
return W32ANames[iMethod];
} else if (!strncmp(ClassName, "W32D", 4)) {
return W32DNames[iMethod];
} else if (!strncmp(ClassName, "W32H", 4)) {
return W32HNames[iMethod];
} else if (!strncmp(ClassName, "FFHN", 3)) {
return FFHNNames[iMethod];
} else if (!strncmp(ClassName, "DBFA", 3)) {
return DBFANames[iMethod];
} else if (!strncmp(ClassName, "DBOA", 3)) {
return DBOANames[iMethod];
} else if (!strncmp(ClassName, "Wn32", 3)) {
return Wn32Names[iMethod];
} else if (!strncmp(ClassName, "KW32", 3)) {
return KW32Names[iMethod];
} else if (!strncmp(ClassName, "NTFY", 3)) {
return NTFYNames[iMethod];
} else if (!strncmp(ClassName, "SHEL", 3)) {
return SHELNames[iMethod];
} else if (!strncmp(ClassName, "PROC", 3)) {
return PROCNames[iMethod];
} else if (!strncmp(ClassName, "THRD", 3)) {
return THRDNames[iMethod];
} else if (!strncmp(ClassName, "EVNT", 3)) {
return EVNTNames[iMethod];
} else if (!strncmp(ClassName, "APIS", 3)) {
return APISNames[iMethod];
} else {
RETAILMSG(1,(L"Unknown class name %a\r\n", ClassName));
return NULL;
}
}
// Not normal strncmp returns
int strncmp(const char *s1, const char *s2, unsigned int l)
{
unsigned int i;
if (!s1 || !s2) {
return 1;
}
for (i = 0; i < l; i++) {
if (s1[i] != s2[i]) {
return 1;
}
}
return 0;
}
#endif /*SYSCALL_PROFILING*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -