XBox の中身は Windows 2000ベースといわれてるけど…
というわけで、XBoxのコア APIの中身を列挙してみました。
まず、Windows 2000風のAPI
BuildUpdateFilePath CancelIo CancelWaitableTimer CharLowerA CharLowerW CharUpperA CharUpperW CloseHandle CompareFileTime ConvertThreadToFiber CopyFileA CopyFileExA CopyRect CreateDirectoryA CreateEventA CreateFiber CreateFileA CreateIoCompletionPort CreateMutexA CreateSemaphoreA CreateThread CreateWaitableTimerA DebugBreak DebugPrint DeleteFiber DeleteFileA DeviceIoControl DmGetCurrentValue DmTell DmTell_InsertAllocationEntry DmTell_RemoveAllocationEntry DuplicateHandle ElapsedTime EqualRect ExitThread FileTimeToLocalFileTime FileTimeToSystemTime FindFirstFileA FindNextFileA FlushFileBuffers GetCurrentThreadId GetDiskFreeSpaceExA GetExitCodeThread GetFileAttributesA GetFileAttributesExA GetFileInformationByHandle GetFileSize GetFileSizeEx GetFileTime GetLastError GetLocalTime GetNextNickname GetOverlappedResult GetProcessHeap GetQueuedCompletionStatus GetSystemTime GetSystemTimeAsFileTime GetThreadPriority GetThreadPriorityBoost GetThreadTimes GetTickCount GetTimeZoneInformation GetVolumeInformationA GlobalAlloc GlobalMemoryStatus GlobalReAlloc HeapCreate HeapDestroy HeapFree HexDigitToChar InflateRect IntersectRect IsBadCodePtr IsBadReadPtr IsBadStringPtrA IsBadStringPtrW IsBadWritePtr IsRectEmpty KeGetCurrentIrql KeGetCurrentPrcb KeGetCurrentThread LocalAlloc LocalFileTimeToFileTime LocalFree LocalHandle LocalLock LocalReAlloc LocalSize LocalUnlock lstrcatA lstrcatW lstrcmpA lstrcmpiA lstrcmpiW lstrcmpW lstrcpyA lstrcpynA lstrcpynW lstrcpyW lstrlenA lstrlenW MoveFileA MoveFileExA MoveFileWithProgressA MU_AddDevice MU_CloseDeviceObject MU_CreateDeviceObject MU_GetExistingDeviceObject MU_Init MU_RemoveDevice MulDiv MultiByteToWideChar OffsetRect OpenEventA OpenMutexA OpenSemaphoreA OpenWaitableTimerA OutputDebugStringA OutputDebugStringW PortNumberToRootHubPort PostQueuedCompletionStatus PtInRect PulseEvent QueryPerformanceCounter QueryPerformanceFrequency QueueUserAPC RaiseException ReadFile ReadFileEx ReadFileScatter ReleaseMutex ReleaseSemaphore RemoveDirectoryA ResetEvent ResumeThread RootHubPortToPortNumber RtlAllocateHeap RtlAllocateHeapSlowly RtlDestroyHeap RtlFreeHeap RtlFreeHeapSlowly RtlpCheckBusyBlockTail RtlpCoalesceFreeBlocks RtlpCreateUnCommittedRange RtlpCutoverTimeToSystemTime RtlpDeCommitFreeBlock RtlpDestroyHeapSegment RtlpDestroyUnCommittedRange RtlpExtendHeap RtlpFindAndCommitPages RtlpGetExtraStuffPointer RtlpGetSizeOfBigBlock RtlpGrowBlockInPlace RtlpInitializeHeapSegment RtlpInsertFreeBlock RtlpInsertUnCommittedPages RtlRandom RtlReAllocateHeap RtlSizeHeap RtlZeroHeap SetEndOfFile SetEvent SetFileAttributesA SetFilePointer SetFilePointerEx SetFileTime SetLastError SetRect SetRectEmpty SetThreadPriority SetThreadPriorityBoost SetUnhandledExceptionFilter SetWaitableTimer SignalObjectAndWait Sleep SleepEx SubtractRect SuspendThread SwitchToFiber SwitchToThread SystemTimeToFileTime timeGetSystemTime timeKillEvent timeSetEvent TlsAlloc TlsFree TlsGetValue TlsSetValue UnhandledExceptionFilter UnicodeToUTF8 UnionRect UTF8ToUnicode VirtualAlloc VirtualAllocEx VirtualFree VirtualFreeEx VirtualProtect VirtualProtectEx VirtualQuery VirtualQueryEx WaitForMultipleObjects WaitForMultipleObjectsEx WaitForSingleObject WaitForSingleObjectEx WideCharToMultiByte WriteFile WriteFileEx WriteFileGather wsprintfA wsprintfW wvsprintfA wvsprintfW |
次はXBox 純正っぽい命令
XapiApplyKernelPatches XapiAutoPowerDownTimeout XapiBootToDash XapiCallThreadNotifyRoutines XapiChangeCodeSelectorLimit XapiComputeContentHeaderSignature XapiComputeContentMetadataFileName XapiConvertSignatureToNonRoamable XapiCopySectionToFile XapiDirectoryInformationToFindData XapiDispatchAPC XapiDpcForCancelIo XapiFiberStartup XapiFillInContentData XapiFillInSaveGameData XapiFindValueInMetaFile XapiFormatFATVolume XapiFormatFATVolumeEx XapiFormatObjectAttributes XapiFormatTimeOut XapiGetDirectoryDisplayBlocks XapiGetKernelExportAddress XapiGetLocalizedMetadataValue XapiGetNextSoundtrack XapiInitAutoPowerDown XapiIsXapiThread XapiLoadContentMetadataHeader XapiMapLetterToDirectory XapiMmTimerThread XapiNukeDirectory XapiNukeDirectoryFromHandle XapiOpenStDbAndReadHeader XapipCalculateContentSignatureBegin XapipCalculateContentSignatureEnd XapipCalculateContentSignatureUpdate XapipCalculateSaveGameSignatureBegin XapipCalculateSaveGameSignatureEnd XapipCalculateSaveGameSignatureUpdate XapipGetAlternateTitleID XapipGetTimeZoneBias XapipLaunchNewImageInternal XapipQueryTimeZoneInformation XapipStatCalculateHeaderSignature XapipStatCalculateRecordSignature XapipStatCalculateSignatureAndWriteHeader XapipStatDBCreate XapipStatIsHeaderSignatureValid XapipStatIsRecordSignatureValid XapipStatReadStatHeader XapipStatValidateAndCreate XapipStatWrite XapipStatWriteStatHeader XapipUpdateDashIfNecessary XapipUpdateDetectAndVerify XapipUpdateGetCurrentDDriveMapping XapipUpdateMountDashPartition XapipUpdateRebootIfNecessary XapipUpdateSaveDDriveMappingToLaunchPage XapipUseDaylightSavingTime XapiReadFromStDb XapiRestrictCodeSelectorLimit XapiSaveGameHashEncode XapiSelectCachePartition XapiSetLastNTError XapiSetupPerTitleDriveLetters XapiShutdownChannelStartNextPacket XapiShutdownNotification XapiThreadStartup XapiTouchDirectoryTimestamp XapiValidateAndSkipUnicodeSignature XapiValidateDiskPartition XapiValidateDiskPartitionEx XapiVerifyAndLoadOptionalSectionData XapiVerifyGameName XapiVerifyMedia XapiVerifyXControlData XAutoPowerDownResetTimer XAutoPowerDownTimeRemaining XboxTimeZoneDateToSystemTime XboxTimeZoneNameToWstr XCalculateContentSignature XCalculateSignatureBegin XCalculateSignatureBeginEx XCalculateSignatureEnd XCalculateSignatureGetSize XCalculateSignatureUpdate XClearStatStore XCloseContentSignatures xCompareStringA xCompareStringW XComputeContentSignatureKey XCreateContentSimple XCreateSaveGame XCreateStatStore XDeleteSaveGame XdReportDeviceInsertionRemoval XFindClose XFindFirstContent XFindFirstNicknameW XFindFirstSaveGame XFindFirstSoundtrack XFindNextContent XFindNextNicknameW XFindNextSaveGame XFindNextSoundtrack XFormatSecondaryUtilityDrive XFormatUtilityDrive XFreeSectionA XFreeSectionByHandle XGetAttributesOnHeapAlloc XGetAudioFlags XGetAutoLogonFlag XGetAVPack XGetContentInstallLocation XGetContentInstallLocationFromIDs XGetDeviceChanges XGetDeviceEnumerationStatus XGetDevices XGetDiskClusterSizeA XGetDiskSectorSizeA XGetDisplayBlocks XGetFileCacheSize XGetFilePhysicalSortKey XGetGameRegion XGetLanguage XGetLaunchInfo XGetParentalControlSetting XGetProcessQuantumLength XGetSectionHandleA XGetSectionSize XGetSoundtrackSongInfo XGetVideoFlags XGetVideoStandard XInitDevices XInputClose XInputGetCapabilities XInputGetDeviceDescription XInputGetState XInputOpen XInputPoll XInputSetLightgunCalibration XInputSetState XInstallContentSignatures XInstallContentSignaturesEx XInstallContentSignaturesWithFileName XLaunchNewImageA XLoadContentSignaturesEx XLoadContentSignaturesWithFileName XLoadSectionA XLoadSectionByHandle XLocateLiveSignature XLocateNextSignature XLocateSignatureByIndex XLocateSignatureByName XLocateSignatureByNameEx XMemAlloc XMemAllocDefault XMemFree XMemFreeDefault XMemSize XMemSizeDefault XMountAlternateTitleA XMountMUA XMountMURootA XMountSecondaryUtilityDrive XMountUtilityDrive XMUNameFromDriveLetter XMUPortFromDriveLetterA XMUSlotFromDriveLetterA XOpenSoundtrackSong XoRebootToUpdaterWhilePreservingDDrive XoUpdateGetSavedDataFromLaunchPage XoUpdateLoadXBEInfo XPeekDevices XPhysicalAlloc XPhysicalAllocEx XPhysicalFree XPhysicalProtect XPhysicalSize XQueryMemoryProtect XQueryValue XReadMUMetaData XRegisterThreadNotifyRoutine XRemoveContent XRestoreFloatingPointStateForDpc XSaveFloatingPointStateForDpc XSetAttributesOnHeapAlloc XSetFileCacheSize XSetNicknameW XSetProcessQuantumLength XShaHmacComputeFinal XShaHmacInitialize XShaHmacUpdate XSwapUtilityDrives XUnmountAlternateTitleA XUnmountMU XWriteStatStore XWriteTitleInfoAndRebootA XWriteTitleInfoNoReboot |
そして、XBox のハードウェア特有っぽいAPI
HCD_CancelRequest HCD_DisableRootHubPort HCD_DriverEntry HCD_EnumHardware HCD_NewHostController HCD_ResetRootHubPort HCD_SubmitRequest OHCD_DevSysCheckHardware OHCD_DevSysTakeControl OHCD_InterruptService OHCD_IsochPoolAllocateEndpoint OHCD_IsochPoolFreeEndpoint OHCD_IsochPoolGetMaxBuffers OHCD_IsrDpc OHCD_PoolAllocateEndpoint OHCD_PoolAllocateTD OHCD_PoolCreditBulkTDQuota OHCD_PoolCreditControlTDQuota OHCD_PoolDebitBulkTDQuota OHCD_PoolDebitControlTDQuota OHCD_PoolFreeEndpoint OHCD_PoolFreeTD OHCD_PoolGetBulkQuota OHCD_PoolGetControlQuota OHCD_PoolGetHcca OHCD_PoolGetPhysicalAddress OHCD_PoolTDFromPhysicalAddress OHCD_RootHubResetDpc OHCD_ShutDown XID_AddDevice XID_Init XID_RemoveDevice USBD_AllocateMemory USBD_CalculateUsbBandwidth USBD_CompleteRequest USBD_DeviceConnected USBD_DeviceDisconnected USBD_FreeMemory USBD_Init USBD_NewHostController USBHUB_AddDevice USBHUB_Init USBHUB_RemoveDevice |
確かにXBoxKRNL.exe は NTOSKRNL.exe がベースにはなってますが別物って印象ですね・ω・
参考になったかにゃ?
Comments